summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/APScheduler/APScheduler-3.10.4.ebuild63
-rw-r--r--dev-python/APScheduler/APScheduler-3.9.1.ebuild53
-rw-r--r--dev-python/APScheduler/Manifest2
-rw-r--r--dev-python/Arpeggio/Arpeggio-2.0.0.ebuild32
-rw-r--r--dev-python/Arpeggio/Arpeggio-2.0.2.ebuild22
-rw-r--r--dev-python/Arpeggio/Manifest2
-rw-r--r--dev-python/Babel/Babel-2.11.0.ebuild66
-rw-r--r--dev-python/Babel/Babel-2.14.0.ebuild56
-rw-r--r--dev-python/Babel/Manifest4
-rw-r--r--dev-python/Babel/files/Babel-2.11.0-sphinx-6.patch29
-rw-r--r--dev-python/BitVector/BitVector-3.5.0-r1.ebuild26
-rw-r--r--dev-python/BitVector/BitVector-3.5.0.ebuild21
-rw-r--r--dev-python/ConfigArgParse/ConfigArgParse-1.5.3.ebuild35
-rw-r--r--dev-python/ConfigArgParse/ConfigArgParse-1.7.ebuild35
-rw-r--r--dev-python/ConfigArgParse/Manifest2
-rw-r--r--dev-python/CppHeaderParser/CppHeaderParser-2.7.4-r1.ebuild24
-rw-r--r--dev-python/CppHeaderParser/CppHeaderParser-2.7.4.ebuild20
-rw-r--r--dev-python/DBUtils/DBUtils-3.0.2-r1.ebuild30
-rw-r--r--dev-python/DBUtils/Manifest1
-rw-r--r--dev-python/DBUtils/metadata.xml26
-rw-r--r--dev-python/Faker/Faker-15.3.4.ebuild34
-rw-r--r--dev-python/Faker/Faker-16.1.0.ebuild34
-rw-r--r--dev-python/Faker/Faker-16.3.0.ebuild34
-rw-r--r--dev-python/Faker/Faker-16.4.0.ebuild34
-rw-r--r--dev-python/Faker/Faker-16.6.0.ebuild34
-rw-r--r--dev-python/Faker/Faker-16.6.1.ebuild34
-rw-r--r--dev-python/Faker/Faker-24.11.0.ebuild40
-rw-r--r--dev-python/Faker/Faker-24.4.0.ebuild40
-rw-r--r--dev-python/Faker/Faker-24.8.0.ebuild40
-rw-r--r--dev-python/Faker/Faker-24.9.0.ebuild40
-rw-r--r--dev-python/Faker/Manifest10
-rw-r--r--dev-python/Faker/metadata.xml1
-rw-r--r--dev-python/Frozen-Flask/Frozen-Flask-0.18-r1.ebuild28
-rw-r--r--dev-python/Frozen-Flask/Frozen-Flask-1.0.2.ebuild27
-rw-r--r--dev-python/Frozen-Flask/Manifest2
-rw-r--r--dev-python/GitPython/GitPython-3.1.30.ebuild83
-rw-r--r--dev-python/GitPython/GitPython-3.1.42.ebuild79
-rw-r--r--dev-python/GitPython/GitPython-3.1.43.ebuild79
-rw-r--r--dev-python/GitPython/Manifest10
-rw-r--r--dev-python/GridDataFormats/GridDataFormats-0.6.0.ebuild23
-rw-r--r--dev-python/GridDataFormats/GridDataFormats-1.0.1.ebuild29
-rw-r--r--dev-python/GridDataFormats/GridDataFormats-1.0.2.ebuild29
-rw-r--r--dev-python/GridDataFormats/Manifest3
-rw-r--r--dev-python/IPy/IPy-1.01-r1.ebuild11
-rw-r--r--dev-python/Levenshtein/Levenshtein-0.12.2.ebuild21
-rw-r--r--dev-python/Levenshtein/Levenshtein-0.20.9.ebuild45
-rw-r--r--dev-python/Levenshtein/Levenshtein-0.25.0.ebuild48
-rw-r--r--dev-python/Levenshtein/Levenshtein-0.25.1.ebuild48
-rw-r--r--dev-python/Levenshtein/Manifest4
-rw-r--r--dev-python/Levenshtein/metadata.xml2
-rw-r--r--dev-python/MechanicalSoup/Manifest2
-rw-r--r--dev-python/MechanicalSoup/MechanicalSoup-1.2.0.ebuild51
-rw-r--r--dev-python/MechanicalSoup/MechanicalSoup-1.3.0.ebuild49
-rw-r--r--dev-python/Nuitka/Manifest3
-rw-r--r--dev-python/Nuitka/Nuitka-1.4.ebuild54
-rw-r--r--dev-python/Nuitka/Nuitka-2.1.4.ebuild52
-rw-r--r--dev-python/Nuitka/Nuitka-2.1.5.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/Manifest2
-rw-r--r--dev-python/PeachPy/PeachPy-2021.10.13.ebuild31
-rw-r--r--dev-python/PeachPy/PeachPy-2022.11.13-r2.ebuild33
-rw-r--r--dev-python/PeachPy/files/PeachPy-2021.10.13-gentoo.patch11
-rw-r--r--dev-python/PyGithub/Manifest2
-rw-r--r--dev-python/PyGithub/PyGithub-1.57.ebuild39
-rw-r--r--dev-python/PyGithub/PyGithub-2.3.0.ebuild39
-rw-r--r--dev-python/PyPDF2/Manifest2
-rw-r--r--dev-python/PyPDF2/PyPDF2-3.0.0.ebuild59
-rw-r--r--dev-python/PyPDF2/metadata.xml12
-rw-r--r--dev-python/PyQt-builder/Manifest3
-rw-r--r--dev-python/PyQt-builder/PyQt-builder-1.12.2.ebuild37
-rw-r--r--dev-python/PyQt-builder/PyQt-builder-1.15.4.ebuild30
-rw-r--r--dev-python/PyQt-builder/PyQt-builder-1.16.0.ebuild31
-rw-r--r--dev-python/PyQt-builder/metadata.xml8
-rw-r--r--dev-python/PyQt5-sip/Manifest2
-rw-r--r--dev-python/PyQt5-sip/PyQt5-sip-12.11.0.ebuild23
-rw-r--r--dev-python/PyQt5-sip/PyQt5-sip-12.13.0-r1.ebuild22
-rw-r--r--dev-python/PyQt5-sip/files/PyQt5-sip-12.13.0-c99.patch16
-rw-r--r--dev-python/PyQt5/Manifest2
-rw-r--r--dev-python/PyQt5/PyQt5-5.15.10-r1.ebuild158
-rw-r--r--dev-python/PyQt5/PyQt5-5.15.7.ebuild183
-rw-r--r--dev-python/PyQt6-WebEngine/Manifest2
-rw-r--r--dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.4.0.ebuild60
-rw-r--r--dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.6.0.ebuild68
-rw-r--r--dev-python/PyQt6-WebEngine/metadata.xml6
-rw-r--r--dev-python/PyQt6-sip/Manifest3
-rw-r--r--dev-python/PyQt6-sip/PyQt6-sip-13.4.0.ebuild19
-rw-r--r--dev-python/PyQt6-sip/PyQt6-sip-13.4.1.ebuild19
-rw-r--r--dev-python/PyQt6-sip/PyQt6-sip-13.6.0.ebuild18
-rw-r--r--dev-python/PyQt6-sip/metadata.xml6
-rw-r--r--dev-python/PyQt6/Manifest3
-rw-r--r--dev-python/PyQt6/PyQt6-6.4.0.ebuild148
-rw-r--r--dev-python/PyQt6/PyQt6-6.4.1.ebuild145
-rw-r--r--dev-python/PyQt6/PyQt6-6.6.1.ebuild179
-rw-r--r--dev-python/PyQt6/files/PyQt6-6.6.1-qt670.patch77
-rw-r--r--dev-python/PyQt6/metadata.xml12
-rw-r--r--dev-python/PyQtWebEngine/Manifest1
-rw-r--r--dev-python/PyQtWebEngine/PyQtWebEngine-5.15.5.ebuild76
-rw-r--r--dev-python/PyQtWebEngine/PyQtWebEngine-5.15.6-r1.ebuild52
-rw-r--r--dev-python/PyQtWebEngine/PyQtWebEngine-5.15.6.ebuild76
-rw-r--r--dev-python/PyRSS2Gen/PyRSS2Gen-1.1-r2.ebuild4
-rw-r--r--dev-python/PySDL2/Manifest2
-rw-r--r--dev-python/PySDL2/PySDL2-0.9.13.ebuild66
-rw-r--r--dev-python/PySDL2/PySDL2-0.9.16.ebuild69
-rw-r--r--dev-python/PySensors/PySensors-0.0.4-r1.ebuild4
-rw-r--r--dev-python/PySocks/PySocks-1.7.1-r2.ebuild8
-rw-r--r--dev-python/Pyro4/Manifest1
-rw-r--r--dev-python/Pyro4/Pyro4-4.82-r1.ebuild60
-rw-r--r--dev-python/Pyro4/metadata.xml13
-rw-r--r--dev-python/Pyro5/Manifest1
-rw-r--r--dev-python/Pyro5/Pyro5-5.15-r1.ebuild43
-rw-r--r--dev-python/Pyro5/files/Pyro5-5.15-fix-test-on-ipv6.patch36
-rw-r--r--dev-python/Pyro5/metadata.xml17
-rw-r--r--dev-python/QtPy/Manifest2
-rw-r--r--dev-python/QtPy/QtPy-2.3.0.ebuild207
-rw-r--r--dev-python/QtPy/QtPy-2.4.1-r1.ebuild240
-rw-r--r--dev-python/QtPy/metadata.xml2
-rw-r--r--dev-python/a2wsgi/Manifest1
-rw-r--r--dev-python/a2wsgi/a2wsgi-1.10.4.ebuild30
-rw-r--r--dev-python/a2wsgi/metadata.xml13
-rw-r--r--dev-python/absl-py/Manifest3
-rw-r--r--dev-python/absl-py/absl-py-1.3.0.ebuild79
-rw-r--r--dev-python/absl-py/absl-py-1.4.0.ebuild79
-rw-r--r--dev-python/absl-py/absl-py-2.1.0.ebuild81
-rw-r--r--dev-python/abydos/Manifest1
-rw-r--r--dev-python/abydos/abydos-0.5.0-r3.ebuild51
-rw-r--r--dev-python/abydos/files/abydos-0.5.0-fix-py3.10.patch33
-rw-r--r--dev-python/abydos/metadata.xml13
-rw-r--r--dev-python/accessible-pygments/Manifest1
-rw-r--r--dev-python/accessible-pygments/accessible-pygments-0.0.4.ebuild34
-rw-r--r--dev-python/accessible-pygments/metadata.xml13
-rw-r--r--dev-python/adblock/adblock-0.6.0.ebuild168
-rw-r--r--dev-python/adblock/files/adblock-0.6.0-maturin-0.14.13.patch16
-rw-r--r--dev-python/aesara/Manifest2
-rw-r--r--dev-python/aesara/aesara-2.8.9.ebuild102
-rw-r--r--dev-python/aesara/aesara-2.9.3.ebuild108
-rw-r--r--dev-python/aesara/files/aesara-2.8.10-fix-tuple.patch19
-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/Manifest2
-rw-r--r--dev-python/agate-excel/agate-excel-0.2.5-r2.ebuild35
-rw-r--r--dev-python/agate-excel/agate-excel-0.4.1.ebuild34
-rw-r--r--dev-python/agate-sql/Manifest2
-rw-r--r--dev-python/agate-sql/agate-sql-0.5.8-r2.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.7.1.ebuild45
-rw-r--r--dev-python/agate/agate-1.9.1.ebuild45
-rw-r--r--dev-python/aiocache/Manifest1
-rw-r--r--dev-python/aiocache/aiocache-0.12.2.ebuild69
-rw-r--r--dev-python/aiocache/metadata.xml16
-rw-r--r--dev-python/aiodns/Manifest3
-rw-r--r--dev-python/aiodns/aiodns-3.0.0-r1.ebuild31
-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/aiodns/files/aiodns-3.0.0-py3.10-tests.patch24
-rw-r--r--dev-python/aiofiles/Manifest2
-rw-r--r--dev-python/aiofiles/aiofiles-22.1.0.ebuild31
-rw-r--r--dev-python/aiofiles/aiofiles-23.2.1.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/Manifest2
-rw-r--r--dev-python/aiohttp-cors/aiohttp-cors-0.7.0-r2.ebuild39
-rw-r--r--dev-python/aiohttp-jinja2/Manifest1
-rw-r--r--dev-python/aiohttp-jinja2/aiohttp-jinja2-1.5.ebuild38
-rw-r--r--dev-python/aiohttp-jinja2/metadata.xml17
-rw-r--r--dev-python/aiohttp-oauthlib/Manifest1
-rw-r--r--dev-python/aiohttp-oauthlib/aiohttp-oauthlib-0.1.0.ebuild26
-rw-r--r--dev-python/aiohttp-oauthlib/metadata.xml8
-rw-r--r--dev-python/aiohttp-socks/Manifest2
-rw-r--r--dev-python/aiohttp-socks/aiohttp-socks-0.7.1.ebuild29
-rw-r--r--dev-python/aiohttp-socks/aiohttp-socks-0.8.4.ebuild40
-rw-r--r--dev-python/aiohttp/Manifest4
-rw-r--r--dev-python/aiohttp/aiohttp-3.8.3-r1.ebuild115
-rw-r--r--dev-python/aiohttp/aiohttp-3.9.3.ebuild117
-rw-r--r--dev-python/aiohttp/aiohttp-3.9.4.ebuild111
-rw-r--r--dev-python/aiohttp/aiohttp-3.9.5.ebuild111
-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.ebuild24
-rw-r--r--dev-python/aiopylgtv/files/aiopylgtv-0.4.1-ssl.patch124
-rw-r--r--dev-python/aioresponses/Manifest2
-rw-r--r--dev-python/aioresponses/aioresponses-0.7.4.ebuild39
-rw-r--r--dev-python/aioresponses/aioresponses-0.7.6.ebuild38
-rw-r--r--dev-python/aiorpcX/Manifest2
-rw-r--r--dev-python/aiorpcX/aiorpcX-0.19.1.ebuild38
-rw-r--r--dev-python/aiorpcX/aiorpcX-0.22.1.ebuild37
-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.5.ebuild41
-rw-r--r--dev-python/aiosmtpd/metadata.xml13
-rw-r--r--dev-python/aiosqlite/Manifest1
-rw-r--r--dev-python/aiosqlite/aiosqlite-0.20.0.ebuild30
-rw-r--r--dev-python/aiosqlite/metadata.xml13
-rw-r--r--dev-python/aiostream/Manifest2
-rw-r--r--dev-python/aiostream/aiostream-0.4.5.ebuild37
-rw-r--r--dev-python/aiostream/aiostream-0.5.2.ebuild40
-rw-r--r--dev-python/aiounittest/Manifest1
-rw-r--r--dev-python/aiounittest/aiounittest-1.4.2.ebuild29
-rw-r--r--dev-python/aiounittest/metadata.xml12
-rw-r--r--dev-python/ajsonrpc/ajsonrpc-1.2.0.ebuild7
-rw-r--r--dev-python/alabaster/Manifest3
-rw-r--r--dev-python/alabaster/alabaster-0.7.12-r1.ebuild17
-rw-r--r--dev-python/alabaster/alabaster-0.7.13.ebuild20
-rw-r--r--dev-python/alabaster/alabaster-0.7.16.ebuild19
-rw-r--r--dev-python/alabaster/metadata.xml2
-rw-r--r--dev-python/alagitpull/Manifest1
-rw-r--r--dev-python/alagitpull/alagitpull-0.0.23-r2.ebuild23
-rw-r--r--dev-python/alagitpull/metadata.xml12
-rw-r--r--dev-python/alembic/Manifest5
-rw-r--r--dev-python/alembic/alembic-1.13.1.ebuild52
-rw-r--r--dev-python/alembic/alembic-1.8.1.ebuild39
-rw-r--r--dev-python/alembic/alembic-1.9.0.ebuild39
-rw-r--r--dev-python/alembic/alembic-1.9.1.ebuild39
-rw-r--r--dev-python/alembic/alembic-1.9.2.ebuild39
-rw-r--r--dev-python/alembic/files/alembic-1.13.1-pytest-8.patch68
-rw-r--r--dev-python/allpairspy/Manifest2
-rw-r--r--dev-python/allpairspy/allpairspy-2.5.0-r1.ebuild21
-rw-r--r--dev-python/allpairspy/allpairspy-2.5.1.ebuild21
-rw-r--r--dev-python/amodem/amodem-1.15.4.ebuild7
-rw-r--r--dev-python/amqp/Manifest1
-rw-r--r--dev-python/amqp/amqp-5.2.0.ebuild51
-rw-r--r--dev-python/amqp/metadata.xml (renamed from dev-python/py-amqp/metadata.xml)0
-rw-r--r--dev-python/aniso8601/aniso8601-9.0.1-r1.ebuild10
-rw-r--r--dev-python/annotated-types/Manifest1
-rw-r--r--dev-python/annotated-types/annotated-types-0.6.0.ebuild27
-rw-r--r--dev-python/annotated-types/metadata.xml13
-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/ansi/metadata.xml4
-rw-r--r--dev-python/ansi2html/Manifest2
-rw-r--r--dev-python/ansi2html/ansi2html-1.8.0-r1.ebuild32
-rw-r--r--dev-python/ansi2html/ansi2html-1.9.1.ebuild25
-rw-r--r--dev-python/ansible-compat/Manifest3
-rw-r--r--dev-python/ansible-compat/ansible-compat-2.2.7.ebuild56
-rw-r--r--dev-python/ansible-compat/ansible-compat-4.1.11.ebuild54
-rw-r--r--dev-python/ansible-compat/ansible-compat-4.1.12.ebuild56
-rw-r--r--dev-python/ansible-pygments/ansible-pygments-0.1.1-r1.ebuild25
-rw-r--r--dev-python/ansible-pygments/ansible-pygments-0.1.1.ebuild22
-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-runner/Manifest1
-rw-r--r--dev-python/ansible-runner/ansible-runner-2.2.1.ebuild40
-rw-r--r--dev-python/ansible-runner/metadata.xml24
-rw-r--r--dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild4
-rw-r--r--dev-python/ansicolor/ansicolor-9999.ebuild2
-rw-r--r--dev-python/antlr4-python3-runtime/Manifest2
-rw-r--r--dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.11.1.ebuild29
-rw-r--r--dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.13.1.ebuild37
-rw-r--r--dev-python/antlr4-python3-runtime/metadata.xml4
-rw-r--r--dev-python/anyascii/Manifest1
-rw-r--r--dev-python/anyascii/anyascii-0.3.2.ebuild21
-rw-r--r--dev-python/anyascii/metadata.xml13
-rw-r--r--dev-python/anyio/Manifest2
-rw-r--r--dev-python/anyio/anyio-3.6.1.ebuild50
-rw-r--r--dev-python/anyio/anyio-4.3.0.ebuild61
-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/Manifest1
-rw-r--r--dev-python/apache-libcloud/apache-libcloud-3.8.0-r1.ebuild59
-rw-r--r--dev-python/apache-libcloud/metadata.xml (renamed from dev-python/libcloud/metadata.xml)0
-rw-r--r--dev-python/apipkg/Manifest2
-rw-r--r--dev-python/apipkg/apipkg-3.0.1.ebuild32
-rw-r--r--dev-python/apipkg/apipkg-3.0.2.ebuild32
-rw-r--r--dev-python/apipkg/metadata.xml1
-rw-r--r--dev-python/apispec/Manifest4
-rw-r--r--dev-python/apispec/apispec-6.0.2.ebuild50
-rw-r--r--dev-python/apispec/apispec-6.4.0.ebuild46
-rw-r--r--dev-python/apispec/apispec-6.5.0.ebuild46
-rw-r--r--dev-python/apispec/apispec-6.6.0.ebuild46
-rw-r--r--dev-python/appdirs/Manifest2
-rw-r--r--dev-python/appdirs/appdirs-1.4.4-r2.ebuild37
-rw-r--r--dev-python/appdirs/appdirs-1.4.4-r3.ebuild27
-rw-r--r--dev-python/apprise/Manifest3
-rw-r--r--dev-python/apprise/apprise-1.7.4.ebuild38
-rw-r--r--dev-python/apprise/apprise-1.7.5.ebuild38
-rw-r--r--dev-python/apprise/apprise-1.7.6.ebuild38
-rw-r--r--dev-python/apprise/metadata.xml21
-rw-r--r--dev-python/apsw/Manifest5
-rw-r--r--dev-python/apsw/apsw-3.40.0.0.ebuild50
-rw-r--r--dev-python/apsw/apsw-3.40.1.0.ebuild50
-rw-r--r--dev-python/apsw/apsw-3.45.1.0.ebuild51
-rw-r--r--dev-python/apsw/apsw-3.45.2.0.ebuild51
-rw-r--r--dev-python/apsw/apsw-3.45.3.0.ebuild51
-rw-r--r--dev-python/argcomplete/Manifest3
-rw-r--r--dev-python/argcomplete/argcomplete-2.0.0-r1.ebuild48
-rw-r--r--dev-python/argcomplete/argcomplete-3.2.3.ebuild43
-rw-r--r--dev-python/argcomplete/argcomplete-3.3.0.ebuild43
-rw-r--r--dev-python/argcomplete/files/argcomplete-3.1.6-timeout.patch21
-rw-r--r--dev-python/argh/Manifest2
-rw-r--r--dev-python/argh/argh-0.26.2-r3.ebuild29
-rw-r--r--dev-python/argh/argh-0.31.2.ebuild28
-rw-r--r--dev-python/argh/files/argh-0.26.2-fix-py3.9-msgs.patch31
-rw-r--r--dev-python/argon2-cffi-bindings/argon2-cffi-bindings-21.2.0-r1.ebuild9
-rw-r--r--dev-python/argon2-cffi/Manifest2
-rw-r--r--dev-python/argon2-cffi/argon2-cffi-21.3.0-r2.ebuild36
-rw-r--r--dev-python/argon2-cffi/argon2-cffi-23.1.0.ebuild32
-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.xml17
-rw-r--r--dev-python/argparse-manpage/Manifest2
-rw-r--r--dev-python/argparse-manpage/argparse-manpage-4.5.ebuild41
-rw-r--r--dev-python/argparse-manpage/argparse-manpage-4.ebuild36
-rw-r--r--dev-python/arrow/Manifest2
-rw-r--r--dev-python/arrow/arrow-1.2.3.ebuild39
-rw-r--r--dev-python/arrow/arrow-1.3.0.ebuild40
-rw-r--r--dev-python/arsenic/Manifest1
-rw-r--r--dev-python/arsenic/arsenic-21.8.ebuild20
-rw-r--r--dev-python/arsenic/metadata.xml16
-rw-r--r--dev-python/asgiref/Manifest3
-rw-r--r--dev-python/asgiref/asgiref-3.5.2.ebuild29
-rw-r--r--dev-python/asgiref/asgiref-3.6.0.ebuild29
-rw-r--r--dev-python/asgiref/asgiref-3.8.1.ebuild33
-rw-r--r--dev-python/asn1crypto/Manifest2
-rw-r--r--dev-python/asn1crypto/asn1crypto-1.5.1.ebuild26
-rw-r--r--dev-python/asn1crypto/asn1crypto-1.5.1_p20231012.ebuild29
-rw-r--r--dev-python/asteval/Manifest3
-rw-r--r--dev-python/asteval/asteval-0.9.28.ebuild36
-rw-r--r--dev-python/asteval/asteval-0.9.31.ebuild36
-rw-r--r--dev-python/asteval/asteval-0.9.32.ebuild36
-rw-r--r--dev-python/asteval/metadata.xml1
-rw-r--r--dev-python/astor/astor-0.8.1-r1.ebuild16
-rw-r--r--dev-python/astor/files/astor-0.8.1-tests-bigint.patch23
-rw-r--r--dev-python/astroid/Manifest6
-rw-r--r--dev-python/astroid/astroid-2.12.13.ebuild60
-rw-r--r--dev-python/astroid/astroid-2.12.14.ebuild60
-rw-r--r--dev-python/astroid/astroid-2.13.1.ebuild61
-rw-r--r--dev-python/astroid/astroid-2.13.2.ebuild61
-rw-r--r--dev-python/astroid/astroid-2.13.3.ebuild63
-rw-r--r--dev-python/astroid/astroid-3.1.0.ebuild73
-rw-r--r--dev-python/astroid/metadata.xml2
-rw-r--r--dev-python/asttokens/Manifest2
-rw-r--r--dev-python/asttokens/asttokens-2.2.1.ebuild43
-rw-r--r--dev-python/asttokens/asttokens-2.4.1.ebuild52
-rw-r--r--dev-python/astunparse/Manifest1
-rw-r--r--dev-python/astunparse/astunparse-1.6.3.ebuild32
-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/metadata.xml15
-rw-r--r--dev-python/async-lru/Manifest2
-rw-r--r--dev-python/async-lru/async-lru-1.0.3.ebuild39
-rw-r--r--dev-python/async-lru/async-lru-2.0.4.ebuild40
-rw-r--r--dev-python/async-timeout/Manifest2
-rw-r--r--dev-python/async-timeout/async-timeout-4.0.2-r1.ebuild39
-rw-r--r--dev-python/async-timeout/async-timeout-4.0.3.ebuild34
-rw-r--r--dev-python/async_generator/Manifest1
-rw-r--r--dev-python/async_generator/async_generator-1.10-r2.ebuild25
-rw-r--r--dev-python/async_generator/metadata.xml15
-rw-r--r--dev-python/asyncstdlib/Manifest5
-rw-r--r--dev-python/asyncstdlib/asyncstdlib-3.10.5.ebuild25
-rw-r--r--dev-python/asyncstdlib/asyncstdlib-3.12.0.ebuild21
-rw-r--r--dev-python/asyncstdlib/asyncstdlib-3.12.1.ebuild21
-rw-r--r--dev-python/asyncstdlib/asyncstdlib-3.12.2.ebuild27
-rw-r--r--dev-python/asyncstdlib/asyncstdlib-3.12.3.ebuild27
-rw-r--r--dev-python/atomicwrites/Manifest2
-rw-r--r--dev-python/atomicwrites/atomicwrites-1.4.0-r2.ebuild24
-rw-r--r--dev-python/atomicwrites/atomicwrites-1.4.1.ebuild23
-rw-r--r--dev-python/atpublic/Manifest3
-rw-r--r--dev-python/atpublic/atpublic-3.1.1.ebuild33
-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/attrs/Manifest4
-rw-r--r--dev-python/attrs/attrs-21.4.0-r1.ebuild56
-rw-r--r--dev-python/attrs/attrs-22.1.0.ebuild37
-rw-r--r--dev-python/attrs/attrs-22.2.0.ebuild37
-rw-r--r--dev-python/attrs/attrs-23.2.0.ebuild40
-rw-r--r--dev-python/attrs/files/attrs-23.2.0-pytest-8.patch44
-rw-r--r--dev-python/audioread/Manifest2
-rw-r--r--dev-python/audioread/audioread-3.0.0.ebuild42
-rw-r--r--dev-python/audioread/audioread-3.0.1.ebuild41
-rw-r--r--dev-python/authres/authres-1.2.0-r1.ebuild5
-rw-r--r--dev-python/autobahn/Manifest4
-rw-r--r--dev-python/autobahn/autobahn-22.12.1.ebuild118
-rw-r--r--dev-python/autobahn/autobahn-22.7.1.ebuild117
-rw-r--r--dev-python/autobahn/autobahn-23.1.1.ebuild118
-rw-r--r--dev-python/autobahn/autobahn-23.6.2.ebuild123
-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.ebuild10
-rw-r--r--dev-python/autocommand/files/autocommand-2.2.2-setuptools-license.patch26
-rw-r--r--dev-python/automat/Manifest1
-rw-r--r--dev-python/automat/automat-20.2.0-r1.ebuild61
-rw-r--r--dev-python/automat/automat-22.10.0.ebuild13
-rw-r--r--dev-python/automat/files/automat-20.2.0-ignore-m2r.patch25
-rw-r--r--dev-python/automat/files/automat-20.2.0-py311.patch23
-rw-r--r--dev-python/automat/files/test_visualize-twisted-import-errors.patch52
-rw-r--r--dev-python/autopage/Manifest2
-rw-r--r--dev-python/autopage/autopage-0.5.1.ebuild36
-rw-r--r--dev-python/autopage/autopage-0.5.2.ebuild44
-rw-r--r--dev-python/autopep8/Manifest3
-rw-r--r--dev-python/autopep8/autopep8-2.0.0.ebuild42
-rw-r--r--dev-python/autopep8/autopep8-2.0.1.ebuild47
-rw-r--r--dev-python/autopep8/autopep8-2.1.0.ebuild29
-rw-r--r--dev-python/autopep8/autopep8-9999.ebuild8
-rw-r--r--dev-python/autopep8/files/autopep8-1.6.0-lib2to3-deprecation-pytest.patch28
-rw-r--r--dev-python/autoprop/autoprop-4.1.0.ebuild9
-rw-r--r--dev-python/aws-sam-translator/Manifest7
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.55.0-r1.ebuild64
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.56.0.ebuild66
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.57.0.ebuild66
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.58.0.ebuild69
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.58.1.ebuild69
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.86.0.ebuild62
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.87.0.ebuild62
-rw-r--r--dev-python/aws-xray-sdk-python/Manifest1
-rw-r--r--dev-python/aws-xray-sdk-python/aws-xray-sdk-python-2.11.0-r1.ebuild85
-rw-r--r--dev-python/aws-xray-sdk-python/files/aws-xray-sdk-python-2.8.0-fix-py3.10-loops.patch36
-rw-r--r--dev-python/aws-xray-sdk/Manifest1
-rw-r--r--dev-python/aws-xray-sdk/aws-xray-sdk-2.13.0.ebuild90
-rw-r--r--dev-python/aws-xray-sdk/metadata.xml (renamed from dev-python/aws-xray-sdk-python/metadata.xml)0
-rw-r--r--dev-python/awxkit/Manifest1
-rw-r--r--dev-python/awxkit/awxkit-21.11.0.ebuild47
-rw-r--r--dev-python/awxkit/metadata.xml17
-rw-r--r--dev-python/babelfish/babelfish-0.6.0-r2.ebuild4
-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.ebuild19
-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-tarfile/Manifest1
-rw-r--r--dev-python/backports-tarfile/backports-tarfile-1.0.0.ebuild39
-rw-r--r--dev-python/backports-tarfile/metadata.xml12
-rw-r--r--dev-python/backrefs/Manifest2
-rw-r--r--dev-python/backrefs/backrefs-5.4.ebuild33
-rw-r--r--dev-python/backrefs/backrefs-5.6_p1.ebuild29
-rw-r--r--dev-python/backrefs/metadata.xml12
-rw-r--r--dev-python/bandit/Manifest2
-rw-r--r--dev-python/bandit/bandit-1.7.4-r1.ebuild46
-rw-r--r--dev-python/bandit/bandit-1.7.8.ebuild44
-rw-r--r--dev-python/bandit/files/bandit-1.7.4-tomli.patch85
-rw-r--r--dev-python/bandit/metadata.xml4
-rw-r--r--dev-python/bareos/Manifest3
-rw-r--r--dev-python/bareos/bareos-21.1.5.ebuild18
-rw-r--r--dev-python/bareos/bareos-22.1.2.ebuild18
-rw-r--r--dev-python/bareos/bareos-23.0.2.ebuild18
-rw-r--r--dev-python/bashate/bashate-2.1.1.ebuild7
-rw-r--r--dev-python/basho-erlastic/basho-erlastic-2.1.1-r1.ebuild28
-rw-r--r--dev-python/basho-erlastic/basho-erlastic-2.1.1.ebuild22
-rw-r--r--dev-python/bcrypt/Manifest92
-rw-r--r--dev-python/bcrypt/bcrypt-4.0.1.ebuild86
-rw-r--r--dev-python/bcrypt/bcrypt-4.1.1.ebuild90
-rw-r--r--dev-python/bcrypt/bcrypt-4.1.2.ebuild95
-rw-r--r--dev-python/beagle/beagle-0.3.0-r1.ebuild7
-rw-r--r--dev-python/beartype/Manifest5
-rw-r--r--dev-python/beartype/beartype-0.12.0.ebuild37
-rw-r--r--dev-python/beartype/beartype-0.17.2.ebuild40
-rw-r--r--dev-python/beartype/beartype-0.18.0.ebuild40
-rw-r--r--dev-python/beartype/beartype-0.18.2.ebuild40
-rw-r--r--dev-python/beartype/beartype-0.18.3.ebuild40
-rw-r--r--dev-python/beautifulsoup4/Manifest2
-rw-r--r--dev-python/beautifulsoup4/beautifulsoup4-4.11.1.ebuild37
-rw-r--r--dev-python/beautifulsoup4/beautifulsoup4-4.12.3.ebuild39
-rw-r--r--dev-python/beniget/beniget-0.4.1-r1.ebuild21
-rw-r--r--dev-python/berkeleydb/Manifest1
-rw-r--r--dev-python/berkeleydb/berkeleydb-18.1.5.ebuild67
-rw-r--r--dev-python/berkeleydb/metadata.xml11
-rw-r--r--dev-python/betamax-matchers/betamax-matchers-0.4.0-r1.ebuild31
-rw-r--r--dev-python/betamax-matchers/betamax-matchers-0.4.0.ebuild27
-rw-r--r--dev-python/betamax-matchers/metadata.xml1
-rw-r--r--dev-python/betamax/Manifest2
-rw-r--r--dev-python/betamax/betamax-0.8.1-r1.ebuild44
-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/betamax/metadata.xml1
-rw-r--r--dev-python/bibtexparser/Manifest2
-rw-r--r--dev-python/bibtexparser/bibtexparser-1.4.0.ebuild30
-rw-r--r--dev-python/bibtexparser/bibtexparser-1.4.1.ebuild30
-rw-r--r--dev-python/binaryornot/Manifest2
-rw-r--r--dev-python/binaryornot/binaryornot-0.4.4-r2.ebuild29
-rw-r--r--dev-python/binaryornot/binaryornot-0.4.4-r3.ebuild38
-rw-r--r--dev-python/binaryornot/metadata.xml2
-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.xml17
-rw-r--r--dev-python/bitarray/Manifest4
-rw-r--r--dev-python/bitarray/bitarray-2.6.0.ebuild24
-rw-r--r--dev-python/bitarray/bitarray-2.6.1.ebuild24
-rw-r--r--dev-python/bitarray/bitarray-2.6.2.ebuild24
-rw-r--r--dev-python/bitarray/bitarray-2.9.2.ebuild24
-rw-r--r--dev-python/bitstring/Manifest2
-rw-r--r--dev-python/bitstring/bitstring-3.1.9.ebuild26
-rw-r--r--dev-python/bitstring/bitstring-4.1.4.ebuild26
-rw-r--r--dev-python/black/Manifest3
-rw-r--r--dev-python/black/black-22.12.0.ebuild54
-rw-r--r--dev-python/black/black-24.3.0.ebuild48
-rw-r--r--dev-python/black/black-24.4.0.ebuild48
-rw-r--r--dev-python/blake3-py-c/Manifest1
-rw-r--r--dev-python/blake3-py-c/blake3-py-c-0.3.3.ebuild38
-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.ebuild97
-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.ebuild134
-rw-r--r--dev-python/blake3/metadata.xml18
-rw-r--r--dev-python/bleach/Manifest3
-rw-r--r--dev-python/bleach/bleach-5.0.1.ebuild46
-rw-r--r--dev-python/bleach/bleach-6.0.0.ebuild46
-rw-r--r--dev-python/bleach/bleach-6.1.0.ebuild51
-rw-r--r--dev-python/bleach/files/bleach-4.1.0-py39.patch36
-rw-r--r--dev-python/blessed/Manifest2
-rw-r--r--dev-python/blessed/blessed-1.19.1.ebuild48
-rw-r--r--dev-python/blessed/blessed-1.20.0.ebuild51
-rw-r--r--dev-python/blinker/Manifest2
-rw-r--r--dev-python/blinker/blinker-1.5.ebuild28
-rw-r--r--dev-python/blinker/blinker-1.7.0.ebuild32
-rw-r--r--dev-python/blinker/metadata.xml1
-rw-r--r--dev-python/blockdiag/Manifest1
-rw-r--r--dev-python/blockdiag/blockdiag-3.0.0.ebuild58
-rw-r--r--dev-python/blockdiag/metadata.xml22
-rw-r--r--dev-python/blosc/Manifest2
-rw-r--r--dev-python/blosc/blosc-1.10.6.ebuild52
-rw-r--r--dev-python/blosc/blosc-1.11.0.ebuild54
-rw-r--r--dev-python/blosc/blosc-1.11.1.ebuild7
-rw-r--r--dev-python/blurb/blurb-1.1.0.ebuild12
-rw-r--r--dev-python/blurb/metadata.xml1
-rw-r--r--dev-python/boltons/Manifest3
-rw-r--r--dev-python/boltons/boltons-21.0.0-r1.ebuild37
-rw-r--r--dev-python/boltons/boltons-23.1.1.ebuild28
-rw-r--r--dev-python/boltons/boltons-24.0.0.ebuild26
-rw-r--r--dev-python/boltons/files/boltons-21.0.0-python3.10.patch110
-rw-r--r--dev-python/boltons/files/boltons-21.0.0-python3.11-tests.patch7
-rw-r--r--dev-python/boolean-py/boolean-py-4.0.ebuild4
-rw-r--r--dev-python/booleanOperations/Manifest1
-rw-r--r--dev-python/booleanOperations/booleanOperations-0.9.0-r1.ebuild34
-rw-r--r--dev-python/booleanOperations/metadata.xml11
-rw-r--r--dev-python/boto/Manifest1
-rw-r--r--dev-python/boto/boto-2.49.0-r6.ebuild64
-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/Manifest11
-rw-r--r--dev-python/boto3/boto3-1.26.50.ebuild68
-rw-r--r--dev-python/boto3/boto3-1.26.54.ebuild68
-rw-r--r--dev-python/boto3/boto3-1.26.57.ebuild68
-rw-r--r--dev-python/boto3/boto3-1.26.58.ebuild68
-rw-r--r--dev-python/boto3/boto3-1.26.59.ebuild68
-rw-r--r--dev-python/boto3/boto3-1.34.74.ebuild58
-rw-r--r--dev-python/boto3/boto3-1.34.79.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.34.84.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.34.85.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.34.86.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.34.87.ebuild53
-rw-r--r--dev-python/boto3/boto3-9999.ebuild68
-rw-r--r--dev-python/botocore/Manifest11
-rw-r--r--dev-python/botocore/botocore-1.29.50.ebuild74
-rw-r--r--dev-python/botocore/botocore-1.29.54.ebuild74
-rw-r--r--dev-python/botocore/botocore-1.29.57.ebuild74
-rw-r--r--dev-python/botocore/botocore-1.29.58.ebuild74
-rw-r--r--dev-python/botocore/botocore-1.29.59.ebuild74
-rw-r--r--dev-python/botocore/botocore-1.34.74.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.34.79.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.34.84.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.34.85.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.34.86.ebuild67
-rw-r--r--dev-python/botocore/botocore-1.34.87.ebuild67
-rw-r--r--dev-python/botocore/botocore-9999.ebuild72
-rw-r--r--dev-python/bottle/Manifest2
-rw-r--r--dev-python/bottle/bottle-0.12.23.ebuild46
-rw-r--r--dev-python/bottle/bottle-0.12.25-r1.ebuild50
-rw-r--r--dev-python/bottle/files/bottle-0.12.25-py312.patch35
-rw-r--r--dev-python/bottleneck/Manifest3
-rw-r--r--dev-python/bottleneck/bottleneck-1.3.5-r1.ebuild44
-rw-r--r--dev-python/bottleneck/bottleneck-1.3.6.ebuild44
-rw-r--r--dev-python/bottleneck/bottleneck-1.3.8.ebuild43
-rw-r--r--dev-python/bpython/Manifest1
-rw-r--r--dev-python/bpython/bpython-0.23-r1.ebuild43
-rw-r--r--dev-python/bpython/bpython-0.24.ebuild8
-rw-r--r--dev-python/bracex/Manifest2
-rw-r--r--dev-python/bracex/bracex-2.3_p1.ebuild56
-rw-r--r--dev-python/bracex/bracex-2.4.ebuild49
-rw-r--r--dev-python/bracex/metadata.xml12
-rw-r--r--dev-python/braintree/Manifest4
-rw-r--r--dev-python/braintree/braintree-4.18.1.ebuild38
-rw-r--r--dev-python/braintree/braintree-4.26.0.ebuild39
-rw-r--r--dev-python/braintree/braintree-4.27.0.ebuild39
-rw-r--r--dev-python/braintree/braintree-4.28.0.ebuild39
-rw-r--r--dev-python/breathe/Manifest2
-rw-r--r--dev-python/breathe/breathe-4.34.0.ebuild41
-rw-r--r--dev-python/breathe/breathe-4.35.0-r1.ebuild42
-rw-r--r--dev-python/breathe/files/breathe-4.34.0-sphinx-5.3.0.patch43
-rw-r--r--dev-python/breathe/files/breathe-4.35.0-sphinx-7.2.patch40
-rw-r--r--dev-python/brotlicffi/Manifest5
-rw-r--r--dev-python/brotlicffi/brotlicffi-1.0.9.2-r2.ebuild62
-rw-r--r--dev-python/brotlicffi/brotlicffi-1.1.0.0.ebuild66
-rw-r--r--dev-python/browser-cookie3/Manifest2
-rw-r--r--dev-python/browser-cookie3/browser-cookie3-0.18.1.ebuild34
-rw-r--r--dev-python/browser-cookie3/browser-cookie3-0.19.1.ebuild37
-rw-r--r--dev-python/browser-cookie3/metadata.xml16
-rw-r--r--dev-python/brython/Manifest1
-rw-r--r--dev-python/brython/brython-3.11.2.ebuild41
-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.ebuild66
-rw-r--r--dev-python/bsddb3/metadata.xml11
-rw-r--r--dev-python/btrfs/Manifest1
-rw-r--r--dev-python/btrfs/btrfs-13.ebuild39
-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/btrfs/metadata.xml16
-rw-r--r--dev-python/build/Manifest5
-rw-r--r--dev-python/build/build-0.10.0.ebuild65
-rw-r--r--dev-python/build/build-0.9.0.ebuild68
-rw-r--r--dev-python/build/build-1.1.1.ebuild60
-rw-r--r--dev-python/build/build-1.2.0.ebuild76
-rw-r--r--dev-python/build/build-1.2.1.ebuild77
-rw-r--r--dev-python/cachecontrol/Manifest2
-rw-r--r--dev-python/cachecontrol/cachecontrol-0.12.12.ebuild42
-rw-r--r--dev-python/cachecontrol/cachecontrol-0.14.0.ebuild33
-rw-r--r--dev-python/cachecontrol/metadata.xml2
-rw-r--r--dev-python/cached-property/cached-property-1.5.2-r1.ebuild6
-rw-r--r--dev-python/cachelib/Manifest4
-rw-r--r--dev-python/cachelib/cachelib-0.10.1.ebuild44
-rw-r--r--dev-python/cachelib/cachelib-0.12.0.ebuild46
-rw-r--r--dev-python/cachelib/cachelib-0.13.0.ebuild46
-rw-r--r--dev-python/cachelib/cachelib-0.9.0.ebuild41
-rw-r--r--dev-python/cachelib/metadata.xml4
-rw-r--r--dev-python/cachetools/Manifest4
-rw-r--r--dev-python/cachetools/cachetools-5.2.0.ebuild22
-rw-r--r--dev-python/cachetools/cachetools-5.2.1.ebuild22
-rw-r--r--dev-python/cachetools/cachetools-5.3.0.ebuild22
-rw-r--r--dev-python/cachetools/cachetools-5.3.3.ebuild21
-rw-r--r--dev-python/cairocffi/Manifest3
-rw-r--r--dev-python/cairocffi/cairocffi-1.3.0.ebuild40
-rw-r--r--dev-python/cairocffi/cairocffi-1.4.0.ebuild46
-rw-r--r--dev-python/cairocffi/cairocffi-1.6.1.ebuild51
-rw-r--r--dev-python/caldav/Manifest2
-rw-r--r--dev-python/caldav/caldav-1.0.1-r1.ebuild41
-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/cangjie/cangjie-1.3-r1.ebuild2
-rw-r--r--dev-python/canonicaljson/Manifest2
-rw-r--r--dev-python/canonicaljson/canonicaljson-1.6.4.ebuild31
-rw-r--r--dev-python/canonicaljson/canonicaljson-2.0.0.ebuild21
-rw-r--r--dev-python/canonicaljson/metadata.xml8
-rw-r--r--dev-python/capturer/capturer-3.0-r1.ebuild9
-rw-r--r--dev-python/carbon/carbon-1.1.10.ebuild3
-rw-r--r--dev-python/casttube/casttube-0.2.1-r1.ebuild23
-rw-r--r--dev-python/casttube/casttube-0.2.1.ebuild23
-rw-r--r--dev-python/casttube/metadata.xml2
-rw-r--r--dev-python/cattrs/Manifest2
-rw-r--r--dev-python/cattrs/cattrs-22.2.0.ebuild57
-rw-r--r--dev-python/cattrs/cattrs-23.2.3.ebuild69
-rw-r--r--dev-python/cbor/Manifest1
-rw-r--r--dev-python/cbor/cbor-1.0.0-r1.ebuild35
-rw-r--r--dev-python/cbor/files/cbor-1.0.0.Fix-broken-test_sortkeys.patch43
-rw-r--r--dev-python/cbor/files/cbor-1.0.0.Replace-deprecated-logger.warn.patch98
-rw-r--r--dev-python/cbor/files/cbor-1.0.0.zero-length-bytes.patch10
-rw-r--r--dev-python/cbor/metadata.xml25
-rw-r--r--dev-python/cbor2/Manifest3
-rw-r--r--dev-python/cbor2/cbor2-5.4.6.ebuild33
-rw-r--r--dev-python/cbor2/cbor2-5.6.2.ebuild46
-rw-r--r--dev-python/cbor2/cbor2-5.6.3.ebuild46
-rw-r--r--dev-python/cbor2/metadata.xml10
-rw-r--r--dev-python/cchardet/Manifest2
-rw-r--r--dev-python/cchardet/cchardet-2.1.19.ebuild28
-rw-r--r--dev-python/cchardet/cchardet-2.1.7-r1.ebuild30
-rw-r--r--dev-python/cchardet/cchardet-2.1.7.ebuild28
-rw-r--r--dev-python/cchardet/files/cchardet-2.1.7-pytest.patch120
-rw-r--r--dev-python/cchardet/metadata.xml8
-rw-r--r--dev-python/cerberus/Manifest3
-rw-r--r--dev-python/cerberus/cerberus-1.3.2.ebuild23
-rw-r--r--dev-python/cerberus/cerberus-1.3.4-r1.ebuild35
-rw-r--r--dev-python/cerberus/cerberus-1.3.5.ebuild36
-rw-r--r--dev-python/cerberus/files/cerberus-1.3.2_no-pytest-runner.patch13
-rw-r--r--dev-python/certifi/certifi-3021.3.16-r3.ebuild55
-rw-r--r--dev-python/certifi/certifi-3021.3.16-r4.ebuild54
-rw-r--r--dev-python/cffi/Manifest2
-rw-r--r--dev-python/cffi/cffi-1.15.1.ebuild65
-rw-r--r--dev-python/cffi/cffi-1.16.0.ebuild72
-rw-r--r--dev-python/cffi/metadata.xml1
-rw-r--r--dev-python/cfgv/Manifest2
-rw-r--r--dev-python/cfgv/cfgv-3.3.1.ebuild17
-rw-r--r--dev-python/cfgv/cfgv-3.4.0.ebuild25
-rw-r--r--dev-python/cfn-lint/Manifest5
-rw-r--r--dev-python/cfn-lint/cfn-lint-0.72.10.ebuild54
-rw-r--r--dev-python/cfn-lint/cfn-lint-0.72.9.ebuild54
-rw-r--r--dev-python/cfn-lint/cfn-lint-0.86.1.ebuild65
-rw-r--r--dev-python/cfn-lint/cfn-lint-0.86.2.ebuild65
-rw-r--r--dev-python/cfn-lint/cfn-lint-0.86.3.ebuild64
-rw-r--r--dev-python/cftime/Manifest2
-rw-r--r--dev-python/cftime/cftime-1.6.2.ebuild29
-rw-r--r--dev-python/cftime/cftime-1.6.3.ebuild39
-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/Manifest5
-rw-r--r--dev-python/chameleon/chameleon-3.10.1.ebuild30
-rw-r--r--dev-python/chameleon/chameleon-3.10.2.ebuild30
-rw-r--r--dev-python/chameleon/chameleon-4.5.2.ebuild23
-rw-r--r--dev-python/chameleon/chameleon-4.5.3.ebuild23
-rw-r--r--dev-python/chameleon/chameleon-4.5.4.ebuild23
-rw-r--r--dev-python/characteristic/characteristic-14.3.0-r4.ebuild5
-rw-r--r--dev-python/chardet/Manifest2
-rw-r--r--dev-python/chardet/chardet-5.1.0.ebuild31
-rw-r--r--dev-python/chardet/chardet-5.2.0.ebuild31
-rw-r--r--dev-python/charset-normalizer/Manifest1
-rw-r--r--dev-python/charset-normalizer/charset-normalizer-3.3.2.ebuild28
-rw-r--r--dev-python/charset-normalizer/metadata.xml (renamed from dev-python/charset_normalizer/metadata.xml)0
-rw-r--r--dev-python/charset_normalizer/Manifest1
-rw-r--r--dev-python/charset_normalizer/charset_normalizer-3.0.1.ebuild31
-rw-r--r--dev-python/chart-studio/Manifest2
-rw-r--r--dev-python/chart-studio/chart-studio-1.1.0-r1.ebuild23
-rw-r--r--dev-python/chart-studio/chart-studio-1.1.0-r2.ebuild55
-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.2.6_p2.ebuild41
-rw-r--r--dev-python/cheetah3/cheetah3-3.3.1.ebuild44
-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-9.0.0.ebuild79
-rw-r--r--dev-python/cherrypy/Manifest2
-rw-r--r--dev-python/cherrypy/cherrypy-18.8.0.ebuild69
-rw-r--r--dev-python/cherrypy/cherrypy-18.9.0.ebuild67
-rw-r--r--dev-python/cherrypy/metadata.xml2
-rw-r--r--dev-python/chump/chump-1.6.0-r2.ebuild3
-rw-r--r--dev-python/citeproc-py/Manifest2
-rw-r--r--dev-python/citeproc-py/citeproc-py-0.6.0.ebuild43
-rw-r--r--dev-python/citeproc-py/files/stop_test_from_accessing_git-0.6.0.patch13
-rw-r--r--dev-python/citeproc-py/metadata.xml12
-rw-r--r--dev-python/cjkwrap/cjkwrap-2.2-r2.ebuild2
-rw-r--r--dev-python/clang-python/Manifest16
-rw-r--r--dev-python/clang-python/clang-python-13.0.1.ebuild41
-rw-r--r--dev-python/clang-python/clang-python-14.0.6.ebuild47
-rw-r--r--dev-python/clang-python/clang-python-16.0.0.9999.ebuild54
-rw-r--r--dev-python/clang-python/clang-python-16.0.0_pre20230107.ebuild54
-rw-r--r--dev-python/clang-python/clang-python-16.0.0_pre20230127.ebuild54
-rw-r--r--dev-python/clang-python/clang-python-16.0.6.ebuild54
-rw-r--r--dev-python/clang-python/clang-python-17.0.0.9999.ebuild54
-rw-r--r--dev-python/clang-python/clang-python-17.0.6.ebuild54
-rw-r--r--dev-python/clang-python/clang-python-18.1.3.ebuild54
-rw-r--r--dev-python/clang-python/clang-python-18.1.4.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_pre20240330.ebuild53
-rw-r--r--dev-python/clang-python/clang-python-19.0.0_pre20240404.ebuild53
-rw-r--r--dev-python/clang-python/clang-python-19.0.0_pre20240410.ebuild53
-rw-r--r--dev-python/cleo/Manifest2
-rw-r--r--dev-python/cleo/cleo-2.0.1.ebuild41
-rw-r--r--dev-python/cleo/cleo-2.1.0.ebuild57
-rw-r--r--dev-python/cleo/metadata.xml4
-rw-r--r--dev-python/cli-helpers/Manifest1
-rw-r--r--dev-python/cli-helpers/cli-helpers-2.3.1.ebuild35
-rw-r--r--dev-python/cli-helpers/cli-helpers-9999.ebuild29
-rw-r--r--dev-python/cli-helpers/metadata.xml12
-rw-r--r--dev-python/cli_helpers/Manifest1
-rw-r--r--dev-python/cli_helpers/cli_helpers-2.3.0.ebuild33
-rw-r--r--dev-python/cli_helpers/cli_helpers-9999.ebuild30
-rw-r--r--dev-python/cli_helpers/metadata.xml15
-rw-r--r--dev-python/click-default-group/Manifest2
-rw-r--r--dev-python/click-default-group/click-default-group-1.2.2-r1.ebuild24
-rw-r--r--dev-python/click-default-group/click-default-group-1.2.4.ebuild29
-rw-r--r--dev-python/click-default-group/files/click-default-group-1.2.2-tests-click-8.patch21
-rw-r--r--dev-python/click-didyoumean/Manifest1
-rw-r--r--dev-python/click-didyoumean/click-didyoumean-0.3.0.ebuild4
-rw-r--r--dev-python/click-didyoumean/click-didyoumean-0.3.1.ebuild29
-rw-r--r--dev-python/click-help-colors/Manifest2
-rw-r--r--dev-python/click-help-colors/click-help-colors-0.9.1-r1.ebuild29
-rw-r--r--dev-python/click-help-colors/click-help-colors-0.9.4.ebuild40
-rw-r--r--dev-python/click-help-colors/files/click-help-colors-0.9.4-no-color.patch14
-rw-r--r--dev-python/click-log/click-log-0.4.0.ebuild6
-rw-r--r--dev-python/click-plugins/click-plugins-1.1.1-r1.ebuild26
-rw-r--r--dev-python/click-plugins/click-plugins-1.1.1.ebuild21
-rw-r--r--dev-python/click-threading/click-threading-0.5.0-r1.ebuild2
-rw-r--r--dev-python/click/Manifest2
-rw-r--r--dev-python/click/click-8.1.3.ebuild38
-rw-r--r--dev-python/click/click-8.1.7.ebuild38
-rw-r--r--dev-python/cliff/Manifest2
-rw-r--r--dev-python/cliff/cliff-4.1.0.ebuild43
-rw-r--r--dev-python/cliff/cliff-4.6.0.ebuild40
-rw-r--r--dev-python/cliff/metadata.xml1
-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/Manifest1
-rw-r--r--dev-python/clint/clint-0.5.1-r3.ebuild33
-rw-r--r--dev-python/clint/clint-0.5.1-r4.ebuild4
-rw-r--r--dev-python/clint/metadata.xml1
-rw-r--r--dev-python/cloudpickle/Manifest3
-rw-r--r--dev-python/cloudpickle/cloudpickle-2.2.0.ebuild36
-rw-r--r--dev-python/cloudpickle/cloudpickle-2.2.1.ebuild36
-rw-r--r--dev-python/cloudpickle/cloudpickle-3.0.0.ebuild39
-rw-r--r--dev-python/cloudscraper/Manifest2
-rw-r--r--dev-python/cloudscraper/cloudscraper-1.2.68.ebuild55
-rw-r--r--dev-python/cloudscraper/cloudscraper-1.2.69.ebuild55
-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/Manifest1
-rw-r--r--dev-python/cmd2/cmd2-2.4.2.ebuild60
-rw-r--r--dev-python/cmd2/cmd2-2.4.3.ebuild9
-rw-r--r--dev-python/collective-checkdocs/Manifest1
-rw-r--r--dev-python/collective-checkdocs/collective-checkdocs-0.2-r1.ebuild37
-rw-r--r--dev-python/collective-checkdocs/metadata.xml20
-rw-r--r--dev-python/colorama/colorama-0.4.6.ebuild8
-rw-r--r--dev-python/colorclass/colorclass-2.2.2-r1.ebuild4
-rw-r--r--dev-python/colored-traceback/Manifest1
-rw-r--r--dev-python/colored-traceback/colored-traceback-0.3.0.ebuild19
-rw-r--r--dev-python/colored-traceback/metadata.xml21
-rw-r--r--dev-python/coloredlogs/coloredlogs-15.0.1-r1.ebuild9
-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/Manifest2
-rw-r--r--dev-python/colorlog/colorlog-6.7.0.ebuild19
-rw-r--r--dev-python/colorlog/colorlog-6.8.2.ebuild21
-rw-r--r--dev-python/colorspacious/Manifest1
-rw-r--r--dev-python/colorspacious/colorspacious-1.1.2.ebuild23
-rw-r--r--dev-python/colorspacious/metadata.xml13
-rw-r--r--dev-python/colour/colour-0.1.5-r1.ebuild41
-rw-r--r--dev-python/colour/colour-0.1.5.ebuild25
-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.1.2.ebuild29
-rw-r--r--dev-python/comm/comm-0.2.2.ebuild30
-rw-r--r--dev-python/commentjson/commentjson-0.9.0-r2.ebuild2
-rw-r--r--dev-python/commonmark/commonmark-0.9.1-r1.ebuild5
-rw-r--r--dev-python/configclass/configclass-0.2.0-r1.ebuild29
-rw-r--r--dev-python/configclass/configclass-0.2.0.ebuild20
-rw-r--r--dev-python/configobj/Manifest1
-rw-r--r--dev-python/configobj/configobj-5.0.6-r2.ebuild23
-rw-r--r--dev-python/configobj/configobj-5.0.8.ebuild4
-rw-r--r--dev-python/configobj/files/configobj-5.0.6-fix-py2-tests.patch40
-rw-r--r--dev-python/configshell-fb/Manifest2
-rw-r--r--dev-python/configshell-fb/configshell-fb-1.1.29.ebuild19
-rw-r--r--dev-python/configshell-fb/configshell-fb-1.1.30.ebuild33
-rw-r--r--dev-python/configshell-fb/metadata.xml38
-rw-r--r--dev-python/configupdater/Manifest2
-rw-r--r--dev-python/configupdater/configupdater-3.1.1.ebuild32
-rw-r--r--dev-python/configupdater/configupdater-3.2.ebuild36
-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/confuse/Manifest2
-rw-r--r--dev-python/confuse/confuse-2.0.0.ebuild31
-rw-r--r--dev-python/confuse/confuse-2.0.1.ebuild27
-rw-r--r--dev-python/cons/Manifest2
-rw-r--r--dev-python/cons/cons-0.4.5.ebuild26
-rw-r--r--dev-python/cons/cons-0.4.6.ebuild30
-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-15.1.0-r2.ebuild25
-rw-r--r--dev-python/constantly/constantly-23.10.4.ebuild30
-rw-r--r--dev-python/construct/Manifest2
-rw-r--r--dev-python/construct/construct-2.10.68.ebuild40
-rw-r--r--dev-python/construct/construct-2.10.70.ebuild41
-rw-r--r--dev-python/contourpy/Manifest4
-rw-r--r--dev-python/contourpy/contourpy-1.0.6.ebuild47
-rw-r--r--dev-python/contourpy/contourpy-1.0.7.ebuild47
-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/Manifest1
-rw-r--r--dev-python/conway-polynomials/conway-polynomials-0.9.ebuild22
-rw-r--r--dev-python/conway-polynomials/metadata.xml27
-rw-r--r--dev-python/cookies/cookies-2.2.1-r2.ebuild5
-rw-r--r--dev-python/cookies/metadata.xml1
-rw-r--r--dev-python/coreapi/Manifest1
-rw-r--r--dev-python/coreapi/coreapi-2.3.3-r2.ebuild31
-rw-r--r--dev-python/coreapi/metadata.xml13
-rw-r--r--dev-python/coreschema/Manifest1
-rw-r--r--dev-python/coreschema/coreschema-0.0.4-r1.ebuild28
-rw-r--r--dev-python/coreschema/metadata.xml11
-rw-r--r--dev-python/cov-core/Manifest1
-rw-r--r--dev-python/cov-core/cov-core-1.15.0-r3.ebuild27
-rw-r--r--dev-python/cov-core/metadata.xml12
-rw-r--r--dev-python/coverage/Manifest3
-rw-r--r--dev-python/coverage/coverage-7.0.5.ebuild78
-rw-r--r--dev-python/coverage/coverage-7.1.0.ebuild78
-rw-r--r--dev-python/coverage/coverage-7.4.4.ebuild98
-rw-r--r--dev-python/cppy/cppy-1.2.1-r1.ebuild12
-rw-r--r--dev-python/cppy/metadata.xml1
-rw-r--r--dev-python/cramjam/Manifest143
-rw-r--r--dev-python/cramjam/cramjam-2.8.3.ebuild206
-rw-r--r--dev-python/cramjam/metadata.xml11
-rw-r--r--dev-python/crashtest/crashtest-0.4.1.ebuild4
-rw-r--r--dev-python/crc32c/Manifest1
-rw-r--r--dev-python/crc32c/crc32c-2.4.ebuild46
-rw-r--r--dev-python/crc32c/metadata.xml11
-rw-r--r--dev-python/crcmod/crcmod-1.7-r5.ebuild3
-rw-r--r--dev-python/crispy-bootstrap3/Manifest1
-rw-r--r--dev-python/crispy-bootstrap3/crispy-bootstrap3-2024.1.ebuild34
-rw-r--r--dev-python/crispy-bootstrap3/metadata.xml12
-rw-r--r--dev-python/crispy-bootstrap4/Manifest2
-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/metadata.xml12
-rw-r--r--dev-python/crispy-bootstrap5/Manifest1
-rw-r--r--dev-python/crispy-bootstrap5/crispy-bootstrap5-2024.2.ebuild35
-rw-r--r--dev-python/crispy-bootstrap5/metadata.xml12
-rw-r--r--dev-python/croniter/Manifest2
-rw-r--r--dev-python/croniter/croniter-1.3.8.ebuild31
-rw-r--r--dev-python/croniter/croniter-2.0.3.ebuild31
-rw-r--r--dev-python/cryptography/Manifest178
-rw-r--r--dev-python/cryptography/cryptography-38.0.4.ebuild143
-rw-r--r--dev-python/cryptography/cryptography-39.0.0.ebuild155
-rw-r--r--dev-python/cryptography/cryptography-41.0.7.ebuild153
-rw-r--r--dev-python/cryptography/cryptography-42.0.0.ebuild146
-rw-r--r--dev-python/cryptography/cryptography-42.0.1.ebuild146
-rw-r--r--dev-python/cryptography/cryptography-42.0.2.ebuild146
-rw-r--r--dev-python/cryptography/cryptography-42.0.3.ebuild146
-rw-r--r--dev-python/cryptography/cryptography-42.0.4.ebuild146
-rw-r--r--dev-python/cryptography/cryptography-42.0.5.ebuild147
-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/Manifest2
-rw-r--r--dev-python/css-parser/css-parser-1.0.10.ebuild28
-rw-r--r--dev-python/css-parser/css-parser-1.0.8.ebuild28
-rw-r--r--dev-python/csscompressor/csscompressor-0.9.5-r1.ebuild21
-rw-r--r--dev-python/csscompressor/csscompressor-0.9.5-r2.ebuild21
-rw-r--r--dev-python/cssselect/cssselect-1.2.0.ebuild2
-rw-r--r--dev-python/cssselect2/cssselect2-0.7.0.ebuild7
-rw-r--r--dev-python/cssutils/Manifest3
-rw-r--r--dev-python/cssutils/cssutils-2.10.2.ebuild46
-rw-r--r--dev-python/cssutils/cssutils-2.6.0.ebuild42
-rw-r--r--dev-python/cssutils/cssutils-2.9.0.ebuild46
-rw-r--r--dev-python/cstruct/Manifest1
-rw-r--r--dev-python/cstruct/cstruct-5.3.ebuild29
-rw-r--r--dev-python/cstruct/metadata.xml (renamed from dev-python/python-cstruct/metadata.xml)0
-rw-r--r--dev-python/csvkit/Manifest3
-rw-r--r--dev-python/csvkit/csvkit-1.1.0.ebuild43
-rw-r--r--dev-python/csvkit/csvkit-1.4.0.ebuild44
-rw-r--r--dev-python/csvkit/csvkit-1.5.0.ebuild45
-rw-r--r--dev-python/curtsies/Manifest2
-rw-r--r--dev-python/curtsies/curtsies-0.4.1-r1.ebuild32
-rw-r--r--dev-python/curtsies/curtsies-0.4.2.ebuild31
-rw-r--r--dev-python/cvxopt/Manifest2
-rw-r--r--dev-python/cvxopt/cvxopt-1.3.0.ebuild178
-rw-r--r--dev-python/cvxopt/cvxopt-1.3.2.ebuild180
-rw-r--r--dev-python/cvxopt/files/cvxopt-1.3.0-versioneer-buildfix.patch33
-rw-r--r--dev-python/cwcwidth/Manifest2
-rw-r--r--dev-python/cwcwidth/cwcwidth-0.1.8.ebuild34
-rw-r--r--dev-python/cwcwidth/cwcwidth-0.1.9.ebuild35
-rw-r--r--dev-python/cx_Freeze/Manifest1
-rw-r--r--dev-python/cx_Freeze/cx_Freeze-6.13.1.ebuild57
-rw-r--r--dev-python/cx_Freeze/files/cx_Freeze-6.8.2-buildsystem.patch13
-rw-r--r--dev-python/cx_Freeze/metadata.xml16
-rw-r--r--dev-python/cycler/Manifest2
-rw-r--r--dev-python/cycler/cycler-0.11.0-r1.ebuild23
-rw-r--r--dev-python/cycler/cycler-0.12.1.ebuild26
-rw-r--r--dev-python/cypari2/Manifest1
-rw-r--r--dev-python/cypari2/cypari2-2.1.4-r1.ebuild39
-rw-r--r--dev-python/cypari2/files/cypari2-2.1.4-regen-bindings-for-each-python.patch40
-rw-r--r--dev-python/cypari2/metadata.xml27
-rw-r--r--dev-python/cysignals/Manifest1
-rw-r--r--dev-python/cysignals/cysignals-1.11.4.ebuild30
-rw-r--r--dev-python/cysignals/metadata.xml35
-rw-r--r--dev-python/cython-test-exception-raiser/cython-test-exception-raiser-1.0.2-r1.ebuild13
-rw-r--r--dev-python/cython/Manifest5
-rw-r--r--dev-python/cython/cython-0.29.32.ebuild90
-rw-r--r--dev-python/cython/cython-0.29.33.ebuild90
-rw-r--r--dev-python/cython/cython-3.0.10.ebuild84
-rw-r--r--dev-python/cython/cython-3.0.8.ebuild84
-rw-r--r--dev-python/cython/cython-3.0.9.ebuild84
-rw-r--r--dev-python/cython/files/50cython-gentoo.el11
-rw-r--r--dev-python/cython/files/cython-0.29.23-pythran-parallel-install.patch20
-rw-r--r--dev-python/daemonize/daemonize-2.5.0-r1.ebuild2
-rw-r--r--dev-python/daemonize/metadata.xml5
-rw-r--r--dev-python/dask-expr/Manifest6
-rw-r--r--dev-python/dask-expr/dask-expr-1.0.1.ebuild62
-rw-r--r--dev-python/dask-expr/dask-expr-1.0.10.ebuild63
-rw-r--r--dev-python/dask-expr/dask-expr-1.0.11.ebuild63
-rw-r--r--dev-python/dask-expr/dask-expr-1.0.5.ebuild63
-rw-r--r--dev-python/dask-expr/dask-expr-1.0.6.ebuild63
-rw-r--r--dev-python/dask-expr/dask-expr-1.0.9.ebuild63
-rw-r--r--dev-python/dask-expr/metadata.xml12
-rw-r--r--dev-python/dask/Manifest9
-rw-r--r--dev-python/dask/dask-2022.12.1-r2.ebuild62
-rw-r--r--dev-python/dask/dask-2023.1.0-r1.ebuild62
-rw-r--r--dev-python/dask/dask-2023.1.1.ebuild69
-rw-r--r--dev-python/dask/dask-2024.2.0.ebuild93
-rw-r--r--dev-python/dask/dask-2024.2.1.ebuild93
-rw-r--r--dev-python/dask/dask-2024.3.0.ebuild98
-rw-r--r--dev-python/dask/dask-2024.3.1.ebuild98
-rw-r--r--dev-python/dask/dask-2024.4.0.ebuild98
-rw-r--r--dev-python/dask/dask-2024.4.1.ebuild99
-rw-r--r--dev-python/dbfread/Manifest2
-rw-r--r--dev-python/dbfread/dbfread-2.0.7-r1.ebuild19
-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.ebuild25
-rw-r--r--dev-python/dbutils/Manifest2
-rw-r--r--dev-python/dbutils/dbutils-3.0.3.ebuild31
-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/Manifest2
-rw-r--r--dev-python/ddt/ddt-1.6.0.ebuild32
-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.ebuild34
-rw-r--r--dev-python/debtcollector/debtcollector-3.0.0.ebuild33
-rw-r--r--dev-python/debugpy/Manifest1
-rw-r--r--dev-python/debugpy/debugpy-1.6.3.ebuild43
-rw-r--r--dev-python/debugpy/files/debugpy-1.6.1-unbundle-pydevd.patch94
-rw-r--r--dev-python/debugpy/metadata.xml15
-rw-r--r--dev-python/decorator/decorator-5.1.1-r1.ebuild7
-rw-r--r--dev-python/deepdiff/Manifest2
-rw-r--r--dev-python/deepdiff/deepdiff-6.7.1.ebuild39
-rw-r--r--dev-python/deepdiff/deepdiff-7.0.1.ebuild39
-rw-r--r--dev-python/deepdiff/metadata.xml16
-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/deepmerge/metadata.xml1
-rw-r--r--dev-python/defcon/Manifest1
-rw-r--r--dev-python/defcon/defcon-0.10.2.ebuild34
-rw-r--r--dev-python/defcon/metadata.xml17
-rw-r--r--dev-python/defusedxml/Manifest2
-rw-r--r--dev-python/defusedxml/defusedxml-0.7.1-r1.ebuild4
-rw-r--r--dev-python/denonavr/Manifest3
-rw-r--r--dev-python/denonavr/denonavr-0.11.0.ebuild44
-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/Manifest1
-rw-r--r--dev-python/dep-logic/dep-logic-0.2.0.ebuild25
-rw-r--r--dev-python/dep-logic/metadata.xml12
-rw-r--r--dev-python/deprecated/Manifest2
-rw-r--r--dev-python/deprecated/deprecated-1.2.13-r1.ebuild40
-rw-r--r--dev-python/deprecated/deprecated-1.2.14.ebuild27
-rw-r--r--dev-python/deprecated/metadata.xml1
-rw-r--r--dev-python/deprecation/deprecation-2.1.0-r1.ebuild29
-rw-r--r--dev-python/deprecation/deprecation-2.1.0.ebuild25
-rw-r--r--dev-python/dict2xml/Manifest2
-rw-r--r--dev-python/dict2xml/dict2xml-1.7.2.ebuild21
-rw-r--r--dev-python/dict2xml/dict2xml-1.7.5-r1.ebuild25
-rw-r--r--dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild12
-rw-r--r--dev-python/dictpath/dictpath-0.1.3.ebuild2
-rw-r--r--dev-python/diff-match-patch/Manifest2
-rw-r--r--dev-python/diff-match-patch/diff-match-patch-20200713.ebuild18
-rw-r--r--dev-python/diff-match-patch/diff-match-patch-20230430.ebuild22
-rw-r--r--dev-python/diff-match-patch/metadata.xml1
-rw-r--r--dev-python/dill/Manifest2
-rw-r--r--dev-python/dill/dill-0.3.6.ebuild28
-rw-r--r--dev-python/dill/dill-0.3.8.ebuild23
-rw-r--r--dev-python/dirty-equals/Manifest2
-rw-r--r--dev-python/dirty-equals/dirty-equals-0.5.0.ebuild40
-rw-r--r--dev-python/dirty-equals/dirty-equals-0.7.1.ebuild47
-rw-r--r--dev-python/dirty-equals/metadata.xml1
-rw-r--r--dev-python/discid/Manifest1
-rw-r--r--dev-python/discid/discid-1.2.0-r1.ebuild40
-rw-r--r--dev-python/discid/metadata.xml (renamed from dev-python/python-discid/metadata.xml)0
-rw-r--r--dev-python/discogs-client/Manifest1
-rw-r--r--dev-python/discogs-client/discogs-client-2.6.ebuild35
-rw-r--r--dev-python/discogs-client/discogs-client-9999.ebuild35
-rw-r--r--dev-python/diskcache/Manifest2
-rw-r--r--dev-python/diskcache/diskcache-5.4.0-r1.ebuild41
-rw-r--r--dev-python/diskcache/diskcache-5.6.3.ebuild42
-rw-r--r--dev-python/dissononce/dissononce-0.34.3-r3.ebuild4
-rw-r--r--dev-python/distlib/Manifest2
-rw-r--r--dev-python/distlib/distlib-0.3.6.ebuild66
-rw-r--r--dev-python/distlib/distlib-0.3.8.ebuild56
-rw-r--r--dev-python/distro/Manifest2
-rw-r--r--dev-python/distro/distro-1.8.0.ebuild23
-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-1.2.0.ebuild29
-rw-r--r--dev-python/dj-database-url/dj-database-url-2.1.0.ebuild31
-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.ebuild10
-rw-r--r--dev-python/django-auth-ldap/Manifest4
-rw-r--r--dev-python/django-auth-ldap/django-auth-ldap-4.1.0.ebuild49
-rw-r--r--dev-python/django-auth-ldap/django-auth-ldap-4.6.0.ebuild43
-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/Manifest2
-rw-r--r--dev-python/django-cacheops/django-cacheops-6.1.ebuild72
-rw-r--r--dev-python/django-cacheops/django-cacheops-7.0.2.ebuild71
-rw-r--r--dev-python/django-configurations/Manifest2
-rw-r--r--dev-python/django-configurations/django-configurations-2.4.ebuild47
-rw-r--r--dev-python/django-configurations/django-configurations-2.5.1.ebuild44
-rw-r--r--dev-python/django-cors-headers/Manifest2
-rw-r--r--dev-python/django-cors-headers/django-cors-headers-3.13.0.ebuild34
-rw-r--r--dev-python/django-cors-headers/django-cors-headers-4.3.1.ebuild35
-rw-r--r--dev-python/django-crispy-forms/Manifest2
-rw-r--r--dev-python/django-crispy-forms/django-crispy-forms-1.14.0.ebuild21
-rw-r--r--dev-python/django-crispy-forms/django-crispy-forms-2.1.ebuild36
-rw-r--r--dev-python/django-debug-toolbar/Manifest1
-rw-r--r--dev-python/django-debug-toolbar/django-debug-toolbar-4.3.0.ebuild36
-rw-r--r--dev-python/django-debug-toolbar/metadata.xml12
-rw-r--r--dev-python/django-filter/Manifest4
-rw-r--r--dev-python/django-filter/django-filter-22.1.ebuild46
-rw-r--r--dev-python/django-filter/django-filter-23.5.ebuild42
-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-filter/files/django-filter-22.1-test-skipIf.patch22
-rw-r--r--dev-python/django-js-asset/Manifest2
-rw-r--r--dev-python/django-js-asset/django-js-asset-2.0.ebuild30
-rw-r--r--dev-python/django-js-asset/django-js-asset-2.2.0.ebuild36
-rw-r--r--dev-python/django-js-asset/metadata.xml7
-rw-r--r--dev-python/django-mptt/Manifest1
-rw-r--r--dev-python/django-mptt/django-mptt-0.13.4.ebuild27
-rw-r--r--dev-python/django-mptt/metadata.xml13
-rw-r--r--dev-python/django-otp/Manifest5
-rw-r--r--dev-python/django-otp/django-otp-1.1.4.ebuild44
-rw-r--r--dev-python/django-otp/django-otp-1.3.0.ebuild43
-rw-r--r--dev-python/django-otp/django-otp-1.4.0.ebuild43
-rw-r--r--dev-python/django-otp/django-otp-1.4.1.ebuild43
-rw-r--r--dev-python/django-otp/django-otp-1.5.0.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/Manifest2
-rw-r--r--dev-python/django-prometheus/django-prometheus-2.2.0.ebuild27
-rw-r--r--dev-python/django-prometheus/django-prometheus-2.3.1.ebuild32
-rw-r--r--dev-python/django-redis/Manifest2
-rw-r--r--dev-python/django-redis/django-redis-5.2.0.ebuild79
-rw-r--r--dev-python/django-redis/django-redis-5.4.0.ebuild83
-rw-r--r--dev-python/django-registration/Manifest1
-rw-r--r--dev-python/django-registration/django-registration-3.4-r1.ebuild32
-rw-r--r--dev-python/django-registration/metadata.xml12
-rw-r--r--dev-python/django-sortedm2m/django-sortedm2m-3.1.1-r2.ebuild43
-rw-r--r--dev-python/django-sortedm2m/django-sortedm2m-3.1.1.ebuild35
-rw-r--r--dev-python/django-tables2/Manifest2
-rw-r--r--dev-python/django-tables2/django-tables2-2.5.1.ebuild52
-rw-r--r--dev-python/django-tables2/django-tables2-2.7.0.ebuild55
-rw-r--r--dev-python/django-tagging/Manifest1
-rw-r--r--dev-python/django-tagging/django-tagging-0.5.0-r1.ebuild35
-rw-r--r--dev-python/django-tagging/metadata.xml13
-rw-r--r--dev-python/django-taggit/Manifest1
-rw-r--r--dev-python/django-taggit/django-taggit-3.1.0.ebuild4
-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-5.0.ebuild38
-rw-r--r--dev-python/django-timezone-field/django-timezone-field-6.1.0.ebuild42
-rw-r--r--dev-python/django/Manifest18
-rw-r--r--dev-python/django/django-3.2.16.ebuild109
-rw-r--r--dev-python/django/django-3.2.25.ebuild110
-rw-r--r--dev-python/django/django-4.0.8.ebuild110
-rw-r--r--dev-python/django/django-4.1.4.ebuild103
-rw-r--r--dev-python/django/django-4.1.5.ebuild103
-rw-r--r--dev-python/django/django-4.2.11.ebuild101
-rw-r--r--dev-python/django/django-5.0.3.ebuild100
-rw-r--r--dev-python/django/django-5.0.4.ebuild101
-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.0.5-py311.patch218
-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/Manifest3
-rw-r--r--dev-python/djangorestframework/djangorestframework-3.14.0.ebuild41
-rw-r--r--dev-python/djangorestframework/djangorestframework-3.15.0.ebuild48
-rw-r--r--dev-python/djangorestframework/djangorestframework-3.15.1.ebuild53
-rw-r--r--dev-python/dkimpy/Manifest3
-rw-r--r--dev-python/dkimpy/dkimpy-1.0.5-r1.ebuild38
-rw-r--r--dev-python/dkimpy/dkimpy-1.1.5.ebuild37
-rw-r--r--dev-python/dkimpy/dkimpy-1.1.6.ebuild37
-rw-r--r--dev-python/dns-lexicon/Manifest2
-rw-r--r--dev-python/dns-lexicon/dns-lexicon-3.11.7.ebuild67
-rw-r--r--dev-python/dns-lexicon/dns-lexicon-3.17.0.ebuild72
-rw-r--r--dev-python/dnspython/Manifest3
-rw-r--r--dev-python/dnspython/dnspython-2.2.1-r1.ebuild52
-rw-r--r--dev-python/dnspython/dnspython-2.3.0.ebuild57
-rw-r--r--dev-python/dnspython/dnspython-2.6.1.ebuild47
-rw-r--r--dev-python/doc8/Manifest1
-rw-r--r--dev-python/doc8/doc8-1.0.0.ebuild34
-rw-r--r--dev-python/doc8/doc8-1.1.1.ebuild9
-rw-r--r--dev-python/docker-py/Manifest1
-rw-r--r--dev-python/docker-py/docker-py-5.0.3.ebuild44
-rw-r--r--dev-python/docker-py/metadata.xml13
-rw-r--r--dev-python/docker/Manifest2
-rw-r--r--dev-python/docker/docker-6.1.3.ebuild57
-rw-r--r--dev-python/docker/docker-7.0.0.ebuild56
-rw-r--r--dev-python/docker/metadata.xml13
-rw-r--r--dev-python/dockerpty/Manifest2
-rw-r--r--dev-python/dockerpty/dockerpty-0.4.1-r1.ebuild27
-rw-r--r--dev-python/dockerpty/dockerpty-0.4.1-r2.ebuild35
-rw-r--r--dev-python/dockerpty/metadata.xml6
-rw-r--r--dev-python/docopt/docopt-0.6.2-r5.ebuild4
-rw-r--r--dev-python/docstring-to-markdown/Manifest2
-rw-r--r--dev-python/docstring-to-markdown/docstring-to-markdown-0.11.ebuild29
-rw-r--r--dev-python/docstring-to-markdown/docstring-to-markdown-0.15.ebuild32
-rw-r--r--dev-python/doctest-ignore-unicode/Manifest1
-rw-r--r--dev-python/doctest-ignore-unicode/doctest-ignore-unicode-0.1.2-r1.ebuild19
-rw-r--r--dev-python/doctest-ignore-unicode/metadata.xml13
-rw-r--r--dev-python/docutils-glep/docutils-glep-1.5.ebuild6
-rw-r--r--dev-python/docutils/Manifest3
-rw-r--r--dev-python/docutils/docutils-0.17.1-r1.ebuild77
-rw-r--r--dev-python/docutils/docutils-0.19.ebuild11
-rw-r--r--dev-python/docutils/docutils-0.20.1-r1.ebuild79
-rw-r--r--dev-python/docutils/docutils-0.21.1.ebuild86
-rw-r--r--dev-python/docutils/files/docutils-0.18.1-py311.patch135
-rw-r--r--dev-python/docutils/files/docutils-0.19-pygments-2.14.patch672
-rw-r--r--dev-python/docutils/files/docutils-0.21.1-test.patch42
-rw-r--r--dev-python/dogpile-cache/Manifest2
-rw-r--r--dev-python/dogpile-cache/dogpile-cache-1.1.8.ebuild34
-rw-r--r--dev-python/dogpile-cache/dogpile-cache-1.3.2.ebuild36
-rw-r--r--dev-python/doit-py/Manifest2
-rw-r--r--dev-python/doit-py/doit-py-0.5.0-r1.ebuild37
-rw-r--r--dev-python/doit-py/doit-py-0.5.0.ebuild27
-rw-r--r--dev-python/doit/doit-0.36.0-r1.ebuild68
-rw-r--r--dev-python/doit/doit-0.36.0.ebuild63
-rw-r--r--dev-python/dominate/Manifest2
-rw-r--r--dev-python/dominate/dominate-2.7.0.ebuild22
-rw-r--r--dev-python/dominate/dominate-2.9.1.ebuild21
-rw-r--r--dev-python/doublex-expects/Manifest2
-rw-r--r--dev-python/doublex-expects/doublex-expects-0.7.1-r1.ebuild40
-rw-r--r--dev-python/doublex-expects/doublex-expects-0.7.1.ebuild35
-rw-r--r--dev-python/doublex/Manifest2
-rw-r--r--dev-python/doublex/doublex-1.9.2-r1.ebuild55
-rw-r--r--dev-python/doublex/doublex-1.9.6.1.ebuild42
-rw-r--r--dev-python/doublex/files/doublex-1.9.2-py310.patch33
-rw-r--r--dev-python/doublex/metadata.xml8
-rw-r--r--dev-python/dparse/Manifest1
-rw-r--r--dev-python/dparse/dparse-0.6.4_beta0.ebuild31
-rw-r--r--dev-python/dparse/metadata.xml17
-rw-r--r--dev-python/duecredit/Manifest1
-rw-r--r--dev-python/duecredit/duecredit-0.9.1.ebuild28
-rw-r--r--dev-python/duecredit/metadata.xml17
-rw-r--r--dev-python/dulwich/Manifest5
-rw-r--r--dev-python/dulwich/dulwich-0.20.50.ebuild55
-rw-r--r--dev-python/dulwich/dulwich-0.21.0.ebuild55
-rw-r--r--dev-python/dulwich/dulwich-0.21.1.ebuild55
-rw-r--r--dev-python/dulwich/dulwich-0.21.2.ebuild55
-rw-r--r--dev-python/dulwich/dulwich-0.21.7-r1.ebuild64
-rw-r--r--dev-python/easy-thumbnails/easy-thumbnails-2.8.5.ebuild6
-rw-r--r--dev-python/easyprocess/Manifest2
-rw-r--r--dev-python/easyprocess/easyprocess-1.1-r1.ebuild18
-rw-r--r--dev-python/easyprocess/metadata.xml4
-rw-r--r--dev-python/ecdsa/Manifest1
-rw-r--r--dev-python/ecdsa/ecdsa-0.18.0.ebuild5
-rw-r--r--dev-python/ecdsa/ecdsa-0.19.0.ebuild33
-rw-r--r--dev-python/editables/Manifest2
-rw-r--r--dev-python/editables/editables-0.3.ebuild25
-rw-r--r--dev-python/editables/editables-0.5.ebuild25
-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.ebuild51
-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/Manifest1
-rw-r--r--dev-python/elastic-transport/elastic-transport-8.13.0.ebuild70
-rw-r--r--dev-python/elastic-transport/metadata.xml18
-rw-r--r--dev-python/elasticsearch-py/Manifest2
-rw-r--r--dev-python/elasticsearch-py/elasticsearch-py-7.17.6.ebuild193
-rw-r--r--dev-python/elasticsearch-py/metadata.xml19
-rw-r--r--dev-python/elasticsearch/Manifest1
-rw-r--r--dev-python/elasticsearch/elasticsearch-8.13.0.ebuild75
-rw-r--r--dev-python/elasticsearch/metadata.xml18
-rw-r--r--dev-python/elementpath/Manifest2
-rw-r--r--dev-python/elementpath/elementpath-3.0.2.ebuild38
-rw-r--r--dev-python/elementpath/elementpath-4.4.0.ebuild34
-rw-r--r--dev-python/email-validator/Manifest1
-rw-r--r--dev-python/email-validator/email-validator-2.1.1.ebuild31
-rw-r--r--dev-python/email-validator/metadata.xml (renamed from dev-python/python-email-validator/metadata.xml)0
-rw-r--r--dev-python/emcee/Manifest2
-rw-r--r--dev-python/emcee/emcee-3.1.3.ebuild45
-rw-r--r--dev-python/emcee/emcee-3.1.4.ebuild13
-rw-r--r--dev-python/emcee/emcee-3.1.5.ebuild50
-rw-r--r--dev-python/emcee/metadata.xml1
-rw-r--r--dev-python/emoji/Manifest3
-rw-r--r--dev-python/emoji/emoji-2.10.1.ebuild25
-rw-r--r--dev-python/emoji/emoji-2.11.0.ebuild25
-rw-r--r--dev-python/emoji/emoji-2.2.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.ebuild30
-rw-r--r--dev-python/ensurepip-pip/Manifest2
-rw-r--r--dev-python/ensurepip-pip/ensurepip-pip-22.3.1.ebuild27
-rw-r--r--dev-python/ensurepip-pip/ensurepip-pip-24.0.ebuild24
-rw-r--r--dev-python/ensurepip-setuptools/Manifest6
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-65.6.3.ebuild27
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-66.0.0.ebuild27
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-66.1.1.ebuild27
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.3.ebuild24
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-69.2.0.ebuild24
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-69.5.1.ebuild24
-rw-r--r--dev-python/ensurepip-wheel/Manifest1
-rw-r--r--dev-python/ensurepip-wheel/ensurepip-wheel-0.43.0.ebuild20
-rw-r--r--dev-python/ensurepip-wheel/metadata.xml11
-rw-r--r--dev-python/ensurepip-wheels/ensurepip-wheels-100.ebuild4
-rw-r--r--dev-python/ensurepip-wheels/metadata.xml4
-rw-r--r--dev-python/entrypoint2/entrypoint2-1.1.ebuild10
-rw-r--r--dev-python/entrypoint2/metadata.xml4
-rw-r--r--dev-python/entrypoints/entrypoints-0.4.ebuild5
-rw-r--r--dev-python/environs/Manifest3
-rw-r--r--dev-python/environs/environs-10.3.0.ebuild39
-rw-r--r--dev-python/environs/environs-11.0.0.ebuild39
-rw-r--r--dev-python/environs/environs-9.5.0-r1.ebuild33
-rw-r--r--dev-python/enzyme/enzyme-0.4.1-r3.ebuild16
-rw-r--r--dev-python/ephemeral-port-reserve/ephemeral-port-reserve-1.1.4.ebuild2
-rw-r--r--dev-python/eradicate/Manifest2
-rw-r--r--dev-python/eradicate/eradicate-2.1.0.ebuild25
-rw-r--r--dev-python/eradicate/eradicate-2.3.0.ebuild25
-rw-r--r--dev-python/eradicate/metadata.xml2
-rw-r--r--dev-python/et_xmlfile/et_xmlfile-1.1.0-r1.ebuild6
-rw-r--r--dev-python/etuples/Manifest2
-rw-r--r--dev-python/etuples/etuples-0.3.8.ebuild30
-rw-r--r--dev-python/etuples/etuples-0.3.9.ebuild31
-rw-r--r--dev-python/evdev/Manifest1
-rw-r--r--dev-python/evdev/evdev-1.7.0.ebuild44
-rw-r--r--dev-python/evdev/metadata.xml12
-rw-r--r--dev-python/ewmh/ewmh-0.1.6.ebuild10
-rw-r--r--dev-python/exam/Manifest1
-rw-r--r--dev-python/exam/exam-0.10.6.ebuild22
-rw-r--r--dev-python/exam/metadata.xml29
-rw-r--r--dev-python/exceptiongroup/Manifest4
-rw-r--r--dev-python/exceptiongroup/exceptiongroup-1.1.0.ebuild34
-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/execnet/Manifest5
-rw-r--r--dev-python/execnet/execnet-1.9.0-r1.ebuild57
-rw-r--r--dev-python/execnet/execnet-2.0.2.ebuild32
-rw-r--r--dev-python/execnet/execnet-2.1.0.ebuild37
-rw-r--r--dev-python/execnet/execnet-2.1.1.ebuild37
-rw-r--r--dev-python/execnet/metadata.xml1
-rw-r--r--dev-python/executing/Manifest2
-rw-r--r--dev-python/executing/executing-1.2.0.ebuild46
-rw-r--r--dev-python/executing/executing-2.0.1.ebuild69
-rw-r--r--dev-python/executing/files/executing-2.0.1-additional-slow-tests.patch38
-rw-r--r--dev-python/expandvars/Manifest1
-rw-r--r--dev-python/expandvars/expandvars-0.12.0.ebuild21
-rw-r--r--dev-python/expandvars/metadata.xml12
-rw-r--r--dev-python/expects/expects-0.9.0-r1.ebuild33
-rw-r--r--dev-python/expects/expects-0.9.0.ebuild26
-rw-r--r--dev-python/extras/extras-1.0.0-r2.ebuild5
-rw-r--r--dev-python/eyeD3/eyeD3-0.9.7-r1.ebuild70
-rw-r--r--dev-python/eyeD3/eyeD3-0.9.7.ebuild63
-rw-r--r--dev-python/fakeredis/Manifest4
-rw-r--r--dev-python/fakeredis/fakeredis-2.21.3.ebuild84
-rw-r--r--dev-python/fakeredis/fakeredis-2.4.0.ebuild88
-rw-r--r--dev-python/fakeredis/fakeredis-2.5.0.ebuild88
-rw-r--r--dev-python/fakeredis/fakeredis-2.6.0.ebuild88
-rw-r--r--dev-python/fastbencode/Manifest1
-rw-r--r--dev-python/fastbencode/fastbencode-0.2.ebuild36
-rw-r--r--dev-python/fastbencode/files/fastbencode-0.2-py312.patch35
-rw-r--r--dev-python/fastbencode/metadata.xml12
-rw-r--r--dev-python/fasteners/Manifest2
-rw-r--r--dev-python/fasteners/fasteners-0.18.ebuild31
-rw-r--r--dev-python/fasteners/fasteners-0.19.ebuild36
-rw-r--r--dev-python/fastimport/fastimport-0.9.14.ebuild7
-rw-r--r--dev-python/fastjsonschema/Manifest2
-rw-r--r--dev-python/fastjsonschema/fastjsonschema-2.16.2.ebuild32
-rw-r--r--dev-python/fastjsonschema/fastjsonschema-2.19.1.ebuild30
-rw-r--r--dev-python/fastjsonschema/files/fastjsonschema-2.19.1-pytest-8.patch67
-rw-r--r--dev-python/fastjsonschema/metadata.xml1
-rw-r--r--dev-python/feedgenerator/Manifest2
-rw-r--r--dev-python/feedgenerator/feedgenerator-2.0.0.ebuild26
-rw-r--r--dev-python/feedgenerator/feedgenerator-2.1.0.ebuild29
-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.ebuild44
-rw-r--r--dev-python/fido2/fido2-0.9.3.ebuild53
-rw-r--r--dev-python/fido2/fido2-1.1.0.ebuild44
-rw-r--r--dev-python/fido2/fido2-1.1.3.ebuild44
-rw-r--r--dev-python/fields/fields-5.0.0-r3.ebuild5
-rw-r--r--dev-python/filebytes/Manifest2
-rw-r--r--dev-python/filebytes/filebytes-0.10.2.ebuild6
-rw-r--r--dev-python/filebytes/filebytes-9999.ebuild4
-rw-r--r--dev-python/filelock/Manifest4
-rw-r--r--dev-python/filelock/filelock-3.13.3.ebuild29
-rw-r--r--dev-python/filelock/filelock-3.13.4.ebuild29
-rw-r--r--dev-python/filelock/filelock-3.8.2.ebuild36
-rw-r--r--dev-python/filelock/filelock-3.9.0.ebuild36
-rw-r--r--dev-python/filelock/metadata.xml2
-rw-r--r--dev-python/filetype/filetype-1.2.0.ebuild7
-rw-r--r--dev-python/findimports/Manifest2
-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/metadata.xml1
-rw-r--r--dev-python/findpython/Manifest2
-rw-r--r--dev-python/findpython/findpython-0.6.0.ebuild21
-rw-r--r--dev-python/findpython/findpython-0.6.1.ebuild21
-rw-r--r--dev-python/findpython/metadata.xml16
-rw-r--r--dev-python/fitsio/Manifest2
-rw-r--r--dev-python/fitsio/fitsio-1.1.8.ebuild37
-rw-r--r--dev-python/fitsio/fitsio-1.2.1.ebuild41
-rw-r--r--dev-python/fixtures/Manifest2
-rw-r--r--dev-python/fixtures/fixtures-4.0.1.ebuild32
-rw-r--r--dev-python/fixtures/fixtures-4.1.0.ebuild31
-rw-r--r--dev-python/fixtures/metadata.xml1
-rw-r--r--dev-python/flake8-polyfill/flake8-polyfill-1.0.2-r1.ebuild26
-rw-r--r--dev-python/flake8/Manifest2
-rw-r--r--dev-python/flake8/flake8-6.0.0.ebuild48
-rw-r--r--dev-python/flake8/flake8-7.0.0.ebuild63
-rw-r--r--dev-python/flaky/Manifest2
-rw-r--r--dev-python/flaky/flaky-3.7.0-r2.ebuild42
-rw-r--r--dev-python/flaky/flaky-3.7.0-r3.ebuild41
-rw-r--r--dev-python/flaky/flaky-3.8.1.ebuild38
-rw-r--r--dev-python/flasgger/Manifest1
-rw-r--r--dev-python/flasgger/flasgger-0.9.7.1.ebuild39
-rw-r--r--dev-python/flasgger/metadata.xml12
-rw-r--r--dev-python/flask-api/Manifest2
-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.0.ebuild29
-rw-r--r--dev-python/flask-api/flask-api-3.1-r2.ebuild42
-rw-r--r--dev-python/flask-babel/Manifest3
-rw-r--r--dev-python/flask-babel/flask-babel-2.0.0-r1.ebuild41
-rw-r--r--dev-python/flask-babel/flask-babel-3.0.0.ebuild41
-rw-r--r--dev-python/flask-babel/flask-babel-4.0.0.ebuild41
-rw-r--r--dev-python/flask-babel/metadata.xml2
-rw-r--r--dev-python/flask-compress/Manifest2
-rw-r--r--dev-python/flask-compress/flask-compress-1.13.ebuild31
-rw-r--r--dev-python/flask-compress/flask-compress-1.14.ebuild29
-rw-r--r--dev-python/flask-cors/Manifest2
-rw-r--r--dev-python/flask-cors/flask-cors-3.0.10-r1.ebuild34
-rw-r--r--dev-python/flask-cors/flask-cors-4.0.0.ebuild43
-rw-r--r--dev-python/flask-cors/metadata.xml2
-rw-r--r--dev-python/flask-debug/Manifest2
-rw-r--r--dev-python/flask-debug/flask-debug-0.4.3-r1.ebuild29
-rw-r--r--dev-python/flask-debug/flask-debug-0.4.3-r2.ebuild36
-rw-r--r--dev-python/flask-gravatar/Manifest1
-rw-r--r--dev-python/flask-gravatar/flask-gravatar-0.5.0.ebuild36
-rw-r--r--dev-python/flask-gravatar/metadata.xml17
-rw-r--r--dev-python/flask-htmlmin/flask-htmlmin-2.2.1-r1.ebuild33
-rw-r--r--dev-python/flask-htmlmin/flask-htmlmin-2.2.1.ebuild33
-rw-r--r--dev-python/flask-login/Manifest2
-rw-r--r--dev-python/flask-login/flask-login-0.6.2.ebuild42
-rw-r--r--dev-python/flask-login/flask-login-0.6.3.ebuild43
-rw-r--r--dev-python/flask-migrate/Manifest4
-rw-r--r--dev-python/flask-migrate/flask-migrate-4.0.0.ebuild46
-rw-r--r--dev-python/flask-migrate/flask-migrate-4.0.1.ebuild46
-rw-r--r--dev-python/flask-migrate/flask-migrate-4.0.2.ebuild46
-rw-r--r--dev-python/flask-migrate/flask-migrate-4.0.7.ebuild46
-rw-r--r--dev-python/flask-nav/flask-nav-0.6-r5.ebuild15
-rw-r--r--dev-python/flask-paginate/Manifest4
-rw-r--r--dev-python/flask-paginate/flask-paginate-2022.1.8.ebuild23
-rw-r--r--dev-python/flask-paginate/flask-paginate-2023.10.24.ebuild34
-rw-r--r--dev-python/flask-paginate/flask-paginate-2024.3.28.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.ebuild13
-rw-r--r--dev-python/flask-script/Manifest1
-rw-r--r--dev-python/flask-script/files/flask-script-2.0.6-flask_script-everywhere.patch41
-rw-r--r--dev-python/flask-script/flask-script-2.0.6.ebuild32
-rw-r--r--dev-python/flask-script/metadata.xml13
-rw-r--r--dev-python/flask-sphinx-themes/flask-sphinx-themes-1.0.2-r1.ebuild12
-rw-r--r--dev-python/flask-sqlalchemy/Manifest3
-rw-r--r--dev-python/flask-sqlalchemy/flask-sqlalchemy-2.5.1.ebuild32
-rw-r--r--dev-python/flask-sqlalchemy/flask-sqlalchemy-3.0.2.ebuild41
-rw-r--r--dev-python/flask-sqlalchemy/flask-sqlalchemy-3.1.1.ebuild37
-rw-r--r--dev-python/flask-sqlalchemy/metadata.xml2
-rw-r--r--dev-python/flask/Manifest3
-rw-r--r--dev-python/flask/flask-2.2.2.ebuild63
-rw-r--r--dev-python/flask/flask-3.0.2.ebuild58
-rw-r--r--dev-python/flask/flask-3.0.3.ebuild58
-rw-r--r--dev-python/flatbuffers/Manifest4
-rw-r--r--dev-python/flatbuffers/flatbuffers-22.12.06.ebuild39
-rw-r--r--dev-python/flatbuffers/flatbuffers-23.1.21.ebuild39
-rw-r--r--dev-python/flatbuffers/flatbuffers-23.1.4.ebuild39
-rw-r--r--dev-python/flatbuffers/flatbuffers-24.3.25.ebuild39
-rw-r--r--dev-python/flatbuffers/metadata.xml4
-rw-r--r--dev-python/flatdict/Manifest1
-rw-r--r--dev-python/flatdict/flatdict-4.0.1.ebuild25
-rw-r--r--dev-python/flatdict/metadata.xml13
-rw-r--r--dev-python/fleep/fleep-1.0.1-r1.ebuild4
-rw-r--r--dev-python/fleep/fleep-9999.ebuild2
-rw-r--r--dev-python/flexmock/Manifest2
-rw-r--r--dev-python/flexmock/flexmock-0.11.3.ebuild33
-rw-r--r--dev-python/flexmock/flexmock-0.12.1.ebuild32
-rw-r--r--dev-python/flit-core/Manifest1
-rw-r--r--dev-python/flit-core/flit-core-3.9.0.ebuild37
-rw-r--r--dev-python/flit-core/metadata.xml (renamed from dev-python/flit_core/metadata.xml)0
-rw-r--r--dev-python/flit/flit-3.8.0.ebuild7
-rw-r--r--dev-python/flit_core/Manifest1
-rw-r--r--dev-python/flit_core/flit_core-3.8.0.ebuild36
-rw-r--r--dev-python/flit_scm/flit_scm-1.7.0.ebuild7
-rw-r--r--dev-python/flufl-lock/Manifest3
-rw-r--r--dev-python/flufl-lock/flufl-lock-7.1.1.ebuild34
-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/flufl-lock/metadata.xml1
-rw-r--r--dev-python/fonttools/Manifest3
-rw-r--r--dev-python/fonttools/fonttools-4.38.0.ebuild66
-rw-r--r--dev-python/fonttools/fonttools-4.50.0.ebuild98
-rw-r--r--dev-python/fonttools/fonttools-4.51.0.ebuild98
-rw-r--r--dev-python/fpylll/Manifest1
-rw-r--r--dev-python/fpylll/fpylll-0.6.1.ebuild41
-rw-r--r--dev-python/fpylll/metadata.xml27
-rw-r--r--dev-python/fqdn/fqdn-1.5.1-r2.ebuild4
-rw-r--r--dev-python/fqdn/metadata.xml4
-rw-r--r--dev-python/freetype-py/Manifest1
-rw-r--r--dev-python/freetype-py/freetype-py-2.4.0-r1.ebuild34
-rw-r--r--dev-python/freetype-py/metadata.xml12
-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.ebuild37
-rw-r--r--dev-python/freezegun/freezegun-1.4.0.ebuild35
-rw-r--r--dev-python/fritzconnection/Manifest3
-rw-r--r--dev-python/fritzconnection/fritzconnection-1.10.3.ebuild51
-rw-r--r--dev-python/fritzconnection/fritzconnection-1.11.0.ebuild51
-rw-r--r--dev-python/fritzconnection/fritzconnection-1.13.2-r1.ebuild64
-rw-r--r--dev-python/fritzconnection/metadata.xml6
-rw-r--r--dev-python/frozendict/Manifest1
-rw-r--r--dev-python/frozendict/frozendict-2.3.4.ebuild31
-rw-r--r--dev-python/frozendict/metadata.xml20
-rw-r--r--dev-python/frozenlist/Manifest2
-rw-r--r--dev-python/frozenlist/frozenlist-1.3.3.ebuild44
-rw-r--r--dev-python/frozenlist/frozenlist-1.4.1.ebuild53
-rw-r--r--dev-python/frozenlist/metadata.xml6
-rw-r--r--dev-python/fs/fs-2.4.16.ebuild20
-rw-r--r--dev-python/fsspec/Manifest3
-rw-r--r--dev-python/fsspec/fsspec-2022.11.0.ebuild58
-rw-r--r--dev-python/fsspec/fsspec-2023.1.0.ebuild67
-rw-r--r--dev-python/fsspec/fsspec-2024.3.1.ebuild70
-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.ebuild2
-rw-r--r--dev-python/funcy/Manifest3
-rw-r--r--dev-python/funcy/funcy-1.17.ebuild19
-rw-r--r--dev-python/funcy/funcy-1.18.ebuild28
-rw-r--r--dev-python/funcy/funcy-2.0.ebuild27
-rw-r--r--dev-python/furo/Manifest2
-rw-r--r--dev-python/furo/furo-2022.12.7.ebuild38
-rw-r--r--dev-python/furo/furo-2024.1.29.ebuild42
-rw-r--r--dev-python/fuse-python/Manifest2
-rw-r--r--dev-python/fuse-python/fuse-python-1.0.5.ebuild5
-rw-r--r--dev-python/fuse-python/metadata.xml3
-rw-r--r--dev-python/future/Manifest1
-rw-r--r--dev-python/future/files/future-0.18.2-cve-2022-40899.patch52
-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/files/future-0.18.2-tests.patch269
-rw-r--r--dev-python/future/future-0.18.2-r3.ebuild47
-rw-r--r--dev-python/future/metadata.xml13
-rw-r--r--dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0-r1.ebuild31
-rw-r--r--dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0.ebuild21
-rw-r--r--dev-python/gast/Manifest2
-rw-r--r--dev-python/gast/gast-0.5.3-r1.ebuild18
-rw-r--r--dev-python/gast/gast-0.5.4.ebuild18
-rw-r--r--dev-python/gast/metadata.xml1
-rw-r--r--dev-python/gcs-oauth2-boto-plugin/Manifest1
-rw-r--r--dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-3.0.ebuild44
-rw-r--r--dev-python/gcs-oauth2-boto-plugin/metadata.xml15
-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/genshi-0.7.7.ebuild11
-rw-r--r--dev-python/genson/Manifest2
-rw-r--r--dev-python/genson/genson-1.1.0.ebuild19
-rw-r--r--dev-python/genson/genson-1.2.2.ebuild36
-rw-r--r--dev-python/genson/metadata.xml5
-rw-r--r--dev-python/gentoo-common/gentoo-common-1.ebuild37
-rw-r--r--dev-python/gentoo-common/metadata.xml8
-rw-r--r--dev-python/genty/genty-1.3.2-r2.ebuild5
-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/ghp-import/ghp-import-2.1.0-r1.ebuild8
-rw-r--r--dev-python/git-review/Manifest2
-rw-r--r--dev-python/git-review/git-review-2.3.1-r1.ebuild40
-rw-r--r--dev-python/git-review/git-review-2.4.0.ebuild41
-rw-r--r--dev-python/git-review/git-review-9999.ebuild9
-rw-r--r--dev-python/git-review/metadata.xml1
-rw-r--r--dev-python/gitdb/Manifest2
-rw-r--r--dev-python/gitdb/gitdb-4.0.10.ebuild60
-rw-r--r--dev-python/gitdb/gitdb-4.0.11.ebuild65
-rw-r--r--dev-python/github3-py/Manifest1
-rw-r--r--dev-python/github3-py/github3-py-4.0.1.ebuild53
-rw-r--r--dev-python/github3-py/metadata.xml (renamed from dev-python/github3/metadata.xml)0
-rw-r--r--dev-python/github3/Manifest1
-rw-r--r--dev-python/github3/github3-3.2.0.ebuild45
-rw-r--r--dev-python/glooey/Manifest1
-rw-r--r--dev-python/glooey/glooey-0.3.6.ebuild36
-rw-r--r--dev-python/glooey/metadata.xml19
-rw-r--r--dev-python/gmpy/Manifest2
-rw-r--r--dev-python/gmpy/files/gmpy-2.1.5-mpfr-4.2.1.patch31
-rw-r--r--dev-python/gmpy/gmpy-2.1.5-r2.ebuild51
-rw-r--r--dev-python/gmpy/gmpy-2.1.5.ebuild40
-rw-r--r--dev-python/google-api-core/Manifest2
-rw-r--r--dev-python/google-api-core/google-api-core-2.11.0-r1.ebuild73
-rw-r--r--dev-python/google-api-core/google-api-core-2.18.0.ebuild65
-rw-r--r--dev-python/google-api-python-client/Manifest6
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.124.0.ebuild51
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.125.0.ebuild51
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.126.0.ebuild51
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.72.0.ebuild52
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.73.0.ebuild52
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.74.0.ebuild52
-rw-r--r--dev-python/google-apitools/Manifest1
-rw-r--r--dev-python/google-apitools/files/google-apitools-0.5.30-py37.patch144
-rw-r--r--dev-python/google-apitools/google-apitools-0.5.32-r1.ebuild31
-rw-r--r--dev-python/google-apitools/metadata.xml12
-rw-r--r--dev-python/google-auth-httplib2/Manifest3
-rw-r--r--dev-python/google-auth-httplib2/google-auth-httplib2-0.1.0-r1.ebuild36
-rw-r--r--dev-python/google-auth-httplib2/google-auth-httplib2-0.1.0-r3.ebuild40
-rw-r--r--dev-python/google-auth-httplib2/google-auth-httplib2-0.2.0.ebuild38
-rw-r--r--dev-python/google-auth-oauthlib/Manifest2
-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-0.8.0-r2.ebuild39
-rw-r--r--dev-python/google-auth-oauthlib/google-auth-oauthlib-1.2.0-r1.ebuild44
-rw-r--r--dev-python/google-auth/Manifest3
-rw-r--r--dev-python/google-auth/google-auth-2.15.0-r1.ebuild58
-rw-r--r--dev-python/google-auth/google-auth-2.16.0.ebuild58
-rw-r--r--dev-python/google-auth/google-auth-2.29.0.ebuild59
-rw-r--r--dev-python/google-i18n-address/Manifest2
-rw-r--r--dev-python/google-i18n-address/google-i18n-address-2.5.2.ebuild20
-rw-r--r--dev-python/google-i18n-address/google-i18n-address-3.1.0-r1.ebuild30
-rw-r--r--dev-python/google-pasta/google-pasta-0.2.0-r2.ebuild18
-rw-r--r--dev-python/google-reauth-python/Manifest1
-rw-r--r--dev-python/google-reauth-python/google-reauth-python-0.1.1.ebuild44
-rw-r--r--dev-python/google-reauth-python/metadata.xml12
-rw-r--r--dev-python/googleapis-common-protos/Manifest4
-rw-r--r--dev-python/googleapis-common-protos/googleapis-common-protos-1.57.0.ebuild33
-rw-r--r--dev-python/googleapis-common-protos/googleapis-common-protos-1.57.1.ebuild33
-rw-r--r--dev-python/googleapis-common-protos/googleapis-common-protos-1.58.0.ebuild33
-rw-r--r--dev-python/googleapis-common-protos/googleapis-common-protos-1.63.0.ebuild33
-rw-r--r--dev-python/gpep517/Manifest2
-rw-r--r--dev-python/gpep517/gpep517-13.ebuild41
-rw-r--r--dev-python/gpep517/gpep517-15.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.45.ebuild84
-rw-r--r--dev-python/graph-tool/graph-tool-2.58.ebuild88
-rw-r--r--dev-python/graph-tool/graph-tool-9999.ebuild2
-rw-r--r--dev-python/graphviz/Manifest2
-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/graphviz/metadata.xml1
-rw-r--r--dev-python/greenlet/Manifest4
-rw-r--r--dev-python/greenlet/files/greenlet-2.0.1-gcc-13.patch47
-rw-r--r--dev-python/greenlet/greenlet-1.1.3.ebuild29
-rw-r--r--dev-python/greenlet/greenlet-2.0.1-r1.ebuild33
-rw-r--r--dev-python/greenlet/greenlet-2.0.1.ebuild29
-rw-r--r--dev-python/greenlet/greenlet-2.0.2.ebuild15
-rw-r--r--dev-python/greenlet/greenlet-3.0.2.ebuild43
-rw-r--r--dev-python/greenlet/greenlet-3.0.3.ebuild44
-rw-r--r--dev-python/greenstalk/Manifest2
-rw-r--r--dev-python/greenstalk/greenstalk-2.0.0-r1.ebuild27
-rw-r--r--dev-python/greenstalk/greenstalk-2.0.2.ebuild36
-rw-r--r--dev-python/griffe/Manifest2
-rw-r--r--dev-python/griffe/griffe-0.42.2.ebuild45
-rw-r--r--dev-python/griffe/griffe-0.43.0.ebuild45
-rw-r--r--dev-python/griffe/metadata.xml13
-rw-r--r--dev-python/grpcio-testing/grpcio-testing-1.51.0.ebuild4
-rw-r--r--dev-python/grpcio-testing/metadata.xml5
-rw-r--r--dev-python/grpcio-tools/grpcio-tools-1.51.0.ebuild4
-rw-r--r--dev-python/grpcio-tools/metadata.xml5
-rw-r--r--dev-python/grpcio/files/1.51.0-cython3.patch150
-rw-r--r--dev-python/grpcio/grpcio-1.51.0-r1.ebuild55
-rw-r--r--dev-python/grpcio/grpcio-1.51.0.ebuild48
-rw-r--r--dev-python/grpcio/metadata.xml5
-rw-r--r--dev-python/gsd/Manifest2
-rw-r--r--dev-python/gsd/gsd-2.7.0.ebuild41
-rw-r--r--dev-python/gsd/gsd-3.2.1.ebuild40
-rw-r--r--dev-python/gssapi/Manifest2
-rw-r--r--dev-python/gssapi/gssapi-1.8.2.ebuild42
-rw-r--r--dev-python/gssapi/gssapi-1.8.3-r1.ebuild49
-rw-r--r--dev-python/gst-python/Manifest4
-rw-r--r--dev-python/gst-python/gst-python-1.20.3.ebuild63
-rw-r--r--dev-python/gst-python/gst-python-1.20.4.ebuild63
-rw-r--r--dev-python/gst-python/gst-python-1.20.5.ebuild2
-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/guessit/Manifest2
-rw-r--r--dev-python/guessit/guessit-3.5.0.ebuild42
-rw-r--r--dev-python/guessit/guessit-3.8.0.ebuild38
-rw-r--r--dev-python/guzzle_sphinx_theme/guzzle_sphinx_theme-0.7.11-r1.ebuild18
-rw-r--r--dev-python/guzzle_sphinx_theme/guzzle_sphinx_theme-0.7.11-r2.ebuild5
-rw-r--r--dev-python/h11/Manifest1
-rw-r--r--dev-python/h11/h11-0.13.0-r1.ebuild23
-rw-r--r--dev-python/h11/h11-0.14.0.ebuild7
-rw-r--r--dev-python/h2/Manifest1
-rw-r--r--dev-python/h2/files/h2-4.1.0-python3.11-tests.patch104
-rw-r--r--dev-python/h2/files/hyper-h2-3.2.0-failed-healthcheck.patch74
-rw-r--r--dev-python/h2/h2-3.2.0-r1.ebuild58
-rw-r--r--dev-python/h2/h2-3.2.0.ebuild52
-rw-r--r--dev-python/h2/h2-4.1.0-r1.ebuild6
-rw-r--r--dev-python/h2/metadata.xml1
-rw-r--r--dev-python/h5py/Manifest5
-rw-r--r--dev-python/h5py/files/h5py-3.7.0-types.patch36
-rw-r--r--dev-python/h5py/h5py-3.10.0-r1.ebuild66
-rw-r--r--dev-python/h5py/h5py-3.11.0.ebuild62
-rw-r--r--dev-python/h5py/h5py-3.7.0.ebuild74
-rw-r--r--dev-python/h5py/h5py-3.8.0.ebuild70
-rw-r--r--dev-python/happybase/happybase-1.2.0-r1.ebuild33
-rw-r--r--dev-python/happybase/happybase-1.2.0.ebuild29
-rw-r--r--dev-python/hatch-fancy-pypi-readme/Manifest2
-rw-r--r--dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-22.8.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/Manifest1
-rw-r--r--dev-python/hatch-jupyter-builder/hatch-jupyter-builder-0.9.1.ebuild40
-rw-r--r--dev-python/hatch-jupyter-builder/metadata.xml13
-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/Manifest2
-rw-r--r--dev-python/hatch-vcs/hatch-vcs-0.3.0.ebuild34
-rw-r--r--dev-python/hatch-vcs/hatch-vcs-0.4.0.ebuild34
-rw-r--r--dev-python/hatchling/Manifest9
-rw-r--r--dev-python/hatchling/hatchling-1.11.1.ebuild77
-rw-r--r--dev-python/hatchling/hatchling-1.12.0.ebuild77
-rw-r--r--dev-python/hatchling/hatchling-1.12.1.ebuild77
-rw-r--r--dev-python/hatchling/hatchling-1.12.2.ebuild77
-rw-r--r--dev-python/hatchling/hatchling-1.21.1-r1.ebuild91
-rw-r--r--dev-python/hatchling/hatchling-1.22.5-r1.ebuild92
-rw-r--r--dev-python/hatchling/hatchling-1.23.0.ebuild92
-rw-r--r--dev-python/hatchling/hatchling-1.24.0.ebuild92
-rw-r--r--dev-python/hatchling/hatchling-1.24.1.ebuild92
-rw-r--r--dev-python/hcloud-python/Manifest2
-rw-r--r--dev-python/hcloud-python/hcloud-python-1.18.1.ebuild41
-rw-r--r--dev-python/hcloud-python/hcloud-python-1.18.2.ebuild40
-rw-r--r--dev-python/hcloud/Manifest2
-rw-r--r--dev-python/hcloud/hcloud-1.34.0.ebuild49
-rw-r--r--dev-python/hcloud/hcloud-1.35.0.ebuild49
-rw-r--r--dev-python/hcloud/metadata.xml (renamed from dev-python/hcloud-python/metadata.xml)0
-rw-r--r--dev-python/helpdev/helpdev-0.7.1-r1.ebuild17
-rw-r--r--dev-python/helpdev/metadata.xml5
-rw-r--r--dev-python/hidapi/Manifest2
-rw-r--r--dev-python/hidapi/files/hidapi-0.14.0-cython3.patch134
-rw-r--r--dev-python/hidapi/hidapi-0.13.1.ebuild32
-rw-r--r--dev-python/hidapi/hidapi-0.14.0.ebuild34
-rw-r--r--dev-python/hidapi/metadata.xml5
-rw-r--r--dev-python/hiredis/Manifest2
-rw-r--r--dev-python/hiredis/files/hiredis-2.0.0-CVE-2021-32765.patch36
-rw-r--r--dev-python/hiredis/files/hiredis-2.0.0-system-libs.patch14
-rw-r--r--dev-python/hiredis/files/hiredis-2.2.2-system-libs.patch53
-rw-r--r--dev-python/hiredis/hiredis-2.0.0-r2.ebuild36
-rw-r--r--dev-python/hiredis/hiredis-2.3.2.ebuild45
-rw-r--r--dev-python/hiredis/metadata.xml3
-rw-r--r--dev-python/hishel/Manifest1
-rw-r--r--dev-python/hishel/hishel-0.0.25-r1.ebuild61
-rw-r--r--dev-python/hishel/metadata.xml12
-rw-r--r--dev-python/hpack/Manifest1
-rw-r--r--dev-python/hpack/files/hpack-3.0.0-hypothesis-healthcheck.patch21
-rw-r--r--dev-python/hpack/hpack-3.0.0-r1.ebuild44
-rw-r--r--dev-python/hpack/hpack-3.0.0.ebuild40
-rw-r--r--dev-python/hpack/hpack-4.0.0-r1.ebuild2
-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.ebuild27
-rw-r--r--dev-python/html2text/html2text-2024.2.26.ebuild29
-rw-r--r--dev-python/html5-parser/Manifest2
-rw-r--r--dev-python/html5-parser/html5-parser-0.4.10-r1.ebuild36
-rw-r--r--dev-python/html5-parser/html5-parser-0.4.12.ebuild47
-rw-r--r--dev-python/html5lib/files/html5lib-1.1-pytest6.patch66
-rw-r--r--dev-python/html5lib/html5lib-1.1-r1.ebuild12
-rw-r--r--dev-python/httmock/httmock-1.4.0-r1.ebuild18
-rw-r--r--dev-python/http-parser/Manifest1
-rw-r--r--dev-python/http-parser/http-parser-0.9.0-r1.ebuild44
-rw-r--r--dev-python/http-parser/metadata.xml12
-rw-r--r--dev-python/httpauth/httpauth-0.3-r1.ebuild10
-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.7.0-brotlicffi.patch43
-rw-r--r--dev-python/httpbin/files/httpbin-0.7.0-optional-raven.patch31
-rw-r--r--dev-python/httpbin/files/httpbin-0.7.0-test-werkzeug.patch19
-rw-r--r--dev-python/httpbin/files/httpbin-0.7.0-werkzeug-2.1.patch32
-rw-r--r--dev-python/httpbin/httpbin-0.10.2.ebuild54
-rw-r--r--dev-python/httpbin/httpbin-0.7.0-r5.ebuild56
-rw-r--r--dev-python/httpbin/metadata.xml1
-rw-r--r--dev-python/httpcore/Manifest3
-rw-r--r--dev-python/httpcore/httpcore-0.16.2.ebuild48
-rw-r--r--dev-python/httpcore/httpcore-0.16.3.ebuild48
-rw-r--r--dev-python/httpcore/httpcore-1.0.5.ebuild49
-rw-r--r--dev-python/httplib2/Manifest2
-rw-r--r--dev-python/httplib2/httplib2-0.21.0.ebuild70
-rw-r--r--dev-python/httplib2/httplib2-0.22.0.ebuild70
-rw-r--r--dev-python/httpretty/httpretty-1.1.4-r1.ebuild5
-rw-r--r--dev-python/httpx-socks/Manifest2
-rw-r--r--dev-python/httpx-socks/httpx-socks-0.7.5.ebuild43
-rw-r--r--dev-python/httpx-socks/httpx-socks-0.9.1.ebuild52
-rw-r--r--dev-python/httpx/Manifest2
-rw-r--r--dev-python/httpx/httpx-0.23.3-r1.ebuild82
-rw-r--r--dev-python/httpx/httpx-0.27.0.ebuild83
-rw-r--r--dev-python/huawei-lte-api/Manifest2
-rw-r--r--dev-python/huawei-lte-api/huawei-lte-api-1.6.11.ebuild40
-rw-r--r--dev-python/huawei-lte-api/huawei-lte-api-1.8.1.ebuild40
-rw-r--r--dev-python/humanfriendly/humanfriendly-10.0-r1.ebuild9
-rw-r--r--dev-python/humanize/Manifest2
-rw-r--r--dev-python/humanize/humanize-4.4.0.ebuild29
-rw-r--r--dev-python/humanize/humanize-4.9.0.ebuild28
-rw-r--r--dev-python/hvac/Manifest2
-rw-r--r--dev-python/hvac/hvac-1.0.2.ebuild41
-rw-r--r--dev-python/hvac/hvac-2.1.0.ebuild43
-rw-r--r--dev-python/hypercorn/Manifest2
-rw-r--r--dev-python/hypercorn/files/hypercorn-0.14.3-tomli.patch106
-rw-r--r--dev-python/hypercorn/hypercorn-0.14.3-r1.ebuild51
-rw-r--r--dev-python/hypercorn/hypercorn-0.16.0.ebuild49
-rw-r--r--dev-python/hypercorn/metadata.xml2
-rw-r--r--dev-python/hyperframe/Manifest1
-rw-r--r--dev-python/hyperframe/hyperframe-5.2.0-r1.ebuild23
-rw-r--r--dev-python/hyperframe/hyperframe-5.2.0.ebuild19
-rw-r--r--dev-python/hyperframe/hyperframe-6.0.1-r1.ebuild5
-rw-r--r--dev-python/hyperlink/hyperlink-21.0.0-r1.ebuild5
-rw-r--r--dev-python/hypothesis/Manifest8
-rw-r--r--dev-python/hypothesis/hypothesis-6.100.1.ebuild91
-rw-r--r--dev-python/hypothesis/hypothesis-6.62.1.ebuild77
-rw-r--r--dev-python/hypothesis/hypothesis-6.63.0.ebuild77
-rw-r--r--dev-python/hypothesis/hypothesis-6.64.0.ebuild77
-rw-r--r--dev-python/hypothesis/hypothesis-6.65.0.ebuild77
-rw-r--r--dev-python/hypothesis/hypothesis-6.65.1.ebuild77
-rw-r--r--dev-python/hypothesis/hypothesis-6.65.2.ebuild77
-rw-r--r--dev-python/hypothesis/hypothesis-6.99.13.ebuild91
-rw-r--r--dev-python/icalendar/Manifest3
-rw-r--r--dev-python/icalendar/icalendar-5.0.12.ebuild39
-rw-r--r--dev-python/icalendar/icalendar-5.0.3.ebuild43
-rw-r--r--dev-python/icalendar/icalendar-5.0.4.ebuild43
-rw-r--r--dev-python/identify/Manifest5
-rw-r--r--dev-python/identify/identify-2.5.11.ebuild29
-rw-r--r--dev-python/identify/identify-2.5.12.ebuild29
-rw-r--r--dev-python/identify/identify-2.5.13.ebuild29
-rw-r--r--dev-python/identify/identify-2.5.15.ebuild29
-rw-r--r--dev-python/identify/identify-2.5.35.ebuild29
-rw-r--r--dev-python/idna/Manifest2
-rw-r--r--dev-python/idna/idna-3.4.ebuild23
-rw-r--r--dev-python/idna/idna-3.7.ebuild22
-rw-r--r--dev-python/ifaddr/ifaddr-0.2.0.ebuild7
-rw-r--r--dev-python/ifaddr/metadata.xml1
-rw-r--r--dev-python/ijson/Manifest3
-rw-r--r--dev-python/ijson/ijson-3.1.4.ebuild25
-rw-r--r--dev-python/ijson/ijson-3.2.0_p0.ebuild34
-rw-r--r--dev-python/ijson/ijson-3.2.3.ebuild36
-rw-r--r--dev-python/imageio-ffmpeg/Manifest2
-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/Manifest2
-rw-r--r--dev-python/imageio/imageio-2.25.0.ebuild82
-rw-r--r--dev-python/imageio/imageio-2.34.0.ebuild85
-rw-r--r--dev-python/imagesize/imagesize-1.4.1.ebuild5
-rw-r--r--dev-python/imapclient/Manifest2
-rw-r--r--dev-python/imapclient/imapclient-2.3.1.ebuild28
-rw-r--r--dev-python/imapclient/imapclient-3.0.1.ebuild32
-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.18.0.ebuild42
-rw-r--r--dev-python/iminuit/iminuit-2.21.3.ebuild44
-rw-r--r--dev-python/iminuit/iminuit-2.25.2.ebuild58
-rw-r--r--dev-python/immutabledict/Manifest1
-rw-r--r--dev-python/immutabledict/immutabledict-4.2.0.ebuild27
-rw-r--r--dev-python/immutabledict/metadata.xml13
-rw-r--r--dev-python/immutables/Manifest2
-rw-r--r--dev-python/immutables/immutables-0.19.ebuild39
-rw-r--r--dev-python/immutables/immutables-0.20.ebuild51
-rw-r--r--dev-python/immutables/metadata.xml6
-rw-r--r--dev-python/importlib-metadata/Manifest1
-rw-r--r--dev-python/importlib-metadata/importlib-metadata-7.1.0.ebuild51
-rw-r--r--dev-python/importlib-metadata/metadata.xml15
-rw-r--r--dev-python/importlib_metadata/Manifest4
-rw-r--r--dev-python/importlib_metadata/importlib_metadata-4.13.0.ebuild51
-rw-r--r--dev-python/importlib_metadata/importlib_metadata-5.1.0.ebuild54
-rw-r--r--dev-python/importlib_metadata/importlib_metadata-5.2.0.ebuild54
-rw-r--r--dev-python/importlib_metadata/importlib_metadata-6.0.0.ebuild54
-rw-r--r--dev-python/importlib_metadata/metadata.xml19
-rw-r--r--dev-python/importlib_resources/Manifest2
-rw-r--r--dev-python/importlib_resources/importlib_resources-5.10.1.ebuild49
-rw-r--r--dev-python/importlib_resources/importlib_resources-5.10.2.ebuild49
-rw-r--r--dev-python/importlib_resources/metadata.xml25
-rw-r--r--dev-python/incremental/incremental-22.10.0-r1.ebuild29
-rw-r--r--dev-python/incremental/incremental-22.10.0.ebuild30
-rw-r--r--dev-python/indexed-gzip/Manifest1
-rw-r--r--dev-python/indexed-gzip/indexed-gzip-1.8.7.ebuild60
-rw-r--r--dev-python/indexed-gzip/metadata.xml (renamed from dev-python/indexed_gzip/metadata.xml)0
-rw-r--r--dev-python/indexed_gzip/Manifest1
-rw-r--r--dev-python/indexed_gzip/indexed_gzip-1.7.0.ebuild58
-rw-r--r--dev-python/inflect/Manifest3
-rw-r--r--dev-python/inflect/inflect-6.0.2.ebuild29
-rw-r--r--dev-python/inflect/inflect-7.0.0.ebuild35
-rw-r--r--dev-python/inflect/inflect-7.2.0.ebuild37
-rw-r--r--dev-python/inflection/inflection-0.5.1-r1.ebuild13
-rw-r--r--dev-python/ini2toml/Manifest2
-rw-r--r--dev-python/ini2toml/ini2toml-0.11.3.ebuild51
-rw-r--r--dev-python/ini2toml/ini2toml-0.13.ebuild46
-rw-r--r--dev-python/iniconfig/Manifest1
-rw-r--r--dev-python/iniconfig/files/iniconfig-1.1.1-py.patch41
-rw-r--r--dev-python/iniconfig/iniconfig-1.1.1-r1.ebuild30
-rw-r--r--dev-python/iniconfig/iniconfig-2.0.0.ebuild4
-rw-r--r--dev-python/iniparse/Manifest2
-rw-r--r--dev-python/iniparse/iniparse-0.5-r1.ebuild37
-rw-r--r--dev-python/iniparse/iniparse-0.5_p20221102.ebuild43
-rw-r--r--dev-python/iniparse/metadata.xml1
-rw-r--r--dev-python/insipid-sphinx-theme/Manifest1
-rw-r--r--dev-python/insipid-sphinx-theme/insipid-sphinx-theme-0.4.2.ebuild31
-rw-r--r--dev-python/insipid-sphinx-theme/metadata.xml11
-rw-r--r--dev-python/installer/Manifest4
-rw-r--r--dev-python/installer/installer-0.6.0.ebuild42
-rw-r--r--dev-python/installer/installer-0.7.0.ebuild39
-rw-r--r--dev-python/intelhex/intelhex-2.3.0-r1.ebuild7
-rw-r--r--dev-python/intervaltree/intervaltree-3.1.0-r1.ebuild19
-rw-r--r--dev-python/intervaltree/intervaltree-3.1.0.ebuild19
-rw-r--r--dev-python/intervaltree/metadata.xml1
-rw-r--r--dev-python/iocapture/iocapture-0.1.2-r3.ebuild2
-rw-r--r--dev-python/ioflo/ioflo-2.0.2-r3.ebuild41
-rw-r--r--dev-python/ioflo/ioflo-2.0.2-r4.ebuild37
-rw-r--r--dev-python/ipaddr/ipaddr-2.2.0-r2.ebuild5
-rw-r--r--dev-python/ipdb/Manifest2
-rw-r--r--dev-python/ipdb/ipdb-0.13.11.ebuild39
-rw-r--r--dev-python/ipdb/ipdb-0.13.13.ebuild38
-rw-r--r--dev-python/ipykernel/Manifest4
-rw-r--r--dev-python/ipykernel/ipykernel-6.19.4.ebuild69
-rw-r--r--dev-python/ipykernel/ipykernel-6.20.1.ebuild75
-rw-r--r--dev-python/ipykernel/ipykernel-6.20.2.ebuild75
-rw-r--r--dev-python/ipykernel/ipykernel-6.29.4.ebuild80
-rw-r--r--dev-python/ipyparallel/Manifest3
-rw-r--r--dev-python/ipyparallel/files/ipyparallel-8.3.0-additional-test-timeouts.patch46
-rw-r--r--dev-python/ipyparallel/ipyparallel-8.4.1.ebuild93
-rw-r--r--dev-python/ipyparallel/ipyparallel-8.7.0.ebuild87
-rw-r--r--dev-python/ipyparallel/ipyparallel-8.8.0.ebuild86
-rw-r--r--dev-python/ipython/Manifest5
-rw-r--r--dev-python/ipython/ipython-8.22.2.ebuild174
-rw-r--r--dev-python/ipython/ipython-8.23.0.ebuild179
-rw-r--r--dev-python/ipython/ipython-8.7.0.ebuild156
-rw-r--r--dev-python/ipython/ipython-8.8.0.ebuild156
-rw-r--r--dev-python/ipython/ipython-8.9.0.ebuild156
-rw-r--r--dev-python/ipython/metadata.xml1
-rw-r--r--dev-python/ipython_genutils/ipython_genutils-0.2.0-r4.ebuild14
-rw-r--r--dev-python/ipywidgets/Manifest2
-rw-r--r--dev-python/ipywidgets/ipywidgets-8.0.4.ebuild43
-rw-r--r--dev-python/ipywidgets/ipywidgets-8.1.2.ebuild61
-rw-r--r--dev-python/irc/Manifest2
-rw-r--r--dev-python/irc/irc-20.1.0.ebuild46
-rw-r--r--dev-python/irc/irc-20.4.0.ebuild45
-rw-r--r--dev-python/irc/metadata.xml1
-rw-r--r--dev-python/irctokens/Manifest1
-rw-r--r--dev-python/irctokens/files/irctokens-2.0.2-exclude-tests.patch11
-rw-r--r--dev-python/irctokens/irctokens-2.0.2.ebuild36
-rw-r--r--dev-python/irctokens/metadata.xml17
-rw-r--r--dev-python/iso8601/Manifest2
-rw-r--r--dev-python/iso8601/iso8601-1.1.0.ebuild29
-rw-r--r--dev-python/iso8601/iso8601-2.1.0.ebuild28
-rw-r--r--dev-python/isodate/isodate-0.6.1-r1.ebuild7
-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/isort-5.11.4.ebuild69
-rw-r--r--dev-python/isort/isort-5.13.2.ebuild82
-rw-r--r--dev-python/itsdangerous/Manifest1
-rw-r--r--dev-python/itsdangerous/itsdangerous-2.1.2.ebuild5
-rw-r--r--dev-python/itsdangerous/itsdangerous-2.2.0.ebuild28
-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/itypes/Manifest1
-rw-r--r--dev-python/itypes/itypes-1.2.0-r1.ebuild26
-rw-r--r--dev-python/itypes/metadata.xml12
-rw-r--r--dev-python/jack-client/jack-client-0.5.4.ebuild14
-rw-r--r--dev-python/jaraco-classes/Manifest3
-rw-r--r--dev-python/jaraco-classes/jaraco-classes-3.2.3.ebuild28
-rw-r--r--dev-python/jaraco-classes/jaraco-classes-3.3.1.ebuild27
-rw-r--r--dev-python/jaraco-classes/jaraco-classes-3.4.0.ebuild27
-rw-r--r--dev-python/jaraco-collections/Manifest3
-rw-r--r--dev-python/jaraco-collections/jaraco-collections-3.8.0.ebuild32
-rw-r--r--dev-python/jaraco-collections/jaraco-collections-5.0.0.ebuild35
-rw-r--r--dev-python/jaraco-collections/jaraco-collections-5.0.1.ebuild35
-rw-r--r--dev-python/jaraco-collections/metadata.xml1
-rw-r--r--dev-python/jaraco-context/Manifest4
-rw-r--r--dev-python/jaraco-context/jaraco-context-4.2.0.ebuild48
-rw-r--r--dev-python/jaraco-context/jaraco-context-4.2.1.ebuild48
-rw-r--r--dev-python/jaraco-context/jaraco-context-4.3.0.ebuild11
-rw-r--r--dev-python/jaraco-context/jaraco-context-5.1.0.ebuild47
-rw-r--r--dev-python/jaraco-context/jaraco-context-5.3.0.ebuild58
-rw-r--r--dev-python/jaraco-env/Manifest1
-rw-r--r--dev-python/jaraco-env/jaraco-env-1.0.0.ebuild27
-rw-r--r--dev-python/jaraco-env/metadata.xml14
-rw-r--r--dev-python/jaraco-envs/Manifest2
-rw-r--r--dev-python/jaraco-envs/jaraco-envs-2.4.0.ebuild35
-rw-r--r--dev-python/jaraco-envs/jaraco-envs-2.6.0.ebuild40
-rw-r--r--dev-python/jaraco-functools/Manifest3
-rw-r--r--dev-python/jaraco-functools/jaraco-functools-3.5.2.ebuild57
-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-functools/metadata.xml1
-rw-r--r--dev-python/jaraco-itertools/Manifest2
-rw-r--r--dev-python/jaraco-itertools/jaraco-itertools-6.2.1.ebuild40
-rw-r--r--dev-python/jaraco-itertools/jaraco-itertools-6.4.1.ebuild31
-rw-r--r--dev-python/jaraco-itertools/metadata.xml1
-rw-r--r--dev-python/jaraco-logging/Manifest2
-rw-r--r--dev-python/jaraco-logging/jaraco-logging-3.1.2.ebuild45
-rw-r--r--dev-python/jaraco-logging/jaraco-logging-3.3.0.ebuild39
-rw-r--r--dev-python/jaraco-path/Manifest2
-rw-r--r--dev-python/jaraco-path/jaraco-path-3.4.0.ebuild32
-rw-r--r--dev-python/jaraco-path/jaraco-path-3.7.0.ebuild31
-rw-r--r--dev-python/jaraco-stream/jaraco-stream-3.0.3-r1.ebuild13
-rw-r--r--dev-python/jaraco-test/Manifest4
-rw-r--r--dev-python/jaraco-test/jaraco-test-5.1.0-r1.ebuild37
-rw-r--r--dev-python/jaraco-test/jaraco-test-5.2.0.ebuild29
-rw-r--r--dev-python/jaraco-test/jaraco-test-5.3.0.ebuild39
-rw-r--r--dev-python/jaraco-test/jaraco-test-5.4.0.ebuild40
-rw-r--r--dev-python/jaraco-text/Manifest3
-rw-r--r--dev-python/jaraco-text/jaraco-text-3.11.0.ebuild71
-rw-r--r--dev-python/jaraco-text/jaraco-text-3.11.1.ebuild71
-rw-r--r--dev-python/jaraco-text/jaraco-text-3.12.0.ebuild57
-rw-r--r--dev-python/jaraco-text/metadata.xml1
-rw-r--r--dev-python/jc/Manifest3
-rw-r--r--dev-python/jc/jc-1.22.5.ebuild31
-rw-r--r--dev-python/jc/jc-1.25.1.ebuild32
-rw-r--r--dev-python/jc/jc-1.25.2.ebuild32
-rw-r--r--dev-python/jdcal/jdcal-1.4.1-r1.ebuild7
-rw-r--r--dev-python/jedi/Manifest2
-rw-r--r--dev-python/jedi/jedi-0.18.2.ebuild79
-rw-r--r--dev-python/jedi/jedi-0.19.1.ebuild83
-rw-r--r--dev-python/jeepney/jeepney-0.8.0.ebuild7
-rw-r--r--dev-python/jellyfish/Manifest52
-rw-r--r--dev-python/jellyfish/jellyfish-0.9.0-r1.ebuild28
-rw-r--r--dev-python/jellyfish/jellyfish-1.0.3.ebuild85
-rw-r--r--dev-python/jinja/Manifest3
-rw-r--r--dev-python/jinja/jinja-2.11.3-r1.ebuild57
-rw-r--r--dev-python/jinja/jinja-3.1.2.ebuild59
-rw-r--r--dev-python/jinja/jinja-3.1.3.ebuild59
-rw-r--r--dev-python/jinja2-time/jinja2-time-0.2.0-r1.ebuild8
-rw-r--r--dev-python/jinja2_pluralize/jinja2_pluralize-0.3.0-r1.ebuild6
-rw-r--r--dev-python/jmespath/jmespath-1.0.1.ebuild2
-rw-r--r--dev-python/joblib/Manifest3
-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.1.0-r1.ebuild47
-rw-r--r--dev-python/joblib/joblib-1.3.2.ebuild60
-rw-r--r--dev-python/joblib/joblib-1.4.0.ebuild55
-rw-r--r--dev-python/josepy/Manifest2
-rw-r--r--dev-python/josepy/josepy-1.13.0.ebuild32
-rw-r--r--dev-python/josepy/josepy-1.14.0.ebuild33
-rw-r--r--dev-python/jq/Manifest3
-rw-r--r--dev-python/jq/jq-1.3.0.ebuild28
-rw-r--r--dev-python/jq/jq-1.4.0.ebuild37
-rw-r--r--dev-python/jq/jq-1.7.0.ebuild49
-rw-r--r--dev-python/js2py/Manifest1
-rw-r--r--dev-python/js2py/js2py-0.71_p20210918.ebuild44
-rw-r--r--dev-python/js2py/js2py-0.74.ebuild9
-rw-r--r--dev-python/jschema-to-python/Manifest (renamed from dev-python/jschema_to_python/Manifest)0
-rw-r--r--dev-python/jschema-to-python/jschema-to-python-1.2.3-r1.ebuild30
-rw-r--r--dev-python/jschema-to-python/metadata.xml (renamed from dev-python/jschema_to_python/metadata.xml)0
-rw-r--r--dev-python/jschema_to_python/jschema_to_python-1.2.3-r1.ebuild27
-rw-r--r--dev-python/jsmin/jsmin-3.0.1.ebuild12
-rw-r--r--dev-python/json-rpc/Manifest3
-rw-r--r--dev-python/json-rpc/json-rpc-1.13.0-r1.ebuild25
-rw-r--r--dev-python/json-rpc/json-rpc-1.14.0.ebuild39
-rw-r--r--dev-python/json-rpc/json-rpc-1.15.0.ebuild39
-rw-r--r--dev-python/json-rpc/metadata.xml4
-rw-r--r--dev-python/json5/Manifest3
-rw-r--r--dev-python/json5/json5-0.9.11.ebuild27
-rw-r--r--dev-python/json5/json5-0.9.24.ebuild21
-rw-r--r--dev-python/json5/json5-0.9.25.ebuild21
-rw-r--r--dev-python/jsondiff/jsondiff-2.0.0-r1.ebuild4
-rw-r--r--dev-python/jsonext/jsonext-0.4.2-r1.ebuild7
-rw-r--r--dev-python/jsonmerge/Manifest2
-rw-r--r--dev-python/jsonmerge/jsonmerge-1.9.0.ebuild26
-rw-r--r--dev-python/jsonmerge/jsonmerge-1.9.2.ebuild25
-rw-r--r--dev-python/jsonpatch/Manifest2
-rw-r--r--dev-python/jsonpatch/jsonpatch-1.32.ebuild28
-rw-r--r--dev-python/jsonpatch/jsonpatch-1.33.ebuild41
-rw-r--r--dev-python/jsonpath-ng/Manifest1
-rw-r--r--dev-python/jsonpath-ng/jsonpath-ng-1.6.1.ebuild31
-rw-r--r--dev-python/jsonpath-ng/metadata.xml12
-rw-r--r--dev-python/jsonpickle/Manifest3
-rw-r--r--dev-python/jsonpickle/jsonpickle-3.0.1.ebuild59
-rw-r--r--dev-python/jsonpickle/jsonpickle-3.0.3.ebuild67
-rw-r--r--dev-python/jsonpickle/jsonpickle-3.0.4.ebuild67
-rw-r--r--dev-python/jsonpointer/Manifest2
-rw-r--r--dev-python/jsonpointer/jsonpointer-2.3.ebuild24
-rw-r--r--dev-python/jsonpointer/jsonpointer-2.4.ebuild23
-rw-r--r--dev-python/jsonref/jsonref-1.1.0.ebuild8
-rw-r--r--dev-python/jsonrpclib/jsonrpclib-0.4.3.2.ebuild2
-rw-r--r--dev-python/jsonrpclib/jsonrpclib-9999.ebuild38
-rw-r--r--dev-python/jsonschema-path/Manifest1
-rw-r--r--dev-python/jsonschema-path/jsonschema-path-0.3.2-r1.ebuild47
-rw-r--r--dev-python/jsonschema-path/metadata.xml13
-rw-r--r--dev-python/jsonschema-spec/Manifest2
-rw-r--r--dev-python/jsonschema-spec/jsonschema-spec-0.1.2.ebuild37
-rw-r--r--dev-python/jsonschema-spec/jsonschema-spec-0.2.4-r1.ebuild47
-rw-r--r--dev-python/jsonschema-specifications/Manifest1
-rw-r--r--dev-python/jsonschema-specifications/jsonschema-specifications-2023.12.1.ebuild28
-rw-r--r--dev-python/jsonschema-specifications/metadata.xml12
-rw-r--r--dev-python/jsonschema/Manifest2
-rw-r--r--dev-python/jsonschema/jsonschema-4.17.3.ebuild57
-rw-r--r--dev-python/jsonschema/jsonschema-4.21.1.ebuild57
-rw-r--r--dev-python/jsonxs/jsonxs-0.6-r1.ebuild7
-rw-r--r--dev-python/junit-xml/Manifest2
-rw-r--r--dev-python/junit-xml/junit-xml-1.9-r1.ebuild35
-rw-r--r--dev-python/junit-xml/junit-xml-1.9.ebuild28
-rw-r--r--dev-python/jupyter-client/Manifest1
-rw-r--r--dev-python/jupyter-client/jupyter-client-8.6.1.ebuild56
-rw-r--r--dev-python/jupyter-client/metadata.xml (renamed from dev-python/jupyter_client/metadata.xml)0
-rw-r--r--dev-python/jupyter-console/Manifest1
-rw-r--r--dev-python/jupyter-console/jupyter-console-6.6.3.ebuild41
-rw-r--r--dev-python/jupyter-console/metadata.xml (renamed from dev-python/jupyter_console/metadata.xml)0
-rw-r--r--dev-python/jupyter-core/Manifest1
-rw-r--r--dev-python/jupyter-core/jupyter-core-5.7.2.ebuild40
-rw-r--r--dev-python/jupyter-core/metadata.xml (renamed from dev-python/jupyter_core/metadata.xml)0
-rw-r--r--dev-python/jupyter-events/Manifest1
-rw-r--r--dev-python/jupyter-events/jupyter-events-0.10.0.ebuild41
-rw-r--r--dev-python/jupyter-events/metadata.xml (renamed from dev-python/jupyter_events/metadata.xml)0
-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-kernel-test/metadata.xml (renamed from dev-python/jupyter_kernel_test/metadata.xml)0
-rw-r--r--dev-python/jupyter-lsp/Manifest3
-rw-r--r--dev-python/jupyter-lsp/jupyter-lsp-1.5.1.ebuild46
-rw-r--r--dev-python/jupyter-lsp/jupyter-lsp-2.2.4.ebuild85
-rw-r--r--dev-python/jupyter-lsp/jupyter-lsp-2.2.5.ebuild86
-rw-r--r--dev-python/jupyter-lsp/metadata.xml2
-rw-r--r--dev-python/jupyter-packaging/Manifest (renamed from dev-python/jupyter_packaging/Manifest)0
-rw-r--r--dev-python/jupyter-packaging/jupyter-packaging-0.12.3.ebuild47
-rw-r--r--dev-python/jupyter-packaging/metadata.xml (renamed from dev-python/jupyter_packaging/metadata.xml)0
-rw-r--r--dev-python/jupyter-server-mathjax/Manifest (renamed from dev-python/jupyter_server_mathjax/Manifest)0
-rw-r--r--dev-python/jupyter-server-mathjax/jupyter-server-mathjax-0.2.6.ebuild46
-rw-r--r--dev-python/jupyter-server-mathjax/metadata.xml (renamed from dev-python/jupyter_server_mathjax/metadata.xml)0
-rw-r--r--dev-python/jupyter-server-proxy/Manifest1
-rw-r--r--dev-python/jupyter-server-proxy/jupyter-server-proxy-3.2.2.ebuild10
-rw-r--r--dev-python/jupyter-server-proxy/jupyter-server-proxy-4.1.2.ebuild50
-rw-r--r--dev-python/jupyter-server-terminals/Manifest1
-rw-r--r--dev-python/jupyter-server-terminals/jupyter-server-terminals-0.5.3.ebuild45
-rw-r--r--dev-python/jupyter-server-terminals/metadata.xml13
-rw-r--r--dev-python/jupyter-server/Manifest2
-rw-r--r--dev-python/jupyter-server/jupyter-server-2.13.0.ebuild76
-rw-r--r--dev-python/jupyter-server/jupyter-server-2.14.0.ebuild75
-rw-r--r--dev-python/jupyter-server/metadata.xml (renamed from dev-python/jupyter_server/metadata.xml)0
-rw-r--r--dev-python/jupyter/jupyter-1.0.0-r4.ebuild22
-rw-r--r--dev-python/jupyter_client/Manifest3
-rw-r--r--dev-python/jupyter_client/files/jupyter_client-7.0.6-test-timeout.patch38
-rw-r--r--dev-python/jupyter_client/jupyter_client-7.4.8.ebuild46
-rw-r--r--dev-python/jupyter_client/jupyter_client-7.4.9.ebuild46
-rw-r--r--dev-python/jupyter_client/jupyter_client-8.0.1.ebuild50
-rw-r--r--dev-python/jupyter_console/Manifest1
-rw-r--r--dev-python/jupyter_console/jupyter_console-6.4.4.ebuild35
-rw-r--r--dev-python/jupyter_core/Manifest5
-rw-r--r--dev-python/jupyter_core/jupyter_core-5.1.1.ebuild37
-rw-r--r--dev-python/jupyter_core/jupyter_core-5.1.2.ebuild39
-rw-r--r--dev-python/jupyter_core/jupyter_core-5.1.3.ebuild39
-rw-r--r--dev-python/jupyter_core/jupyter_core-5.1.4.ebuild39
-rw-r--r--dev-python/jupyter_core/jupyter_core-5.1.5.ebuild39
-rw-r--r--dev-python/jupyter_events/Manifest1
-rw-r--r--dev-python/jupyter_events/jupyter_events-0.6.3.ebuild41
-rw-r--r--dev-python/jupyter_kernel_test/Manifest2
-rw-r--r--dev-python/jupyter_kernel_test/jupyter_kernel_test-0.4.5.ebuild28
-rw-r--r--dev-python/jupyter_kernel_test/jupyter_kernel_test-0.5.0.ebuild32
-rw-r--r--dev-python/jupyter_packaging/jupyter_packaging-0.12.3.ebuild43
-rw-r--r--dev-python/jupyter_server/Manifest3
-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-1.19.1.ebuild76
-rw-r--r--dev-python/jupyter_server/jupyter_server-2.0.6-r1.ebuild72
-rw-r--r--dev-python/jupyter_server/jupyter_server-2.1.0.ebuild76
-rw-r--r--dev-python/jupyter_server_mathjax/jupyter_server_mathjax-0.2.6.ebuild46
-rw-r--r--dev-python/jupyterlab-lsp/Manifest3
-rw-r--r--dev-python/jupyterlab-lsp/jupyterlab-lsp-3.10.2.ebuild22
-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.3.0.ebuild36
-rw-r--r--dev-python/jupyterlab-pygments/metadata.xml (renamed from dev-python/jupyterlab_pygments/metadata.xml)0
-rw-r--r--dev-python/jupyterlab-server/Manifest2
-rw-r--r--dev-python/jupyterlab-server/jupyterlab-server-2.25.4.ebuild66
-rw-r--r--dev-python/jupyterlab-server/jupyterlab-server-2.26.0.ebuild66
-rw-r--r--dev-python/jupyterlab-server/metadata.xml (renamed from dev-python/jupyterlab_server/metadata.xml)0
-rw-r--r--dev-python/jupyterlab/Manifest3
-rw-r--r--dev-python/jupyterlab/jupyterlab-3.5.3.ebuild76
-rw-r--r--dev-python/jupyterlab/jupyterlab-4.1.5.ebuild78
-rw-r--r--dev-python/jupyterlab/jupyterlab-4.1.6.ebuild80
-rw-r--r--dev-python/jupyterlab_pygments/Manifest1
-rw-r--r--dev-python/jupyterlab_pygments/jupyterlab_pygments-0.2.2.ebuild24
-rw-r--r--dev-python/jupyterlab_server/Manifest1
-rw-r--r--dev-python/jupyterlab_server/jupyterlab_server-2.16.5.ebuild64
-rw-r--r--dev-python/jwcrypto/Manifest2
-rw-r--r--dev-python/jwcrypto/jwcrypto-1.4.2.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.ebuild20
-rw-r--r--dev-python/k5test/k5test-0.10.4.ebuild19
-rw-r--r--dev-python/kafka-python/Manifest2
-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-r2.ebuild56
-rw-r--r--dev-python/kafka-python/kafka-python-2.0.2.ebuild44
-rw-r--r--dev-python/kaitaistruct/kaitaistruct-0.10.ebuild7
-rw-r--r--dev-python/kaitaistruct/metadata.xml5
-rw-r--r--dev-python/kaptan/Manifest2
-rw-r--r--dev-python/kaptan/kaptan-0.5.12-r2.ebuild19
-rw-r--r--dev-python/kaptan/kaptan-0.6.0.ebuild25
-rw-r--r--dev-python/kaptan/metadata.xml1
-rw-r--r--dev-python/kconfiglib/Manifest2
-rw-r--r--dev-python/kconfiglib/kconfiglib-14.1.0-r1.ebuild13
-rw-r--r--dev-python/keep/keep-2.10.1-r1.ebuild23
-rw-r--r--dev-python/keep/keep-2.10.1-r2.ebuild44
-rw-r--r--dev-python/keep/metadata.xml5
-rw-r--r--dev-python/kerberos/Manifest1
-rw-r--r--dev-python/kerberos/files/kerberos-1.3.1-python3.10.patch (renamed from dev-python/pykerberos/files/pykerberos-1.3.1-python3.10.patch)0
-rw-r--r--dev-python/kerberos/kerberos-1.3.1-r2.ebuild58
-rw-r--r--dev-python/kerberos/metadata.xml (renamed from dev-python/pykerberos/metadata.xml)0
-rw-r--r--dev-python/keyring/Manifest5
-rw-r--r--dev-python/keyring/keyring-23.13.1-r1.ebuild62
-rw-r--r--dev-python/keyring/keyring-24.3.1.ebuild46
-rw-r--r--dev-python/keyring/keyring-25.0.0.ebuild48
-rw-r--r--dev-python/keyring/keyring-25.0.1.ebuild52
-rw-r--r--dev-python/keyring/keyring-25.1.0.ebuild52
-rw-r--r--dev-python/keyrings-alt/Manifest3
-rw-r--r--dev-python/keyrings-alt/keyrings-alt-4.2.0.ebuild51
-rw-r--r--dev-python/keyrings-alt/keyrings-alt-5.0.0.ebuild44
-rw-r--r--dev-python/keyrings-alt/keyrings-alt-5.0.1.ebuild44
-rw-r--r--dev-python/keystoneauth/Manifest2
-rw-r--r--dev-python/keystoneauth/keystoneauth-5.1.0.ebuild64
-rw-r--r--dev-python/keystoneauth/keystoneauth-5.1.1.ebuild64
-rw-r--r--dev-python/keystoneauth1/Manifest1
-rw-r--r--dev-python/keystoneauth1/keystoneauth1-5.6.0.ebuild60
-rw-r--r--dev-python/keystoneauth1/metadata.xml (renamed from dev-python/keystoneauth/metadata.xml)0
-rw-r--r--dev-python/keyutils/Manifest (renamed from dev-python/python-keyutils/Manifest)0
-rw-r--r--dev-python/keyutils/keyutils-0.6-r2.ebuild37
-rw-r--r--dev-python/keyutils/metadata.xml (renamed from dev-python/python-keyutils/metadata.xml)0
-rw-r--r--dev-python/kgb/kgb-7.1.1.ebuild8
-rw-r--r--dev-python/kiwisolver/Manifest2
-rw-r--r--dev-python/kiwisolver/kiwisolver-1.4.4.ebuild40
-rw-r--r--dev-python/kiwisolver/kiwisolver-1.4.5.ebuild41
-rw-r--r--dev-python/klein/Manifest2
-rw-r--r--dev-python/klein/files/klein-21.8.0-test_resource.patch28
-rw-r--r--dev-python/klein/klein-21.8.0.ebuild47
-rw-r--r--dev-python/klein/klein-23.12.0.ebuild41
-rw-r--r--dev-python/klein/metadata.xml4
-rw-r--r--dev-python/kombu/Manifest3
-rw-r--r--dev-python/kombu/kombu-5.3.0_beta2.ebuild94
-rw-r--r--dev-python/kombu/kombu-5.3.6.ebuild83
-rw-r--r--dev-python/kombu/kombu-5.3.7.ebuild83
-rw-r--r--dev-python/krb5/Manifest2
-rw-r--r--dev-python/krb5/krb5-0.4.1.ebuild32
-rw-r--r--dev-python/krb5/krb5-0.5.1.ebuild32
-rw-r--r--dev-python/lark/Manifest2
-rw-r--r--dev-python/lark/lark-1.1.5.ebuild45
-rw-r--r--dev-python/lark/lark-1.1.9.ebuild40
-rw-r--r--dev-python/latexcodec/Manifest1
-rw-r--r--dev-python/latexcodec/latexcodec-2.0.1-r1.ebuild25
-rw-r--r--dev-python/latexcodec/latexcodec-2.0.1.ebuild20
-rw-r--r--dev-python/latexcodec/latexcodec-3.0.0.ebuild21
-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/Manifest3
-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.8.0.ebuild34
-rw-r--r--dev-python/lazy-object-proxy/lazy-object-proxy-1.9.0.ebuild36
-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.ebuild27
-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.12.0-respect-CC.patch41
-rw-r--r--dev-python/leechcorepyc/files/leechcorepyc-2.16.9-respect-CC.patch30
-rw-r--r--dev-python/leechcorepyc/leechcorepyc-2.13.0.ebuild34
-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/lesscpy/lesscpy-0.15.1.ebuild5
-rw-r--r--dev-python/lesscpy/metadata.xml1
-rw-r--r--dev-python/libarchive-c/Manifest2
-rw-r--r--dev-python/libarchive-c/libarchive-c-4.0.ebuild24
-rw-r--r--dev-python/libarchive-c/libarchive-c-5.1.ebuild31
-rw-r--r--dev-python/libcloud/Manifest2
-rw-r--r--dev-python/libcloud/libcloud-3.6.1.ebuild60
-rw-r--r--dev-python/libcloud/libcloud-3.7.0.ebuild60
-rw-r--r--dev-python/libevdev/Manifest (renamed from dev-python/python-libevdev/Manifest)0
-rw-r--r--dev-python/libevdev/libevdev-0.11.ebuild37
-rw-r--r--dev-python/libevdev/metadata.xml (renamed from dev-python/python-libevdev/metadata.xml)0
-rw-r--r--dev-python/liblarch/Manifest2
-rw-r--r--dev-python/liblarch/liblarch-3.1.0-r1.ebuild34
-rw-r--r--dev-python/liblarch/liblarch-3.2.0.ebuild37
-rw-r--r--dev-python/libnacl/Manifest2
-rw-r--r--dev-python/libnacl/libnacl-1.8.0.ebuild39
-rw-r--r--dev-python/libnacl/libnacl-2.1.0.ebuild34
-rw-r--r--dev-python/libpillowfight/Manifest2
-rw-r--r--dev-python/libpillowfight/libpillowfight-0.3.0_p20210816-r1.ebuild39
-rw-r--r--dev-python/libpillowfight/libpillowfight-0.3.0_p20210816.ebuild37
-rw-r--r--dev-python/libsass-python/Manifest2
-rw-r--r--dev-python/libsass-python/files/libsass-0.20.0_rename_sassc.patch64
-rw-r--r--dev-python/libsass-python/libsass-python-0.21.0-r1.ebuild58
-rw-r--r--dev-python/libsass-python/libsass-python-0.22.0-r1.ebuild60
-rw-r--r--dev-python/libsass-python/metadata.xml15
-rw-r--r--dev-python/libsass/Manifest1
-rw-r--r--dev-python/libsass/libsass-0.23.0.ebuild62
-rw-r--r--dev-python/libsass/metadata.xml16
-rw-r--r--dev-python/libtmux/Manifest14
-rw-r--r--dev-python/libtmux/libtmux-0.18.3.ebuild56
-rw-r--r--dev-python/libtmux/libtmux-0.19.1.ebuild56
-rw-r--r--dev-python/libtmux/libtmux-0.20.0.ebuild56
-rw-r--r--dev-python/libtmux/libtmux-0.21.0.ebuild (renamed from dev-python/libtmux/libtmux-0.15.10.ebuild)0
-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/libvirt-python/Manifest16
-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-8.7.0.ebuild56
-rw-r--r--dev-python/libvirt-python/libvirt-python-8.8.0.ebuild56
-rw-r--r--dev-python/libvirt-python/libvirt-python-8.9.0.ebuild56
-rw-r--r--dev-python/libvirt-python/libvirt-python-9.8.0.ebuild63
-rw-r--r--dev-python/libvirt-python/libvirt-python-9.9.0.ebuild63
-rw-r--r--dev-python/libvirt-python/libvirt-python-9999.ebuild15
-rw-r--r--dev-python/license-expression/Manifest3
-rw-r--r--dev-python/license-expression/license-expression-30.0.0.ebuild34
-rw-r--r--dev-python/license-expression/license-expression-30.1.0.ebuild34
-rw-r--r--dev-python/license-expression/license-expression-30.3.0.ebuild34
-rw-r--r--dev-python/line-profiler/Manifest1
-rw-r--r--dev-python/line-profiler/line-profiler-4.1.2.ebuild46
-rw-r--r--dev-python/line-profiler/metadata.xml (renamed from dev-python/line_profiler/metadata.xml)0
-rw-r--r--dev-python/line_profiler/Manifest1
-rw-r--r--dev-python/line_profiler/line_profiler-4.0.2.ebuild41
-rw-r--r--dev-python/linkify-it-py/Manifest2
-rw-r--r--dev-python/linkify-it-py/linkify-it-py-2.0.0.ebuild29
-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/Manifest16
-rw-r--r--dev-python/lit/lit-13.0.1.ebuild41
-rw-r--r--dev-python/lit/lit-14.0.6.ebuild42
-rw-r--r--dev-python/lit/lit-15.0.7.ebuild2
-rw-r--r--dev-python/lit/lit-16.0.0.9999.ebuild42
-rw-r--r--dev-python/lit/lit-16.0.0_pre20230107.ebuild42
-rw-r--r--dev-python/lit/lit-16.0.0_pre20230127.ebuild42
-rw-r--r--dev-python/lit/lit-16.0.6.ebuild42
-rw-r--r--dev-python/lit/lit-17.0.0.9999.ebuild42
-rw-r--r--dev-python/lit/lit-17.0.6.ebuild46
-rw-r--r--dev-python/lit/lit-18.1.3.ebuild46
-rw-r--r--dev-python/lit/lit-18.1.4.ebuild46
-rw-r--r--dev-python/lit/lit-19.0.0.9999.ebuild45
-rw-r--r--dev-python/lit/lit-19.0.0_pre20240330.ebuild45
-rw-r--r--dev-python/lit/lit-19.0.0_pre20240404.ebuild45
-rw-r--r--dev-python/lit/lit-19.0.0_pre20240410.ebuild45
-rw-r--r--dev-python/littleutils/littleutils-0.2.2-r1.ebuild24
-rw-r--r--dev-python/littleutils/littleutils-0.2.2.ebuild20
-rw-r--r--dev-python/livereload/Manifest2
-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/metadata.xml5
-rw-r--r--dev-python/llfuse/Manifest2
-rw-r--r--dev-python/llfuse/llfuse-1.4.2.ebuild58
-rw-r--r--dev-python/llfuse/llfuse-1.5.0.ebuild58
-rw-r--r--dev-python/lmdb/Manifest2
-rw-r--r--dev-python/lmdb/lmdb-1.4.0.ebuild41
-rw-r--r--dev-python/lmdb/lmdb-1.4.1.ebuild41
-rw-r--r--dev-python/lmfit/Manifest3
-rw-r--r--dev-python/lmfit/lmfit-1.1.0.ebuild49
-rw-r--r--dev-python/lmfit/lmfit-1.2.2.ebuild36
-rw-r--r--dev-python/lmfit/lmfit-1.3.0.ebuild37
-rw-r--r--dev-python/locket/locket-1.0.0.ebuild4
-rw-r--r--dev-python/lockfile/lockfile-0.12.2-r3.ebuild7
-rw-r--r--dev-python/logbook/Manifest2
-rw-r--r--dev-python/logbook/logbook-1.5.3-r1.ebuild45
-rw-r--r--dev-python/logbook/logbook-1.7.0.ebuild58
-rw-r--r--dev-python/logfury/logfury-1.0.1-r1.ebuild15
-rw-r--r--dev-python/logical-unification/Manifest2
-rw-r--r--dev-python/logical-unification/logical-unification-0.4.5.ebuild33
-rw-r--r--dev-python/logical-unification/logical-unification-0.4.6.ebuild38
-rw-r--r--dev-python/loguru/Manifest2
-rw-r--r--dev-python/loguru/files/0.6.0-typos.patch45
-rw-r--r--dev-python/loguru/loguru-0.6.0.ebuild24
-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.ebuild11
-rw-r--r--dev-python/loky/Manifest2
-rw-r--r--dev-python/loky/loky-3.3.0.ebuild46
-rw-r--r--dev-python/loky/loky-3.4.1.ebuild59
-rw-r--r--dev-python/looseversion/Manifest1
-rw-r--r--dev-python/looseversion/looseversion-1.3.0.ebuild25
-rw-r--r--dev-python/looseversion/metadata.xml17
-rw-r--r--dev-python/lrcalc/Manifest1
-rw-r--r--dev-python/lrcalc/lrcalc-2.1-r1.ebuild31
-rw-r--r--dev-python/lrcalc/metadata.xml27
-rw-r--r--dev-python/lxml/Manifest5
-rw-r--r--dev-python/lxml/files/lxml-4.6.0-tests-pypy.patch452
-rw-r--r--dev-python/lxml/files/lxml-5.1.0-pypy.patch175
-rw-r--r--dev-python/lxml/files/lxml-5.1.1-pypy.patch162
-rw-r--r--dev-python/lxml/lxml-4.9.2.ebuild112
-rw-r--r--dev-python/lxml/lxml-5.1.0.ebuild117
-rw-r--r--dev-python/lxml/lxml-5.1.1.ebuild117
-rw-r--r--dev-python/lxml/lxml-5.2.0.ebuild128
-rw-r--r--dev-python/lxml/lxml-5.2.1.ebuild125
-rw-r--r--dev-python/lz4/Manifest4
-rw-r--r--dev-python/lz4/lz4-4.0.2.ebuild39
-rw-r--r--dev-python/lz4/lz4-4.3.1.ebuild42
-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.38.0.ebuild72
-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_p20230525.ebuild32
-rw-r--r--dev-python/magic-wormhole-mailbox-server/metadata.xml13
-rw-r--r--dev-python/magic-wormhole-transit-relay/Manifest2
-rw-r--r--dev-python/magic-wormhole-transit-relay/magic-wormhole-transit-relay-0.2.1.ebuild23
-rw-r--r--dev-python/magic-wormhole-transit-relay/magic-wormhole-transit-relay-0.2.1_p20230525.ebuild41
-rw-r--r--dev-python/magic-wormhole-transit-relay/metadata.xml13
-rw-r--r--dev-python/magic-wormhole/Manifest1
-rw-r--r--dev-python/magic-wormhole/magic-wormhole-0.13.0.ebuild51
-rw-r--r--dev-python/magic-wormhole/metadata.xml13
-rw-r--r--dev-python/makefun/Manifest2
-rw-r--r--dev-python/makefun/makefun-1.15.0.ebuild31
-rw-r--r--dev-python/makefun/makefun-1.15.2.ebuild30
-rw-r--r--dev-python/mako/Manifest3
-rw-r--r--dev-python/mako/mako-1.2.4.ebuild50
-rw-r--r--dev-python/mako/mako-1.3.2.ebuild49
-rw-r--r--dev-python/mako/mako-1.3.3.ebuild49
-rw-r--r--dev-python/mamba/Manifest2
-rw-r--r--dev-python/mamba/mamba-0.11.2.ebuild36
-rw-r--r--dev-python/mamba/mamba-0.11.3.ebuild44
-rw-r--r--dev-python/mamba/metadata.xml14
-rw-r--r--dev-python/mando/mando-0.7.1.ebuild2
-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.ebuild41
-rw-r--r--dev-python/manuel/manuel-1.12.4_p20231129.ebuild48
-rw-r--r--dev-python/mapbox-vector-tile/Manifest1
-rw-r--r--dev-python/mapbox-vector-tile/mapbox-vector-tile-2.0.1.ebuild35
-rw-r--r--dev-python/mapbox-vector-tile/metadata.xml16
-rw-r--r--dev-python/mapbox_earcut/mapbox_earcut-1.0.1.ebuild7
-rw-r--r--dev-python/markdown-exec/Manifest2
-rw-r--r--dev-python/markdown-exec/markdown-exec-1.8.0.ebuild34
-rw-r--r--dev-python/markdown-exec/markdown-exec-1.8.1.ebuild34
-rw-r--r--dev-python/markdown-exec/metadata.xml16
-rw-r--r--dev-python/markdown-include/Manifest1
-rw-r--r--dev-python/markdown-include/files/markdown-include-0.8.1-setup.patch9
-rw-r--r--dev-python/markdown-include/markdown-include-0.8.1.ebuild29
-rw-r--r--dev-python/markdown-include/metadata.xml21
-rw-r--r--dev-python/markdown-it-py/Manifest2
-rw-r--r--dev-python/markdown-it-py/markdown-it-py-2.1.0-r2.ebuild40
-rw-r--r--dev-python/markdown-it-py/markdown-it-py-3.0.0.ebuild40
-rw-r--r--dev-python/markdown/Manifest4
-rw-r--r--dev-python/markdown/markdown-3.3.7.ebuild40
-rw-r--r--dev-python/markdown/markdown-3.4.1.ebuild45
-rw-r--r--dev-python/markdown/markdown-3.5.2.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.13.ebuild31
-rw-r--r--dev-python/markdown2/markdown2-2.4.6.ebuild32
-rw-r--r--dev-python/markdown2/markdown2-2.4.7.ebuild32
-rw-r--r--dev-python/markups/Manifest1
-rw-r--r--dev-python/markups/markups-3.1.3.ebuild38
-rw-r--r--dev-python/markups/markups-4.0.0.ebuild13
-rw-r--r--dev-python/markupsafe/Manifest4
-rw-r--r--dev-python/markupsafe/markupsafe-1.1.1-r1.ebuild22
-rw-r--r--dev-python/markupsafe/markupsafe-2.1.1.ebuild27
-rw-r--r--dev-python/markupsafe/markupsafe-2.1.2.ebuild27
-rw-r--r--dev-python/markupsafe/markupsafe-2.1.5.ebuild25
-rw-r--r--dev-python/markupsafe/metadata.xml1
-rw-r--r--dev-python/marshmallow/Manifest4
-rw-r--r--dev-python/marshmallow/marshmallow-3.19.0.ebuild36
-rw-r--r--dev-python/marshmallow/marshmallow-3.20.2.ebuild36
-rw-r--r--dev-python/marshmallow/marshmallow-3.21.0.ebuild36
-rw-r--r--dev-python/marshmallow/marshmallow-3.21.1.ebuild36
-rw-r--r--dev-python/matplotlib-inline/Manifest1
-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.6.ebuild25
-rw-r--r--dev-python/matplotlib-inline/matplotlib-inline-0.1.7.ebuild35
-rw-r--r--dev-python/matplotlib/Manifest6
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.5.2-test.patch261
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.6.0-test.patch260
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.6.2-test.patch171
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.6.3-test.patch25
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.8.0-test.patch263
-rw-r--r--dev-python/matplotlib/matplotlib-3.5.3.ebuild283
-rw-r--r--dev-python/matplotlib/matplotlib-3.6.1.ebuild277
-rw-r--r--dev-python/matplotlib/matplotlib-3.6.2.ebuild279
-rw-r--r--dev-python/matplotlib/matplotlib-3.6.3.ebuild280
-rw-r--r--dev-python/matplotlib/matplotlib-3.8.3.ebuild371
-rw-r--r--dev-python/matplotlib/matplotlib-3.8.4.ebuild377
-rw-r--r--dev-python/matrix-common/Manifest1
-rw-r--r--dev-python/matrix-common/matrix-common-1.2.1.ebuild29
-rw-r--r--dev-python/matrix-common/matrix-common-1.3.0-r1.ebuild31
-rw-r--r--dev-python/matrix-common/matrix-common-1.3.0.ebuild32
-rw-r--r--dev-python/matrix-common/metadata.xml8
-rw-r--r--dev-python/matterhook/matterhook-0.2-r2.ebuild5
-rw-r--r--dev-python/mcbootflash/Manifest1
-rw-r--r--dev-python/mcbootflash/mcbootflash-8.0.1.ebuild35
-rw-r--r--dev-python/mcbootflash/metadata.xml17
-rw-r--r--dev-python/mccabe/mccabe-0.7.0.ebuild7
-rw-r--r--dev-python/mdit-py-plugins/Manifest2
-rw-r--r--dev-python/mdit-py-plugins/mdit-py-plugins-0.3.3.ebuild34
-rw-r--r--dev-python/mdit-py-plugins/mdit-py-plugins-0.4.0.ebuild34
-rw-r--r--dev-python/mdurl/mdurl-0.1.2.ebuild4
-rw-r--r--dev-python/mdx-gh-links/Manifest1
-rw-r--r--dev-python/mdx-gh-links/mdx-gh-links-0.4.ebuild31
-rw-r--r--dev-python/mdx-gh-links/metadata.xml (renamed from dev-python/mdx_gh_links/metadata.xml)0
-rw-r--r--dev-python/mdx_gh_links/Manifest1
-rw-r--r--dev-python/mdx_gh_links/mdx_gh_links-0.3.ebuild31
-rw-r--r--dev-python/mecab-python/mecab-python-0.996-r1.ebuild9
-rw-r--r--dev-python/mechanize/Manifest2
-rw-r--r--dev-python/mechanize/files/mechanize-0.4.8-python3.11-test-order.patch79
-rw-r--r--dev-python/mechanize/mechanize-0.4.8.ebuild33
-rw-r--r--dev-python/mechanize/mechanize-0.4.9.ebuild34
-rw-r--r--dev-python/mechanize/metadata.xml1
-rw-r--r--dev-python/mediafile/Manifest3
-rw-r--r--dev-python/mediafile/mediafile-0.10.1.ebuild31
-rw-r--r--dev-python/mediafile/mediafile-0.11.0.ebuild31
-rw-r--r--dev-python/mediafile/mediafile-0.12.0.ebuild31
-rw-r--r--dev-python/memory-allocator/Manifest1
-rw-r--r--dev-python/memory-allocator/memory-allocator-0.1.4.ebuild31
-rw-r--r--dev-python/memory-allocator/metadata.xml34
-rw-r--r--dev-python/memory_profiler/Manifest1
-rw-r--r--dev-python/memory_profiler/memory_profiler-0.61.ebuild61
-rw-r--r--dev-python/memory_profiler/metadata.xml17
-rw-r--r--dev-python/merge3/Manifest1
-rw-r--r--dev-python/merge3/merge3-0.0.14.ebuild25
-rw-r--r--dev-python/merge3/metadata.xml13
-rw-r--r--dev-python/mergedeep/Manifest2
-rw-r--r--dev-python/mergedeep/mergedeep-1.3.4-r1.ebuild25
-rw-r--r--dev-python/mergedeep/mergedeep-1.3.4.ebuild19
-rw-r--r--dev-python/mergedict/mergedict-1.0.0-r1.ebuild12
-rw-r--r--dev-python/mergedict/metadata.xml2
-rw-r--r--dev-python/meshio/Manifest2
-rw-r--r--dev-python/meshio/meshio-5.3.4.ebuild30
-rw-r--r--dev-python/meshio/meshio-5.3.5.ebuild32
-rw-r--r--dev-python/meson-python/Manifest4
-rw-r--r--dev-python/meson-python/files/meson-python-0.11.0-defaults.patch14
-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.11.0.ebuild71
-rw-r--r--dev-python/meson-python/meson-python-0.12.0.ebuild74
-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.ebuild53
-rw-r--r--dev-python/metakernel/Manifest3
-rw-r--r--dev-python/metakernel/metakernel-0.29.4.ebuild44
-rw-r--r--dev-python/metakernel/metakernel-0.30.1.ebuild47
-rw-r--r--dev-python/metakernel/metakernel-0.30.2.ebuild47
-rw-r--r--dev-python/micawber/Manifest2
-rw-r--r--dev-python/micawber/micawber-0.5.4.ebuild28
-rw-r--r--dev-python/micawber/micawber-0.5.5.ebuild37
-rw-r--r--dev-python/mido/Manifest2
-rw-r--r--dev-python/mido/mido-1.2.10.ebuild27
-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/minidb-2.0.7.ebuild10
-rw-r--r--dev-python/minify-html/Manifest2
-rw-r--r--dev-python/minify-html/metadata.xml11
-rw-r--r--dev-python/minify-html/minify-html-0.15.0.ebuild40
-rw-r--r--dev-python/minikanren/Manifest2
-rw-r--r--dev-python/minikanren/minikanren-1.0.3-r1.ebuild35
-rw-r--r--dev-python/minikanren/minikanren-1.0.3.ebuild32
-rw-r--r--dev-python/minimock/minimock-1.3.0-r1.ebuild4
-rw-r--r--dev-python/miniupnpc/Manifest2
-rw-r--r--dev-python/miniupnpc/files/miniupnpc-2.2.3-shared-lib.patch (renamed from dev-python/python-miniupnpc/files/miniupnpc-2.2.3-shared-lib.patch)5
-rw-r--r--dev-python/miniupnpc/metadata.xml (renamed from dev-python/python-miniupnpc/metadata.xml)0
-rw-r--r--dev-python/miniupnpc/miniupnpc-2.2.7.ebuild51
-rw-r--r--dev-python/misaka/Manifest1
-rw-r--r--dev-python/misaka/metadata.xml16
-rw-r--r--dev-python/misaka/misaka-2.1.1-r1.ebuild21
-rw-r--r--dev-python/mistletoe/Manifest1
-rw-r--r--dev-python/mistletoe/metadata.xml12
-rw-r--r--dev-python/mistletoe/mistletoe-1.3.0.ebuild36
-rw-r--r--dev-python/mistune/Manifest2
-rw-r--r--dev-python/mistune/mistune-2.0.4.ebuild22
-rw-r--r--dev-python/mistune/mistune-3.0.2.ebuild21
-rw-r--r--dev-python/mitmproxy_wireguard/metadata.xml5
-rw-r--r--dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20.ebuild400
-rw-r--r--dev-python/mkautodoc/mkautodoc-0.2.0.ebuild4
-rw-r--r--dev-python/mkdocs-ansible/Manifest3
-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.xml13
-rw-r--r--dev-python/mkdocs-ansible/mkdocs-ansible-0.2.0.ebuild41
-rw-r--r--dev-python/mkdocs-ansible/mkdocs-ansible-24.2.1.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.xml13
-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-bootstrap/Manifest2
-rw-r--r--dev-python/mkdocs-bootstrap/mkdocs-bootstrap-1.1-r2.ebuild20
-rw-r--r--dev-python/mkdocs-bootstrap/mkdocs-bootstrap-1.1.1.ebuild24
-rw-r--r--dev-python/mkdocs-bootswatch/mkdocs-bootswatch-1.1-r2.ebuild2
-rw-r--r--dev-python/mkdocs-gen-files/Manifest1
-rw-r--r--dev-python/mkdocs-gen-files/metadata.xml13
-rw-r--r--dev-python/mkdocs-gen-files/mkdocs-gen-files-0.5.0.ebuild24
-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.0.ebuild54
-rw-r--r--dev-python/mkdocs-git-authors-plugin/mkdocs-git-authors-plugin-0.8.0.ebuild55
-rw-r--r--dev-python/mkdocs-git-revision-date-localized-plugin/Manifest2
-rw-r--r--dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.1.0.ebuild58
-rw-r--r--dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.2.4.ebuild63
-rw-r--r--dev-python/mkdocs-htmlproofer-plugin/Manifest2
-rw-r--r--dev-python/mkdocs-htmlproofer-plugin/metadata.xml13
-rw-r--r--dev-python/mkdocs-htmlproofer-plugin/mkdocs-htmlproofer-plugin-1.2.0.ebuild33
-rw-r--r--dev-python/mkdocs-htmlproofer-plugin/mkdocs-htmlproofer-plugin-1.2.1.ebuild33
-rw-r--r--dev-python/mkdocs-i18n/Manifest2
-rw-r--r--dev-python/mkdocs-i18n/files/mkdocs-i18n-0.4.6-fixup-pyproject-toml.patch30
-rw-r--r--dev-python/mkdocs-i18n/mkdocs-i18n-0.4.4.ebuild25
-rw-r--r--dev-python/mkdocs-i18n/mkdocs-i18n-0.4.6.ebuild30
-rw-r--r--dev-python/mkdocs-macros-plugin/Manifest1
-rw-r--r--dev-python/mkdocs-macros-plugin/metadata.xml13
-rw-r--r--dev-python/mkdocs-macros-plugin/mkdocs-macros-plugin-1.0.4.ebuild34
-rw-r--r--dev-python/mkdocs-material-extensions/Manifest2
-rw-r--r--dev-python/mkdocs-material-extensions/mkdocs-material-extensions-1.1.1.ebuild34
-rw-r--r--dev-python/mkdocs-material-extensions/mkdocs-material-extensions-1.3.1.ebuild34
-rw-r--r--dev-python/mkdocs-material/Manifest11
-rw-r--r--dev-python/mkdocs-material/metadata.xml5
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-8.5.11.ebuild53
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.0.1.ebuild53
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.0.2.ebuild53
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.0.3.ebuild53
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.0.4.ebuild53
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.0.5.ebuild53
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.0.6.ebuild53
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.0.7.ebuild53
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.5.15.ebuild67
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.5.17.ebuild67
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.5.18.ebuild67
-rw-r--r--dev-python/mkdocs-minify-plugin/Manifest2
-rw-r--r--dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.6.2.ebuild41
-rw-r--r--dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.8.0.ebuild49
-rw-r--r--dev-python/mkdocs-monorepo-plugin/Manifest1
-rw-r--r--dev-python/mkdocs-monorepo-plugin/metadata.xml13
-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.xml19
-rw-r--r--dev-python/mkdocs-pymdownx-material-extras/mkdocs-pymdownx-material-extras-2.5.6.ebuild23
-rw-r--r--dev-python/mkdocs-redirects/Manifest2
-rw-r--r--dev-python/mkdocs-redirects/mkdocs-redirects-1.2.0.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.2.ebuild32
-rw-r--r--dev-python/mkdocs/Manifest2
-rw-r--r--dev-python/mkdocs/mkdocs-1.4.2.ebuild83
-rw-r--r--dev-python/mkdocs/mkdocs-1.5.3-r1.ebuild85
-rw-r--r--dev-python/mkdocs_pymdownx_material_extras/Manifest4
-rw-r--r--dev-python/mkdocs_pymdownx_material_extras/metadata.xml27
-rw-r--r--dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.3.1.ebuild24
-rw-r--r--dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.4.1.ebuild24
-rw-r--r--dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.4.2.ebuild24
-rw-r--r--dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.4.ebuild24
-rw-r--r--dev-python/mkdocstrings-python/Manifest3
-rw-r--r--dev-python/mkdocstrings-python/metadata.xml13
-rw-r--r--dev-python/mkdocstrings-python/mkdocstrings-python-1.8.0.ebuild40
-rw-r--r--dev-python/mkdocstrings-python/mkdocstrings-python-1.9.0.ebuild41
-rw-r--r--dev-python/mkdocstrings-python/mkdocstrings-python-1.9.2.ebuild40
-rw-r--r--dev-python/mkdocstrings/Manifest4
-rw-r--r--dev-python/mkdocstrings/metadata.xml13
-rw-r--r--dev-python/mkdocstrings/mkdocstrings-0.24.0.ebuild62
-rw-r--r--dev-python/mkdocstrings/mkdocstrings-0.24.1.ebuild62
-rw-r--r--dev-python/mkdocstrings/mkdocstrings-0.24.2.ebuild61
-rw-r--r--dev-python/mkdocstrings/mkdocstrings-0.24.3.ebuild61
-rw-r--r--dev-python/ml-dtypes/Manifest2
-rw-r--r--dev-python/ml-dtypes/metadata.xml12
-rw-r--r--dev-python/ml-dtypes/ml-dtypes-0.3.2.ebuild37
-rw-r--r--dev-python/mmtf-python/mmtf-python-1.1.3.ebuild13
-rw-r--r--dev-python/mock/Manifest4
-rw-r--r--dev-python/mock/files/mock-4.0.3-py310.patch76
-rw-r--r--dev-python/mock/mock-4.0.3-r1.ebuild40
-rw-r--r--dev-python/mock/mock-5.0.0-r1.ebuild31
-rw-r--r--dev-python/mock/mock-5.0.1.ebuild31
-rw-r--r--dev-python/mock/mock-5.1.0.ebuild23
-rw-r--r--dev-python/moddb/Manifest2
-rw-r--r--dev-python/moddb/moddb-0.10.0.ebuild54
-rw-r--r--dev-python/moddb/moddb-0.8.1.ebuild54
-rw-r--r--dev-python/more-itertools/Manifest2
-rw-r--r--dev-python/more-itertools/more-itertools-10.2.0.ebuild24
-rw-r--r--dev-python/more-itertools/more-itertools-9.0.0.ebuild25
-rw-r--r--dev-python/moto/Manifest9
-rw-r--r--dev-python/moto/moto-4.0.12-r1.ebuild93
-rw-r--r--dev-python/moto/moto-4.0.13.ebuild93
-rw-r--r--dev-python/moto/moto-4.1.0.ebuild93
-rw-r--r--dev-python/moto/moto-4.1.1.ebuild96
-rw-r--r--dev-python/moto/moto-4.2.14.ebuild139
-rw-r--r--dev-python/moto/moto-5.0.2.ebuild152
-rw-r--r--dev-python/moto/moto-5.0.3.ebuild152
-rw-r--r--dev-python/moto/moto-5.0.4.ebuild154
-rw-r--r--dev-python/moto/moto-5.0.5.ebuild153
-rw-r--r--dev-python/mpdlcd/mpdlcd-0.5.2-r2.ebuild4
-rw-r--r--dev-python/mpi4py/Manifest3
-rw-r--r--dev-python/mpi4py/files/mpi4py-3.1.5-test_memory.testReadOnly.patch33
-rw-r--r--dev-python/mpi4py/mpi4py-3.1.3.ebuild62
-rw-r--r--dev-python/mpi4py/mpi4py-3.1.4.ebuild62
-rw-r--r--dev-python/mpi4py/mpi4py-3.1.5.ebuild70
-rw-r--r--dev-python/mpmath/Manifest2
-rw-r--r--dev-python/mpmath/metadata.xml5
-rw-r--r--dev-python/mpmath/mpmath-1.2.1.ebuild38
-rw-r--r--dev-python/mpmath/mpmath-1.3.0-r1.ebuild35
-rw-r--r--dev-python/mrcfile/Manifest2
-rw-r--r--dev-python/mrcfile/mrcfile-1.4.3.ebuild29
-rw-r--r--dev-python/mrcfile/mrcfile-1.5.0.ebuild29
-rw-r--r--dev-python/msgpack/Manifest3
-rw-r--r--dev-python/msgpack/msgpack-1.0.4.ebuild44
-rw-r--r--dev-python/msgpack/msgpack-1.0.7.ebuild51
-rw-r--r--dev-python/msgpack/msgpack-1.0.8.ebuild51
-rw-r--r--dev-python/mss/Manifest2
-rw-r--r--dev-python/mss/metadata.xml5
-rw-r--r--dev-python/mss/mss-7.0.1.ebuild46
-rw-r--r--dev-python/mss/mss-9.0.1.ebuild49
-rw-r--r--dev-python/multidict/Manifest2
-rw-r--r--dev-python/multidict/metadata.xml6
-rw-r--r--dev-python/multidict/multidict-6.0.4.ebuild37
-rw-r--r--dev-python/multidict/multidict-6.0.5.ebuild51
-rw-r--r--dev-python/multipledispatch/Manifest2
-rw-r--r--dev-python/multipledispatch/multipledispatch-0.6.0-r1.ebuild31
-rw-r--r--dev-python/multipledispatch/multipledispatch-1.0.0.ebuild30
-rw-r--r--dev-python/multiprocess/Manifest1
-rw-r--r--dev-python/multiprocess/metadata.xml12
-rw-r--r--dev-python/multiprocess/multiprocess-0.70.16.ebuild27
-rw-r--r--dev-python/munch/Manifest2
-rw-r--r--dev-python/munch/munch-2.5.0-r2.ebuild32
-rw-r--r--dev-python/munch/munch-4.0.0.ebuild28
-rw-r--r--dev-python/munkres/Manifest2
-rw-r--r--dev-python/munkres/munkres-1.1.4-r1.ebuild16
-rw-r--r--dev-python/musicbrainzngs/Manifest2
-rw-r--r--dev-python/musicbrainzngs/files/musicbrainzngs-0.7.1-fix-sphinx-build.patch27
-rw-r--r--dev-python/musicbrainzngs/metadata.xml (renamed from dev-python/python-musicbrainzngs/metadata.xml)0
-rw-r--r--dev-python/musicbrainzngs/musicbrainzngs-0.7.1-r1.ebuild42
-rw-r--r--dev-python/musicbrainzngs/musicbrainzngs-0.7.1.ebuild38
-rw-r--r--dev-python/mygpoclient/mygpoclient-1.9.ebuild2
-rw-r--r--dev-python/mypy/Manifest3
-rw-r--r--dev-python/mypy/metadata.xml7
-rw-r--r--dev-python/mypy/mypy-0.991.ebuild63
-rw-r--r--dev-python/mypy/mypy-1.8.0.ebuild105
-rw-r--r--dev-python/mypy/mypy-1.9.0.ebuild112
-rw-r--r--dev-python/mypy_extensions/Manifest2
-rw-r--r--dev-python/mypy_extensions/mypy_extensions-0.4.3-r2.ebuild31
-rw-r--r--dev-python/mypy_extensions/mypy_extensions-1.0.0.ebuild29
-rw-r--r--dev-python/mysqlclient/Manifest2
-rw-r--r--dev-python/mysqlclient/mysqlclient-2.1.1.ebuild91
-rw-r--r--dev-python/mysqlclient/mysqlclient-2.2.4.ebuild93
-rw-r--r--dev-python/myst-parser/Manifest1
-rw-r--r--dev-python/myst-parser/metadata.xml (renamed from dev-python/myst_parser/metadata.xml)0
-rw-r--r--dev-python/myst-parser/myst-parser-2.0.0.ebuild60
-rw-r--r--dev-python/myst_parser/Manifest1
-rw-r--r--dev-python/myst_parser/myst_parser-0.18.1-r1.ebuild62
-rw-r--r--dev-python/nagiosplugin/nagiosplugin-1.3.3.ebuild15
-rw-r--r--dev-python/natsort/Manifest2
-rw-r--r--dev-python/natsort/natsort-8.2.0.ebuild33
-rw-r--r--dev-python/natsort/natsort-8.4.0.ebuild32
-rw-r--r--dev-python/nautilus-python/nautilus-python-4.0.ebuild8
-rw-r--r--dev-python/nbclassic/Manifest2
-rw-r--r--dev-python/nbclassic/nbclassic-0.5.1.ebuild91
-rw-r--r--dev-python/nbclassic/nbclassic-1.0.0-r1.ebuild82
-rw-r--r--dev-python/nbclient/Manifest2
-rw-r--r--dev-python/nbclient/nbclient-0.10.0.ebuild52
-rw-r--r--dev-python/nbclient/nbclient-0.7.2.ebuild56
-rw-r--r--dev-python/nbconvert/Manifest5
-rw-r--r--dev-python/nbconvert/nbconvert-7.1.0.ebuild95
-rw-r--r--dev-python/nbconvert/nbconvert-7.16.3.ebuild74
-rw-r--r--dev-python/nbconvert/nbconvert-7.2.7.ebuild95
-rw-r--r--dev-python/nbconvert/nbconvert-7.2.8.ebuild95
-rw-r--r--dev-python/nbconvert/nbconvert-7.2.9.ebuild95
-rw-r--r--dev-python/nbdime/Manifest2
-rw-r--r--dev-python/nbdime/metadata.xml5
-rw-r--r--dev-python/nbdime/nbdime-3.1.1-r1.ebuild79
-rw-r--r--dev-python/nbdime/nbdime-4.0.1.ebuild58
-rw-r--r--dev-python/nbformat/Manifest6
-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.4.0.ebuild41
-rw-r--r--dev-python/nbformat/nbformat-5.7.1.ebuild48
-rw-r--r--dev-python/nbformat/nbformat-5.7.2.ebuild48
-rw-r--r--dev-python/nbformat/nbformat-5.7.3.ebuild49
-rw-r--r--dev-python/nbsphinx/Manifest4
-rw-r--r--dev-python/nbsphinx/nbsphinx-0.8.10.ebuild29
-rw-r--r--dev-python/nbsphinx/nbsphinx-0.8.11.ebuild29
-rw-r--r--dev-python/nbsphinx/nbsphinx-0.8.12.ebuild29
-rw-r--r--dev-python/nbsphinx/nbsphinx-0.9.3.ebuild28
-rw-r--r--dev-python/nbval/Manifest2
-rw-r--r--dev-python/nbval/nbval-0.11.0.ebuild62
-rw-r--r--dev-python/nbval/nbval-0.9.6.ebuild38
-rw-r--r--dev-python/nbxmpp/Manifest1
-rw-r--r--dev-python/nbxmpp/metadata.xml12
-rw-r--r--dev-python/nbxmpp/nbxmpp-4.5.4.ebuild35
-rw-r--r--dev-python/neovim-remote/files/neovim-remote-2.5.1-neovim-0.8.patch22
-rw-r--r--dev-python/neovim-remote/metadata.xml1
-rw-r--r--dev-python/neovim-remote/neovim-remote-2.5.1.ebuild6
-rw-r--r--dev-python/neovim-remote/neovim-remote-9999.ebuild2
-rw-r--r--dev-python/nest-asyncio/Manifest1
-rw-r--r--dev-python/nest-asyncio/metadata.xml (renamed from dev-python/nest_asyncio/metadata.xml)0
-rw-r--r--dev-python/nest-asyncio/nest-asyncio-1.6.0.ebuild21
-rw-r--r--dev-python/nest_asyncio/Manifest1
-rw-r--r--dev-python/nest_asyncio/nest_asyncio-1.5.6.ebuild19
-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.8.0-r1.ebuild37
-rw-r--r--dev-python/netaddr/netaddr-1.2.1.ebuild25
-rw-r--r--dev-python/netcdf4-python/Manifest1
-rw-r--r--dev-python/netcdf4-python/metadata.xml22
-rw-r--r--dev-python/netcdf4-python/netcdf4-python-1.5.8.ebuild47
-rw-r--r--dev-python/netcdf4/Manifest1
-rw-r--r--dev-python/netcdf4/metadata.xml23
-rw-r--r--dev-python/netcdf4/netcdf4-1.6.5.ebuild56
-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-2.8.8.ebuild65
-rw-r--r--dev-python/networkx/networkx-3.0.ebuild65
-rw-r--r--dev-python/networkx/networkx-3.2.1.ebuild69
-rw-r--r--dev-python/networkx/networkx-3.3.ebuild69
-rw-r--r--dev-python/nextinspace/Manifest1
-rw-r--r--dev-python/nextinspace/metadata.xml22
-rw-r--r--dev-python/nextinspace/nextinspace-2.0.5.ebuild43
-rw-r--r--dev-python/nextinspace/nextinspace-9999.ebuild43
-rw-r--r--dev-python/nh3/Manifest71
-rw-r--r--dev-python/nh3/metadata.xml11
-rw-r--r--dev-python/nh3/nh3-0.2.17.ebuild103
-rw-r--r--dev-python/nnpy/Manifest2
-rw-r--r--dev-python/nnpy/nnpy-1.4.2-r1.ebuild34
-rw-r--r--dev-python/nnpy/nnpy-1.4.2.ebuild24
-rw-r--r--dev-python/node-semver/Manifest2
-rw-r--r--dev-python/node-semver/node-semver-0.8.1.ebuild28
-rw-r--r--dev-python/node-semver/node-semver-0.9.0.ebuild28
-rw-r--r--dev-python/nodeenv/Manifest2
-rw-r--r--dev-python/nodeenv/files/nodeenv-1.8.0-which-hunt.patch64
-rw-r--r--dev-python/nodeenv/metadata.xml5
-rw-r--r--dev-python/nodeenv/nodeenv-1.7.0.ebuild25
-rw-r--r--dev-python/nodeenv/nodeenv-1.8.0-r1.ebuild33
-rw-r--r--dev-python/noiseprotocol/Manifest1
-rw-r--r--dev-python/noiseprotocol/metadata.xml13
-rw-r--r--dev-python/noiseprotocol/noiseprotocol-0.3.1.ebuild34
-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/Manifest3
-rw-r--r--dev-python/nose2/files/nose2-0.12.0-version.patch21
-rw-r--r--dev-python/nose2/nose2-0.11.0.ebuild29
-rw-r--r--dev-python/nose2/nose2-0.12.0.ebuild48
-rw-r--r--dev-python/nose2/nose2-0.14.1.ebuild35
-rw-r--r--dev-python/noseofyeti/Manifest1
-rw-r--r--dev-python/noseofyeti/metadata.xml12
-rw-r--r--dev-python/noseofyeti/noseofyeti-2.4.8.ebuild33
-rw-r--r--dev-python/notebook-shim/Manifest1
-rw-r--r--dev-python/notebook-shim/metadata.xml (renamed from dev-python/notebook_shim/metadata.xml)0
-rw-r--r--dev-python/notebook-shim/notebook-shim-0.2.4.ebuild44
-rw-r--r--dev-python/notebook/Manifest3
-rw-r--r--dev-python/notebook/files/notebook-6.4.11-no-mathjax.patch42
-rw-r--r--dev-python/notebook/notebook-6.4.12.ebuild98
-rw-r--r--dev-python/notebook/notebook-7.1.2.ebuild64
-rw-r--r--dev-python/notebook/notebook-7.1.3.ebuild64
-rw-r--r--dev-python/notebook_shim/Manifest1
-rw-r--r--dev-python/notebook_shim/notebook_shim-0.2.2-r1.ebuild43
-rw-r--r--dev-python/notify2/notify2-0.3.1-r3.ebuild28
-rw-r--r--dev-python/nototools/Manifest1
-rw-r--r--dev-python/nototools/metadata.xml9
-rw-r--r--dev-python/nototools/nototools-0.2.17.ebuild35
-rw-r--r--dev-python/nox/Manifest4
-rw-r--r--dev-python/nox/nox-2022.11.21.ebuild47
-rw-r--r--dev-python/nox/nox-2023.04.22.ebuild47
-rw-r--r--dev-python/nox/nox-2024.03.02.ebuild64
-rw-r--r--dev-python/nox/nox-2024.04.15.ebuild67
-rw-r--r--dev-python/nptyping/Manifest1
-rw-r--r--dev-python/nptyping/metadata.xml13
-rw-r--r--dev-python/nptyping/nptyping-2.3.1.ebuild50
-rw-r--r--dev-python/nspektr/Manifest2
-rw-r--r--dev-python/nspektr/nspektr-0.4.0.ebuild61
-rw-r--r--dev-python/nspektr/nspektr-0.5.0.ebuild54
-rw-r--r--dev-python/ntlm-auth/Manifest1
-rw-r--r--dev-python/ntlm-auth/metadata.xml17
-rw-r--r--dev-python/ntlm-auth/ntlm-auth-1.5.0.ebuild23
-rw-r--r--dev-python/ntplib/metadata.xml1
-rw-r--r--dev-python/ntplib/ntplib-0.4.0-r1.ebuild29
-rw-r--r--dev-python/ntplib/ntplib-0.4.0.ebuild24
-rw-r--r--dev-python/numexpr/Manifest3
-rw-r--r--dev-python/numexpr/numexpr-2.10.0.ebuild48
-rw-r--r--dev-python/numexpr/numexpr-2.8.4.ebuild34
-rw-r--r--dev-python/numexpr/numexpr-2.9.0.ebuild40
-rw-r--r--dev-python/numpy/Manifest6
-rw-r--r--dev-python/numpy/files/numpy-1.22.0-no-hardcode-blasv2.patch50
-rw-r--r--dev-python/numpy/files/numpy-1.26.1-more-arches.patch16
-rw-r--r--dev-python/numpy/numpy-1.24.0.ebuild164
-rw-r--r--dev-python/numpy/numpy-1.26.1.ebuild163
-rw-r--r--dev-python/numpy/numpy-1.26.2.ebuild172
-rw-r--r--dev-python/numpy/numpy-1.26.3.ebuild169
-rw-r--r--dev-python/numpy/numpy-1.26.4.ebuild169
-rw-r--r--dev-python/numpy/numpy-2.0.0_rc1.ebuild169
-rw-r--r--dev-python/numpydoc/Manifest2
-rw-r--r--dev-python/numpydoc/numpydoc-1.5.0.ebuild51
-rw-r--r--dev-python/numpydoc/numpydoc-1.7.0.ebuild50
-rw-r--r--dev-python/oauth2client/Manifest1
-rw-r--r--dev-python/oauth2client/files/oauth2client-4.1.3-py38.patch35
-rw-r--r--dev-python/oauth2client/metadata.xml13
-rw-r--r--dev-python/oauth2client/oauth2client-4.1.3-r2.ebuild52
-rw-r--r--dev-python/oauthlib/oauthlib-3.2.2.ebuild5
-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/metadata.xml1
-rw-r--r--dev-python/objgraph/objgraph-3.5.0-r1.ebuild47
-rw-r--r--dev-python/objgraph/objgraph-3.6.1.ebuild60
-rw-r--r--dev-python/oct2py/Manifest3
-rw-r--r--dev-python/oct2py/oct2py-5.5.1.ebuild52
-rw-r--r--dev-python/oct2py/oct2py-5.6.0.ebuild54
-rw-r--r--dev-python/oct2py/oct2py-5.6.1.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/Manifest1
-rw-r--r--dev-python/octave_kernel/octave_kernel-0.34.2.ebuild41
-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/metadata.xml11
-rw-r--r--dev-python/omemo-dr/omemo-dr-1.0.1.ebuild28
-rw-r--r--dev-python/openapi-core/Manifest5
-rw-r--r--dev-python/openapi-core/files/openapi-core-0.19.0-pytest-8.patch92
-rw-r--r--dev-python/openapi-core/metadata.xml2
-rw-r--r--dev-python/openapi-core/openapi-core-0.14.5.ebuild71
-rw-r--r--dev-python/openapi-core/openapi-core-0.16.5.ebuild68
-rw-r--r--dev-python/openapi-core/openapi-core-0.18.2.ebuild69
-rw-r--r--dev-python/openapi-core/openapi-core-0.19.0.ebuild76
-rw-r--r--dev-python/openapi-core/openapi-core-0.19.1.ebuild71
-rw-r--r--dev-python/openapi-schema-validator/Manifest5
-rw-r--r--dev-python/openapi-schema-validator/metadata.xml2
-rw-r--r--dev-python/openapi-schema-validator/openapi-schema-validator-0.2.3.ebuild37
-rw-r--r--dev-python/openapi-schema-validator/openapi-schema-validator-0.3.4.ebuild38
-rw-r--r--dev-python/openapi-schema-validator/openapi-schema-validator-0.4.0.ebuild37
-rw-r--r--dev-python/openapi-schema-validator/openapi-schema-validator-0.4.1.ebuild37
-rw-r--r--dev-python/openapi-schema-validator/openapi-schema-validator-0.6.2.ebuild33
-rw-r--r--dev-python/openapi-spec-validator/Manifest4
-rw-r--r--dev-python/openapi-spec-validator/files/openapi-spec-validator-0.5.0-std-importlib.patch43
-rw-r--r--dev-python/openapi-spec-validator/metadata.xml3
-rw-r--r--dev-python/openapi-spec-validator/openapi-spec-validator-0.4.0.ebuild51
-rw-r--r--dev-python/openapi-spec-validator/openapi-spec-validator-0.5.1.ebuild64
-rw-r--r--dev-python/openapi-spec-validator/openapi-spec-validator-0.5.2.ebuild56
-rw-r--r--dev-python/openapi-spec-validator/openapi-spec-validator-0.7.1.ebuild50
-rw-r--r--dev-python/openapi3/Manifest1
-rw-r--r--dev-python/openapi3/metadata.xml11
-rw-r--r--dev-python/openapi3/openapi3-1.8.2.ebuild33
-rw-r--r--dev-python/openpyxl/Manifest2
-rw-r--r--dev-python/openpyxl/openpyxl-3.0.10.ebuild36
-rw-r--r--dev-python/openpyxl/openpyxl-3.1.2.ebuild54
-rw-r--r--dev-python/opensearch-py/Manifest1
-rw-r--r--dev-python/opensearch-py/metadata.xml13
-rw-r--r--dev-python/opensearch-py/opensearch-py-2.3.0.ebuild45
-rw-r--r--dev-python/openstackdocstheme/Manifest2
-rw-r--r--dev-python/openstackdocstheme/metadata.xml2
-rw-r--r--dev-python/openstackdocstheme/openstackdocstheme-3.0.1.ebuild30
-rw-r--r--dev-python/openstackdocstheme/openstackdocstheme-3.2.0.ebuild29
-rw-r--r--dev-python/openstacksdk/Manifest3
-rw-r--r--dev-python/openstacksdk/openstacksdk-0.103.0.ebuild86
-rw-r--r--dev-python/openstacksdk/openstacksdk-3.0.0.ebuild91
-rw-r--r--dev-python/openstacksdk/openstacksdk-3.1.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.ebuild80
-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/opt-einsum/opt-einsum-3.3.0-r1.ebuild27
-rw-r--r--dev-python/opt-einsum/opt-einsum-3.3.0.ebuild20
-rw-r--r--dev-python/ordered-set/ordered-set-4.1.0.ebuild8
-rw-r--r--dev-python/orjson/Manifest55
-rw-r--r--dev-python/orjson/metadata.xml12
-rw-r--r--dev-python/orjson/orjson-3.10.0.ebuild95
-rw-r--r--dev-python/orjson/orjson-3.10.1.ebuild95
-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.ebuild9
-rw-r--r--dev-python/osc-lib/Manifest2
-rw-r--r--dev-python/osc-lib/osc-lib-2.6.2.ebuild51
-rw-r--r--dev-python/osc-lib/osc-lib-3.0.1.ebuild51
-rw-r--r--dev-python/oslo-concurrency/Manifest2
-rw-r--r--dev-python/oslo-concurrency/oslo-concurrency-5.0.1.ebuild51
-rw-r--r--dev-python/oslo-concurrency/oslo-concurrency-6.0.0.ebuild50
-rw-r--r--dev-python/oslo-config/Manifest3
-rw-r--r--dev-python/oslo-config/oslo-config-9.0.0.ebuild60
-rw-r--r--dev-python/oslo-config/oslo-config-9.1.0.ebuild60
-rw-r--r--dev-python/oslo-config/oslo-config-9.4.0.ebuild58
-rw-r--r--dev-python/oslo-context/Manifest2
-rw-r--r--dev-python/oslo-context/oslo-context-5.0.0.ebuild39
-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-5.1.0-fix-py3.11.patch23
-rw-r--r--dev-python/oslo-i18n/oslo-i18n-5.1.0-r1.ebuild42
-rw-r--r--dev-python/oslo-i18n/oslo-i18n-6.3.0.ebuild35
-rw-r--r--dev-python/oslo-log/Manifest3
-rw-r--r--dev-python/oslo-log/oslo-log-5.0.2.ebuild57
-rw-r--r--dev-python/oslo-log/oslo-log-5.5.0.ebuild69
-rw-r--r--dev-python/oslo-log/oslo-log-5.5.1.ebuild69
-rw-r--r--dev-python/oslo-serialization/Manifest2
-rw-r--r--dev-python/oslo-serialization/metadata.xml1
-rw-r--r--dev-python/oslo-serialization/oslo-serialization-5.0.0.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.1.0.ebuild53
-rw-r--r--dev-python/oslo-utils/oslo-utils-7.1.0-r1.ebuild54
-rw-r--r--dev-python/oslo-utils/oslo-utils-7.1.0.ebuild57
-rw-r--r--dev-python/oslotest/Manifest2
-rw-r--r--dev-python/oslotest/oslotest-4.5.0-r2.ebuild37
-rw-r--r--dev-python/oslotest/oslotest-5.0.0.ebuild35
-rw-r--r--dev-python/outcome/Manifest2
-rw-r--r--dev-python/outcome/outcome-1.2.0.ebuild37
-rw-r--r--dev-python/outcome/outcome-1.3.0_p0.ebuild39
-rw-r--r--dev-python/overrides/Manifest1
-rw-r--r--dev-python/overrides/metadata.xml13
-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.13.3.ebuild19
-rw-r--r--dev-python/ovs/ovs-2.17.1_p1.ebuild12
-rw-r--r--dev-python/owslib/Manifest2
-rw-r--r--dev-python/owslib/owslib-0.27.2.ebuild41
-rw-r--r--dev-python/owslib/owslib-0.30.0.ebuild65
-rw-r--r--dev-python/packaging/Manifest5
-rw-r--r--dev-python/packaging/packaging-21.3-r2.ebuild50
-rw-r--r--dev-python/packaging/packaging-22.0.ebuild36
-rw-r--r--dev-python/packaging/packaging-23.0.ebuild36
-rw-r--r--dev-python/packaging/packaging-23.2-r1.ebuild35
-rw-r--r--dev-python/packaging/packaging-24.0.ebuild35
-rw-r--r--dev-python/pafy/Manifest1
-rw-r--r--dev-python/pafy/metadata.xml12
-rw-r--r--dev-python/pafy/pafy-0.5.5.ebuild23
-rw-r--r--dev-python/pafy/pafy-9999.ebuild23
-rw-r--r--dev-python/paginate/Manifest1
-rw-r--r--dev-python/paginate/metadata.xml12
-rw-r--r--dev-python/paginate/paginate-0.5.6.ebuild42
-rw-r--r--dev-python/paho-mqtt/Manifest3
-rw-r--r--dev-python/paho-mqtt/paho-mqtt-1.6.1-r1.ebuild29
-rw-r--r--dev-python/paho-mqtt/paho-mqtt-1.6.1.ebuild23
-rw-r--r--dev-python/paho-mqtt/paho-mqtt-2.0.0.ebuild28
-rw-r--r--dev-python/pallets-sphinx-themes/Manifest3
-rw-r--r--dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.0.2.ebuild20
-rw-r--r--dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.0.3.ebuild29
-rw-r--r--dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.1.1.ebuild27
-rw-r--r--dev-python/pandas-datareader/Manifest1
-rw-r--r--dev-python/pandas-datareader/metadata.xml17
-rw-r--r--dev-python/pandas-datareader/pandas-datareader-0.10.0.ebuild41
-rw-r--r--dev-python/pandas/Manifest5
-rw-r--r--dev-python/pandas/pandas-1.5.1.ebuild210
-rw-r--r--dev-python/pandas/pandas-1.5.2.ebuild210
-rw-r--r--dev-python/pandas/pandas-1.5.3.ebuild217
-rw-r--r--dev-python/pandas/pandas-2.2.1-r1.ebuild215
-rw-r--r--dev-python/pandas/pandas-2.2.1.ebuild218
-rw-r--r--dev-python/pandas/pandas-2.2.2-r1.ebuild214
-rw-r--r--dev-python/pandas/pandas-2.2.2.ebuild217
-rw-r--r--dev-python/pandocfilters/Manifest2
-rw-r--r--dev-python/pandocfilters/pandocfilters-1.5.0.ebuild16
-rw-r--r--dev-python/pandocfilters/pandocfilters-1.5.1.ebuild19
-rw-r--r--dev-python/parallax/metadata.xml4
-rw-r--r--dev-python/parameterized/Manifest2
-rw-r--r--dev-python/parameterized/files/parameterized-0.8.1-nose-to-pytest.patch101
-rw-r--r--dev-python/parameterized/files/parameterized-0.9.0-py312-test.patch17
-rw-r--r--dev-python/parameterized/metadata.xml1
-rw-r--r--dev-python/parameterized/parameterized-0.8.1-r2.ebuild36
-rw-r--r--dev-python/parameterized/parameterized-0.9.0.ebuild31
-rw-r--r--dev-python/paramiko/Manifest3
-rw-r--r--dev-python/paramiko/files/paramiko-2.12.0-pytest-relaxed.patch93
-rw-r--r--dev-python/paramiko/files/paramiko-2.4.2-disable-server.patch46
-rw-r--r--dev-python/paramiko/files/paramiko-3.0.0-nih-test-deps.patch98
-rw-r--r--dev-python/paramiko/files/paramiko-3.2.0-disable-server.patch58
-rw-r--r--dev-python/paramiko/files/paramiko-3.2.0-nih-test-deps.patch134
-rw-r--r--dev-python/paramiko/paramiko-2.12.0.ebuild61
-rw-r--r--dev-python/paramiko/paramiko-3.0.0.ebuild56
-rw-r--r--dev-python/paramiko/paramiko-3.4.0.ebuild62
-rw-r--r--dev-python/parse/Manifest2
-rw-r--r--dev-python/parse/parse-1.19.0-r1.ebuild18
-rw-r--r--dev-python/parse/parse-1.20.1.ebuild17
-rw-r--r--dev-python/parse_type/Manifest2
-rw-r--r--dev-python/parse_type/files/parse_type-0.6.0-setupwarn.patch7
-rw-r--r--dev-python/parse_type/parse_type-0.6.0.ebuild35
-rw-r--r--dev-python/parse_type/parse_type-0.6.2.ebuild30
-rw-r--r--dev-python/parsedatetime/parsedatetime-2.6-r1.ebuild4
-rw-r--r--dev-python/parso/Manifest3
-rw-r--r--dev-python/parso/parso-0.8.3-r1.ebuild6
-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.3.0-r1.ebuild31
-rw-r--r--dev-python/partd/partd-1.4.1.ebuild42
-rw-r--r--dev-python/parver/Manifest2
-rw-r--r--dev-python/parver/parver-0.4.ebuild40
-rw-r--r--dev-python/parver/parver-0.5.ebuild37
-rw-r--r--dev-python/passlib/passlib-1.7.4-r2.ebuild5
-rw-r--r--dev-python/paste/Manifest3
-rw-r--r--dev-python/paste/metadata.xml1
-rw-r--r--dev-python/paste/paste-3.5.2.ebuild50
-rw-r--r--dev-python/paste/paste-3.8.0.ebuild49
-rw-r--r--dev-python/paste/paste-3.9.0.ebuild40
-rw-r--r--dev-python/pastedeploy/Manifest2
-rw-r--r--dev-python/pastedeploy/pastedeploy-3.0.1.ebuild41
-rw-r--r--dev-python/pastedeploy/pastedeploy-3.1.ebuild41
-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/patatt-0.6.2.ebuild5
-rw-r--r--dev-python/patch-ng/Manifest2
-rw-r--r--dev-python/patch-ng/patch-ng-1.17.4-r1.ebuild23
-rw-r--r--dev-python/patch-ng/patch-ng-1.17.4.ebuild22
-rw-r--r--dev-python/path-and-address/metadata.xml4
-rw-r--r--dev-python/path-and-address/path-and-address-2.0.1-r1.ebuild20
-rw-r--r--dev-python/path-and-address/path-and-address-2.0.1.ebuild20
-rw-r--r--dev-python/path/Manifest5
-rw-r--r--dev-python/path/path-16.10.0.ebuild37
-rw-r--r--dev-python/path/path-16.10.2.ebuild37
-rw-r--r--dev-python/path/path-16.12.1.ebuild37
-rw-r--r--dev-python/path/path-16.14.0.ebuild37
-rw-r--r--dev-python/path/path-16.6.0.ebuild42
-rw-r--r--dev-python/pathable/pathable-0.4.3.ebuild4
-rw-r--r--dev-python/pathlib2/pathlib2-2.3.7_p1-r1.ebuild32
-rw-r--r--dev-python/pathlib2/pathlib2-2.3.7_p1.ebuild28
-rw-r--r--dev-python/pathspec/Manifest3
-rw-r--r--dev-python/pathspec/pathspec-0.10.3.ebuild22
-rw-r--r--dev-python/pathspec/pathspec-0.11.0.ebuild22
-rw-r--r--dev-python/pathspec/pathspec-0.12.1.ebuild21
-rw-r--r--dev-python/pathvalidate/Manifest2
-rw-r--r--dev-python/pathvalidate/pathvalidate-2.5.2.ebuild27
-rw-r--r--dev-python/pathvalidate/pathvalidate-3.2.0.ebuild31
-rw-r--r--dev-python/patiencediff/Manifest2
-rw-r--r--dev-python/patiencediff/patiencediff-0.2.12.ebuild27
-rw-r--r--dev-python/patiencediff/patiencediff-0.2.14.ebuild27
-rw-r--r--dev-python/patsy/Manifest2
-rw-r--r--dev-python/patsy/patsy-0.5.3-r1.ebuild24
-rw-r--r--dev-python/patsy/patsy-0.5.6.ebuild30
-rw-r--r--dev-python/pbkdf2/pbkdf2-1.3-r2.ebuild12
-rw-r--r--dev-python/pbr/Manifest3
-rw-r--r--dev-python/pbr/pbr-5.11.0.ebuild73
-rw-r--r--dev-python/pbr/pbr-5.11.1.ebuild73
-rw-r--r--dev-python/pbr/pbr-6.0.0.ebuild72
-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.1.ebuild31
-rw-r--r--dev-python/pdfrw/Manifest2
-rw-r--r--dev-python/pdfrw/pdfrw-0.4_p1-r1.ebuild67
-rw-r--r--dev-python/pdfrw/pdfrw-0.4_p1.ebuild54
-rw-r--r--dev-python/pdm-backend/Manifest3
-rw-r--r--dev-python/pdm-backend/metadata.xml13
-rw-r--r--dev-python/pdm-backend/pdm-backend-2.1.8.ebuild68
-rw-r--r--dev-python/pdm-backend/pdm-backend-2.2.0.ebuild69
-rw-r--r--dev-python/pdm-backend/pdm-backend-2.2.1.ebuild69
-rw-r--r--dev-python/pdm-pep517/Manifest2
-rw-r--r--dev-python/pdm-pep517/metadata.xml2
-rw-r--r--dev-python/pdm-pep517/pdm-pep517-1.0.6.ebuild59
-rw-r--r--dev-python/pdm-pep517/pdm-pep517-1.1.4.ebuild63
-rw-r--r--dev-python/pdm/Manifest3
-rw-r--r--dev-python/pdm/metadata.xml16
-rw-r--r--dev-python/pdm/pdm-2.12.4.ebuild81
-rw-r--r--dev-python/pdm/pdm-2.13.3.ebuild115
-rw-r--r--dev-python/pdm/pdm-2.14.0.ebuild117
-rw-r--r--dev-python/pdoc3/files/pdoc3-0.10.0-update-tests.patch114
-rw-r--r--dev-python/pdoc3/pdoc3-0.10.0-r1.ebuild37
-rw-r--r--dev-python/pdoc3/pdoc3-0.10.0.ebuild36
-rw-r--r--dev-python/pebble/Manifest2
-rw-r--r--dev-python/pebble/pebble-5.0.3.ebuild25
-rw-r--r--dev-python/pebble/pebble-5.0.7.ebuild24
-rw-r--r--dev-python/pecan/Manifest2
-rw-r--r--dev-python/pecan/metadata.xml1
-rw-r--r--dev-python/pecan/pecan-1.4.2.ebuild39
-rw-r--r--dev-python/pecan/pecan-1.5.1.ebuild32
-rw-r--r--dev-python/peewee/Manifest4
-rw-r--r--dev-python/peewee/metadata.xml6
-rw-r--r--dev-python/peewee/peewee-3.15.4.ebuild41
-rw-r--r--dev-python/peewee/peewee-3.17.1.ebuild57
-rw-r--r--dev-python/peewee/peewee-3.17.2.ebuild72
-rw-r--r--dev-python/peewee/peewee-3.17.3.ebuild72
-rw-r--r--dev-python/pefile/Manifest2
-rw-r--r--dev-python/pefile/files/pefile-2022.5.30-remove-future.patch115
-rw-r--r--dev-python/pefile/pefile-2022.5.30-r1.ebuild30
-rw-r--r--dev-python/pefile/pefile-2022.5.30.ebuild29
-rw-r--r--dev-python/pefile/pefile-2023.2.7.ebuild26
-rw-r--r--dev-python/pefile/pefile-9999.ebuild6
-rw-r--r--dev-python/pelican-minify/Manifest2
-rw-r--r--dev-python/pelican-minify/files/pelican-minify-2.0.0-hatchling.patch24
-rw-r--r--dev-python/pelican-minify/metadata.xml1
-rw-r--r--dev-python/pelican-minify/pelican-minify-0.9-r1.ebuild20
-rw-r--r--dev-python/pelican-minify/pelican-minify-2.0.0.ebuild31
-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.ebuild41
-rw-r--r--dev-python/pep517/Manifest1
-rw-r--r--dev-python/pep517/metadata.xml12
-rw-r--r--dev-python/pep517/pep517-0.13.0.ebuild45
-rw-r--r--dev-python/pexpect/Manifest2
-rw-r--r--dev-python/pexpect/files/pexpect-4.8.0-fix-PS1.patch16
-rw-r--r--dev-python/pexpect/files/pexpect-4.8.0-py311.patch67
-rw-r--r--dev-python/pexpect/files/pexpect-4.8.0-sphinx-3.patch25
-rw-r--r--dev-python/pexpect/pexpect-4.8.0-r3.ebuild51
-rw-r--r--dev-python/pexpect/pexpect-4.9.0.ebuild51
-rw-r--r--dev-python/pgspecial/Manifest3
-rw-r--r--dev-python/pgspecial/pgspecial-1.13.1-r1.ebuild47
-rw-r--r--dev-python/pgspecial/pgspecial-2.0.1.ebuild55
-rw-r--r--dev-python/pgspecial/pgspecial-2.1.1.ebuild59
-rw-r--r--dev-python/pgzero/pgzero-1.2.1-r2.ebuild2
-rw-r--r--dev-python/phonenumbers/Manifest4
-rw-r--r--dev-python/phonenumbers/phonenumbers-8.13.3.ebuild39
-rw-r--r--dev-python/phonenumbers/phonenumbers-8.13.33.ebuild39
-rw-r--r--dev-python/phonenumbers/phonenumbers-8.13.34.ebuild39
-rw-r--r--dev-python/phonenumbers/phonenumbers-8.13.4.ebuild39
-rw-r--r--dev-python/phply/Manifest1
-rw-r--r--dev-python/phply/phply-1.2.5.ebuild32
-rw-r--r--dev-python/phply/phply-1.2.6.ebuild5
-rw-r--r--dev-python/picklemagic/Manifest1
-rw-r--r--dev-python/picklemagic/metadata.xml21
-rw-r--r--dev-python/picklemagic/picklemagic-0.0_pre20160415.ebuild30
-rw-r--r--dev-python/pickleshare/metadata.xml2
-rw-r--r--dev-python/pickleshare/pickleshare-0.7.5-r1.ebuild24
-rw-r--r--dev-python/pickleshare/pickleshare-0.7.5.ebuild19
-rw-r--r--dev-python/picobox/Manifest3
-rw-r--r--dev-python/picobox/files/picobox-2.2.0-fix-py3.10.patch26
-rw-r--r--dev-python/picobox/picobox-2.2.0.ebuild30
-rw-r--r--dev-python/picobox/picobox-3.0.0.ebuild28
-rw-r--r--dev-python/picobox/picobox-4.0.0.ebuild28
-rw-r--r--dev-python/pid/pid-3.0.4-r1.ebuild7
-rw-r--r--dev-python/piexif/piexif-1.1.3-r2.ebuild22
-rw-r--r--dev-python/pika/Manifest2
-rw-r--r--dev-python/pika/pika-1.3.2.ebuild (renamed from dev-python/pika/pika-1.3.1.ebuild)0
-rw-r--r--dev-python/pikepdf/Manifest8
-rw-r--r--dev-python/pikepdf/pikepdf-6.2.6.ebuild61
-rw-r--r--dev-python/pikepdf/pikepdf-6.2.7.ebuild61
-rw-r--r--dev-python/pikepdf/pikepdf-6.2.8.ebuild61
-rw-r--r--dev-python/pikepdf/pikepdf-6.2.9.ebuild61
-rw-r--r--dev-python/pikepdf/pikepdf-8.11.2-r1.ebuild68
-rw-r--r--dev-python/pikepdf/pikepdf-8.14.0-r1.ebuild68
-rw-r--r--dev-python/pikepdf/pikepdf-8.15.1-r1.ebuild68
-rw-r--r--dev-python/pikepdf/pikepdf-8.4.1-r1.ebuild62
-rw-r--r--dev-python/pillow/Manifest5
-rw-r--r--dev-python/pillow/files/pillow-10.1.0-olefile-0.47.patch50
-rw-r--r--dev-python/pillow/files/pillow-10.2.0-cross.patch62
-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-r1.ebuild139
-rw-r--r--dev-python/pillow/pillow-10.2.0-r1.ebuild131
-rw-r--r--dev-python/pillow/pillow-10.2.0.ebuild134
-rw-r--r--dev-python/pillow/pillow-10.3.0.ebuild130
-rw-r--r--dev-python/pillow/pillow-9.4.0.ebuild130
-rw-r--r--dev-python/pip-run/Manifest10
-rw-r--r--dev-python/pip-run/pip-run-10.0.1.ebuild54
-rw-r--r--dev-python/pip-run/pip-run-10.0.2.ebuild64
-rw-r--r--dev-python/pip-run/pip-run-10.0.3.ebuild64
-rw-r--r--dev-python/pip-run/pip-run-10.0.4.ebuild64
-rw-r--r--dev-python/pip-run/pip-run-10.0.5.ebuild64
-rw-r--r--dev-python/pip-run/pip-run-12.6.1.ebuild51
-rw-r--r--dev-python/pip-run/pip-run-9.0.0.ebuild44
-rw-r--r--dev-python/pip-run/pip-run-9.2.1.ebuild48
-rw-r--r--dev-python/pip-run/pip-run-9.4.0.ebuild49
-rw-r--r--dev-python/pip-run/pip-run-9.5.0.ebuild49
-rw-r--r--dev-python/pip/Manifest5
-rw-r--r--dev-python/pip/files/pip-20.0.2-disable-system-install.patch29
-rw-r--r--dev-python/pip/files/pip-22.2.1-no-coverage.patch52
-rw-r--r--dev-python/pip/files/pip-23.1-no-coverage.patch52
-rw-r--r--dev-python/pip/files/pip-23.3.1-no-color.patch35
-rw-r--r--dev-python/pip/pip-22.3.1.ebuild139
-rw-r--r--dev-python/pip/pip-24.0.ebuild136
-rw-r--r--dev-python/pipdeptree/Manifest2
-rw-r--r--dev-python/pipdeptree/files/pipdeptree-2.13.1-expect-hpy-in-pypy-7.3.3.patch26
-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/metadata.xml17
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.16.2.ebuild50
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.17.0.ebuild51
-rw-r--r--dev-python/pipenv/Manifest2
-rw-r--r--dev-python/pipenv/files/pipenv-2022.12.19-append-always-install.patch17
-rw-r--r--dev-python/pipenv/files/pipenv-2022.9.24-inject-site-packages.patch34
-rw-r--r--dev-python/pipenv/files/pipenv-2023.9.8-append-always-install-to-pip-extra-args.patch34
-rw-r--r--dev-python/pipenv/files/pipenv-2023.9.8-inject-system-packages.patch53
-rw-r--r--dev-python/pipenv/pipenv-2022.12.19.ebuild112
-rw-r--r--dev-python/pipenv/pipenv-2023.12.1.ebuild123
-rw-r--r--dev-python/pipx/Manifest3
-rw-r--r--dev-python/pipx/metadata.xml12
-rw-r--r--dev-python/pipx/pipx-1.4.3.ebuild87
-rw-r--r--dev-python/pipx/pipx-1.5.0.ebuild93
-rw-r--r--dev-python/pivy/Manifest1
-rw-r--r--dev-python/pivy/files/pivy-0.6.8-python312.patch23
-rw-r--r--dev-python/pivy/pivy-0.6.8.ebuild16
-rw-r--r--dev-python/pkgconfig/Manifest2
-rw-r--r--dev-python/pkgconfig/pkgconfig-1.5.5-r1.ebuild8
-rw-r--r--dev-python/pkgcraft-python/Manifest1
-rw-r--r--dev-python/pkgcraft-python/pkgcraft-python-0.0.3.ebuild74
-rw-r--r--dev-python/pkgcraft-python/pkgcraft-python-9999.ebuild74
-rw-r--r--dev-python/pkgcraft/Manifest1
-rw-r--r--dev-python/pkgcraft/metadata.xml (renamed from dev-python/pkgcraft-python/metadata.xml)0
-rw-r--r--dev-python/pkgcraft/pkgcraft-0.0.9.ebuild81
-rw-r--r--dev-python/pkgcraft/pkgcraft-9999.ebuild81
-rw-r--r--dev-python/pkginfo/Manifest6
-rw-r--r--dev-python/pkginfo/pkginfo-1.10.0.ebuild28
-rw-r--r--dev-python/pkginfo/pkginfo-1.9.2.ebuild29
-rw-r--r--dev-python/pkginfo/pkginfo-1.9.3.ebuild29
-rw-r--r--dev-python/pkginfo/pkginfo-1.9.4.ebuild29
-rw-r--r--dev-python/pkginfo/pkginfo-1.9.5.ebuild29
-rw-r--r--dev-python/pkginfo/pkginfo-1.9.6.ebuild29
-rw-r--r--dev-python/platformdirs/Manifest2
-rw-r--r--dev-python/platformdirs/platformdirs-2.6.2-r1.ebuild53
-rw-r--r--dev-python/platformdirs/platformdirs-2.6.2.ebuild35
-rw-r--r--dev-python/platformdirs/platformdirs-4.2.0.ebuild49
-rw-r--r--dev-python/plette/Manifest2
-rw-r--r--dev-python/plette/metadata.xml17
-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/plotly-geo/Manifest2
-rw-r--r--dev-python/plotly-geo/plotly-geo-1.0.0-r1.ebuild20
-rw-r--r--dev-python/plotly-geo/plotly-geo-1.0.0-r2.ebuild31
-rw-r--r--dev-python/plotly/Manifest4
-rw-r--r--dev-python/plotly/plotly-5.10.0-r1.ebuild63
-rw-r--r--dev-python/plotly/plotly-5.19.0.ebuild116
-rw-r--r--dev-python/plotly/plotly-5.20.0.ebuild116
-rw-r--r--dev-python/plotly/plotly-5.21.0.ebuild116
-rw-r--r--dev-python/pluggy/Manifest2
-rw-r--r--dev-python/pluggy/pluggy-1.0.0-r2.ebuild27
-rw-r--r--dev-python/pluggy/pluggy-1.4.0.ebuild26
-rw-r--r--dev-python/pluginbase/pluginbase-1.0.1-r1.ebuild27
-rw-r--r--dev-python/pluginbase/pluginbase-1.0.1.ebuild24
-rw-r--r--dev-python/plumbum/Manifest3
-rw-r--r--dev-python/plumbum/plumbum-1.8.0.ebuild53
-rw-r--r--dev-python/plumbum/plumbum-1.8.1.ebuild58
-rw-r--r--dev-python/plumbum/plumbum-1.8.2.ebuild57
-rw-r--r--dev-python/ply/Manifest1
-rw-r--r--dev-python/ply/metadata.xml1
-rw-r--r--dev-python/ply/ply-3.11-r2.ebuild9
-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.ebuild45
-rw-r--r--dev-python/plyvel/Manifest2
-rw-r--r--dev-python/plyvel/plyvel-1.5.0.ebuild37
-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.ebuild46
-rw-r--r--dev-python/pmw/pmw-2.1.1.ebuild43
-rw-r--r--dev-python/pocketlint/Manifest2
-rw-r--r--dev-python/pocketlint/pocketlint-0.24.ebuild28
-rw-r--r--dev-python/pocketlint/pocketlint-0.25.ebuild32
-rw-r--r--dev-python/pockets/pockets-0.9.1-r2.ebuild33
-rw-r--r--dev-python/pockets/pockets-0.9.1-r3.ebuild18
-rw-r--r--dev-python/podcastparser/Manifest3
-rw-r--r--dev-python/podcastparser/podcastparser-0.6.10.ebuild21
-rw-r--r--dev-python/podcastparser/podcastparser-0.6.8-r1.ebuild19
-rw-r--r--dev-python/podcastparser/podcastparser-0.6.9.ebuild22
-rw-r--r--dev-python/podman-py/Manifest1
-rw-r--r--dev-python/podman-py/files/podman-py-4.3.0-tomli.patch89
-rw-r--r--dev-python/podman-py/podman-py-4.3.0-r1.ebuild54
-rw-r--r--dev-python/podman/Manifest2
-rw-r--r--dev-python/podman/metadata.xml (renamed from dev-python/podman-py/metadata.xml)0
-rw-r--r--dev-python/podman/podman-4.9.0.ebuild53
-rw-r--r--dev-python/podman/podman-5.0.0.ebuild53
-rw-r--r--dev-python/poetry-core/Manifest3
-rw-r--r--dev-python/poetry-core/poetry-core-1.4.0.ebuild63
-rw-r--r--dev-python/poetry-core/poetry-core-1.5.0.ebuild63
-rw-r--r--dev-python/poetry-core/poetry-core-1.9.0.ebuild74
-rw-r--r--dev-python/poetry-plugin-export/Manifest3
-rw-r--r--dev-python/poetry-plugin-export/metadata.xml16
-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.0.ebuild33
-rw-r--r--dev-python/poetry-plugin-export/poetry-plugin-export-1.7.1.ebuild33
-rw-r--r--dev-python/poetry/Manifest4
-rw-r--r--dev-python/poetry/metadata.xml16
-rw-r--r--dev-python/poetry/poetry-1.7.1.ebuild88
-rw-r--r--dev-python/poetry/poetry-1.8.0.ebuild96
-rw-r--r--dev-python/poetry/poetry-1.8.1.ebuild96
-rw-r--r--dev-python/poetry/poetry-1.8.2.ebuild96
-rw-r--r--dev-python/polib/Manifest2
-rw-r--r--dev-python/polib/polib-1.1.1.ebuild26
-rw-r--r--dev-python/polib/polib-1.2.0.ebuild39
-rw-r--r--dev-python/pooch/Manifest2
-rw-r--r--dev-python/pooch/pooch-1.6.0.ebuild52
-rw-r--r--dev-python/pooch/pooch-1.8.1.ebuild59
-rw-r--r--dev-python/portalocker/Manifest2
-rw-r--r--dev-python/portalocker/metadata.xml12
-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/Manifest2
-rw-r--r--dev-python/portend/portend-3.1.0.ebuild29
-rw-r--r--dev-python/portend/portend-3.2.0.ebuild28
-rw-r--r--dev-python/poyo/poyo-0.5.0-r1.ebuild21
-rw-r--r--dev-python/poyo/poyo-0.5.0.ebuild17
-rw-r--r--dev-python/pplpy/Manifest1
-rw-r--r--dev-python/pplpy/metadata.xml27
-rw-r--r--dev-python/pplpy/pplpy-0.8.10.ebuild50
-rw-r--r--dev-python/precis-i18n/Manifest3
-rw-r--r--dev-python/precis-i18n/precis-i18n-1.0.4.ebuild26
-rw-r--r--dev-python/precis-i18n/precis-i18n-1.0.5.ebuild28
-rw-r--r--dev-python/precis-i18n/precis-i18n-1.1.0.ebuild25
-rw-r--r--dev-python/pretend/Manifest2
-rw-r--r--dev-python/pretend/pretend-1.0.9-r2.ebuild6
-rw-r--r--dev-python/pretty-yaml/Manifest1
-rw-r--r--dev-python/pretty-yaml/pretty-yaml-21.10.1.ebuild28
-rw-r--r--dev-python/prettytable/Manifest5
-rw-r--r--dev-python/prettytable/prettytable-3.10.0.ebuild32
-rw-r--r--dev-python/prettytable/prettytable-3.3.0.ebuild33
-rw-r--r--dev-python/prettytable/prettytable-3.5.0.ebuild38
-rw-r--r--dev-python/prettytable/prettytable-3.6.0.ebuild38
-rw-r--r--dev-python/prettytable/prettytable-3.9.0.ebuild32
-rw-r--r--dev-python/primecountpy/Manifest1
-rw-r--r--dev-python/primecountpy/metadata.xml27
-rw-r--r--dev-python/primecountpy/primecountpy-0.1.0.ebuild24
-rw-r--r--dev-python/priority/priority-1.3.0-r1.ebuild22
-rw-r--r--dev-python/priority/priority-2.0.0-r1.ebuild21
-rw-r--r--dev-python/process-tests/Manifest2
-rw-r--r--dev-python/process-tests/process-tests-2.1.2-r1.ebuild23
-rw-r--r--dev-python/process-tests/process-tests-3.0.0.ebuild27
-rw-r--r--dev-python/progress/progress-1.6-r1.ebuild14
-rw-r--r--dev-python/progressbar/Manifest1
-rw-r--r--dev-python/progressbar/metadata.xml11
-rw-r--r--dev-python/progressbar/progressbar-2.5.ebuild16
-rw-r--r--dev-python/progressbar2/Manifest2
-rw-r--r--dev-python/progressbar2/progressbar2-4.2.0.ebuild34
-rw-r--r--dev-python/progressbar2/progressbar2-4.4.2.ebuild44
-rw-r--r--dev-python/prometheus-client/Manifest1
-rw-r--r--dev-python/prometheus-client/metadata.xml (renamed from dev-python/prometheus_client/metadata.xml)0
-rw-r--r--dev-python/prometheus-client/prometheus-client-0.20.0.ebuild25
-rw-r--r--dev-python/prometheus_client/Manifest2
-rw-r--r--dev-python/prometheus_client/prometheus_client-0.15.0.ebuild30
-rw-r--r--dev-python/prometheus_client/prometheus_client-0.16.0.ebuild30
-rw-r--r--dev-python/prompt-toolkit/Manifest1
-rw-r--r--dev-python/prompt-toolkit/metadata.xml (renamed from dev-python/prompt_toolkit/metadata.xml)0
-rw-r--r--dev-python/prompt-toolkit/prompt-toolkit-3.0.43.ebuild25
-rw-r--r--dev-python/prompt_toolkit/Manifest1
-rw-r--r--dev-python/prompt_toolkit/prompt_toolkit-3.0.36.ebuild26
-rw-r--r--dev-python/proto-plus/Manifest3
-rw-r--r--dev-python/proto-plus/proto-plus-1.22.1-r1.ebuild40
-rw-r--r--dev-python/proto-plus/proto-plus-1.22.1.ebuild40
-rw-r--r--dev-python/proto-plus/proto-plus-1.22.2.ebuild40
-rw-r--r--dev-python/proto-plus/proto-plus-1.23.0.ebuild40
-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/protobuf-python-4.21.12.ebuild78
-rw-r--r--dev-python/protobuf-python/protobuf-python-4.21.9.ebuild9
-rw-r--r--dev-python/protobuf-python/protobuf-python-4.22.5.ebuild85
-rw-r--r--dev-python/protobuf-python/protobuf-python-4.23.3.ebuild79
-rw-r--r--dev-python/protobuf-python/protobuf-python-9999.ebuild13
-rw-r--r--dev-python/prov/prov-2.0.0.ebuild5
-rw-r--r--dev-python/pslab-python/Manifest1
-rw-r--r--dev-python/pslab-python/metadata.xml11
-rw-r--r--dev-python/pslab-python/pslab-python-2.5.0.ebuild37
-rw-r--r--dev-python/pslab/Manifest1
-rw-r--r--dev-python/pslab/files/pslab-2.5.0-ad9833_sys_version.patch (renamed from dev-python/pslab-python/files/pslab-python-2.5.0-ad9833_sys_version.patch)0
-rw-r--r--dev-python/pslab/files/pslab-3.0.0-pytest_record.patch36
-rw-r--r--dev-python/pslab/metadata.xml12
-rw-r--r--dev-python/pslab/pslab-3.0.0.ebuild51
-rw-r--r--dev-python/psutil/Manifest4
-rw-r--r--dev-python/psutil/psutil-5.9.4.ebuild47
-rw-r--r--dev-python/psutil/psutil-5.9.8.ebuild47
-rw-r--r--dev-python/psycopg/Manifest7
-rw-r--r--dev-python/psycopg/psycopg-2.9.4.ebuild12
-rw-r--r--dev-python/psycopg/psycopg-2.9.9.ebuild58
-rw-r--r--dev-python/psycopg/psycopg-3.1.18.ebuild109
-rw-r--r--dev-python/psycopg/psycopg-3.1.4.ebuild75
-rw-r--r--dev-python/psycopg/psycopg-3.1.5-r1.ebuild73
-rw-r--r--dev-python/psycopg/psycopg-3.1.6.ebuild78
-rw-r--r--dev-python/psycopg/psycopg-3.1.7.ebuild78
-rw-r--r--dev-python/psycopg/psycopg-3.1.8.ebuild78
-rw-r--r--dev-python/ptyprocess/ptyprocess-0.7.0-r1.ebuild12
-rw-r--r--dev-python/publicsuffix/publicsuffix-2.20191221-r2.ebuild4
-rw-r--r--dev-python/pudb/Manifest2
-rw-r--r--dev-python/pudb/pudb-2022.1.3.ebuild30
-rw-r--r--dev-python/pudb/pudb-2024.1.ebuild36
-rw-r--r--dev-python/pulsectl-asyncio/Manifest2
-rw-r--r--dev-python/pulsectl-asyncio/metadata.xml12
-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/Manifest3
-rw-r--r--dev-python/pulsectl/pulsectl-22.3.2.ebuild21
-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/Manifest (renamed from dev-python/pure_eval/Manifest)0
-rw-r--r--dev-python/pure-eval/metadata.xml (renamed from dev-python/pure_eval/metadata.xml)0
-rw-r--r--dev-python/pure-eval/pure-eval-0.2.2.ebuild37
-rw-r--r--dev-python/pure_eval/pure_eval-0.2.2.ebuild20
-rw-r--r--dev-python/puremagic/Manifest2
-rw-r--r--dev-python/puremagic/puremagic-1.14.ebuild27
-rw-r--r--dev-python/puremagic/puremagic-1.21.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.ebuild47
-rw-r--r--dev-python/py-amqp/Manifest1
-rw-r--r--dev-python/py-amqp/py-amqp-5.1.1-r1.ebuild51
-rw-r--r--dev-python/py-cpuinfo/py-cpuinfo-9.0.0.ebuild10
-rw-r--r--dev-python/py-ubjson/files/py-ubjson-0.16.1-py312.patch35
-rw-r--r--dev-python/py-ubjson/py-ubjson-0.16.1-r1.ebuild14
-rw-r--r--dev-python/py-zabbix/py-zabbix-1.1.7.ebuild8
-rw-r--r--dev-python/py/py-1.11.0-r1.ebuild9
-rw-r--r--dev-python/pyClamd/files/pyClamd-0.4.0-remove-obsolete-bugtrack_url.diff11
-rw-r--r--dev-python/pyClamd/pyClamd-0.4.0-r3.ebuild24
-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/pyFFTW/Manifest1
-rw-r--r--dev-python/pyFFTW/metadata.xml20
-rw-r--r--dev-python/pyFFTW/pyFFTW-0.13.1.ebuild52
-rw-r--r--dev-python/pyFFTW/pyFFTW-9999.ebuild48
-rw-r--r--dev-python/pyGPG/Manifest1
-rw-r--r--dev-python/pyGPG/metadata.xml15
-rw-r--r--dev-python/pyGPG/pyGPG-0.2-r1.ebuild44
-rw-r--r--dev-python/pyGPG/pyGPG-9999.ebuild44
-rw-r--r--dev-python/pyacoustid/Manifest3
-rw-r--r--dev-python/pyacoustid/pyacoustid-1.2.2.ebuild33
-rw-r--r--dev-python/pyacoustid/pyacoustid-1.3.0.ebuild51
-rw-r--r--dev-python/pyaes/pyaes-1.6.1-r3.ebuild5
-rw-r--r--dev-python/pyalsa/pyalsa-1.2.7-r1.ebuild55
-rw-r--r--dev-python/pyalsa/pyalsa-1.2.7.ebuild27
-rw-r--r--dev-python/pyamg/Manifest3
-rw-r--r--dev-python/pyamg/pyamg-4.2.3.ebuild39
-rw-r--r--dev-python/pyamg/pyamg-5.0.1.ebuild50
-rw-r--r--dev-python/pyamg/pyamg-5.1.0.ebuild50
-rw-r--r--dev-python/pyaml/Manifest2
-rw-r--r--dev-python/pyaml/metadata.xml (renamed from dev-python/pretty-yaml/metadata.xml)0
-rw-r--r--dev-python/pyaml/pyaml-23.12.0.ebuild30
-rw-r--r--dev-python/pyaml/pyaml-24.4.0.ebuild30
-rw-r--r--dev-python/pyannotate/pyannotate-1.2.0-r1.ebuild2
-rw-r--r--dev-python/pyarrow/Manifest1
-rw-r--r--dev-python/pyarrow/files/pyarrow-15.0.1-32bit.patch325
-rw-r--r--dev-python/pyarrow/metadata.xml19
-rw-r--r--dev-python/pyarrow/pyarrow-15.0.2.ebuild87
-rw-r--r--dev-python/pyasn1-modules/Manifest2
-rw-r--r--dev-python/pyasn1-modules/pyasn1-modules-0.2.8-r2.ebuild32
-rw-r--r--dev-python/pyasn1-modules/pyasn1-modules-0.4.0.ebuild32
-rw-r--r--dev-python/pyasn1/Manifest2
-rw-r--r--dev-python/pyasn1/pyasn1-0.4.8-r2.ebuild23
-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.ebuild26
-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.ebuild61
-rw-r--r--dev-python/pyaudio/Manifest2
-rw-r--r--dev-python/pyaudio/files/pyaudio-0.2.11-python310-size_t.patch28
-rw-r--r--dev-python/pyaudio/pyaudio-0.2.11-r2.ebuild42
-rw-r--r--dev-python/pyaudio/pyaudio-0.2.13-r2.ebuild38
-rw-r--r--dev-python/pybind11/Manifest7
-rw-r--r--dev-python/pybind11/pybind11-2.10.0.ebuild67
-rw-r--r--dev-python/pybind11/pybind11-2.10.1.ebuild67
-rw-r--r--dev-python/pybind11/pybind11-2.10.2.ebuild67
-rw-r--r--dev-python/pybind11/pybind11-2.10.3.ebuild67
-rw-r--r--dev-python/pybind11/pybind11-2.11.1.ebuild68
-rw-r--r--dev-python/pybind11/pybind11-2.12.0.ebuild74
-rw-r--r--dev-python/pybind11/pybind11-2.9.2-r1.ebuild67
-rw-r--r--dev-python/pybtex-docutils/Manifest2
-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.ebuild29
-rw-r--r--dev-python/pybtex/pybtex-0.24.0-r1.ebuild29
-rw-r--r--dev-python/pybtex/pybtex-0.24.0.ebuild27
-rw-r--r--dev-python/pycairo/Manifest2
-rw-r--r--dev-python/pycairo/pycairo-1.23.0.ebuild60
-rw-r--r--dev-python/pycairo/pycairo-1.26.0.ebuild73
-rw-r--r--dev-python/pycares/Manifest2
-rw-r--r--dev-python/pycares/pycares-4.3.0.ebuild49
-rw-r--r--dev-python/pycares/pycares-4.4.0.ebuild55
-rw-r--r--dev-python/pycdio/pycdio-2.1.1-r1.ebuild9
-rw-r--r--dev-python/pychm/pychm-0.8.6-r1.ebuild24
-rw-r--r--dev-python/pychromecast/Manifest3
-rw-r--r--dev-python/pychromecast/pychromecast-12.1.4.ebuild21
-rw-r--r--dev-python/pychromecast/pychromecast-13.0.4.ebuild22
-rw-r--r--dev-python/pychromecast/pychromecast-13.0.7.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/Manifest2
-rw-r--r--dev-python/pyclipper/pyclipper-1.3.0_p4.ebuild35
-rw-r--r--dev-python/pyclipper/pyclipper-1.3.0_p5.ebuild35
-rw-r--r--dev-python/pycodestyle/Manifest2
-rw-r--r--dev-python/pycodestyle/pycodestyle-2.10.0.ebuild31
-rw-r--r--dev-python/pycodestyle/pycodestyle-2.11.1.ebuild29
-rw-r--r--dev-python/pycollada/Manifest2
-rw-r--r--dev-python/pycollada/pycollada-0.7.2.ebuild44
-rw-r--r--dev-python/pycollada/pycollada-0.8.ebuild53
-rw-r--r--dev-python/pycountry/Manifest1
-rw-r--r--dev-python/pycountry/metadata.xml4
-rw-r--r--dev-python/pycountry/pycountry-22.3.5.ebuild15
-rw-r--r--dev-python/pycountry/pycountry-23.12.11.ebuild27
-rw-r--r--dev-python/pycparser/Manifest1
-rw-r--r--dev-python/pycparser/files/pycparser-2.21-lextab-cache.patch66
-rw-r--r--dev-python/pycparser/pycparser-2.21-r1.ebuild65
-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/pycryptodome/Manifest3
-rw-r--r--dev-python/pycryptodome/pycryptodome-3.16.0.ebuild58
-rw-r--r--dev-python/pycryptodome/pycryptodome-3.17.0.ebuild58
-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/pycuda/Manifest2
-rw-r--r--dev-python/pycuda/metadata.xml1
-rw-r--r--dev-python/pycuda/pycuda-2021.1.ebuild93
-rw-r--r--dev-python/pycuda/pycuda-2024.1.ebuild90
-rw-r--r--dev-python/pycups/pycups-2.0.1-r1.ebuild9
-rw-r--r--dev-python/pycurl-requests/metadata.xml4
-rw-r--r--dev-python/pycurl-requests/pycurl-requests-0.5.0-r1.ebuild38
-rw-r--r--dev-python/pycurl-requests/pycurl-requests-0.5.0.ebuild31
-rw-r--r--dev-python/pycurl/Manifest2
-rw-r--r--dev-python/pycurl/files/7.44-fix-tests.patch34
-rw-r--r--dev-python/pycurl/files/pycurl-7.45.2-skip-http3-test.patch28
-rw-r--r--dev-python/pycurl/pycurl-7.45.1.ebuild93
-rw-r--r--dev-python/pycurl/pycurl-7.45.2-r1.ebuild100
-rw-r--r--dev-python/pycurl/pycurl-7.45.2.ebuild89
-rw-r--r--dev-python/pycurl/pycurl-7.45.3.ebuild93
-rw-r--r--dev-python/pycxx/Manifest1
-rw-r--r--dev-python/pycxx/pycxx-7.1.7-r1.ebuild37
-rw-r--r--dev-python/pycxx/pycxx-7.1.7.ebuild2
-rw-r--r--dev-python/pycxx/pycxx-7.1.8.ebuild37
-rw-r--r--dev-python/pydantic-core/Manifest113
-rw-r--r--dev-python/pydantic-core/metadata.xml12
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.16.3.ebuild151
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.17.0.ebuild150
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.18.0.ebuild149
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.18.1.ebuild149
-rw-r--r--dev-python/pydantic/Manifest6
-rw-r--r--dev-python/pydantic/metadata.xml6
-rw-r--r--dev-python/pydantic/pydantic-1.10.2.ebuild80
-rw-r--r--dev-python/pydantic/pydantic-1.10.3.ebuild82
-rw-r--r--dev-python/pydantic/pydantic-1.10.4.ebuild82
-rw-r--r--dev-python/pydantic/pydantic-2.6.3.ebuild57
-rw-r--r--dev-python/pydantic/pydantic-2.6.4.ebuild57
-rw-r--r--dev-python/pydantic/pydantic-2.7.0.ebuild55
-rw-r--r--dev-python/pydata-sphinx-theme/Manifest3
-rw-r--r--dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.15.2-r1.ebuild55
-rw-r--r--dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.7.2-r1.ebuild38
-rw-r--r--dev-python/pydbus/Manifest2
-rw-r--r--dev-python/pydbus/metadata.xml1
-rw-r--r--dev-python/pydbus/pydbus-0.6.0-r1.ebuild26
-rw-r--r--dev-python/pydbus/pydbus-0.6.0.ebuild25
-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/Manifest4
-rw-r--r--dev-python/pydevd/pydevd-2.10.0.ebuild132
-rw-r--r--dev-python/pydevd/pydevd-2.9.3.ebuild92
-rw-r--r--dev-python/pydevd/pydevd-2.9.5.ebuild90
-rw-r--r--dev-python/pydevd/pydevd-3.0.3.ebuild134
-rw-r--r--dev-python/pydiffx/files/pydiffx-1.1-fix-py3.12.patch14
-rw-r--r--dev-python/pydiffx/pydiffx-1.1.ebuild8
-rw-r--r--dev-python/pydocstyle/Manifest5
-rw-r--r--dev-python/pydocstyle/files/pydocstyle-6.1.1-disarm-pip-install.patch31
-rw-r--r--dev-python/pydocstyle/files/pydocstyle-6.1.1-tomli.patch90
-rw-r--r--dev-python/pydocstyle/files/pydocstyle-6.2.0-tomli.patch91
-rw-r--r--dev-python/pydocstyle/metadata.xml21
-rw-r--r--dev-python/pydocstyle/pydocstyle-6.1.1-r2.ebuild43
-rw-r--r--dev-python/pydocstyle/pydocstyle-6.2.0.ebuild49
-rw-r--r--dev-python/pydocstyle/pydocstyle-6.2.2.ebuild48
-rw-r--r--dev-python/pydocstyle/pydocstyle-6.2.3.ebuild48
-rw-r--r--dev-python/pydocstyle/pydocstyle-6.3.0.ebuild48
-rw-r--r--dev-python/pydot/Manifest2
-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-2.0.0.ebuild42
-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.ebuild33
-rw-r--r--dev-python/pydyf/Manifest2
-rw-r--r--dev-python/pydyf/pydyf-0.5.0.ebuild32
-rw-r--r--dev-python/pydyf/pydyf-0.9.0.ebuild28
-rw-r--r--dev-python/pyeclib/pyeclib-1.6.1.ebuild6
-rw-r--r--dev-python/pyelftools/Manifest2
-rw-r--r--dev-python/pyelftools/pyelftools-0.29.ebuild36
-rw-r--r--dev-python/pyelftools/pyelftools-0.31.ebuild30
-rw-r--r--dev-python/pyenchant/pyenchant-3.2.2-r1.ebuild8
-rw-r--r--dev-python/pyfakefs/Manifest5
-rw-r--r--dev-python/pyfakefs/pyfakefs-5.0.0.ebuild30
-rw-r--r--dev-python/pyfakefs/pyfakefs-5.1.0.ebuild30
-rw-r--r--dev-python/pyfakefs/pyfakefs-5.3.5.ebuild38
-rw-r--r--dev-python/pyfakefs/pyfakefs-5.4.0.ebuild44
-rw-r--r--dev-python/pyfakefs/pyfakefs-5.4.1.ebuild44
-rw-r--r--dev-python/pyflakes/Manifest2
-rw-r--r--dev-python/pyflakes/pyflakes-3.0.1.ebuild22
-rw-r--r--dev-python/pyflakes/pyflakes-3.2.0.ebuild36
-rw-r--r--dev-python/pyformance/pyformance-0.4-r1.ebuild33
-rw-r--r--dev-python/pyformance/pyformance-0.4-r2.ebuild44
-rw-r--r--dev-python/pyftpdlib/Manifest2
-rw-r--r--dev-python/pyftpdlib/pyftpdlib-1.5.7.ebuild84
-rw-r--r--dev-python/pyftpdlib/pyftpdlib-1.5.9.ebuild61
-rw-r--r--dev-python/pyfuse3/Manifest2
-rw-r--r--dev-python/pyfuse3/metadata.xml5
-rw-r--r--dev-python/pyfuse3/pyfuse3-3.2.2.ebuild41
-rw-r--r--dev-python/pyfuse3/pyfuse3-3.3.0.ebuild40
-rw-r--r--dev-python/pygal/Manifest2
-rw-r--r--dev-python/pygal/pygal-3.0.0-r2.ebuild44
-rw-r--r--dev-python/pygal/pygal-3.0.4-r1.ebuild54
-rw-r--r--dev-python/pygame/Manifest3
-rw-r--r--dev-python/pygame/files/pygame-2.1.2-cython_only.patch36
-rw-r--r--dev-python/pygame/files/pygame-2.1.2-libsdl2-2.26-tests.patch17
-rw-r--r--dev-python/pygame/files/pygame-2.5.2-error.patch121
-rw-r--r--dev-python/pygame/metadata.xml3
-rw-r--r--dev-python/pygame/pygame-2.1.2-r1.ebuild86
-rw-r--r--dev-python/pygame/pygame-2.1.2-r2.ebuild95
-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_sdl2/Manifest1
-rw-r--r--dev-python/pygame_sdl2/metadata.xml12
-rw-r--r--dev-python/pygame_sdl2/pygame_sdl2-7.3.5-r2.ebuild40
-rw-r--r--dev-python/pygccxml/Manifest3
-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.xml8
-rw-r--r--dev-python/pygccxml/pygccxml-2.2.1.ebuild29
-rw-r--r--dev-python/pygccxml/pygccxml-2.4.0.ebuild33
-rw-r--r--dev-python/pygccxml/pygccxml-2.5.0.ebuild49
-rw-r--r--dev-python/pygdbmi/Manifest1
-rw-r--r--dev-python/pygdbmi/metadata.xml20
-rw-r--r--dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild31
-rw-r--r--dev-python/pyghmi/Manifest4
-rw-r--r--dev-python/pyghmi/pyghmi-1.5.57.ebuild39
-rw-r--r--dev-python/pyghmi/pyghmi-1.5.67.ebuild38
-rw-r--r--dev-python/pyghmi/pyghmi-1.5.68.ebuild38
-rw-r--r--dev-python/pyghmi/pyghmi-1.5.69.ebuild38
-rw-r--r--dev-python/pygit2/Manifest2
-rw-r--r--dev-python/pygit2/pygit2-1.11.1.ebuild48
-rw-r--r--dev-python/pygit2/pygit2-1.14.1.ebuild45
-rw-r--r--dev-python/pyglet/Manifest5
-rw-r--r--dev-python/pyglet/pyglet-1.5.27.ebuild74
-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.2.1.ebuild81
-rw-r--r--dev-python/pyglet/pyglet-2.0.3.ebuild81
-rw-r--r--dev-python/pygments-ansi-color/Manifest1
-rw-r--r--dev-python/pygments-ansi-color/metadata.xml13
-rw-r--r--dev-python/pygments-ansi-color/pygments-ansi-color-0.3.0.ebuild22
-rw-r--r--dev-python/pygments-github-lexers/Manifest2
-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.ebuild21
-rw-r--r--dev-python/pygments/Manifest2
-rw-r--r--dev-python/pygments/pygments-2.14.0.ebuild39
-rw-r--r--dev-python/pygments/pygments-2.17.2.ebuild46
-rw-r--r--dev-python/pygobject/Manifest3
-rw-r--r--dev-python/pygobject/files/pygobject-3.44.1-py312.patch48
-rw-r--r--dev-python/pygobject/pygobject-3.42.2.ebuild74
-rw-r--r--dev-python/pygobject/pygobject-3.44.1.ebuild86
-rw-r--r--dev-python/pygobject/pygobject-3.46.0.ebuild80
-rw-r--r--dev-python/pygraphviz/Manifest2
-rw-r--r--dev-python/pygraphviz/files/pygraphviz-1.12-swig-4.2.0.patch290
-rw-r--r--dev-python/pygraphviz/pygraphviz-1.10.ebuild43
-rw-r--r--dev-python/pygraphviz/pygraphviz-1.12-r1.ebuild54
-rw-r--r--dev-python/pygresql/Manifest2
-rw-r--r--dev-python/pygresql/pygresql-5.2.4.ebuild54
-rw-r--r--dev-python/pygresql/pygresql-6.0.ebuild69
-rw-r--r--dev-python/pyh2o/Manifest2
-rw-r--r--dev-python/pyh2o/metadata.xml4
-rw-r--r--dev-python/pyh2o/pyh2o-1-r1.ebuild8
-rw-r--r--dev-python/pyhamcrest/Manifest2
-rw-r--r--dev-python/pyhamcrest/pyhamcrest-2.0.4.ebuild41
-rw-r--r--dev-python/pyhamcrest/pyhamcrest-2.1.0.ebuild41
-rw-r--r--dev-python/pyhcl/Manifest2
-rw-r--r--dev-python/pyhcl/pyhcl-0.4.4-r1.ebuild29
-rw-r--r--dev-python/pyhcl/pyhcl-0.4.5.ebuild36
-rw-r--r--dev-python/pyicu/Manifest2
-rw-r--r--dev-python/pyicu/pyicu-2.10.2.ebuild38
-rw-r--r--dev-python/pyicu/pyicu-2.12.ebuild45
-rw-r--r--dev-python/pyinotify/files/pyinotify-0.9.6-py312.patch84
-rw-r--r--dev-python/pyinotify/pyinotify-0.9.6-r1.ebuild15
-rw-r--r--dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r2.ebuild8
-rw-r--r--dev-python/pyjwt/Manifest2
-rw-r--r--dev-python/pyjwt/pyjwt-2.6.0.ebuild37
-rw-r--r--dev-python/pyjwt/pyjwt-2.8.0.ebuild41
-rw-r--r--dev-python/pykerberos/Manifest1
-rw-r--r--dev-python/pykerberos/pykerberos-1.3.1-r1.ebuild48
-rw-r--r--dev-python/pykka/Manifest2
-rw-r--r--dev-python/pykka/pykka-3.1.1.ebuild32
-rw-r--r--dev-python/pykka/pykka-4.0.2.ebuild32
-rw-r--r--dev-python/pykwalify/pykwalify-1.8.0-r3.ebuild12
-rw-r--r--dev-python/pylama/Manifest1
-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.ebuild54
-rw-r--r--dev-python/pylast/Manifest2
-rw-r--r--dev-python/pylast/pylast-5.1.0.ebuild37
-rw-r--r--dev-python/pylast/pylast-5.2.0.ebuild31
-rw-r--r--dev-python/pylatex/Manifest2
-rw-r--r--dev-python/pylatex/pylatex-1.4.1.ebuild59
-rw-r--r--dev-python/pylatex/pylatex-1.4.2.ebuild69
-rw-r--r--dev-python/pylatexenc/pylatexenc-2.10.ebuild12
-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/Manifest2
-rw-r--r--dev-python/pylibacl/pylibacl-0.6.0.ebuild39
-rw-r--r--dev-python/pylibacl/pylibacl-0.7.0.ebuild44
-rw-r--r--dev-python/pylibmc/pylibmc-1.6.3.ebuild3
-rw-r--r--dev-python/pylint-venv/Manifest2
-rw-r--r--dev-python/pylint-venv/pylint-venv-2.3.0.ebuild27
-rw-r--r--dev-python/pylint-venv/pylint-venv-3.0.3.ebuild41
-rw-r--r--dev-python/pylint/Manifest4
-rw-r--r--dev-python/pylint/metadata.xml2
-rw-r--r--dev-python/pylint/pylint-2.15.10.ebuild85
-rw-r--r--dev-python/pylint/pylint-2.15.8.ebuild85
-rw-r--r--dev-python/pylint/pylint-2.15.9.ebuild85
-rw-r--r--dev-python/pylint/pylint-3.1.0.ebuild92
-rw-r--r--dev-python/pylru/pylru-1.2.1.ebuild5
-rw-r--r--dev-python/pyls-spyder/pyls-spyder-0.4.0-r2.ebuild12
-rw-r--r--dev-python/pymacaroons/metadata.xml8
-rw-r--r--dev-python/pymacaroons/pymacaroons-0.13.0-r1.ebuild6
-rw-r--r--dev-python/pymad/Manifest2
-rw-r--r--dev-python/pymad/pymad-0.10-r1.ebuild27
-rw-r--r--dev-python/pymad/pymad-0.11.3.ebuild29
-rw-r--r--dev-python/pymdown-extensions/Manifest3
-rw-r--r--dev-python/pymdown-extensions/files/pymdown-extensions-10.7.1-md36.patch49
-rw-r--r--dev-python/pymdown-extensions/pymdown-extensions-10.7.1.ebuild52
-rw-r--r--dev-python/pymdown-extensions/pymdown-extensions-10.8.ebuild47
-rw-r--r--dev-python/pymdown-extensions/pymdown-extensions-9.9.2.ebuild59
-rw-r--r--dev-python/pymdown-lexers/metadata.xml8
-rw-r--r--dev-python/pymdown-lexers/pymdown-lexers-0_pre20210902.ebuild4
-rw-r--r--dev-python/pymdstat/Manifest2
-rw-r--r--dev-python/pymdstat/pymdstat-0.4.2-r1.ebuild28
-rw-r--r--dev-python/pymdstat/pymdstat-0.4.3.ebuild33
-rw-r--r--dev-python/pymediainfo/Manifest2
-rw-r--r--dev-python/pymediainfo/pymediainfo-6.0.1.ebuild32
-rw-r--r--dev-python/pymediainfo/pymediainfo-6.1.0.ebuild34
-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.4-r2.ebuild35
-rw-r--r--dev-python/pymilter/pymilter-1.0.4-r3.ebuild30
-rw-r--r--dev-python/pymongo/Manifest5
-rw-r--r--dev-python/pymongo/metadata.xml15
-rw-r--r--dev-python/pymongo/pymongo-4.1.1.ebuild117
-rw-r--r--dev-python/pymongo/pymongo-4.2.0.ebuild121
-rw-r--r--dev-python/pymongo/pymongo-4.3.2.ebuild122
-rw-r--r--dev-python/pymongo/pymongo-4.3.3.ebuild125
-rw-r--r--dev-python/pymongo/pymongo-4.6.3.ebuild154
-rw-r--r--dev-python/pymountboot/metadata.xml4
-rw-r--r--dev-python/pymountboot/pymountboot-0.2.3-r1.ebuild26
-rw-r--r--dev-python/pymysql/Manifest2
-rw-r--r--dev-python/pymysql/metadata.xml2
-rw-r--r--dev-python/pymysql/pymysql-1.0.2-r1.ebuild150
-rw-r--r--dev-python/pymysql/pymysql-1.1.0.ebuild118
-rw-r--r--dev-python/pynacl/pynacl-1.5.0-r2.ebuild41
-rw-r--r--dev-python/pynacl/pynacl-1.5.0-r3.ebuild50
-rw-r--r--dev-python/pynest2d/Manifest1
-rw-r--r--dev-python/pynest2d/files/pynest2d-4.12.1-required-flags-from-Libnest2D-target.patch23
-rw-r--r--dev-python/pynest2d/metadata.xml12
-rw-r--r--dev-python/pynest2d/pynest2d-4.13_beta.ebuild39
-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/Manifest2
-rw-r--r--dev-python/pyocr/pyocr-0.8.3.ebuild37
-rw-r--r--dev-python/pyocr/pyocr-0.8.5.ebuild36
-rw-r--r--dev-python/pyopencl/Manifest2
-rw-r--r--dev-python/pyopencl/pyopencl-2022.2.4.ebuild70
-rw-r--r--dev-python/pyopencl/pyopencl-2024.1.ebuild72
-rw-r--r--dev-python/pyopengl/Manifest3
-rw-r--r--dev-python/pyopengl/files/pyopengl-3.1.7-py312.patch28
-rw-r--r--dev-python/pyopengl/files/pyopengl-3.1.7-pypy3.patch26
-rw-r--r--dev-python/pyopengl/metadata.xml1
-rw-r--r--dev-python/pyopengl/pyopengl-3.1.5.ebuild53
-rw-r--r--dev-python/pyopengl/pyopengl-3.1.6-r1.ebuild53
-rw-r--r--dev-python/pyopengl/pyopengl-3.1.6.ebuild53
-rw-r--r--dev-python/pyopengl/pyopengl-3.1.7-r1.ebuild71
-rw-r--r--dev-python/pyopengl_accelerate/Manifest2
-rw-r--r--dev-python/pyopengl_accelerate/metadata.xml3
-rw-r--r--dev-python/pyopengl_accelerate/pyopengl_accelerate-3.1.6.ebuild38
-rw-r--r--dev-python/pyopengl_accelerate/pyopengl_accelerate-3.1.7.ebuild62
-rw-r--r--dev-python/pyopenssl/Manifest4
-rw-r--r--dev-python/pyopenssl/pyopenssl-22.1.0.ebuild68
-rw-r--r--dev-python/pyopenssl/pyopenssl-23.0.0.ebuild68
-rw-r--r--dev-python/pyopenssl/pyopenssl-24.0.0.ebuild66
-rw-r--r--dev-python/pyopenssl/pyopenssl-24.1.0.ebuild66
-rw-r--r--dev-python/pyotherside/files/pyotherside-1.6.0-qt6.5.patch34
-rw-r--r--dev-python/pyotherside/pyotherside-1.6.0-r1.ebuild106
-rw-r--r--dev-python/pyotherside/pyotherside-1.6.0.ebuild22
-rw-r--r--dev-python/pyotp/Manifest2
-rw-r--r--dev-python/pyotp/pyotp-2.8.0.ebuild22
-rw-r--r--dev-python/pyotp/pyotp-2.9.0.ebuild21
-rw-r--r--dev-python/pyparsing/Manifest2
-rw-r--r--dev-python/pyparsing/pyparsing-3.0.9.ebuild46
-rw-r--r--dev-python/pyparsing/pyparsing-3.1.2.ebuild47
-rw-r--r--dev-python/pyparted/Manifest2
-rw-r--r--dev-python/pyparted/pyparted-3.12.0.ebuild30
-rw-r--r--dev-python/pyparted/pyparted-3.13.0.ebuild36
-rw-r--r--dev-python/pypax/pypax-0.9.5-r1.ebuild3
-rw-r--r--dev-python/pypax/pypax-9999.ebuild2
-rw-r--r--dev-python/pypdf/Manifest5
-rw-r--r--dev-python/pypdf/pypdf-3.3.0.ebuild62
-rw-r--r--dev-python/pypdf/pypdf-4.1.0.ebuild62
-rw-r--r--dev-python/pypdf/pypdf-4.2.0.ebuild67
-rw-r--r--dev-python/pyperclip/metadata.xml1
-rw-r--r--dev-python/pyperclip/pyperclip-1.8.2-r1.ebuild5
-rw-r--r--dev-python/pyphen/Manifest2
-rw-r--r--dev-python/pyphen/pyphen-0.13.2.ebuild30
-rw-r--r--dev-python/pyphen/pyphen-0.14.0.ebuild25
-rw-r--r--dev-python/pypiserver/Manifest2
-rw-r--r--dev-python/pypiserver/pypiserver-1.5.1.ebuild76
-rw-r--r--dev-python/pypiserver/pypiserver-2.0.1.ebuild76
-rw-r--r--dev-python/pypng/pypng-0.20220715.0.ebuild4
-rw-r--r--dev-python/pypresence/Manifest2
-rw-r--r--dev-python/pypresence/pypresence-4.2.1.ebuild19
-rw-r--r--dev-python/pypresence/pypresence-4.3.0.ebuild19
-rw-r--r--dev-python/pyprof2calltree/Manifest2
-rw-r--r--dev-python/pyprof2calltree/pyprof2calltree-1.4.5-r1.ebuild15
-rw-r--r--dev-python/pyproj/Manifest2
-rw-r--r--dev-python/pyproj/pyproj-3.4.1.ebuild54
-rw-r--r--dev-python/pyproj/pyproj-3.6.1.ebuild55
-rw-r--r--dev-python/pyproject-api/Manifest2
-rw-r--r--dev-python/pyproject-api/metadata.xml1
-rw-r--r--dev-python/pyproject-api/pyproject-api-1.5.0.ebuild42
-rw-r--r--dev-python/pyproject-api/pyproject-api-1.6.1.ebuild42
-rw-r--r--dev-python/pyproject-fmt/Manifest4
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-0.4.1.ebuild38
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-0.5.0.ebuild38
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-1.7.0.ebuild42
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-1.8.0.ebuild42
-rw-r--r--dev-python/pyproject-hooks/pyproject-hooks-1.0.0.ebuild4
-rw-r--r--dev-python/pyproject-metadata/Manifest6
-rw-r--r--dev-python/pyproject-metadata/files/pyproject-metadata-0.5.0-no-install-tests.patch14
-rw-r--r--dev-python/pyproject-metadata/metadata.xml2
-rw-r--r--dev-python/pyproject-metadata/pyproject-metadata-0.5.0.ebuild26
-rw-r--r--dev-python/pyproject-metadata/pyproject-metadata-0.6.1.ebuild30
-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/pyproject-metadata/pyproject-metadata-0.8.0_rc1.ebuild32
-rw-r--r--dev-python/pyproject-metadata/pyproject-metadata-0.8.0_rc2.ebuild32
-rw-r--r--dev-python/pypugjs/Manifest1
-rw-r--r--dev-python/pypugjs/metadata.xml4
-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/Manifest24
-rw-r--r--dev-python/pypy-exe-bin/metadata.xml3
-rw-r--r--dev-python/pypy-exe-bin/pypy-exe-bin-7.3.10.ebuild79
-rw-r--r--dev-python/pypy-exe-bin/pypy-exe-bin-7.3.11.ebuild79
-rw-r--r--dev-python/pypy-exe-bin/pypy-exe-bin-7.3.15.ebuild82
-rw-r--r--dev-python/pypy-exe/Manifest6
-rw-r--r--dev-python/pypy-exe/metadata.xml3
-rw-r--r--dev-python/pypy-exe/pypy-exe-7.3.10.ebuild177
-rw-r--r--dev-python/pypy-exe/pypy-exe-7.3.11.ebuild177
-rw-r--r--dev-python/pypy-exe/pypy-exe-7.3.15.ebuild181
-rw-r--r--dev-python/pypy/Manifest6
-rw-r--r--dev-python/pypy/metadata.xml8
-rw-r--r--dev-python/pypy/pypy-7.3.10-r1.ebuild302
-rw-r--r--dev-python/pypy/pypy-7.3.11.ebuild302
-rw-r--r--dev-python/pypy/pypy-7.3.15.ebuild306
-rw-r--r--dev-python/pypy3-exe-bin/Manifest16
-rw-r--r--dev-python/pypy3-exe-bin/metadata.xml8
-rw-r--r--dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.10.ebuild80
-rw-r--r--dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.11.ebuild80
-rw-r--r--dev-python/pypy3-exe/Manifest4
-rw-r--r--dev-python/pypy3-exe/metadata.xml13
-rw-r--r--dev-python/pypy3-exe/pypy3-exe-7.3.10.ebuild126
-rw-r--r--dev-python/pypy3-exe/pypy3-exe-7.3.11.ebuild126
-rw-r--r--dev-python/pypy3/Manifest4
-rw-r--r--dev-python/pypy3/metadata.xml7
-rw-r--r--dev-python/pypy3/pypy3-7.3.10_p1.ebuild203
-rw-r--r--dev-python/pypy3/pypy3-7.3.11.ebuild203
-rw-r--r--dev-python/pypy3/pypy3-7.3.15.ebuild26
-rw-r--r--dev-python/pypy3_10-exe-bin/Manifest8
-rw-r--r--dev-python/pypy3_10-exe-bin/metadata.xml11
-rw-r--r--dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.15.ebuild85
-rw-r--r--dev-python/pypy3_10-exe/Manifest2
-rw-r--r--dev-python/pypy3_10-exe/metadata.xml16
-rw-r--r--dev-python/pypy3_10-exe/pypy3_10-exe-7.3.15.ebuild136
-rw-r--r--dev-python/pypy3_10/Manifest2
-rw-r--r--dev-python/pypy3_10/metadata.xml18
-rw-r--r--dev-python/pypy3_10/pypy3_10-7.3.15.ebuild212
-rw-r--r--dev-python/pypy3_9-exe-bin/Manifest8
-rw-r--r--dev-python/pypy3_9-exe-bin/metadata.xml11
-rw-r--r--dev-python/pypy3_9-exe-bin/pypy3_9-exe-bin-7.3.15.ebuild85
-rw-r--r--dev-python/pypy3_9-exe/Manifest2
-rw-r--r--dev-python/pypy3_9-exe/metadata.xml16
-rw-r--r--dev-python/pypy3_9-exe/pypy3_9-exe-7.3.15.ebuild132
-rw-r--r--dev-python/pypy3_9/Manifest2
-rw-r--r--dev-python/pypy3_9/metadata.xml18
-rw-r--r--dev-python/pypy3_9/pypy3_9-7.3.15.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.ebuild22
-rw-r--r--dev-python/pyqtgraph/Manifest3
-rw-r--r--dev-python/pyqtgraph/pyqtgraph-0.13.1.ebuild73
-rw-r--r--dev-python/pyqtgraph/pyqtgraph-0.13.3.ebuild72
-rw-r--r--dev-python/pyqtgraph/pyqtgraph-0.13.4.ebuild73
-rw-r--r--dev-python/pyquery/Manifest1
-rw-r--r--dev-python/pyquery/files/pyquery-1.4.1-network-tests.patch20
-rw-r--r--dev-python/pyquery/files/pyquery-1.4.1-tests-pypy.patch20
-rw-r--r--dev-python/pyquery/pyquery-1.4.3-r1.ebuild44
-rw-r--r--dev-python/pyquery/pyquery-2.0.0.ebuild30
-rw-r--r--dev-python/pyrate-limiter/Manifest6
-rw-r--r--dev-python/pyrate-limiter/pyrate-limiter-2.10.0.ebuild62
-rw-r--r--dev-python/pyrate-limiter/pyrate-limiter-2.8.2.ebuild48
-rw-r--r--dev-python/pyrate-limiter/pyrate-limiter-3.2.1.ebuild74
-rw-r--r--dev-python/pyrate-limiter/pyrate-limiter-3.3.0.ebuild74
-rw-r--r--dev-python/pyrate-limiter/pyrate-limiter-3.4.1.ebuild74
-rw-r--r--dev-python/pyrate-limiter/pyrate-limiter-3.6.0.ebuild75
-rw-r--r--dev-python/pyre2/Manifest1
-rw-r--r--dev-python/pyre2/metadata.xml16
-rw-r--r--dev-python/pyre2/pyre2-1.0.7.ebuild20
-rw-r--r--dev-python/pyrfc3339/pyrfc3339-1.1-r1.ebuild5
-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.3.ebuild33
-rw-r--r--dev-python/pyrqlite/Manifest3
-rw-r--r--dev-python/pyrqlite/metadata.xml3
-rw-r--r--dev-python/pyrqlite/pyrqlite-2.1.1.ebuild28
-rw-r--r--dev-python/pyrqlite/pyrqlite-2.2.2.ebuild30
-rw-r--r--dev-python/pyrsistent/Manifest3
-rw-r--r--dev-python/pyrsistent/metadata.xml6
-rw-r--r--dev-python/pyrsistent/pyrsistent-0.19.2.ebuild28
-rw-r--r--dev-python/pyrsistent/pyrsistent-0.19.3.ebuild28
-rw-r--r--dev-python/pyrsistent/pyrsistent-0.20.0.ebuild35
-rw-r--r--dev-python/pyscard/Manifest3
-rw-r--r--dev-python/pyscard/pyscard-2.0.5.ebuild43
-rw-r--r--dev-python/pyscard/pyscard-2.0.8.ebuild46
-rw-r--r--dev-python/pyscard/pyscard-2.0.9.ebuild46
-rw-r--r--dev-python/pyscreenshot/Manifest2
-rw-r--r--dev-python/pyscreenshot/metadata.xml4
-rw-r--r--dev-python/pyscreenshot/pyscreenshot-3.0-r1.ebuild42
-rw-r--r--dev-python/pyscreenshot/pyscreenshot-3.1.ebuild60
-rw-r--r--dev-python/pyserial/pyserial-3.5-r1.ebuild34
-rw-r--r--dev-python/pyserial/pyserial-3.5-r2.ebuild37
-rw-r--r--dev-python/pyside2-tools/Manifest3
-rw-r--r--dev-python/pyside2-tools/files/pyside2-tools-5.15.1-dont-install-tools.patch58
-rw-r--r--dev-python/pyside2-tools/files/pyside2-tools-5.15.11-no-copy-uic.patch43
-rw-r--r--dev-python/pyside2-tools/metadata.xml4
-rw-r--r--dev-python/pyside2-tools/pyside2-tools-5.15.13.ebuild80
-rw-r--r--dev-python/pyside2-tools/pyside2-tools-5.15.7.ebuild77
-rw-r--r--dev-python/pyside2-tools/pyside2-tools-5.15.8.ebuild77
-rw-r--r--dev-python/pyside2/Manifest3
-rw-r--r--dev-python/pyside2/files/pyside2-5.15.2-python310.patch12
-rw-r--r--dev-python/pyside2/files/pyside2-5.15.2-python311-fixups.patch54
-rw-r--r--dev-python/pyside2/files/pyside2-5.15.2-python311.patch41
-rw-r--r--dev-python/pyside2/metadata.xml2
-rw-r--r--dev-python/pyside2/pyside2-5.15.13.ebuild228
-rw-r--r--dev-python/pyside2/pyside2-5.15.7.ebuild226
-rw-r--r--dev-python/pyside2/pyside2-5.15.8.ebuild226
-rw-r--r--dev-python/pyside6-tools/Manifest2
-rw-r--r--dev-python/pyside6-tools/pyside6-tools-6.4.2.ebuild64
-rw-r--r--dev-python/pyside6-tools/pyside6-tools-6.7.0.ebuild76
-rw-r--r--dev-python/pyside6/Manifest2
-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-no-qtexampleicons.patch10
-rw-r--r--dev-python/pyside6/metadata.xml9
-rw-r--r--dev-python/pyside6/pyside6-6.4.2.ebuild223
-rw-r--r--dev-python/pyside6/pyside6-6.7.0.ebuild247
-rw-r--r--dev-python/pysimdjson/Manifest2
-rw-r--r--dev-python/pysimdjson/files/pysimdjson-6.0.2-system-lib.patch17
-rw-r--r--dev-python/pysimdjson/pysimdjson-5.0.2.ebuild53
-rw-r--r--dev-python/pysimdjson/pysimdjson-6.0.2.ebuild57
-rw-r--r--dev-python/pysmi/pysmi-0.3.4-r1.ebuild31
-rw-r--r--dev-python/pysmi/pysmi-0.3.4.ebuild21
-rw-r--r--dev-python/pysnmp-mibs/metadata.xml4
-rw-r--r--dev-python/pysnmp-mibs/pysnmp-mibs-0.1.6.ebuild6
-rw-r--r--dev-python/pysnmp/metadata.xml4
-rw-r--r--dev-python/pysnmp/pysnmp-4.4.12-r2.ebuild7
-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/Manifest2
-rw-r--r--dev-python/pysol_cards/pysol_cards-0.14.2.ebuild22
-rw-r--r--dev-python/pysol_cards/pysol_cards-0.14.3.ebuild27
-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.xml12
-rw-r--r--dev-python/pyspelling/pyspelling-2.10.ebuild67
-rw-r--r--dev-python/pyspelling/pyspelling-2.8.1.ebuild63
-rw-r--r--dev-python/pyspf/metadata.xml1
-rw-r--r--dev-python/pyspf/pyspf-2.0.14-r3.ebuild12
-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.6.3.ebuild40
-rw-r--r--dev-python/pyspnego/pyspnego-0.7.0.ebuild40
-rw-r--r--dev-python/pysrt/pysrt-1.1.2-r1.ebuild22
-rw-r--r--dev-python/pysrt/pysrt-9999.ebuild14
-rw-r--r--dev-python/pystache/Manifest2
-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.ebuild52
-rw-r--r--dev-python/pysvg/pysvg-0.2.2_p3-r1.ebuild11
-rw-r--r--dev-python/pysvn/Manifest1
-rw-r--r--dev-python/pysvn/pysvn-1.9.18.ebuild2
-rw-r--r--dev-python/pysvn/pysvn-1.9.22.ebuild62
-rw-r--r--dev-python/pytables/Manifest2
-rw-r--r--dev-python/pytables/metadata.xml24
-rw-r--r--dev-python/pytables/pytables-3.7.0.ebuild73
-rw-r--r--dev-python/pytables/pytables-3.8.0-r1.ebuild85
-rw-r--r--dev-python/pyte/Manifest2
-rw-r--r--dev-python/pyte/pyte-0.8.1.ebuild33
-rw-r--r--dev-python/pyte/pyte-0.8.2.ebuild35
-rw-r--r--dev-python/pytesseract/Manifest2
-rw-r--r--dev-python/pytesseract/metadata.xml1
-rw-r--r--dev-python/pytesseract/pytesseract-0.3.10.ebuild31
-rw-r--r--dev-python/pytesseract/pytesseract-0.3.12.ebuild38
-rw-r--r--dev-python/pytest-aiohttp/Manifest2
-rw-r--r--dev-python/pytest-aiohttp/pytest-aiohttp-1.0.4.ebuild37
-rw-r--r--dev-python/pytest-aiohttp/pytest-aiohttp-1.0.5.ebuild37
-rw-r--r--dev-python/pytest-asyncio/Manifest2
-rw-r--r--dev-python/pytest-asyncio/pytest-asyncio-0.20.3.ebuild51
-rw-r--r--dev-python/pytest-asyncio/pytest-asyncio-0.23.6.ebuild52
-rw-r--r--dev-python/pytest-bdd/Manifest2
-rw-r--r--dev-python/pytest-bdd/pytest-bdd-6.1.1.ebuild43
-rw-r--r--dev-python/pytest-bdd/pytest-bdd-7.1.2.ebuild43
-rw-r--r--dev-python/pytest-check/Manifest6
-rw-r--r--dev-python/pytest-check/pytest-check-1.3.0.ebuild27
-rw-r--r--dev-python/pytest-check/pytest-check-2.0.0.ebuild27
-rw-r--r--dev-python/pytest-check/pytest-check-2.1.0.ebuild27
-rw-r--r--dev-python/pytest-check/pytest-check-2.1.1.ebuild27
-rw-r--r--dev-python/pytest-check/pytest-check-2.1.2.ebuild27
-rw-r--r--dev-python/pytest-check/pytest-check-2.3.1.ebuild26
-rw-r--r--dev-python/pytest-codeblocks/Manifest2
-rw-r--r--dev-python/pytest-codeblocks/metadata.xml4
-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.ebuild33
-rw-r--r--dev-python/pytest-console-scripts/Manifest2
-rw-r--r--dev-python/pytest-console-scripts/pytest-console-scripts-1.3.1.ebuild39
-rw-r--r--dev-python/pytest-console-scripts/pytest-console-scripts-1.4.1.ebuild39
-rw-r--r--dev-python/pytest-cov/Manifest2
-rw-r--r--dev-python/pytest-cov/pytest-cov-4.0.0-r1.ebuild67
-rw-r--r--dev-python/pytest-cov/pytest-cov-5.0.0.ebuild63
-rw-r--r--dev-python/pytest-custom-exit-code/Manifest1
-rw-r--r--dev-python/pytest-custom-exit-code/metadata.xml12
-rw-r--r--dev-python/pytest-custom-exit-code/pytest-custom-exit-code-0.3.0.ebuild39
-rw-r--r--dev-python/pytest-datadir/Manifest2
-rw-r--r--dev-python/pytest-datadir/metadata.xml4
-rw-r--r--dev-python/pytest-datadir/pytest-datadir-1.4.1.ebuild29
-rw-r--r--dev-python/pytest-datadir/pytest-datadir-1.5.0.ebuild29
-rw-r--r--dev-python/pytest-datafiles/Manifest1
-rw-r--r--dev-python/pytest-datafiles/metadata.xml12
-rw-r--r--dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild29
-rw-r--r--dev-python/pytest-describe/Manifest2
-rw-r--r--dev-python/pytest-describe/pytest-describe-2.0.1-r1.ebuild38
-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/files/pytest-django-4.5.2-pytest-7.patch30
-rw-r--r--dev-python/pytest-django/pytest-django-4.5.2.ebuild55
-rw-r--r--dev-python/pytest-django/pytest-django-4.8.0.ebuild51
-rw-r--r--dev-python/pytest-env/Manifest2
-rw-r--r--dev-python/pytest-env/pytest-env-0.8.1.ebuild22
-rw-r--r--dev-python/pytest-env/pytest-env-1.1.3.ebuild39
-rw-r--r--dev-python/pytest-expect/pytest-expect-1.1.0-r2.ebuild6
-rw-r--r--dev-python/pytest-faulthandler/metadata.xml6
-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.ebuild37
-rw-r--r--dev-python/pytest-flake8/Manifest1
-rw-r--r--dev-python/pytest-flake8/metadata.xml17
-rw-r--r--dev-python/pytest-flake8/pytest-flake8-1.1.1.ebuild30
-rw-r--r--dev-python/pytest-forked/Manifest2
-rw-r--r--dev-python/pytest-forked/pytest-forked-1.4.0-r1.ebuild36
-rw-r--r--dev-python/pytest-forked/pytest-forked-1.6.0.ebuild46
-rw-r--r--dev-python/pytest-freezegun/metadata.xml1
-rw-r--r--dev-python/pytest-freezegun/pytest-freezegun-0.4.2-r1.ebuild2
-rw-r--r--dev-python/pytest-freezer/Manifest1
-rw-r--r--dev-python/pytest-freezer/metadata.xml12
-rw-r--r--dev-python/pytest-freezer/pytest-freezer-0.4.8.ebuild26
-rw-r--r--dev-python/pytest-golden/Manifest1
-rw-r--r--dev-python/pytest-golden/metadata.xml13
-rw-r--r--dev-python/pytest-golden/pytest-golden-0.2.2-r1.ebuild46
-rw-r--r--dev-python/pytest-helpers-namespace/pytest-helpers-namespace-2021.12.29-r1.ebuild8
-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/Manifest2
-rw-r--r--dev-python/pytest-httpbin/files/pytest-httpbin-1.0.0-pypy3-hang.patch31
-rw-r--r--dev-python/pytest-httpbin/pytest-httpbin-1.0.2.ebuild43
-rw-r--r--dev-python/pytest-httpbin/pytest-httpbin-2.0.0.ebuild41
-rw-r--r--dev-python/pytest-httpserver/Manifest2
-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.6.ebuild43
-rw-r--r--dev-python/pytest-httpx/Manifest3
-rw-r--r--dev-python/pytest-httpx/pytest-httpx-0.21.2.ebuild38
-rw-r--r--dev-python/pytest-httpx/pytest-httpx-0.21.3.ebuild38
-rw-r--r--dev-python/pytest-httpx/pytest-httpx-0.30.0.ebuild34
-rw-r--r--dev-python/pytest-jupyter/Manifest3
-rw-r--r--dev-python/pytest-jupyter/metadata.xml (renamed from dev-python/pytest_jupyter/metadata.xml)0
-rw-r--r--dev-python/pytest-jupyter/pytest-jupyter-0.10.0.ebuild35
-rw-r--r--dev-python/pytest-jupyter/pytest-jupyter-0.10.1.ebuild36
-rw-r--r--dev-python/pytest-jupyter/pytest-jupyter-0.9.1.ebuild35
-rw-r--r--dev-python/pytest-lazy-fixture/metadata.xml5
-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/Manifest1
-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-localftpserver/Manifest2
-rw-r--r--dev-python/pytest-localftpserver/pytest-localftpserver-1.1.4.ebuild32
-rw-r--r--dev-python/pytest-localftpserver/pytest-localftpserver-1.2.0.ebuild37
-rw-r--r--dev-python/pytest-localserver/Manifest2
-rw-r--r--dev-python/pytest-localserver/pytest-localserver-0.7.0.ebuild41
-rw-r--r--dev-python/pytest-localserver/pytest-localserver-0.8.1.ebuild44
-rw-r--r--dev-python/pytest-markdown/Manifest2
-rw-r--r--dev-python/pytest-markdown/pytest-markdown-1.0.2-r1.ebuild17
-rw-r--r--dev-python/pytest-metadata/Manifest2
-rw-r--r--dev-python/pytest-metadata/pytest-metadata-2.0.4.ebuild35
-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.10.0.ebuild52
-rw-r--r--dev-python/pytest-mock/pytest-mock-3.14.0.ebuild54
-rw-r--r--dev-python/pytest-mpl/pytest-mpl-0.16.1.ebuild17
-rw-r--r--dev-python/pytest-order/Manifest2
-rw-r--r--dev-python/pytest-order/metadata.xml13
-rw-r--r--dev-python/pytest-order/pytest-order-1.2.0.ebuild48
-rw-r--r--dev-python/pytest-order/pytest-order-1.2.1.ebuild48
-rw-r--r--dev-python/pytest-ordering/Manifest2
-rw-r--r--dev-python/pytest-ordering/files/pytest-ordering-0.6-marks.patch56
-rw-r--r--dev-python/pytest-ordering/metadata.xml5
-rw-r--r--dev-python/pytest-ordering/pytest-ordering-0.6-r1.ebuild35
-rw-r--r--dev-python/pytest-ordering/pytest-ordering-0.6.ebuild36
-rw-r--r--dev-python/pytest-param-files/Manifest4
-rw-r--r--dev-python/pytest-param-files/pytest-param-files-0.3.4.ebuild29
-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.ebuild30
-rw-r--r--dev-python/pytest-plus/Manifest3
-rw-r--r--dev-python/pytest-plus/pytest-plus-0.2-r1.ebuild28
-rw-r--r--dev-python/pytest-plus/pytest-plus-0.4.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.ebuild65
-rw-r--r--dev-python/pytest-qt/pytest-qt-4.4.0.ebuild78
-rw-r--r--dev-python/pytest-recording/Manifest1
-rw-r--r--dev-python/pytest-recording/metadata.xml12
-rw-r--r--dev-python/pytest-recording/pytest-recording-0.13.1.ebuild46
-rw-r--r--dev-python/pytest-regressions/Manifest3
-rw-r--r--dev-python/pytest-regressions/metadata.xml5
-rw-r--r--dev-python/pytest-regressions/pytest-regressions-2.4.1.ebuild59
-rw-r--r--dev-python/pytest-regressions/pytest-regressions-2.4.2.ebuild62
-rw-r--r--dev-python/pytest-regressions/pytest-regressions-2.5.0.ebuild62
-rw-r--r--dev-python/pytest-rerunfailures/Manifest3
-rw-r--r--dev-python/pytest-rerunfailures/pytest-rerunfailures-10.3.ebuild32
-rw-r--r--dev-python/pytest-rerunfailures/pytest-rerunfailures-11.0.ebuild32
-rw-r--r--dev-python/pytest-rerunfailures/pytest-rerunfailures-14.0.ebuild32
-rw-r--r--dev-python/pytest-reserial/Manifest1
-rw-r--r--dev-python/pytest-reserial/metadata.xml17
-rw-r--r--dev-python/pytest-reserial/pytest-reserial-0.3.0.ebuild26
-rw-r--r--dev-python/pytest-salt-factories/Manifest4
-rw-r--r--dev-python/pytest-salt-factories/metadata.xml1
-rw-r--r--dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc23.ebuild79
-rw-r--r--dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc28.ebuild86
-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/Manifest2
-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.xml2
-rw-r--r--dev-python/pytest-shell-utilities/pytest-shell-utilities-1.7.0.ebuild42
-rw-r--r--dev-python/pytest-shell-utilities/pytest-shell-utilities-1.9.0.ebuild41
-rw-r--r--dev-python/pytest-shutil/Manifest1
-rw-r--r--dev-python/pytest-shutil/metadata.xml22
-rw-r--r--dev-python/pytest-shutil/pytest-shutil-1.7.0-r3.ebuild48
-rw-r--r--dev-python/pytest-skip-markers/Manifest3
-rw-r--r--dev-python/pytest-skip-markers/metadata.xml1
-rw-r--r--dev-python/pytest-skip-markers/pytest-skip-markers-1.3.0-r2.ebuild41
-rw-r--r--dev-python/pytest-skip-markers/pytest-skip-markers-1.4.0.ebuild47
-rw-r--r--dev-python/pytest-skip-markers/pytest-skip-markers-1.5.1.ebuild47
-rw-r--r--dev-python/pytest-subprocess/Manifest1
-rw-r--r--dev-python/pytest-subprocess/metadata.xml12
-rw-r--r--dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild42
-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/Manifest2
-rw-r--r--dev-python/pytest-subtests/pytest-subtests-0.12.1.ebuild40
-rw-r--r--dev-python/pytest-subtests/pytest-subtests-0.9.0.ebuild43
-rw-r--r--dev-python/pytest-sugar/Manifest2
-rw-r--r--dev-python/pytest-sugar/pytest-sugar-0.9.6.ebuild33
-rw-r--r--dev-python/pytest-sugar/pytest-sugar-1.0.0.ebuild34
-rw-r--r--dev-python/pytest-system-statistics/files/pytest-system-statistics-1.0.2-loader.patch43
-rw-r--r--dev-python/pytest-system-statistics/metadata.xml1
-rw-r--r--dev-python/pytest-system-statistics/pytest-system-statistics-1.0.2-r1.ebuild49
-rw-r--r--dev-python/pytest-system-statistics/pytest-system-statistics-1.0.2-r2.ebuild53
-rw-r--r--dev-python/pytest-tempdir/metadata.xml2
-rw-r--r--dev-python/pytest-tempdir/pytest-tempdir-2019.10.12-r1.ebuild4
-rw-r--r--dev-python/pytest-testinfra/Manifest2
-rw-r--r--dev-python/pytest-testinfra/pytest-testinfra-10.1.0.ebuild54
-rw-r--r--dev-python/pytest-testinfra/pytest-testinfra-7.0.0.ebuild45
-rw-r--r--dev-python/pytest-timeout/Manifest2
-rw-r--r--dev-python/pytest-timeout/metadata.xml1
-rw-r--r--dev-python/pytest-timeout/pytest-timeout-2.1.0.ebuild31
-rw-r--r--dev-python/pytest-timeout/pytest-timeout-2.3.1.ebuild49
-rw-r--r--dev-python/pytest-tornado/Manifest2
-rw-r--r--dev-python/pytest-tornado/pytest-tornado-0.8.1-r1.ebuild30
-rw-r--r--dev-python/pytest-tornado/pytest-tornado-0.8.1.ebuild24
-rw-r--r--dev-python/pytest-tornasync/Manifest2
-rw-r--r--dev-python/pytest-tornasync/metadata.xml4
-rw-r--r--dev-python/pytest-tornasync/pytest-tornasync-0.6.0_p2-r1.ebuild45
-rw-r--r--dev-python/pytest-tornasync/pytest-tornasync-0.6.0_p2.ebuild35
-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/Manifest2
-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.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.ebuild36
-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.ebuild35
-rw-r--r--dev-python/pytest-xdist/Manifest2
-rw-r--r--dev-python/pytest-xdist/pytest-xdist-3.1.0.ebuild45
-rw-r--r--dev-python/pytest-xdist/pytest-xdist-3.5.0.ebuild44
-rw-r--r--dev-python/pytest-xprocess/Manifest4
-rw-r--r--dev-python/pytest-xprocess/pytest-xprocess-0.21.0.ebuild28
-rw-r--r--dev-python/pytest-xprocess/pytest-xprocess-0.22.2.ebuild28
-rw-r--r--dev-python/pytest-xprocess/pytest-xprocess-0.23.0.ebuild27
-rw-r--r--dev-python/pytest-xprocess/pytest-xprocess-1.0.1.ebuild27
-rw-r--r--dev-python/pytest-xvfb/Manifest2
-rw-r--r--dev-python/pytest-xvfb/metadata.xml6
-rw-r--r--dev-python/pytest-xvfb/pytest-xvfb-2.0.0-r2.ebuild29
-rw-r--r--dev-python/pytest-xvfb/pytest-xvfb-3.0.0.ebuild35
-rw-r--r--dev-python/pytest/Manifest5
-rw-r--r--dev-python/pytest/files/pytest-7.4.3-no-color.patch37
-rw-r--r--dev-python/pytest/pytest-7.2.0.ebuild105
-rw-r--r--dev-python/pytest/pytest-7.2.1.ebuild105
-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.1.ebuild113
-rw-r--r--dev-python/pytest_jupyter/Manifest1
-rw-r--r--dev-python/pytest_jupyter/pytest_jupyter-0.6.2.ebuild31
-rw-r--r--dev-python/python-augeas/python-augeas-1.1.0-r1.ebuild8
-rw-r--r--dev-python/python-axolotl-curve25519/files/python-axolotl-curve25519-0.4.1_p2-fix-setuptools-warning.diff12
-rw-r--r--dev-python/python-axolotl-curve25519/metadata.xml3
-rw-r--r--dev-python/python-axolotl-curve25519/python-axolotl-curve25519-0.4.1_p2-r4.ebuild8
-rw-r--r--dev-python/python-axolotl/metadata.xml3
-rw-r--r--dev-python/python-axolotl/python-axolotl-0.2.3-r3.ebuild15
-rw-r--r--dev-python/python-box/Manifest2
-rw-r--r--dev-python/python-box/metadata.xml11
-rw-r--r--dev-python/python-box/python-box-6.1.0.ebuild36
-rw-r--r--dev-python/python-box/python-box-7.1.1.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/metadata.xml5
-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/Manifest3
-rw-r--r--dev-python/python-cinderclient/files/python-cinderclient-9.1.0-fix-py3.11-argparse.patch54
-rw-r--r--dev-python/python-cinderclient/files/python-cinderclient-9.1.0-fix-py3.11-crashes.patch53
-rw-r--r--dev-python/python-cinderclient/python-cinderclient-9.1.0.ebuild52
-rw-r--r--dev-python/python-cinderclient/python-cinderclient-9.2.0.ebuild52
-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.ebuild2
-rw-r--r--dev-python/python-cstruct/Manifest1
-rw-r--r--dev-python/python-cstruct/python-cstruct-5.2.ebuild27
-rw-r--r--dev-python/python-ctags/Manifest1
-rw-r--r--dev-python/python-ctags/python-ctags-1.5.0-r1.ebuild40
-rw-r--r--dev-python/python-ctags3/Manifest1
-rw-r--r--dev-python/python-ctags3/metadata.xml (renamed from dev-python/python-ctags/metadata.xml)0
-rw-r--r--dev-python/python-ctags3/python-ctags3-1.6.0.ebuild47
-rw-r--r--dev-python/python-daemon/python-daemon-2.3.2.ebuild8
-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/Manifest3
-rw-r--r--dev-python/python-dbusmock/python-dbusmock-0.28.6-r1.ebuild43
-rw-r--r--dev-python/python-dbusmock/python-dbusmock-0.28.7.ebuild43
-rw-r--r--dev-python/python-dbusmock/python-dbusmock-0.31.1-r1.ebuild54
-rw-r--r--dev-python/python-dbusmock/python-dbusmock-0.31.1.ebuild46
-rw-r--r--dev-python/python-debian/python-debian-0.1.49.ebuild6
-rw-r--r--dev-python/python-discid/Manifest1
-rw-r--r--dev-python/python-discid/python-discid-1.2.0-r1.ebuild23
-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-docs/Manifest5
-rw-r--r--dev-python/python-docs/metadata.xml8
-rw-r--r--dev-python/python-docs/python-docs-2.7.18.ebuild23
-rw-r--r--dev-python/python-docs/python-docs-3.10.8.ebuild23
-rw-r--r--dev-python/python-docs/python-docs-3.11.0.ebuild23
-rw-r--r--dev-python/python-docs/python-docs-3.8.15.ebuild23
-rw-r--r--dev-python/python-docs/python-docs-3.9.15.ebuild23
-rw-r--r--dev-python/python-dotenv/Manifest3
-rw-r--r--dev-python/python-dotenv/python-dotenv-0.21.0.ebuild40
-rw-r--r--dev-python/python-dotenv/python-dotenv-0.21.1.ebuild40
-rw-r--r--dev-python/python-dotenv/python-dotenv-1.0.1.ebuild46
-rw-r--r--dev-python/python-editor/python-editor-1.0.4-r2.ebuild8
-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.xml19
-rw-r--r--dev-python/python-efl/python-efl-1.26.0.ebuild79
-rw-r--r--dev-python/python-email-validator/Manifest2
-rw-r--r--dev-python/python-email-validator/python-email-validator-1.3.0.ebuild44
-rw-r--r--dev-python/python-email-validator/python-email-validator-1.3.1.ebuild44
-rw-r--r--dev-python/python-engineio/Manifest2
-rw-r--r--dev-python/python-engineio/python-engineio-4.3.4.ebuild53
-rw-r--r--dev-python/python-engineio/python-engineio-4.9.0.ebuild59
-rw-r--r--dev-python/python-evdev/Manifest1
-rw-r--r--dev-python/python-evdev/metadata.xml11
-rw-r--r--dev-python/python-evdev/python-evdev-1.6.0.ebuild41
-rw-r--r--dev-python/python-gammu/Manifest2
-rw-r--r--dev-python/python-gammu/python-gammu-3.2.4-r1.ebuild58
-rw-r--r--dev-python/python-gammu/python-gammu-3.2.4.ebuild40
-rw-r--r--dev-python/python-gflags/python-gflags-3.1.2-r2.ebuild15
-rw-r--r--dev-python/python-glanceclient/Manifest2
-rw-r--r--dev-python/python-glanceclient/python-glanceclient-4.2.0.ebuild53
-rw-r--r--dev-python/python-glanceclient/python-glanceclient-4.5.0.ebuild52
-rw-r--r--dev-python/python-gnupg/Manifest4
-rw-r--r--dev-python/python-gnupg/metadata.xml3
-rw-r--r--dev-python/python-gnupg/python-gnupg-0.5.0.ebuild32
-rw-r--r--dev-python/python-gnupg/python-gnupg-0.5.2.ebuild48
-rw-r--r--dev-python/python-ironicclient/Manifest2
-rw-r--r--dev-python/python-ironicclient/python-ironicclient-5.0.1.ebuild46
-rw-r--r--dev-python/python-ironicclient/python-ironicclient-5.5.0.ebuild49
-rw-r--r--dev-python/python-jose/Manifest2
-rw-r--r--dev-python/python-jose/python-jose-3.3.0-r1.ebuild44
-rw-r--r--dev-python/python-jose/python-jose-3.3.0.ebuild36
-rw-r--r--dev-python/python-json-logger/Manifest2
-rw-r--r--dev-python/python-json-logger/python-json-logger-2.0.4.ebuild22
-rw-r--r--dev-python/python-json-logger/python-json-logger-2.0.7.ebuild38
-rw-r--r--dev-python/python-keystoneclient/Manifest2
-rw-r--r--dev-python/python-keystoneclient/metadata.xml1
-rw-r--r--dev-python/python-keystoneclient/python-keystoneclient-5.0.1.ebuild52
-rw-r--r--dev-python/python-keystoneclient/python-keystoneclient-5.4.0.ebuild56
-rw-r--r--dev-python/python-keyutils/python-keyutils-0.6-r1.ebuild33
-rw-r--r--dev-python/python-ldap/Manifest2
-rw-r--r--dev-python/python-ldap/python-ldap-3.4.3.ebuild79
-rw-r--r--dev-python/python-ldap/python-ldap-3.4.4.ebuild80
-rw-r--r--dev-python/python-ldap/python-ldap-9999.ebuild88
-rw-r--r--dev-python/python-lhafile/Manifest2
-rw-r--r--dev-python/python-lhafile/python-lhafile-0.3.0-r1.ebuild19
-rw-r--r--dev-python/python-lhafile/python-lhafile-0.3.0.ebuild16
-rw-r--r--dev-python/python-libevdev/python-libevdev-0.11.ebuild35
-rw-r--r--dev-python/python-linux-procfs/Manifest3
-rw-r--r--dev-python/python-linux-procfs/metadata.xml5
-rw-r--r--dev-python/python-linux-procfs/python-linux-procfs-0.6.3.ebuild20
-rw-r--r--dev-python/python-linux-procfs/python-linux-procfs-0.7.1.ebuild27
-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/files/python-lsp-black-1.2.1-tomli.patch94
-rw-r--r--dev-python/python-lsp-black/python-lsp-black-1.2.1-r1.ebuild42
-rw-r--r--dev-python/python-lsp-black/python-lsp-black-2.0.0.ebuild44
-rw-r--r--dev-python/python-lsp-jsonrpc/Manifest2
-rw-r--r--dev-python/python-lsp-jsonrpc/files/python-lsp-jsonrpc-1.0.0-fix-test-with-ujson-3-and-up.patch12
-rw-r--r--dev-python/python-lsp-jsonrpc/metadata.xml1
-rw-r--r--dev-python/python-lsp-jsonrpc/python-lsp-jsonrpc-1.0.0.ebuild35
-rw-r--r--dev-python/python-lsp-jsonrpc/python-lsp-jsonrpc-1.1.2.ebuild38
-rw-r--r--dev-python/python-lsp-server/Manifest4
-rw-r--r--dev-python/python-lsp-server/files/python-lsp-server-1.6.0-unpin-all-the-deps.patch51
-rw-r--r--dev-python/python-lsp-server/files/python-lsp-server-1.7.0-unpin-all-the-deps.patch51
-rw-r--r--dev-python/python-lsp-server/files/python-lsp-server-1.7.1-unpin-all-the-deps.patch60
-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.6.0-r1.ebuild89
-rw-r--r--dev-python/python-lsp-server/python-lsp-server-1.7.0-r1.ebuild89
-rw-r--r--dev-python/python-lsp-server/python-lsp-server-1.7.1.ebuild89
-rw-r--r--dev-python/python-ly/Manifest1
-rw-r--r--dev-python/python-ly/python-ly-0.9.6.ebuild18
-rw-r--r--dev-python/python-ly/python-ly-0.9.7.ebuild19
-rw-r--r--dev-python/python-lzo/Manifest2
-rw-r--r--dev-python/python-lzo/files/python-lzo-1.14-pytest.patch71
-rw-r--r--dev-python/python-lzo/python-lzo-1.14-r1.ebuild33
-rw-r--r--dev-python/python-lzo/python-lzo-1.15.ebuild35
-rw-r--r--dev-python/python-magic/files/python-magic-0.4.27-test.patch69
-rw-r--r--dev-python/python-magic/python-magic-0.4.27.ebuild9
-rw-r--r--dev-python/python-markdown-math/python-markdown-math-0.8-r1.ebuild26
-rw-r--r--dev-python/python-markdown-math/python-markdown-math-0.8.ebuild21
-rw-r--r--dev-python/python-memcached/Manifest2
-rw-r--r--dev-python/python-memcached/metadata.xml8
-rw-r--r--dev-python/python-memcached/python-memcached-1.59-r1.ebuild49
-rw-r--r--dev-python/python-memcached/python-memcached-1.62.ebuild50
-rw-r--r--dev-python/python-mimeparse/metadata.xml2
-rw-r--r--dev-python/python-mimeparse/python-mimeparse-1.6.0-r3.ebuild20
-rw-r--r--dev-python/python-mimeparse/python-mimeparse-1.6.0-r4.ebuild24
-rw-r--r--dev-python/python-miniupnpc/Manifest2
-rw-r--r--dev-python/python-miniupnpc/python-miniupnpc-2.2.4.ebuild51
-rw-r--r--dev-python/python-mpd/Manifest1
-rw-r--r--dev-python/python-mpd/python-mpd-3.0.5.ebuild46
-rw-r--r--dev-python/python-mpd2/Manifest1
-rw-r--r--dev-python/python-mpd2/metadata.xml (renamed from dev-python/python-mpd/metadata.xml)0
-rw-r--r--dev-python/python-mpd2/python-mpd2-3.1.1.ebuild49
-rw-r--r--dev-python/python-mpv/Manifest2
-rw-r--r--dev-python/python-mpv/python-mpv-1.0.1.ebuild37
-rw-r--r--dev-python/python-mpv/python-mpv-1.0.5.ebuild46
-rw-r--r--dev-python/python-multipart/Manifest2
-rw-r--r--dev-python/python-multipart/files/python-multipart-0.0.5-pyyaml.patch29
-rw-r--r--dev-python/python-multipart/metadata.xml2
-rw-r--r--dev-python/python-multipart/python-multipart-0.0.5.ebuild36
-rw-r--r--dev-python/python-multipart/python-multipart-0.0.9.ebuild31
-rw-r--r--dev-python/python-musicbrainzngs/Manifest1
-rw-r--r--dev-python/python-musicbrainzngs/python-musicbrainzngs-0.7.1.ebuild36
-rw-r--r--dev-python/python-nbxmpp/Manifest4
-rw-r--r--dev-python/python-nbxmpp/metadata.xml15
-rw-r--r--dev-python/python-nbxmpp/python-nbxmpp-3.2.5-r1.ebuild32
-rw-r--r--dev-python/python-nbxmpp/python-nbxmpp-4.0.0-r1.ebuild32
-rw-r--r--dev-python/python-nbxmpp/python-nbxmpp-4.0.1.ebuild32
-rw-r--r--dev-python/python-nbxmpp/python-nbxmpp-4.1.0.ebuild33
-rw-r--r--dev-python/python-netlink/Manifest2
-rw-r--r--dev-python/python-netlink/python-netlink-0.1.ebuild13
-rw-r--r--dev-python/python-neutronclient/Manifest3
-rw-r--r--dev-python/python-neutronclient/metadata.xml1
-rw-r--r--dev-python/python-neutronclient/python-neutronclient-11.2.0.ebuild78
-rw-r--r--dev-python/python-neutronclient/python-neutronclient-8.2.0.ebuild73
-rw-r--r--dev-python/python-neutronclient/python-neutronclient-8.2.1.ebuild73
-rw-r--r--dev-python/python-novaclient/Manifest2
-rw-r--r--dev-python/python-novaclient/python-novaclient-18.2.0.ebuild61
-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.0.0.ebuild57
-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.ebuild5
-rw-r--r--dev-python/python-poppler-qt5/Manifest2
-rw-r--r--dev-python/python-poppler-qt5/python-poppler-qt5-21.3.0.ebuild22
-rw-r--r--dev-python/python-ptrace/Manifest2
-rw-r--r--dev-python/python-ptrace/metadata.xml2
-rw-r--r--dev-python/python-ptrace/python-ptrace-0.9.8.ebuild32
-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-recurring-ical-events/Manifest1
-rw-r--r--dev-python/python-recurring-ical-events/python-recurring-ical-events-2.0.0.ebuild43
-rw-r--r--dev-python/python-redmine/Manifest1
-rw-r--r--dev-python/python-redmine/python-redmine-2.4.0.ebuild14
-rw-r--r--dev-python/python-redmine/python-redmine-2.5.0.ebuild36
-rw-r--r--dev-python/python-rtmidi/Manifest2
-rw-r--r--dev-python/python-rtmidi/files/python-rtmidi-1.4.9-unbundle_rtmidi.patch59
-rw-r--r--dev-python/python-rtmidi/files/python-rtmidi-1.5.1-unbundle_rtmidi.patch55
-rw-r--r--dev-python/python-rtmidi/python-rtmidi-1.4.9.ebuild52
-rw-r--r--dev-python/python-rtmidi/python-rtmidi-1.5.8.ebuild60
-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-7.0.0.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.xml12
-rw-r--r--dev-python/python-snappy/python-snappy-0.6.1.ebuild34
-rw-r--r--dev-python/python-snappy/python-snappy-0.7.1.ebuild26
-rw-r--r--dev-python/python-socks/Manifest4
-rw-r--r--dev-python/python-socks/python-socks-2.0.3.ebuild43
-rw-r--r--dev-python/python-socks/python-socks-2.1.0.ebuild45
-rw-r--r--dev-python/python-socks/python-socks-2.1.1.ebuild45
-rw-r--r--dev-python/python-socks/python-socks-2.4.4.ebuild46
-rw-r--r--dev-python/python-sshpubkeys/Manifest1
-rw-r--r--dev-python/python-sshpubkeys/python-sshpubkeys-3.3.1.ebuild25
-rw-r--r--dev-python/python-stdnum/Manifest2
-rw-r--r--dev-python/python-stdnum/python-stdnum-1.18.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/metadata.xml33
-rw-r--r--dev-python/python-swiftclient/python-swiftclient-4.1.0.ebuild40
-rw-r--r--dev-python/python-swiftclient/python-swiftclient-4.5.0.ebuild40
-rw-r--r--dev-python/python-systemd/python-systemd-235.ebuild5
-rw-r--r--dev-python/python-utils/Manifest2
-rw-r--r--dev-python/python-utils/metadata.xml1
-rw-r--r--dev-python/python-utils/python-utils-3.4.5.ebuild39
-rw-r--r--dev-python/python-utils/python-utils-3.8.2.ebuild47
-rw-r--r--dev-python/python-varlink/python-varlink-31.0.0.ebuild32
-rw-r--r--dev-python/python-vlc/Manifest2
-rw-r--r--dev-python/python-vlc/metadata.xml1
-rw-r--r--dev-python/python-vlc/python-vlc-3.0.18121.ebuild21
-rw-r--r--dev-python/python-vlc/python-vlc-3.0.20123.ebuild21
-rw-r--r--dev-python/python-xlib/Manifest1
-rw-r--r--dev-python/python-xlib/files/python-xlib-0.32-drop-unused-tkinter-import.patch9
-rw-r--r--dev-python/python-xlib/python-xlib-0.32-r1.ebuild52
-rw-r--r--dev-python/python-xlib/python-xlib-0.33.ebuild6
-rw-r--r--dev-python/python-xmlsec/Manifest1
-rw-r--r--dev-python/python-xmlsec/metadata.xml15
-rw-r--r--dev-python/python-xmlsec/python-xmlsec-1.3.12-r1.ebuild44
-rw-r--r--dev-python/python-xmp-toolkit/Manifest3
-rw-r--r--dev-python/python-xmp-toolkit/files/python-xmp-toolkit-2.0.1-test.patch68
-rw-r--r--dev-python/python-xmp-toolkit/python-xmp-toolkit-2.0.1-r2.ebuild24
-rw-r--r--dev-python/python-xmp-toolkit/python-xmp-toolkit-2.0.2.ebuild37
-rw-r--r--dev-python/python-zeroconf/Manifest5
-rw-r--r--dev-python/python-zeroconf/python-zeroconf-0.39.4.ebuild49
-rw-r--r--dev-python/python-zeroconf/python-zeroconf-0.44.0.ebuild59
-rw-r--r--dev-python/python-zeroconf/python-zeroconf-0.45.0.ebuild59
-rw-r--r--dev-python/python-zeroconf/python-zeroconf-0.47.0.ebuild59
-rw-r--r--dev-python/python-zeroconf/python-zeroconf-0.47.1.ebuild59
-rw-r--r--dev-python/python-zstandard/Manifest1
-rw-r--r--dev-python/python-zstandard/python-zstandard-0.19.0.ebuild65
-rw-r--r--dev-python/python3-discogs-client/Manifest1
-rw-r--r--dev-python/python3-discogs-client/metadata.xml (renamed from dev-python/discogs-client/metadata.xml)0
-rw-r--r--dev-python/python3-discogs-client/python3-discogs-client-2.7.ebuild35
-rw-r--r--dev-python/python3-discogs-client/python3-discogs-client-9999.ebuild35
-rw-r--r--dev-python/python3-lxc/python3-lxc-3.0.4-r1.ebuild26
-rw-r--r--dev-python/python3-lxc/python3-lxc-3.0.4.ebuild24
-rw-r--r--dev-python/python3-saml/Manifest2
-rw-r--r--dev-python/python3-saml/python3-saml-1.15.0.ebuild43
-rw-r--r--dev-python/python3-saml/python3-saml-1.16.0.ebuild49
-rw-r--r--dev-python/python3-xapp/Manifest3
-rw-r--r--dev-python/python3-xapp/files/python3-xapp-configurable-python-target.patch31
-rw-r--r--dev-python/python3-xapp/python3-xapp-2.2.2.ebuild25
-rw-r--r--dev-python/python3-xapp/python3-xapp-2.4.0-r1.ebuild57
-rw-r--r--dev-python/python3-xapp/python3-xapp-2.4.1-r2.ebuild58
-rw-r--r--dev-python/pythondialog/metadata.xml2
-rw-r--r--dev-python/pythondialog/pythondialog-3.5.3.ebuild6
-rw-r--r--dev-python/pythonfinder/Manifest1
-rw-r--r--dev-python/pythonfinder/metadata.xml17
-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/Manifest6
-rw-r--r--dev-python/pythran/files/pythran-0.10.0-tests-werror.patch11
-rw-r--r--dev-python/pythran/files/pythran-0.12.0-gcc13.patch36
-rw-r--r--dev-python/pythran/pythran-0.11.0.ebuild51
-rw-r--r--dev-python/pythran/pythran-0.12.0-r2.ebuild66
-rw-r--r--dev-python/pythran/pythran-0.12.0.ebuild53
-rw-r--r--dev-python/pythran/pythran-0.12.1.ebuild67
-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.15.0-r1.ebuild76
-rw-r--r--dev-python/pytidylib/pytidylib-0.3.2-r2.ebuild5
-rw-r--r--dev-python/pytimeparse/pytimeparse-1.1.8-r1.ebuild13
-rw-r--r--dev-python/pytoolconfig/Manifest3
-rw-r--r--dev-python/pytoolconfig/files/pytoolconfig-1.2.2-fix-licence.patch21
-rw-r--r--dev-python/pytoolconfig/pytoolconfig-1.2.2-r1.ebuild40
-rw-r--r--dev-python/pytoolconfig/pytoolconfig-1.2.4-r2.ebuild43
-rw-r--r--dev-python/pytoolconfig/pytoolconfig-1.3.1.ebuild35
-rw-r--r--dev-python/pytools/Manifest3
-rw-r--r--dev-python/pytools/pytools-2022.1.13.ebuild34
-rw-r--r--dev-python/pytools/pytools-2022.1.14.ebuild34
-rw-r--r--dev-python/pytools/pytools-2024.1.1.ebuild33
-rw-r--r--dev-python/pytrie/Manifest2
-rw-r--r--dev-python/pytrie/pytrie-0.4.0-r1.ebuild12
-rw-r--r--dev-python/pytz/Manifest4
-rw-r--r--dev-python/pytz/files/pytz-2023.2-system-tzinfo.patch52
-rw-r--r--dev-python/pytz/metadata.xml2
-rw-r--r--dev-python/pytz/pytz-2022.6.ebuild35
-rw-r--r--dev-python/pytz/pytz-2022.7.1.ebuild35
-rw-r--r--dev-python/pytz/pytz-2022.7.ebuild35
-rw-r--r--dev-python/pytz/pytz-2024.1.ebuild51
-rw-r--r--dev-python/pytz_deprecation_shim/Manifest1
-rw-r--r--dev-python/pytz_deprecation_shim/metadata.xml13
-rw-r--r--dev-python/pytz_deprecation_shim/pytz_deprecation_shim-0.1.0_p0-r2.ebuild46
-rw-r--r--dev-python/pytzdata/pytzdata-2020.1-r2.ebuild4
-rw-r--r--dev-python/pyu2f/Manifest2
-rw-r--r--dev-python/pyu2f/pyu2f-0.1.5-r1.ebuild20
-rw-r--r--dev-python/pyuca/Manifest1
-rw-r--r--dev-python/pyuca/metadata.xml13
-rw-r--r--dev-python/pyuca/pyuca-1.2.ebuild25
-rw-r--r--dev-python/pyudev/Manifest2
-rw-r--r--dev-python/pyudev/pyudev-0.24.0.ebuild53
-rw-r--r--dev-python/pyudev/pyudev-0.24.1.ebuild52
-rw-r--r--dev-python/pyupgrade/Manifest3
-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.3.1.ebuild29
-rw-r--r--dev-python/pyusb/files/pyusb-1.2.1-setuptools.patch37
-rw-r--r--dev-python/pyusb/pyusb-1.2.1-r1.ebuild30
-rw-r--r--dev-python/pyusb/pyusb-1.2.1.ebuild26
-rw-r--r--dev-python/pyvirtualdisplay/Manifest2
-rw-r--r--dev-python/pyvirtualdisplay/metadata.xml4
-rw-r--r--dev-python/pyvirtualdisplay/pyvirtualdisplay-3.0.ebuild27
-rw-r--r--dev-python/pywavelets/Manifest3
-rw-r--r--dev-python/pywavelets/pywavelets-1.4.1.ebuild48
-rw-r--r--dev-python/pywavelets/pywavelets-1.5.0.ebuild49
-rw-r--r--dev-python/pywavelets/pywavelets-1.6.0.ebuild49
-rw-r--r--dev-python/pywayland/Manifest2
-rw-r--r--dev-python/pywayland/pywayland-0.4.15.ebuild46
-rw-r--r--dev-python/pywayland/pywayland-0.4.17.ebuild55
-rw-r--r--dev-python/pywinrm/pywinrm-0.4.3.ebuild14
-rw-r--r--dev-python/pywlroots/Manifest2
-rw-r--r--dev-python/pywlroots/pywlroots-0.15.24-r2.ebuild48
-rw-r--r--dev-python/pywlroots/pywlroots-0.15.24.ebuild44
-rw-r--r--dev-python/pywlroots/pywlroots-0.16.6-r2.ebuild55
-rw-r--r--dev-python/pywlroots/pywlroots-0.16.7.ebuild55
-rw-r--r--dev-python/pyx/Manifest3
-rw-r--r--dev-python/pyx/pyx-0.15_p1.ebuild90
-rw-r--r--dev-python/pyx/pyx-0.16-r1.ebuild68
-rw-r--r--dev-python/pyxDamerauLevenshtein/metadata.xml4
-rw-r--r--dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.7.1.ebuild2
-rw-r--r--dev-python/pyxattr/Manifest2
-rw-r--r--dev-python/pyxattr/pyxattr-0.8.0.ebuild40
-rw-r--r--dev-python/pyxattr/pyxattr-0.8.1.ebuild40
-rw-r--r--dev-python/pyxdg/files/pyxdg-0.28-py3.12.patch12
-rw-r--r--dev-python/pyxdg/pyxdg-0.28-r1.ebuild29
-rw-r--r--dev-python/pyxdg/pyxdg-0.28.ebuild27
-rw-r--r--dev-python/pyyaml/Manifest2
-rw-r--r--dev-python/pyyaml/files/pyyaml-6.0.1-cython3.patch36
-rw-r--r--dev-python/pyyaml/pyyaml-6.0-r1.ebuild49
-rw-r--r--dev-python/pyyaml/pyyaml-6.0.1-r1.ebuild54
-rw-r--r--dev-python/pyyaml_env_tag/pyyaml_env_tag-0.1-r1.ebuild7
-rw-r--r--dev-python/pyzbar/Manifest2
-rw-r--r--dev-python/pyzbar/pyzbar-0.1.9.ebuild14
-rw-r--r--dev-python/pyzmq/Manifest3
-rw-r--r--dev-python/pyzmq/metadata.xml2
-rw-r--r--dev-python/pyzmq/pyzmq-24.0.1.ebuild81
-rw-r--r--dev-python/pyzmq/pyzmq-25.1.2.ebuild92
-rw-r--r--dev-python/pyzmq/pyzmq-26.0.0.ebuild88
-rw-r--r--dev-python/pyzotero/Manifest2
-rw-r--r--dev-python/pyzotero/pyzotero-1.5.18.ebuild37
-rw-r--r--dev-python/pyzotero/pyzotero-1.5.5.ebuild38
-rw-r--r--dev-python/qdarkstyle/Manifest3
-rw-r--r--dev-python/qdarkstyle/metadata.xml1
-rw-r--r--dev-python/qdarkstyle/qdarkstyle-3.0.3.ebuild40
-rw-r--r--dev-python/qdarkstyle/qdarkstyle-3.1.ebuild34
-rw-r--r--dev-python/qdarkstyle/qdarkstyle-3.2.3.ebuild44
-rw-r--r--dev-python/qiskit-aer/Manifest3
-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.12.0-remove-cmake-dependency.patch13
-rw-r--r--dev-python/qiskit-aer/qiskit-aer-0.11.2-r1.ebuild104
-rw-r--r--dev-python/qiskit-aer/qiskit-aer-0.12.2.ebuild128
-rw-r--r--dev-python/qiskit-aer/qiskit-aer-0.13.3.ebuild126
-rw-r--r--dev-python/qiskit-terra/Manifest123
-rw-r--r--dev-python/qiskit-terra/metadata.xml2
-rw-r--r--dev-python/qiskit-terra/qiskit-terra-0.22.3-r1.ebuild162
-rw-r--r--dev-python/qiskit-terra/qiskit-terra-0.23.0.ebuild160
-rw-r--r--dev-python/qiskit-terra/qiskit-terra-0.46.0.ebuild188
-rw-r--r--dev-python/qiskit-terra/qiskit-terra-0.46.1.ebuild188
-rw-r--r--dev-python/qpageview/qpageview-0.6.2.ebuild9
-rw-r--r--dev-python/qrcode/Manifest2
-rw-r--r--dev-python/qrcode/metadata.xml1
-rw-r--r--dev-python/qrcode/qrcode-7.3.1-r1.ebuild39
-rw-r--r--dev-python/qrcode/qrcode-7.4.2.ebuild42
-rw-r--r--dev-python/qscintilla-python/Manifest1
-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/Manifest1
-rw-r--r--dev-python/qstylizer/metadata.xml1
-rw-r--r--dev-python/qstylizer/qstylizer-0.2.2.ebuild38
-rw-r--r--dev-python/qstylizer/qstylizer-0.2.3.ebuild45
-rw-r--r--dev-python/qtawesome/Manifest3
-rw-r--r--dev-python/qtawesome/qtawesome-1.2.1.ebuild39
-rw-r--r--dev-python/qtawesome/qtawesome-1.2.2.ebuild47
-rw-r--r--dev-python/qtawesome/qtawesome-1.3.1.ebuild50
-rw-r--r--dev-python/qtconsole/Manifest6
-rw-r--r--dev-python/qtconsole/qtconsole-5.3.2.ebuild59
-rw-r--r--dev-python/qtconsole/qtconsole-5.4.0.ebuild59
-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/qtsass/Manifest2
-rw-r--r--dev-python/qtsass/metadata.xml1
-rw-r--r--dev-python/qtsass/qtsass-0.3.2.ebuild28
-rw-r--r--dev-python/qtsass/qtsass-0.4.0.ebuild35
-rw-r--r--dev-python/quantities/Manifest2
-rw-r--r--dev-python/quantities/files/quantities-0.13.0-numpy.patch68
-rw-r--r--dev-python/quantities/quantities-0.13.0-r2.ebuild35
-rw-r--r--dev-python/quantities/quantities-0.15.0.ebuild40
-rw-r--r--dev-python/quart-trio/Manifest1
-rw-r--r--dev-python/quart-trio/metadata.xml13
-rw-r--r--dev-python/quart-trio/quart-trio-0.11.1.ebuild43
-rw-r--r--dev-python/quart/Manifest2
-rw-r--r--dev-python/quart/metadata.xml12
-rw-r--r--dev-python/quart/quart-0.19.4.ebuild50
-rw-r--r--dev-python/quart/quart-0.19.5.ebuild50
-rw-r--r--dev-python/quex/Manifest1
-rw-r--r--dev-python/quex/files/quex-0.71.0-gentoo.patch11
-rw-r--r--dev-python/quex/files/quex.sh1
-rw-r--r--dev-python/quex/metadata.xml27
-rw-r--r--dev-python/quex/quex-0.71.2.ebuild53
-rw-r--r--dev-python/radon/Manifest2
-rw-r--r--dev-python/radon/radon-5.1.0-r2.ebuild37
-rw-r--r--dev-python/radon/radon-6.0.1.ebuild34
-rw-r--r--dev-python/raet/raet-0.6.8-r4.ebuild41
-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.ebuild23
-rw-r--r--dev-python/random2/random2-1.0.2.ebuild21
-rw-r--r--dev-python/rapidfuzz-capi/Manifest (renamed from dev-python/rapidfuzz_capi/Manifest)0
-rw-r--r--dev-python/rapidfuzz-capi/metadata.xml (renamed from dev-python/rapidfuzz_capi/metadata.xml)0
-rw-r--r--dev-python/rapidfuzz-capi/rapidfuzz-capi-1.0.5.ebuild25
-rw-r--r--dev-python/rapidfuzz/Manifest7
-rw-r--r--dev-python/rapidfuzz/metadata.xml2
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-2.13.2.ebuild47
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-2.13.3.ebuild47
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-2.13.4.ebuild47
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-2.13.6.ebuild47
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-2.13.7.ebuild47
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-3.7.0.ebuild66
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-3.8.1.ebuild66
-rw-r--r--dev-python/rapidfuzz_capi/rapidfuzz_capi-1.0.5.ebuild23
-rw-r--r--dev-python/rarfile/Manifest3
-rw-r--r--dev-python/rarfile/files/rarfile-4.0.patch22
-rw-r--r--dev-python/rarfile/rarfile-4.0-r1.ebuild24
-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/rdflib/Manifest2
-rw-r--r--dev-python/rdflib/rdflib-6.2.0.ebuild95
-rw-r--r--dev-python/rdflib/rdflib-7.0.0.ebuild60
-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/Manifest1
-rw-r--r--dev-python/readme-renderer/metadata.xml (renamed from dev-python/readme_renderer/metadata.xml)0
-rw-r--r--dev-python/readme-renderer/readme-renderer-43.0.ebuild34
-rw-r--r--dev-python/readme_renderer/Manifest1
-rw-r--r--dev-python/readme_renderer/readme_renderer-37.3.ebuild35
-rw-r--r--dev-python/readthedocs-sphinx-ext/Manifest2
-rw-r--r--dev-python/readthedocs-sphinx-ext/metadata.xml1
-rw-r--r--dev-python/readthedocs-sphinx-ext/readthedocs-sphinx-ext-2.2.0.ebuild30
-rw-r--r--dev-python/readthedocs-sphinx-ext/readthedocs-sphinx-ext-2.2.5.ebuild30
-rw-r--r--dev-python/readtime/Manifest1
-rw-r--r--dev-python/readtime/metadata.xml12
-rw-r--r--dev-python/readtime/readtime-3.0.0.ebuild31
-rw-r--r--dev-python/rebulk/Manifest2
-rw-r--r--dev-python/rebulk/rebulk-3.1.0-r1.ebuild35
-rw-r--r--dev-python/rebulk/rebulk-3.2.0.ebuild32
-rw-r--r--dev-python/recommonmark/Manifest2
-rw-r--r--dev-python/recommonmark/recommonmark-0.7.1-r1.ebuild23
-rw-r--r--dev-python/recurring-ical-events/Manifest3
-rw-r--r--dev-python/recurring-ical-events/metadata.xml (renamed from dev-python/python-recurring-ical-events/metadata.xml)0
-rw-r--r--dev-python/recurring-ical-events/recurring-ical-events-2.1.3.ebuild46
-rw-r--r--dev-python/recurring-ical-events/recurring-ical-events-2.2.0.ebuild46
-rw-r--r--dev-python/recurring-ical-events/recurring-ical-events-2.2.1.ebuild46
-rw-r--r--dev-python/redis-py/Manifest3
-rw-r--r--dev-python/redis-py/redis-py-4.4.0.ebuild79
-rw-r--r--dev-python/redis-py/redis-py-4.4.1.ebuild79
-rw-r--r--dev-python/redis-py/redis-py-4.4.2.ebuild79
-rw-r--r--dev-python/redis/Manifest1
-rw-r--r--dev-python/redis/metadata.xml (renamed from dev-python/redis-py/metadata.xml)0
-rw-r--r--dev-python/redis/redis-5.0.3.ebuild97
-rw-r--r--dev-python/reedsolo/Manifest1
-rw-r--r--dev-python/reedsolo/metadata.xml23
-rw-r--r--dev-python/reedsolo/reedsolo-2.1.1_beta1-r2.ebuild43
-rw-r--r--dev-python/reedsolomon/Manifest3
-rw-r--r--dev-python/reedsolomon/metadata.xml16
-rw-r--r--dev-python/reedsolomon/reedsolomon-1.6.0.ebuild34
-rw-r--r--dev-python/reedsolomon/reedsolomon-1.6.1.ebuild34
-rw-r--r--dev-python/reedsolomon/reedsolomon-1.7.0.ebuild38
-rw-r--r--dev-python/referencing/Manifest1
-rw-r--r--dev-python/referencing/metadata.xml13
-rw-r--r--dev-python/referencing/referencing-0.34.0.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.ebuild47
-rw-r--r--dev-python/reflink/reflink-0.2.2.ebuild56
-rw-r--r--dev-python/regex/Manifest3
-rw-r--r--dev-python/regex/metadata.xml1
-rw-r--r--dev-python/regex/regex-2022.10.31.ebuild35
-rw-r--r--dev-python/regex/regex-2023.12.25.ebuild37
-rw-r--r--dev-python/regex/regex-2024.4.16.ebuild37
-rw-r--r--dev-python/rencode/Manifest2
-rw-r--r--dev-python/rencode/rencode-1.0.6-r3.ebuild24
-rw-r--r--dev-python/reno/Manifest2
-rw-r--r--dev-python/reno/reno-3.5.0.ebuild39
-rw-r--r--dev-python/reno/reno-4.1.0.ebuild45
-rw-r--r--dev-python/reportlab/Manifest3
-rw-r--r--dev-python/reportlab/files/reportlab-3.6.11-correct-srclen-type-in-gstate__aapixbuf.patch37
-rw-r--r--dev-python/reportlab/files/reportlab-3.6.9-paths.patch21
-rw-r--r--dev-python/reportlab/metadata.xml1
-rw-r--r--dev-python/reportlab/reportlab-3.6.12.ebuild63
-rw-r--r--dev-python/reportlab/reportlab-4.1.0.ebuild53
-rw-r--r--dev-python/reportlab/reportlab-4.2.0.ebuild53
-rw-r--r--dev-python/repoze-lru/metadata.xml1
-rw-r--r--dev-python/repoze-lru/repoze-lru-0.7-r3.ebuild2
-rw-r--r--dev-python/requests-cache/Manifest3
-rw-r--r--dev-python/requests-cache/requests-cache-0.9.7.ebuild71
-rw-r--r--dev-python/requests-cache/requests-cache-0.9.8.ebuild71
-rw-r--r--dev-python/requests-cache/requests-cache-1.2.0.ebuild92
-rw-r--r--dev-python/requests-credssp/requests-credssp-2.0.0.ebuild4
-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.0.0.ebuild29
-rw-r--r--dev-python/requests-futures/Manifest2
-rw-r--r--dev-python/requests-futures/metadata.xml1
-rw-r--r--dev-python/requests-futures/requests-futures-1.0.0-r1.ebuild32
-rw-r--r--dev-python/requests-futures/requests-futures-1.0.1.ebuild29
-rw-r--r--dev-python/requests-kerberos/requests-kerberos-0.14.0-r1.ebuild2
-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.10.0.ebuild46
-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/metadata.xml2
-rw-r--r--dev-python/requests-ntlm/requests-ntlm-1.1.0-r1.ebuild25
-rw-r--r--dev-python/requests-ntlm/requests-ntlm-1.2.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/Manifest2
-rw-r--r--dev-python/requests-toolbelt/metadata.xml1
-rw-r--r--dev-python/requests-toolbelt/requests-toolbelt-0.10.1.ebuild52
-rw-r--r--dev-python/requests-toolbelt/requests-toolbelt-1.0.0.ebuild68
-rw-r--r--dev-python/requests-unixsocket/files/requests-unixsocket-0.3.0-urllib3-2.patch45
-rw-r--r--dev-python/requests-unixsocket/metadata.xml1
-rw-r--r--dev-python/requests-unixsocket/requests-unixsocket-0.3.0-r2.ebuild32
-rw-r--r--dev-python/requests-unixsocket/requests-unixsocket-0.3.0-r4.ebuild38
-rw-r--r--dev-python/requests-wsgi-adapter/Manifest1
-rw-r--r--dev-python/requests-wsgi-adapter/metadata.xml16
-rw-r--r--dev-python/requests-wsgi-adapter/requests-wsgi-adapter-0.4.1.ebuild38
-rw-r--r--dev-python/requests/Manifest3
-rw-r--r--dev-python/requests/files/requests-2.28.1-fix-charsetnormalizer-assert.patch41
-rw-r--r--dev-python/requests/requests-2.28.1-r1.ebuild74
-rw-r--r--dev-python/requests/requests-2.28.2.ebuild72
-rw-r--r--dev-python/requests/requests-2.31.0.ebuild81
-rw-r--r--dev-python/requestsexceptions/metadata.xml2
-rw-r--r--dev-python/requestsexceptions/requestsexceptions-1.4.0-r1.ebuild20
-rw-r--r--dev-python/resolvelib/Manifest4
-rw-r--r--dev-python/resolvelib/resolvelib-0.5.4.ebuild20
-rw-r--r--dev-python/resolvelib/resolvelib-0.8.1.ebuild25
-rw-r--r--dev-python/resolvelib/resolvelib-0.9.0.ebuild33
-rw-r--r--dev-python/resolvelib/resolvelib-1.0.1.ebuild33
-rw-r--r--dev-python/responses/Manifest3
-rw-r--r--dev-python/responses/responses-0.22.0-r1.ebuild49
-rw-r--r--dev-python/responses/responses-0.25.0.ebuild46
-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/metadata.xml1
-rw-r--r--dev-python/restructuredtext-lint/restructuredtext-lint-1.4.0.ebuild12
-rw-r--r--dev-python/retry-decorator/retry-decorator-1.1.1-r1.ebuild4
-rw-r--r--dev-python/retrying/retrying-1.3.4.ebuild4
-rw-r--r--dev-python/rfc3339-validator/rfc3339-validator-0.1.4-r1.ebuild4
-rw-r--r--dev-python/rfc3986-validator/rfc3986-validator-0.1.1-r1.ebuild11
-rw-r--r--dev-python/rfc3986/rfc3986-2.0.0-r1.ebuild5
-rw-r--r--dev-python/rfc3987/rfc3987-1.3.8-r2.ebuild31
-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.2.0.ebuild52
-rw-r--r--dev-python/rich/rich-13.3.0.ebuild52
-rw-r--r--dev-python/rich/rich-13.3.1.ebuild52
-rw-r--r--dev-python/rich/rich-13.4.2.ebuild65
-rw-r--r--dev-python/rich/rich-13.7.1.ebuild57
-rw-r--r--dev-python/roman/Manifest2
-rw-r--r--dev-python/roman/metadata.xml1
-rw-r--r--dev-python/roman/roman-3.3-r1.ebuild23
-rw-r--r--dev-python/roman/roman-4.1.ebuild26
-rw-r--r--dev-python/rope/Manifest3
-rw-r--r--dev-python/rope/rope-1.13.0.ebuild43
-rw-r--r--dev-python/rope/rope-1.6.0.ebuild40
-rw-r--r--dev-python/rope/rope-1.7.0.ebuild40
-rw-r--r--dev-python/ropemode/ropemode-0.6.1.ebuild4
-rw-r--r--dev-python/routes/metadata.xml1
-rw-r--r--dev-python/routes/routes-2.5.1-r2.ebuild2
-rw-r--r--dev-python/rpds-py/Manifest50
-rw-r--r--dev-python/rpds-py/metadata.xml12
-rw-r--r--dev-python/rpds-py/rpds-py-0.10.6.ebuild70
-rw-r--r--dev-python/rpds-py/rpds-py-0.17.1.ebuild69
-rw-r--r--dev-python/rpds-py/rpds-py-0.18.0.ebuild69
-rw-r--r--dev-python/rply/Manifest2
-rw-r--r--dev-python/rply/rply-0.7.8-r1.ebuild35
-rw-r--r--dev-python/rply/rply-0.7.8.ebuild22
-rw-r--r--dev-python/rpy/Manifest2
-rw-r--r--dev-python/rpy/metadata.xml2
-rw-r--r--dev-python/rpy/rpy-3.5.14.ebuild48
-rw-r--r--dev-python/rpy/rpy-3.5.5.ebuild41
-rw-r--r--dev-python/rpyc/Manifest2
-rw-r--r--dev-python/rpyc/files/rpyc-5.3.0-no-gevent.patch34
-rw-r--r--dev-python/rpyc/metadata.xml2
-rw-r--r--dev-python/rpyc/rpyc-5.2.3_p1.ebuild67
-rw-r--r--dev-python/rpyc/rpyc-5.3.1-r1.ebuild69
-rw-r--r--dev-python/rq/Manifest3
-rw-r--r--dev-python/rq/rq-1.11.1.ebuild60
-rw-r--r--dev-python/rq/rq-1.12.0.ebuild60
-rw-r--r--dev-python/rq/rq-1.16.1.ebuild57
-rw-r--r--dev-python/rsa/rsa-4.9.ebuild2
-rw-r--r--dev-python/rst-linker/Manifest1
-rw-r--r--dev-python/rst-linker/rst-linker-2.3.1.ebuild34
-rw-r--r--dev-python/rst-linker/rst-linker-2.4.0.ebuild13
-rw-r--r--dev-python/rtimulib/Manifest2
-rw-r--r--dev-python/rtimulib/rtimulib-7.2.1-r2.ebuild21
-rw-r--r--dev-python/rtimulib/rtimulib-7.2.1-r3.ebuild22
-rw-r--r--dev-python/rtslib-fb/Manifest2
-rw-r--r--dev-python/rtslib-fb/rtslib-fb-2.1.74.ebuild24
-rw-r--r--dev-python/rtslib-fb/rtslib-fb-2.1.76.ebuild37
-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.9.2-r2.ebuild39
-rw-r--r--dev-python/ruamel-yaml-clib/Manifest2
-rw-r--r--dev-python/ruamel-yaml-clib/files/ruamel-yaml-clib-0.2.7-clang-16.patch34
-rw-r--r--dev-python/ruamel-yaml-clib/files/ruamel-yaml-clib-0.2.7_cython_pointer_types.patch75
-rw-r--r--dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.7.ebuild38
-rw-r--r--dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.8.ebuild44
-rw-r--r--dev-python/ruamel-yaml/Manifest3
-rw-r--r--dev-python/ruamel-yaml/ruamel-yaml-0.17.21-r2.ebuild58
-rw-r--r--dev-python/ruamel-yaml/ruamel-yaml-0.17.40.ebuild53
-rw-r--r--dev-python/ruamel-yaml/ruamel-yaml-0.18.6.ebuild53
-rw-r--r--dev-python/rustworkx/Manifest136
-rw-r--r--dev-python/rustworkx/rustworkx-0.12.1.ebuild131
-rw-r--r--dev-python/rustworkx/rustworkx-0.14.1.ebuild153
-rw-r--r--dev-python/rustworkx/rustworkx-0.14.2.ebuild153
-rw-r--r--dev-python/s3transfer/Manifest2
-rw-r--r--dev-python/s3transfer/s3transfer-0.10.1.ebuild43
-rw-r--r--dev-python/s3transfer/s3transfer-0.6.0-r1.ebuild44
-rw-r--r--dev-python/sabctools/Manifest6
-rw-r--r--dev-python/sabctools/metadata.xml12
-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.0.1.ebuild39
-rw-r--r--dev-python/sabctools/sabctools-8.1.0.ebuild39
-rw-r--r--dev-python/sabyenc/Manifest1
-rw-r--r--dev-python/sabyenc/metadata.xml16
-rw-r--r--dev-python/sabyenc/sabyenc-5.4.4.ebuild29
-rw-r--r--dev-python/sarge/sarge-0.1.7_p1.ebuild2
-rw-r--r--dev-python/sarif-om/Manifest (renamed from dev-python/sarif_om/Manifest)0
-rw-r--r--dev-python/sarif-om/metadata.xml (renamed from dev-python/sarif_om/metadata.xml)0
-rw-r--r--dev-python/sarif-om/sarif-om-1.0.4-r1.ebuild27
-rw-r--r--dev-python/sarif_om/sarif_om-1.0.4-r1.ebuild25
-rw-r--r--dev-python/scandir/Manifest1
-rw-r--r--dev-python/scandir/files/scandir-1.10.0-python3.9.patch62
-rw-r--r--dev-python/scandir/metadata.xml16
-rw-r--r--dev-python/scandir/scandir-1.10.0-r3.ebuild27
-rw-r--r--dev-python/schema/Manifest1
-rw-r--r--dev-python/schema/metadata.xml12
-rw-r--r--dev-python/schema/schema-0.7.5-r1.ebuild27
-rw-r--r--dev-python/scikit-build-core/Manifest1
-rw-r--r--dev-python/scikit-build-core/metadata.xml12
-rw-r--r--dev-python/scikit-build-core/scikit-build-core-0.8.2.ebuild56
-rw-r--r--dev-python/scikit-build/Manifest4
-rw-r--r--dev-python/scikit-build/scikit-build-0.16.4.ebuild69
-rw-r--r--dev-python/scikit-build/scikit-build-0.16.5.ebuild68
-rw-r--r--dev-python/scikit-build/scikit-build-0.16.6.ebuild68
-rw-r--r--dev-python/scikit-build/scikit-build-0.17.6.ebuild68
-rw-r--r--dev-python/scikit-image/Manifest4
-rw-r--r--dev-python/scikit-image/files/scikit-image-0.22.0-no-numpydoc.patch42
-rw-r--r--dev-python/scikit-image/metadata.xml18
-rw-r--r--dev-python/scikit-image/scikit-image-0.22.0.ebuild64
-rw-r--r--dev-python/scikit-image/scikit-image-0.23.0_rc2.ebuild97
-rw-r--r--dev-python/scikit-image/scikit-image-0.23.1.ebuild97
-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.3.2-r1.ebuild78
-rw-r--r--dev-python/scikit-learn/scikit-learn-1.4.2.ebuild70
-rw-r--r--dev-python/scipy/Manifest14
-rw-r--r--dev-python/scipy/files/scipy-1.9.9999-meson-options-lapack.patch28
-rw-r--r--dev-python/scipy/metadata.xml3
-rw-r--r--dev-python/scipy/scipy-1.10.0.ebuild125
-rw-r--r--dev-python/scipy/scipy-1.11.3-r1.ebuild150
-rw-r--r--dev-python/scipy/scipy-1.11.4.ebuild150
-rw-r--r--dev-python/scipy/scipy-1.12.0.ebuild151
-rw-r--r--dev-python/scipy/scipy-1.13.0.ebuild166
-rw-r--r--dev-python/scipy/scipy-1.13.0_rc1.ebuild155
-rw-r--r--dev-python/scipy/scipy-1.9.2.ebuild107
-rw-r--r--dev-python/scipy/scipy-1.9.3.ebuild109
-rw-r--r--dev-python/scripttest/Manifest2
-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.ebuild25
-rw-r--r--dev-python/seaborn/Manifest2
-rw-r--r--dev-python/seaborn/seaborn-0.12.0.ebuild33
-rw-r--r--dev-python/seaborn/seaborn-0.13.2.ebuild39
-rw-r--r--dev-python/secretstorage/secretstorage-3.3.3.ebuild12
-rw-r--r--dev-python/seedir/seedir-0.4.2.ebuild6
-rw-r--r--dev-python/segno/Manifest1
-rw-r--r--dev-python/segno/metadata.xml12
-rw-r--r--dev-python/segno/segno-1.6.1.ebuild38
-rw-r--r--dev-python/selenium/Manifest3
-rw-r--r--dev-python/selenium/selenium-4.19.0.ebuild65
-rw-r--r--dev-python/selenium/selenium-4.5.0.ebuild31
-rw-r--r--dev-python/semantic-version/Manifest (renamed from dev-python/semantic_version/Manifest)0
-rw-r--r--dev-python/semantic-version/metadata.xml (renamed from dev-python/semantic_version/metadata.xml)0
-rw-r--r--dev-python/semantic-version/semantic-version-2.10.0.ebuild27
-rw-r--r--dev-python/semantic_version/semantic_version-2.10.0.ebuild28
-rw-r--r--dev-python/semver/Manifest2
-rw-r--r--dev-python/semver/metadata.xml7
-rw-r--r--dev-python/semver/semver-2.13.0.ebuild24
-rw-r--r--dev-python/semver/semver-3.0.2.ebuild29
-rw-r--r--dev-python/send2trash/Manifest3
-rw-r--r--dev-python/send2trash/send2trash-1.8.0-r1.ebuild25
-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/Manifest7
-rw-r--r--dev-python/sentry-sdk/files/sentry-sdk-1.21.0-ignore-warnings.patch12
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.12.1.ebuild100
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.13.0.ebuild100
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.14.0.ebuild102
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.42.0.ebuild153
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.44.0.ebuild155
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.44.1.ebuild155
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.45.0.ebuild155
-rw-r--r--dev-python/serpent/serpent-1.41.ebuild7
-rw-r--r--dev-python/serverfiles/metadata.xml1
-rw-r--r--dev-python/serverfiles/serverfiles-0.3.1-r1.ebuild21
-rw-r--r--dev-python/service-identity/Manifest1
-rw-r--r--dev-python/service-identity/metadata.xml (renamed from dev-python/service_identity/metadata.xml)0
-rw-r--r--dev-python/service-identity/service-identity-24.1.0.ebuild35
-rw-r--r--dev-python/service_identity/Manifest1
-rw-r--r--dev-python/service_identity/service_identity-21.1.0-r1.ebuild39
-rw-r--r--dev-python/setproctitle/Manifest2
-rw-r--r--dev-python/setproctitle/setproctitle-1.3.2.ebuild22
-rw-r--r--dev-python/setproctitle/setproctitle-1.3.3.ebuild22
-rw-r--r--dev-python/setuptools-gettext/Manifest1
-rw-r--r--dev-python/setuptools-gettext/metadata.xml13
-rw-r--r--dev-python/setuptools-gettext/setuptools-gettext-0.1.11.ebuild37
-rw-r--r--dev-python/setuptools-git/setuptools-git-1.2-r3.ebuild6
-rw-r--r--dev-python/setuptools-rust/Manifest55
-rw-r--r--dev-python/setuptools-rust/setuptools-rust-1.5.2.ebuild159
-rw-r--r--dev-python/setuptools-rust/setuptools-rust-1.9.0.ebuild192
-rw-r--r--dev-python/setuptools-scm/Manifest2
-rw-r--r--dev-python/setuptools-scm/metadata.xml (renamed from dev-python/setuptools_scm/metadata.xml)0
-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/Manifest7
-rw-r--r--dev-python/setuptools/setuptools-65.6.3-r1.ebuild130
-rw-r--r--dev-python/setuptools/setuptools-65.7.0.ebuild130
-rw-r--r--dev-python/setuptools/setuptools-66.0.0.ebuild127
-rw-r--r--dev-python/setuptools/setuptools-66.1.1.ebuild127
-rw-r--r--dev-python/setuptools/setuptools-69.0.3-r1.ebuild112
-rw-r--r--dev-python/setuptools/setuptools-69.2.0-r1.ebuild126
-rw-r--r--dev-python/setuptools/setuptools-69.5.1.ebuild130
-rw-r--r--dev-python/setuptools_scm/Manifest1
-rw-r--r--dev-python/setuptools_scm/setuptools_scm-7.1.0.ebuild48
-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.ebuild39
-rw-r--r--dev-python/setuptools_trial/Manifest1
-rw-r--r--dev-python/setuptools_trial/metadata.xml23
-rw-r--r--dev-python/setuptools_trial/setuptools_trial-0.6.0-r1.ebuild47
-rw-r--r--dev-python/sexpdata/Manifest2
-rw-r--r--dev-python/sexpdata/metadata.xml3
-rw-r--r--dev-python/sexpdata/sexpdata-0.0.3-r2.ebuild19
-rw-r--r--dev-python/sexpdata/sexpdata-1.0.2.ebuild25
-rw-r--r--dev-python/sgmllib3k/sgmllib3k-1.0.0-r1.ebuild9
-rw-r--r--dev-python/sh/Manifest2
-rw-r--r--dev-python/sh/files/sh-1.12.14-skip-unreliable-test.patch12
-rw-r--r--dev-python/sh/files/sh-1.14.0-skip-unreliable-test.patch8
-rw-r--r--dev-python/sh/sh-1.14.3.ebuild29
-rw-r--r--dev-python/sh/sh-2.0.6.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.0.ebuild44
-rw-r--r--dev-python/shapely/shapely-2.0.3.ebuild50
-rw-r--r--dev-python/shapely/shapely-2.0.4.ebuild50
-rw-r--r--dev-python/shellingham/Manifest1
-rw-r--r--dev-python/shellingham/metadata.xml13
-rw-r--r--dev-python/shellingham/shellingham-1.5.4.ebuild32
-rw-r--r--dev-python/shiboken2/Manifest3
-rw-r--r--dev-python/shiboken2/files/shiboken2-5.15.5-add-numpy-1.23-compatibility.patch31
-rw-r--r--dev-python/shiboken2/files/shiboken2-5.15.5-python311-1.patch72
-rw-r--r--dev-python/shiboken2/files/shiboken2-5.15.5-python311-2.patch65
-rw-r--r--dev-python/shiboken2/files/shiboken2-5.15.5-python311-3.patch55
-rw-r--r--dev-python/shiboken2/files/shiboken2-5.15.6-fix-pyside2-compile.patch11
-rw-r--r--dev-python/shiboken2/files/shiboken2-5.15.8-py-limited-api.patch11
-rw-r--r--dev-python/shiboken2/shiboken2-5.15.13.ebuild172
-rw-r--r--dev-python/shiboken2/shiboken2-5.15.7.ebuild174
-rw-r--r--dev-python/shiboken2/shiboken2-5.15.8.ebuild175
-rw-r--r--dev-python/shiboken6/Manifest3
-rw-r--r--dev-python/shiboken6/shiboken6-6.4.2.ebuild169
-rw-r--r--dev-python/shiboken6/shiboken6-6.6.2-r1.ebuild180
-rw-r--r--dev-python/shiboken6/shiboken6-6.7.0.ebuild179
-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/Manifest1
-rw-r--r--dev-python/signature-dispatch/metadata.xml (renamed from dev-python/signature_dispatch/metadata.xml)0
-rw-r--r--dev-python/signature-dispatch/signature-dispatch-1.0.1-r1.ebuild36
-rw-r--r--dev-python/signature_dispatch/Manifest1
-rw-r--r--dev-python/signature_dispatch/signature_dispatch-1.0.0-r1.ebuild31
-rw-r--r--dev-python/signedjson/metadata.xml8
-rw-r--r--dev-python/signedjson/signedjson-1.1.4.ebuild12
-rw-r--r--dev-python/simber/Manifest3
-rw-r--r--dev-python/simber/simber-0.2.4.ebuild21
-rw-r--r--dev-python/simber/simber-0.2.5.ebuild22
-rw-r--r--dev-python/simber/simber-0.2.6.ebuild30
-rw-r--r--dev-python/simpervisor/Manifest2
-rw-r--r--dev-python/simpervisor/files/simpervisor-1.0.0-yarl.patch28
-rw-r--r--dev-python/simpervisor/simpervisor-0.4-r1.ebuild24
-rw-r--r--dev-python/simpervisor/simpervisor-1.0.0-r1.ebuild34
-rw-r--r--dev-python/simple-websocket/Manifest1
-rw-r--r--dev-python/simple-websocket/metadata.xml12
-rw-r--r--dev-python/simple-websocket/simple-websocket-1.0.0.ebuild31
-rw-r--r--dev-python/simplebayes/simplebayes-1.5.8-r1.ebuild16
-rw-r--r--dev-python/simplebayes/simplebayes-1.5.8.ebuild19
-rw-r--r--dev-python/simpleeval/Manifest2
-rw-r--r--dev-python/simpleeval/simpleeval-0.9.12-r1.ebuild22
-rw-r--r--dev-python/simpleeval/simpleeval-0.9.13.ebuild21
-rw-r--r--dev-python/simplegeneric/simplegeneric-0.8.1-r2.ebuild10
-rw-r--r--dev-python/simplejson/Manifest3
-rw-r--r--dev-python/simplejson/metadata.xml6
-rw-r--r--dev-python/simplejson/simplejson-3.18.0.ebuild24
-rw-r--r--dev-python/simplejson/simplejson-3.18.1.ebuild24
-rw-r--r--dev-python/simplejson/simplejson-3.19.2.ebuild37
-rw-r--r--dev-python/simplekml/simplekml-1.3.6.ebuild5
-rw-r--r--dev-python/simpy/Manifest4
-rw-r--r--dev-python/simpy/metadata.xml2
-rw-r--r--dev-python/simpy/simpy-4.0.1-r1.ebuild28
-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.ebuild37
-rw-r--r--dev-python/sip/Manifest4
-rw-r--r--dev-python/sip/files/sip-4.18-darwin.patch30
-rw-r--r--dev-python/sip/files/sip-6.7.5-tomli.patch93
-rw-r--r--dev-python/sip/metadata.xml11
-rw-r--r--dev-python/sip/sip-4.19.25-r1.ebuild93
-rw-r--r--dev-python/sip/sip-6.7.5-r1.ebuild44
-rw-r--r--dev-python/sip/sip-6.8.3.ebuild31
-rw-r--r--dev-python/six/six-1.16.0-r1.ebuild7
-rw-r--r--dev-python/slixmpp/Manifest2
-rw-r--r--dev-python/slixmpp/metadata.xml1
-rw-r--r--dev-python/slixmpp/slixmpp-1.8.3.ebuild37
-rw-r--r--dev-python/slixmpp/slixmpp-1.8.5.ebuild52
-rw-r--r--dev-python/slixmpp/slixmpp-9999.ebuild24
-rw-r--r--dev-python/smartypants/Manifest2
-rw-r--r--dev-python/smartypants/files/smartypants-2.0.1-py312.patch110
-rw-r--r--dev-python/smartypants/smartypants-2.0.1-r1.ebuild11
-rw-r--r--dev-python/smbus2/Manifest2
-rw-r--r--dev-python/smbus2/smbus2-0.4.2.ebuild29
-rw-r--r--dev-python/smbus2/smbus2-0.4.3.ebuild29
-rw-r--r--dev-python/smmap/Manifest2
-rw-r--r--dev-python/smmap/smmap-5.0.0.ebuild19
-rw-r--r--dev-python/smmap/smmap-6.0.0.ebuild21
-rw-r--r--dev-python/snakeoil/Manifest2
-rw-r--r--dev-python/snakeoil/snakeoil-0.10.5.ebuild32
-rw-r--r--dev-python/snakeoil/snakeoil-0.10.8.ebuild33
-rw-r--r--dev-python/snakeoil/snakeoil-9999.ebuild11
-rw-r--r--dev-python/snaketrace/Manifest2
-rw-r--r--dev-python/snaketrace/snaketrace-0.3.1-r1.ebuild25
-rw-r--r--dev-python/snaketrace/snaketrace-0.3.1.ebuild17
-rw-r--r--dev-python/snappy/Manifest1
-rw-r--r--dev-python/snappy/metadata.xml12
-rw-r--r--dev-python/snappy/snappy-0.6.1.ebuild37
-rw-r--r--dev-python/snapshottest/files/snapshottest-0.6.0-py3.12-imp.patch41
-rw-r--r--dev-python/snapshottest/snapshottest-0.6.0.ebuild5
-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.ebuild11
-rw-r--r--dev-python/socketio-client-nexus/Manifest2
-rw-r--r--dev-python/socketio-client-nexus/socketio-client-nexus-0.7.6.ebuild16
-rw-r--r--dev-python/socksio/socksio-1.0.0.ebuild7
-rw-r--r--dev-python/sortedcontainers/sortedcontainers-2.4.0-r1.ebuild2
-rw-r--r--dev-python/soupsieve/Manifest2
-rw-r--r--dev-python/soupsieve/soupsieve-2.3.2_p1.ebuild35
-rw-r--r--dev-python/soupsieve/soupsieve-2.5.ebuild33
-rw-r--r--dev-python/spake2/Manifest1
-rw-r--r--dev-python/spake2/files/spake2-0.8-do_not_use_hkdf_package.patch113
-rw-r--r--dev-python/spake2/metadata.xml13
-rw-r--r--dev-python/spake2/spake2-0.8-r1.ebuild45
-rw-r--r--dev-python/spdx-tools/Manifest1
-rw-r--r--dev-python/spdx-tools/metadata.xml13
-rw-r--r--dev-python/spdx-tools/spdx-tools-0.8.2.ebuild39
-rw-r--r--dev-python/speg/speg-0.3_p20180819-r1.ebuild25
-rw-r--r--dev-python/speg/speg-0.3_p20180819-r2.ebuild25
-rw-r--r--dev-python/sphinx-aiohttp-theme/sphinx-aiohttp-theme-0.1.6-r1.ebuild13
-rw-r--r--dev-python/sphinx-argparse/Manifest1
-rw-r--r--dev-python/sphinx-argparse/metadata.xml12
-rw-r--r--dev-python/sphinx-argparse/sphinx-argparse-0.4.0.ebuild22
-rw-r--r--dev-python/sphinx-autoapi/Manifest2
-rw-r--r--dev-python/sphinx-autoapi/sphinx-autoapi-2.0.0.ebuild41
-rw-r--r--dev-python/sphinx-autoapi/sphinx-autoapi-3.0.0.ebuild50
-rw-r--r--dev-python/sphinx-autodoc-typehints/Manifest7
-rw-r--r--dev-python/sphinx-autodoc-typehints/metadata.xml4
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.19.5.ebuild44
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.20.1.ebuild44
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.21.5.ebuild44
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.21.7.ebuild44
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.21.8.ebuild44
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.0.0.ebuild39
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.1.0.ebuild41
-rw-r--r--dev-python/sphinx-basic-ng/Manifest2
-rw-r--r--dev-python/sphinx-basic-ng/sphinx-basic-ng-0.0.1_alpha12.ebuild44
-rw-r--r--dev-python/sphinx-basic-ng/sphinx-basic-ng-1.0.0_beta2.ebuild43
-rw-r--r--dev-python/sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.8.1.ebuild26
-rw-r--r--dev-python/sphinx-celery/Manifest1
-rw-r--r--dev-python/sphinx-celery/metadata.xml11
-rw-r--r--dev-python/sphinx-celery/sphinx-celery-2.1.3.ebuild23
-rw-r--r--dev-python/sphinx-copybutton/Manifest1
-rw-r--r--dev-python/sphinx-copybutton/metadata.xml15
-rw-r--r--dev-python/sphinx-copybutton/sphinx-copybutton-0.5.2.ebuild22
-rw-r--r--dev-python/sphinx-epytext/sphinx-epytext-0.0.4-r1.ebuild19
-rw-r--r--dev-python/sphinx-epytext/sphinx-epytext-0.0.4.ebuild18
-rw-r--r--dev-python/sphinx-gallery/Manifest2
-rw-r--r--dev-python/sphinx-gallery/sphinx-gallery-0.11.1.ebuild44
-rw-r--r--dev-python/sphinx-gallery/sphinx-gallery-0.15.0.ebuild51
-rw-r--r--dev-python/sphinx-inline-tabs/Manifest1
-rw-r--r--dev-python/sphinx-inline-tabs/metadata.xml15
-rw-r--r--dev-python/sphinx-inline-tabs/sphinx-inline-tabs-2023.4.21.ebuild21
-rw-r--r--dev-python/sphinx-issues/Manifest3
-rw-r--r--dev-python/sphinx-issues/sphinx-issues-3.0.1-r1.ebuild25
-rw-r--r--dev-python/sphinx-issues/sphinx-issues-4.0.0.ebuild30
-rw-r--r--dev-python/sphinx-issues/sphinx-issues-4.1.0.ebuild30
-rw-r--r--dev-python/sphinx-lv2-theme/Manifest1
-rw-r--r--dev-python/sphinx-lv2-theme/metadata.xml (renamed from dev-python/sphinx_lv2_theme/metadata.xml)0
-rw-r--r--dev-python/sphinx-lv2-theme/sphinx-lv2-theme-1.4.2.ebuild19
-rw-r--r--dev-python/sphinx-multiversion/Manifest2
-rw-r--r--dev-python/sphinx-multiversion/metadata.xml1
-rw-r--r--dev-python/sphinx-multiversion/sphinx-multiversion-0.2.4-r1.ebuild23
-rw-r--r--dev-python/sphinx-multiversion/sphinx-multiversion-0.2.4.ebuild23
-rw-r--r--dev-python/sphinx-notfound-page/Manifest2
-rw-r--r--dev-python/sphinx-notfound-page/sphinx-notfound-page-0.8.3.ebuild35
-rw-r--r--dev-python/sphinx-notfound-page/sphinx-notfound-page-1.0.0.ebuild35
-rw-r--r--dev-python/sphinx-panels/Manifest2
-rw-r--r--dev-python/sphinx-panels/files/sphinx-panels-0.6.0-sphinx-7.patch65
-rw-r--r--dev-python/sphinx-panels/metadata.xml1
-rw-r--r--dev-python/sphinx-panels/sphinx-panels-0.6.0-r1.ebuild47
-rw-r--r--dev-python/sphinx-panels/sphinx-panels-0.6.0.ebuild26
-rw-r--r--dev-python/sphinx-press-theme/Manifest1
-rw-r--r--dev-python/sphinx-press-theme/metadata.xml17
-rw-r--r--dev-python/sphinx-press-theme/sphinx-press-theme-0.9.1.ebuild20
-rw-r--r--dev-python/sphinx-prompt/Manifest2
-rw-r--r--dev-python/sphinx-prompt/sphinx-prompt-1.5.0.ebuild22
-rw-r--r--dev-python/sphinx-prompt/sphinx-prompt-1.8.0.ebuild43
-rw-r--r--dev-python/sphinx-py3doc-enhanced-theme/Manifest2
-rw-r--r--dev-python/sphinx-py3doc-enhanced-theme/sphinx-py3doc-enhanced-theme-2.3.2-r1.ebuild16
-rw-r--r--dev-python/sphinx-py3doc-enhanced-theme/sphinx-py3doc-enhanced-theme-2.4.0.ebuild20
-rw-r--r--dev-python/sphinx-pytest/Manifest2
-rw-r--r--dev-python/sphinx-pytest/metadata.xml2
-rw-r--r--dev-python/sphinx-pytest/sphinx-pytest-0.0.5.ebuild30
-rw-r--r--dev-python/sphinx-pytest/sphinx-pytest-0.2.0.ebuild30
-rw-r--r--dev-python/sphinx-rtd-theme/Manifest1
-rw-r--r--dev-python/sphinx-rtd-theme/metadata.xml (renamed from dev-python/sphinx_rtd_theme/metadata.xml)0
-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.1.ebuild57
-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/Manifest7
-rw-r--r--dev-python/sphinx/sphinx-4.5.0-r1.ebuild125
-rw-r--r--dev-python/sphinx/sphinx-5.3.0.ebuild128
-rw-r--r--dev-python/sphinx/sphinx-6.0.0.ebuild129
-rw-r--r--dev-python/sphinx/sphinx-6.1.1.ebuild128
-rw-r--r--dev-python/sphinx/sphinx-6.1.2.ebuild128
-rw-r--r--dev-python/sphinx/sphinx-6.1.3.ebuild128
-rw-r--r--dev-python/sphinx/sphinx-7.2.6.ebuild132
-rw-r--r--dev-python/sphinx_ansible_theme/Manifest2
-rw-r--r--dev-python/sphinx_ansible_theme/metadata.xml17
-rw-r--r--dev-python/sphinx_ansible_theme/sphinx_ansible_theme-0.10.1.ebuild35
-rw-r--r--dev-python/sphinx_ansible_theme/sphinx_ansible_theme-0.9.1.ebuild29
-rw-r--r--dev-python/sphinx_celery/Manifest1
-rw-r--r--dev-python/sphinx_celery/metadata.xml11
-rw-r--r--dev-python/sphinx_celery/sphinx_celery-2.0.0-r1.ebuild19
-rw-r--r--dev-python/sphinx_lv2_theme/Manifest1
-rw-r--r--dev-python/sphinx_lv2_theme/sphinx_lv2_theme-1.2.2.ebuild21
-rw-r--r--dev-python/sphinx_rtd_theme/Manifest1
-rw-r--r--dev-python/sphinx_rtd_theme/sphinx_rtd_theme-1.1.1.ebuild43
-rw-r--r--dev-python/sphinx_selective_exclude/files/sphinx_selective_exclude-description-file.patch8
-rw-r--r--dev-python/sphinx_selective_exclude/sphinx_selective_exclude-1.0.3-r1.ebuild20
-rw-r--r--dev-python/sphinx_selective_exclude/sphinx_selective_exclude-1.0.3.ebuild18
-rw-r--r--dev-python/sphinxcontrib-apidoc/Manifest3
-rw-r--r--dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.3.0-r1.ebuild41
-rw-r--r--dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.4.0.ebuild41
-rw-r--r--dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.5.0.ebuild41
-rw-r--r--dev-python/sphinxcontrib-applehelp/Manifest4
-rw-r--r--dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.2-r1.ebuild41
-rw-r--r--dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.3.ebuild44
-rw-r--r--dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.4.ebuild44
-rw-r--r--dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.8.ebuild29
-rw-r--r--dev-python/sphinxcontrib-asyncio/sphinxcontrib-asyncio-0.3.0-r1.ebuild4
-rw-r--r--dev-python/sphinxcontrib-autoprogram/Manifest3
-rw-r--r--dev-python/sphinxcontrib-autoprogram/metadata.xml1
-rw-r--r--dev-python/sphinxcontrib-autoprogram/sphinxcontrib-autoprogram-0.1.7.ebuild30
-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/Manifest2
-rw-r--r--dev-python/sphinxcontrib-bibtex/metadata.xml4
-rw-r--r--dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.5.0.ebuild49
-rw-r--r--dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.2.ebuild52
-rw-r--r--dev-python/sphinxcontrib-blockdiag/Manifest1
-rw-r--r--dev-python/sphinxcontrib-blockdiag/metadata.xml16
-rw-r--r--dev-python/sphinxcontrib-blockdiag/sphinxcontrib-blockdiag-3.0.0.ebuild53
-rw-r--r--dev-python/sphinxcontrib-devhelp/Manifest2
-rw-r--r--dev-python/sphinxcontrib-devhelp/sphinxcontrib-devhelp-1.0.2-r1.ebuild41
-rw-r--r--dev-python/sphinxcontrib-devhelp/sphinxcontrib-devhelp-1.0.6.ebuild29
-rw-r--r--dev-python/sphinxcontrib-doxylink/Manifest2
-rw-r--r--dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.2.ebuild48
-rw-r--r--dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.3.ebuild48
-rw-r--r--dev-python/sphinxcontrib-github-alt/sphinxcontrib-github-alt-1.2-r2.ebuild2
-rw-r--r--dev-python/sphinxcontrib-htmlhelp/Manifest2
-rw-r--r--dev-python/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-2.0.0-r1.ebuild44
-rw-r--r--dev-python/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-2.0.5.ebuild32
-rw-r--r--dev-python/sphinxcontrib-httpdomain/Manifest1
-rw-r--r--dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.8.0-r1.ebuild49
-rw-r--r--dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.8.1.ebuild4
-rw-r--r--dev-python/sphinxcontrib-jquery/Manifest1
-rw-r--r--dev-python/sphinxcontrib-jquery/files/sphinxcontrib-jquery-4.1-backport-pr28.patch102
-rw-r--r--dev-python/sphinxcontrib-jquery/metadata.xml13
-rw-r--r--dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-4.1.ebuild29
-rw-r--r--dev-python/sphinxcontrib-jsmath/sphinxcontrib-jsmath-1.0.1-r2.ebuild41
-rw-r--r--dev-python/sphinxcontrib-jsmath/sphinxcontrib-jsmath-1.0.1-r3.ebuild48
-rw-r--r--dev-python/sphinxcontrib-log-cabinet/Manifest (renamed from dev-python/sphinxcontrib-log_cabinet/Manifest)0
-rw-r--r--dev-python/sphinxcontrib-log-cabinet/metadata.xml (renamed from dev-python/sphinxcontrib-log_cabinet/metadata.xml)0
-rw-r--r--dev-python/sphinxcontrib-log-cabinet/sphinxcontrib-log-cabinet-1.0.1-r1.ebuild29
-rw-r--r--dev-python/sphinxcontrib-log_cabinet/sphinxcontrib-log_cabinet-1.0.1-r1.ebuild30
-rw-r--r--dev-python/sphinxcontrib-newsfeed/sphinxcontrib-newsfeed-0.1.4-r1.ebuild4
-rw-r--r--dev-python/sphinxcontrib-plantuml/Manifest1
-rw-r--r--dev-python/sphinxcontrib-plantuml/files/sphinxcontrib-plantuml-0.29-pytest-8.patch53
-rw-r--r--dev-python/sphinxcontrib-plantuml/metadata.xml13
-rw-r--r--dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.29.ebuild50
-rw-r--r--dev-python/sphinxcontrib-programoutput/metadata.xml8
-rw-r--r--dev-python/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.17-r1.ebuild8
-rw-r--r--dev-python/sphinxcontrib-qthelp/Manifest2
-rw-r--r--dev-python/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.3-r1.ebuild41
-rw-r--r--dev-python/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.7.ebuild29
-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.5-r1.ebuild41
-rw-r--r--dev-python/sphinxcontrib-spelling/Manifest2
-rw-r--r--dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-7.7.0.ebuild49
-rw-r--r--dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.0.ebuild49
-rw-r--r--dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2-r1.ebuild45
-rw-r--r--dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2.ebuild36
-rw-r--r--dev-python/sphinxcontrib-websupport/Manifest2
-rw-r--r--dev-python/sphinxcontrib-websupport/sphinxcontrib-websupport-1.2.4-r2.ebuild62
-rw-r--r--dev-python/sphinxcontrib-websupport/sphinxcontrib-websupport-1.2.7.ebuild39
-rw-r--r--dev-python/sphinxemoji/Manifest2
-rw-r--r--dev-python/sphinxemoji/sphinxemoji-0.2.0.ebuild19
-rw-r--r--dev-python/sphinxemoji/sphinxemoji-0.3.1.ebuild35
-rw-r--r--dev-python/sphinxygen/Manifest1
-rw-r--r--dev-python/sphinxygen/metadata.xml13
-rw-r--r--dev-python/sphinxygen/sphinxygen-1.0.4-r1.ebuild32
-rw-r--r--dev-python/sphobjinv/metadata.xml4
-rw-r--r--dev-python/sphobjinv/sphobjinv-2.3.1.ebuild6
-rw-r--r--dev-python/spotipy/Manifest2
-rw-r--r--dev-python/spotipy/spotipy-2.22.1.ebuild51
-rw-r--r--dev-python/spotipy/spotipy-2.23.0.ebuild51
-rw-r--r--dev-python/spur/Manifest3
-rw-r--r--dev-python/spur/metadata.xml1
-rw-r--r--dev-python/spur/spur-0.3.22-r1.ebuild40
-rw-r--r--dev-python/spur/spur-0.3.23.ebuild36
-rw-r--r--dev-python/spyder-kernels/Manifest4
-rw-r--r--dev-python/spyder-kernels/spyder-kernels-2.4.2.ebuild68
-rw-r--r--dev-python/spyder-kernels/spyder-kernels-2.5.0.ebuild55
-rw-r--r--dev-python/spyder-kernels/spyder-kernels-2.5.1.ebuild55
-rw-r--r--dev-python/spyder-kernels/spyder-kernels-3.0.0_beta4.ebuild87
-rw-r--r--dev-python/spyder-line-profiler/Manifest2
-rw-r--r--dev-python/spyder-line-profiler/spyder-line-profiler-0.3.1-r1.ebuild35
-rw-r--r--dev-python/spyder-line-profiler/spyder-line-profiler-0.3.2.ebuild42
-rw-r--r--dev-python/spyder-notebook/Manifest2
-rw-r--r--dev-python/spyder-notebook/spyder-notebook-0.4.0.ebuild45
-rw-r--r--dev-python/spyder-notebook/spyder-notebook-0.5.1.ebuild59
-rw-r--r--dev-python/spyder-terminal/spyder-terminal-1.2.2.ebuild8
-rw-r--r--dev-python/spyder-unittest/Manifest2
-rw-r--r--dev-python/spyder-unittest/spyder-unittest-0.5.1.ebuild41
-rw-r--r--dev-python/spyder-unittest/spyder-unittest-0.6.0.ebuild82
-rw-r--r--dev-python/spyder-vim/spyder-vim-0.1.0.ebuild4
-rw-r--r--dev-python/spyder/Manifest6
-rw-r--r--dev-python/spyder/files/spyder-5.4.0-unpin-qdarkstyle.patch26
-rw-r--r--dev-python/spyder/spyder-5.4.2.ebuild196
-rw-r--r--dev-python/spyder/spyder-5.5.4.ebuild193
-rw-r--r--dev-python/spyder/spyder-6.0.0_alpha4.ebuild189
-rw-r--r--dev-python/sqlalchemy-rqlite/Manifest2
-rw-r--r--dev-python/sqlalchemy-rqlite/metadata.xml1
-rw-r--r--dev-python/sqlalchemy-rqlite/sqlalchemy-rqlite-1.1.1.ebuild29
-rw-r--r--dev-python/sqlalchemy-rqlite/sqlalchemy-rqlite-1.2.ebuild35
-rw-r--r--dev-python/sqlalchemy/Manifest7
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-1.4.44.ebuild96
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-1.4.45.ebuild96
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-1.4.46.ebuild96
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-1.4.52.ebuild107
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.0.ebuild112
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.27.ebuild111
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.29.ebuild111
-rw-r--r--dev-python/sqlglot/Manifest38
-rw-r--r--dev-python/sqlglot/metadata.xml20
-rw-r--r--dev-python/sqlglot/sqlglot-23.10.0.ebuild121
-rw-r--r--dev-python/sqlglot/sqlglot-23.7.0.ebuild121
-rw-r--r--dev-python/sqlglot/sqlglot-23.8.0.ebuild121
-rw-r--r--dev-python/sqlglot/sqlglot-23.8.1.ebuild121
-rw-r--r--dev-python/sqlglot/sqlglot-23.8.2.ebuild121
-rw-r--r--dev-python/sqlitedict/sqlitedict-2.1.0.ebuild5
-rw-r--r--dev-python/sqlparse/Manifest3
-rw-r--r--dev-python/sqlparse/sqlparse-0.4.3.ebuild21
-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/sshpubkeys/Manifest1
-rw-r--r--dev-python/sshpubkeys/metadata.xml (renamed from dev-python/python-sshpubkeys/metadata.xml)0
-rw-r--r--dev-python/sshpubkeys/sshpubkeys-3.3.1-r1.ebuild32
-rw-r--r--dev-python/sshtunnel/Manifest1
-rw-r--r--dev-python/sshtunnel/sshtunnel-0.3.1.ebuild3
-rw-r--r--dev-python/sshtunnel/sshtunnel-0.4.0.ebuild19
-rw-r--r--dev-python/ssl-fetch/ssl-fetch-0.4-r1.ebuild6
-rw-r--r--dev-python/ssl-fetch/ssl-fetch-9999.ebuild4
-rw-r--r--dev-python/stack-data/Manifest1
-rw-r--r--dev-python/stack-data/metadata.xml (renamed from dev-python/stack_data/metadata.xml)0
-rw-r--r--dev-python/stack-data/stack-data-0.6.3.ebuild40
-rw-r--r--dev-python/stack_data/Manifest1
-rw-r--r--dev-python/stack_data/stack_data-0.6.2.ebuild36
-rw-r--r--dev-python/stapler/files/stapler-1.0.0_p20220330-PyPDF2-to-pypdf-r1.patch52
-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.ebuild30
-rw-r--r--dev-python/stapler/stapler-1.0.0_p20220330-r4.ebuild39
-rw-r--r--dev-python/starlette/Manifest3
-rw-r--r--dev-python/starlette/starlette-0.21.0-r1.ebuild49
-rw-r--r--dev-python/starlette/starlette-0.23.1.ebuild49
-rw-r--r--dev-python/starlette/starlette-0.37.2.ebuild54
-rw-r--r--dev-python/statsd/statsd-4.0.1.ebuild5
-rw-r--r--dev-python/statsmodels/Manifest4
-rw-r--r--dev-python/statsmodels/statsmodels-0.13.2.ebuild85
-rw-r--r--dev-python/statsmodels/statsmodels-0.13.5.ebuild87
-rw-r--r--dev-python/statsmodels/statsmodels-0.14.1.ebuild88
-rw-r--r--dev-python/statsmodels/statsmodels-0.14.2.ebuild86
-rw-r--r--dev-python/stdio-mgr/Manifest2
-rw-r--r--dev-python/stdio-mgr/metadata.xml5
-rw-r--r--dev-python/stdio-mgr/stdio-mgr-1.0.1-r1.ebuild38
-rw-r--r--dev-python/stdio-mgr/stdio-mgr-1.0.1.ebuild32
-rw-r--r--dev-python/stestr/Manifest2
-rw-r--r--dev-python/stestr/stestr-4.0.1.ebuild37
-rw-r--r--dev-python/stestr/stestr-4.1.0.ebuild46
-rw-r--r--dev-python/stevedore/Manifest2
-rw-r--r--dev-python/stevedore/stevedore-4.1.1.ebuild49
-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/stomp-py-8.0.1.ebuild32
-rw-r--r--dev-python/stomp-py/stomp-py-8.1.0.ebuild29
-rw-r--r--dev-python/strict-rfc3339/strict-rfc3339-0.7-r2.ebuild4
-rw-r--r--dev-python/stripe/Manifest6
-rw-r--r--dev-python/stripe/metadata.xml8
-rw-r--r--dev-python/stripe/stripe-5.0.0.ebuild71
-rw-r--r--dev-python/stripe/stripe-8.11.0.ebuild88
-rw-r--r--dev-python/stripe/stripe-8.9.0.ebuild81
-rw-r--r--dev-python/stripe/stripe-9.1.0.ebuild88
-rw-r--r--dev-python/stripe/stripe-9.2.0.ebuild88
-rw-r--r--dev-python/stripe/stripe-9.3.0.ebuild88
-rw-r--r--dev-python/structlog/Manifest1
-rw-r--r--dev-python/structlog/metadata.xml16
-rw-r--r--dev-python/structlog/structlog-24.1.0.ebuild31
-rw-r--r--dev-python/subprocess-tee/subprocess-tee-0.4.1.ebuild10
-rw-r--r--dev-python/subunit/Manifest2
-rw-r--r--dev-python/subunit/subunit-1.4.2.ebuild96
-rw-r--r--dev-python/subunit/subunit-1.4.4.ebuild91
-rw-r--r--dev-python/suds-community/suds-community-1.1.2.ebuild8
-rw-r--r--dev-python/sumtypes/Manifest1
-rw-r--r--dev-python/sumtypes/metadata.xml12
-rw-r--r--dev-python/sumtypes/sumtypes-0.1_alpha6.ebuild31
-rw-r--r--dev-python/superqt/Manifest2
-rw-r--r--dev-python/superqt/metadata.xml17
-rw-r--r--dev-python/superqt/superqt-0.6.2.ebuild49
-rw-r--r--dev-python/superqt/superqt-0.6.3.ebuild49
-rw-r--r--dev-python/sure/Manifest2
-rw-r--r--dev-python/sure/sure-2.0.0-r1.ebuild37
-rw-r--r--dev-python/sure/sure-2.0.1.ebuild36
-rw-r--r--dev-python/svg-path/Manifest2
-rw-r--r--dev-python/svg-path/svg-path-6.2.ebuild33
-rw-r--r--dev-python/svg-path/svg-path-6.3.ebuild41
-rw-r--r--dev-python/svglib/svglib-1.5.1.ebuild4
-rw-r--r--dev-python/svgwrite/metadata.xml1
-rw-r--r--dev-python/svgwrite/svgwrite-1.4.3.ebuild4
-rw-r--r--dev-python/swagger-spec-validator/Manifest (renamed from dev-python/swagger_spec_validator/Manifest)0
-rw-r--r--dev-python/swagger-spec-validator/metadata.xml (renamed from dev-python/swagger_spec_validator/metadata.xml)0
-rw-r--r--dev-python/swagger-spec-validator/swagger-spec-validator-3.0.3.ebuild42
-rw-r--r--dev-python/swagger_spec_validator/swagger_spec_validator-3.0.3.ebuild40
-rw-r--r--dev-python/sybil/Manifest2
-rw-r--r--dev-python/sybil/sybil-4.0.0.ebuild33
-rw-r--r--dev-python/sybil/sybil-6.0.3.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.11.0.ebuild53
-rw-r--r--dev-python/symengine/symengine-0.9.2-r1.ebuild56
-rw-r--r--dev-python/sympy/Manifest2
-rw-r--r--dev-python/sympy/files/sympy-1.12-c99.patch48
-rw-r--r--dev-python/sympy/files/sympy-1.12-py312.patch42
-rw-r--r--dev-python/sympy/sympy-1.11.1.ebuild66
-rw-r--r--dev-python/sympy/sympy-1.12-r1.ebuild116
-rw-r--r--dev-python/tables/Manifest4
-rw-r--r--dev-python/tables/files/tables-3.8.0-blosc2.patch (renamed from dev-python/pytables/files/pytables-3.8.0-blosc2.patch)0
-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/metadata.xml27
-rw-r--r--dev-python/tables/tables-3.8.0-r3.ebuild85
-rw-r--r--dev-python/tables/tables-3.9.0.ebuild74
-rw-r--r--dev-python/tables/tables-3.9.1-r1.ebuild74
-rw-r--r--dev-python/tables/tables-3.9.2.ebuild74
-rw-r--r--dev-python/tabulate/tabulate-0.9.0-r1.ebuild59
-rw-r--r--dev-python/tabulate/tabulate-0.9.0.ebuild58
-rw-r--r--dev-python/tagpy/Manifest1
-rw-r--r--dev-python/tagpy/files/tagpy-2018.1-readme.rst16
-rw-r--r--dev-python/tagpy/files/tagpy-2018.1-taglib-1.8.patch17
-rw-r--r--dev-python/tagpy/tagpy-2018.1-r3.ebuild50
-rw-r--r--dev-python/tagpy/tagpy-2022.1.ebuild5
-rw-r--r--dev-python/tappy/tappy-3.1-r1.ebuild18
-rw-r--r--dev-python/taskgroup/Manifest1
-rw-r--r--dev-python/taskgroup/metadata.xml12
-rw-r--r--dev-python/taskgroup/taskgroup-0.0.0_alpha4.ebuild26
-rw-r--r--dev-python/tasklib/Manifest1
-rw-r--r--dev-python/tasklib/metadata.xml17
-rw-r--r--dev-python/tasklib/tasklib-2.5.1.ebuild23
-rw-r--r--dev-python/tavalidate/metadata.xml8
-rw-r--r--dev-python/tavalidate/tavalidate-0.0.6-r1.ebuild5
-rw-r--r--dev-python/tavern/Manifest5
-rw-r--r--dev-python/tavern/files/tavern-2.10.1-pytest-8.patch36
-rw-r--r--dev-python/tavern/metadata.xml8
-rw-r--r--dev-python/tavern/tavern-1.24.1.ebuild43
-rw-r--r--dev-python/tavern/tavern-2.0.0-r1.ebuild51
-rw-r--r--dev-python/tavern/tavern-2.0.1.ebuild50
-rw-r--r--dev-python/tavern/tavern-2.10.1.ebuild70
-rw-r--r--dev-python/tavern/tavern-2.10.3.ebuild71
-rw-r--r--dev-python/tblib/Manifest2
-rw-r--r--dev-python/tblib/tblib-1.7.0-r1.ebuild36
-rw-r--r--dev-python/tblib/tblib-3.0.0.ebuild36
-rw-r--r--dev-python/tcolorpy/Manifest2
-rw-r--r--dev-python/tcolorpy/tcolorpy-0.1.2-r1.ebuild19
-rw-r--r--dev-python/tcolorpy/tcolorpy-0.1.4.ebuild21
-rw-r--r--dev-python/tekore/Manifest3
-rw-r--r--dev-python/tekore/tekore-4.5.0.ebuild49
-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/tempest/Manifest2
-rw-r--r--dev-python/tempest/tempest-33.0.0.ebuild75
-rw-r--r--dev-python/tempest/tempest-38.0.0.ebuild74
-rw-r--r--dev-python/tempora/Manifest4
-rw-r--r--dev-python/tempora/metadata.xml1
-rw-r--r--dev-python/tempora/tempora-5.1.0.ebuild33
-rw-r--r--dev-python/tempora/tempora-5.2.0.ebuild32
-rw-r--r--dev-python/tempora/tempora-5.2.1.ebuild33
-rw-r--r--dev-python/tempora/tempora-5.5.1.ebuild33
-rw-r--r--dev-python/tenacity/Manifest2
-rw-r--r--dev-python/tenacity/tenacity-8.1.0.ebuild41
-rw-r--r--dev-python/tenacity/tenacity-8.2.3.ebuild40
-rw-r--r--dev-python/termcolor/Manifest3
-rw-r--r--dev-python/termcolor/termcolor-2.1.1.ebuild27
-rw-r--r--dev-python/termcolor/termcolor-2.2.0.ebuild27
-rw-r--r--dev-python/termcolor/termcolor-2.4.0.ebuild27
-rw-r--r--dev-python/terminado/Manifest2
-rw-r--r--dev-python/terminado/terminado-0.17.1.ebuild34
-rw-r--r--dev-python/terminado/terminado-0.18.1.ebuild44
-rw-r--r--dev-python/terminaltables/Manifest2
-rw-r--r--dev-python/terminaltables/metadata.xml4
-rw-r--r--dev-python/terminaltables/terminaltables-3.1.10-r1.ebuild13
-rw-r--r--dev-python/terminaltables/terminaltables-9999.ebuild3
-rw-r--r--dev-python/testfixtures/Manifest2
-rw-r--r--dev-python/testfixtures/testfixtures-7.0.3.ebuild53
-rw-r--r--dev-python/testfixtures/testfixtures-8.1.0.ebuild47
-rw-r--r--dev-python/testpath/Manifest2
-rw-r--r--dev-python/testpath/testpath-0.6.0.ebuild13
-rw-r--r--dev-python/testresources/files/testresources-2.0.1-py312-tests.patch35
-rw-r--r--dev-python/testresources/metadata.xml3
-rw-r--r--dev-python/testresources/testresources-2.0.1-r2.ebuild41
-rw-r--r--dev-python/testresources/testresources-2.0.1-r3.ebuild37
-rw-r--r--dev-python/testscenarios/metadata.xml3
-rw-r--r--dev-python/testscenarios/testscenarios-0.5.0-r3.ebuild5
-rw-r--r--dev-python/testtools/Manifest2
-rw-r--r--dev-python/testtools/files/testtools-2.5.0-py311.patch116
-rw-r--r--dev-python/testtools/testtools-2.5.0-r1.ebuild60
-rw-r--r--dev-python/testtools/testtools-2.7.1.ebuild38
-rw-r--r--dev-python/text-unidecode/text-unidecode-1.3-r1.ebuild8
-rw-r--r--dev-python/textX/Manifest2
-rw-r--r--dev-python/textX/metadata.xml5
-rw-r--r--dev-python/textX/textX-3.0.0.ebuild59
-rw-r--r--dev-python/textX/textX-4.0.1.ebuild59
-rw-r--r--dev-python/textdistance/Manifest2
-rw-r--r--dev-python/textdistance/textdistance-4.5.0.ebuild36
-rw-r--r--dev-python/textdistance/textdistance-4.6.1.ebuild36
-rw-r--r--dev-python/textile/Manifest1
-rw-r--r--dev-python/textile/metadata.xml15
-rw-r--r--dev-python/textile/textile-4.0.2-r1.ebuild42
-rw-r--r--dev-python/texttable/Manifest2
-rw-r--r--dev-python/texttable/texttable-1.6.7.ebuild37
-rw-r--r--dev-python/texttable/texttable-1.7.0.ebuild32
-rw-r--r--dev-python/threadpoolctl/Manifest2
-rw-r--r--dev-python/threadpoolctl/metadata.xml1
-rw-r--r--dev-python/threadpoolctl/threadpoolctl-3.1.0.ebuild21
-rw-r--r--dev-python/threadpoolctl/threadpoolctl-3.4.0.ebuild41
-rw-r--r--dev-python/three-merge/Manifest2
-rw-r--r--dev-python/three-merge/three-merge-0.1.1-r1.ebuild36
-rw-r--r--dev-python/three-merge/three-merge-0.1.1.ebuild26
-rw-r--r--dev-python/thrift/metadata.xml5
-rw-r--r--dev-python/thriftpy2/Manifest4
-rw-r--r--dev-python/thriftpy2/thriftpy2-0.4.16.ebuild47
-rw-r--r--dev-python/thriftpy2/thriftpy2-0.4.17.ebuild44
-rw-r--r--dev-python/thriftpy2/thriftpy2-0.4.19.ebuild44
-rw-r--r--dev-python/thriftpy2/thriftpy2-0.4.20.ebuild56
-rw-r--r--dev-python/thunarx-python/Manifest1
-rw-r--r--dev-python/thunarx-python/metadata.xml8
-rw-r--r--dev-python/thunarx-python/thunarx-python-0.5.2.ebuild38
-rw-r--r--dev-python/tifffile/Manifest3
-rw-r--r--dev-python/tifffile/tifffile-2023.1.23.1.ebuild60
-rw-r--r--dev-python/tifffile/tifffile-2024.2.12.ebuild57
-rw-r--r--dev-python/tifffile/tifffile-2024.4.18.ebuild57
-rw-r--r--dev-python/tikzplotlib/Manifest1
-rw-r--r--dev-python/tikzplotlib/metadata.xml14
-rw-r--r--dev-python/tikzplotlib/tikzplotlib-0.10.1.ebuild43
-rw-r--r--dev-python/time-machine/Manifest4
-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.0.ebuild30
-rw-r--r--dev-python/time-machine/time-machine-2.14.1.ebuild30
-rw-r--r--dev-python/time-machine/time-machine-2.9.0.ebuild29
-rw-r--r--dev-python/timeout-decorator/timeout-decorator-0.5.0-r1.ebuild4
-rw-r--r--dev-python/tiny-proxy/Manifest2
-rw-r--r--dev-python/tiny-proxy/tiny-proxy-0.1.1.ebuild39
-rw-r--r--dev-python/tiny-proxy/tiny-proxy-0.2.1.ebuild39
-rw-r--r--dev-python/tinycss/metadata.xml1
-rw-r--r--dev-python/tinycss/tinycss-0.4-r1.ebuild13
-rw-r--r--dev-python/tinycss2/tinycss2-1.2.1.ebuild5
-rw-r--r--dev-python/tld/Manifest2
-rw-r--r--dev-python/tld/tld-0.12.6.ebuild27
-rw-r--r--dev-python/tld/tld-0.13.ebuild36
-rw-r--r--dev-python/tldextract/Manifest2
-rw-r--r--dev-python/tldextract/metadata.xml1
-rw-r--r--dev-python/tldextract/tldextract-3.4.0.ebuild36
-rw-r--r--dev-python/tldextract/tldextract-5.1.2.ebuild40
-rw-r--r--dev-python/tlsh/tlsh-4.8.2.ebuild3
-rw-r--r--dev-python/tokenize-rt/Manifest2
-rw-r--r--dev-python/tokenize-rt/tokenize-rt-5.0.0.ebuild21
-rw-r--r--dev-python/tokenize-rt/tokenize-rt-5.2.0.ebuild25
-rw-r--r--dev-python/toml/Manifest2
-rw-r--r--dev-python/toml/metadata.xml13
-rw-r--r--dev-python/toml/toml-0.10.2-r1.ebuild48
-rw-r--r--dev-python/tomli-w/tomli-w-1.0.0-r1.ebuild2
-rw-r--r--dev-python/tomli/tomli-2.0.1-r1.ebuild9
-rw-r--r--dev-python/tomlkit/Manifest2
-rw-r--r--dev-python/tomlkit/tomlkit-0.11.6.ebuild37
-rw-r--r--dev-python/tomlkit/tomlkit-0.12.4.ebuild43
-rw-r--r--dev-python/toolz/Manifest2
-rw-r--r--dev-python/toolz/metadata.xml1
-rw-r--r--dev-python/toolz/toolz-0.12.0.ebuild27
-rw-r--r--dev-python/toolz/toolz-0.12.1.ebuild26
-rw-r--r--dev-python/toposort/Manifest2
-rw-r--r--dev-python/toposort/toposort-1.10.ebuild23
-rw-r--r--dev-python/toposort/toposort-1.9.ebuild24
-rw-r--r--dev-python/tornado/Manifest2
-rw-r--r--dev-python/tornado/files/tornado-6.3.2-ignore-deprecationwarning.patch12
-rw-r--r--dev-python/tornado/files/tornado-6.3.2-test-timeout-increase.patch15
-rw-r--r--dev-python/tornado/tornado-6.2.ebuild68
-rw-r--r--dev-python/tornado/tornado-6.4.ebuild61
-rw-r--r--dev-python/towncrier/Manifest2
-rw-r--r--dev-python/towncrier/towncrier-22.12.0.ebuild46
-rw-r--r--dev-python/towncrier/towncrier-23.11.0.ebuild55
-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.14.2.ebuild87
-rw-r--r--dev-python/tox/tox-4.3.5.ebuild86
-rw-r--r--dev-python/tox/tox-4.4.2.ebuild95
-rw-r--r--dev-python/tpm2-pytss/Manifest2
-rw-r--r--dev-python/tpm2-pytss/tpm2-pytss-2.1.0.ebuild38
-rw-r--r--dev-python/tpm2-pytss/tpm2-pytss-2.2.1.ebuild44
-rw-r--r--dev-python/tqdm/Manifest2
-rw-r--r--dev-python/tqdm/tqdm-4.64.1.ebuild46
-rw-r--r--dev-python/tqdm/tqdm-4.66.2.ebuild45
-rw-r--r--dev-python/traitlets/Manifest3
-rw-r--r--dev-python/traitlets/traitlets-5.14.2.ebuild40
-rw-r--r--dev-python/traitlets/traitlets-5.8.0.ebuild37
-rw-r--r--dev-python/traitlets/traitlets-5.8.1.ebuild37
-rw-r--r--dev-python/transitions/transitions-0.9.0.ebuild8
-rw-r--r--dev-python/translate-toolkit/Manifest6
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.12.2.ebuild118
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.7.4.ebuild98
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.8.0.ebuild98
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.8.1.ebuild98
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.8.2.ebuild98
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.8.3.ebuild98
-rw-r--r--dev-python/tree-sitter/Manifest14
-rw-r--r--dev-python/tree-sitter/files/tree-sitter-0.21.0-unbundle.patch17
-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.20.1.ebuild59
-rw-r--r--dev-python/tree-sitter/tree-sitter-0.20.4.ebuild80
-rw-r--r--dev-python/tree-sitter/tree-sitter-0.21.0-r1.ebuild75
-rw-r--r--dev-python/treq/Manifest2
-rw-r--r--dev-python/treq/metadata.xml4
-rw-r--r--dev-python/treq/treq-22.2.0-r1.ebuild50
-rw-r--r--dev-python/treq/treq-23.11.0.ebuild50
-rw-r--r--dev-python/trimesh/Manifest7
-rw-r--r--dev-python/trimesh/trimesh-3.17.1.ebuild77
-rw-r--r--dev-python/trimesh/trimesh-3.18.0.ebuild77
-rw-r--r--dev-python/trimesh/trimesh-3.18.1.ebuild77
-rw-r--r--dev-python/trimesh/trimesh-4.1.8.ebuild69
-rw-r--r--dev-python/trimesh/trimesh-4.2.4.ebuild69
-rw-r--r--dev-python/trimesh/trimesh-4.3.0.ebuild74
-rw-r--r--dev-python/trimesh/trimesh-4.3.1.ebuild74
-rw-r--r--dev-python/trio-asyncio/Manifest1
-rw-r--r--dev-python/trio-asyncio/files/no-pytest-runner.patch10
-rw-r--r--dev-python/trio-asyncio/metadata.xml28
-rw-r--r--dev-python/trio-asyncio/trio-asyncio-0.12.0-r1.ebuild43
-rw-r--r--dev-python/trio-websocket/Manifest1
-rw-r--r--dev-python/trio-websocket/metadata.xml13
-rw-r--r--dev-python/trio-websocket/trio-websocket-0.11.1.ebuild44
-rw-r--r--dev-python/trio/Manifest3
-rw-r--r--dev-python/trio/trio-0.21.0.ebuild66
-rw-r--r--dev-python/trio/trio-0.22.0-r1.ebuild75
-rw-r--r--dev-python/trio/trio-0.25.0.ebuild67
-rw-r--r--dev-python/trove-classifiers/Manifest3
-rw-r--r--dev-python/trove-classifiers/metadata.xml1
-rw-r--r--dev-python/trove-classifiers/trove-classifiers-2023.1.20.ebuild34
-rw-r--r--dev-python/trove-classifiers/trove-classifiers-2024.3.25.ebuild43
-rw-r--r--dev-python/trove-classifiers/trove-classifiers-2024.4.10.ebuild43
-rw-r--r--dev-python/trustme/Manifest2
-rw-r--r--dev-python/trustme/metadata.xml1
-rw-r--r--dev-python/trustme/trustme-0.9.0-r1.ebuild39
-rw-r--r--dev-python/trustme/trustme-1.1.0.ebuild32
-rw-r--r--dev-python/truststore/Manifest1
-rw-r--r--dev-python/truststore/metadata.xml12
-rw-r--r--dev-python/truststore/truststore-0.8.0.ebuild46
-rw-r--r--dev-python/tubes/metadata.xml4
-rw-r--r--dev-python/tubes/tubes-0.2.1.ebuild14
-rw-r--r--dev-python/tweedledum/Manifest2
-rw-r--r--dev-python/tweedledum/metadata.xml24
-rw-r--r--dev-python/tweedledum/tweedledum-1.1.1-r1.ebuild46
-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.0.0.ebuild78
-rw-r--r--dev-python/twisted/Manifest4
-rw-r--r--dev-python/twisted/files/twisted-22.1.0-force-gtk3.patch67
-rw-r--r--dev-python/twisted/metadata.xml5
-rw-r--r--dev-python/twisted/twisted-22.10.0.ebuild169
-rw-r--r--dev-python/twisted/twisted-23.10.0.ebuild150
-rw-r--r--dev-python/twisted/twisted-24.2.0_rc1.ebuild152
-rw-r--r--dev-python/twisted/twisted-24.3.0.ebuild152
-rw-r--r--dev-python/twython/twython-3.9.1-r1.ebuild12
-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/Manifest1
-rw-r--r--dev-python/txaio/metadata.xml4
-rw-r--r--dev-python/txaio/txaio-22.2.1.ebuild44
-rw-r--r--dev-python/txaio/txaio-23.1.1.ebuild11
-rw-r--r--dev-python/txredisapi/Manifest1
-rw-r--r--dev-python/txredisapi/metadata.xml13
-rw-r--r--dev-python/txredisapi/txredisapi-1.4.10.ebuild84
-rw-r--r--dev-python/txrequests/metadata.xml13
-rw-r--r--dev-python/txrequests/txrequests-0.9.6-r1.ebuild26
-rw-r--r--dev-python/txtorcon/Manifest1
-rw-r--r--dev-python/txtorcon/metadata.xml13
-rw-r--r--dev-python/txtorcon/txtorcon-23.11.0.ebuild40
-rw-r--r--dev-python/typed-ast/Manifest2
-rw-r--r--dev-python/typed-ast/files/typed-ast-1.4.3-python310.patch30
-rw-r--r--dev-python/typed-ast/metadata.xml12
-rw-r--r--dev-python/typed-ast/typed-ast-1.4.3-r1.ebuild27
-rw-r--r--dev-python/typed-ast/typed-ast-1.5.4.ebuild28
-rw-r--r--dev-python/typeguard/Manifest3
-rw-r--r--dev-python/typeguard/files/typeguard-2.13.3-test.patch44
-rw-r--r--dev-python/typeguard/metadata.xml1
-rw-r--r--dev-python/typeguard/typeguard-2.13.3-r1.ebuild49
-rw-r--r--dev-python/typeguard/typeguard-4.1.5.ebuild42
-rw-r--r--dev-python/typeguard/typeguard-4.2.1.ebuild42
-rw-r--r--dev-python/types-docutils/Manifest2
-rw-r--r--dev-python/types-docutils/types-docutils-0.19.1.2.ebuild17
-rw-r--r--dev-python/types-docutils/types-docutils-0.20.0.20240406.ebuild17
-rw-r--r--dev-python/types-gdb/Manifest3
-rw-r--r--dev-python/types-gdb/types-gdb-12.1.4.20240401.ebuild17
-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.ebuild16
-rw-r--r--dev-python/types-psutil/Manifest1
-rw-r--r--dev-python/types-psutil/metadata.xml13
-rw-r--r--dev-python/types-psutil/types-psutil-5.9.5.20240316.ebuild17
-rw-r--r--dev-python/types-setuptools/Manifest2
-rw-r--r--dev-python/types-setuptools/metadata.xml13
-rw-r--r--dev-python/types-setuptools/types-setuptools-69.2.0.20240317.ebuild17
-rw-r--r--dev-python/types-setuptools/types-setuptools-69.5.0.20240415.ebuild17
-rw-r--r--dev-python/typing-extensions/Manifest4
-rw-r--r--dev-python/typing-extensions/files/typing-extensions-4.4.0-pypy-tests.patch28
-rw-r--r--dev-python/typing-extensions/typing-extensions-4.10.0.ebuild26
-rw-r--r--dev-python/typing-extensions/typing-extensions-4.11.0.ebuild26
-rw-r--r--dev-python/typing-extensions/typing-extensions-4.3.0.ebuild30
-rw-r--r--dev-python/typing-extensions/typing-extensions-4.4.0.ebuild36
-rw-r--r--dev-python/typogrify/typogrify-2.0.7-r1.ebuild7
-rw-r--r--dev-python/tzdata/metadata.xml8
-rw-r--r--dev-python/tzdata/tzdata-10001.ebuild37
-rw-r--r--dev-python/tzlocal/Manifest2
-rw-r--r--dev-python/tzlocal/tzlocal-4.2.ebuild37
-rw-r--r--dev-python/tzlocal/tzlocal-5.2.ebuild32
-rw-r--r--dev-python/u-msgpack-python/Manifest2
-rw-r--r--dev-python/u-msgpack-python/u-msgpack-python-2.7.2.ebuild22
-rw-r--r--dev-python/u-msgpack-python/u-msgpack-python-2.8.0.ebuild22
-rw-r--r--dev-python/ubelt/Manifest3
-rw-r--r--dev-python/ubelt/metadata.xml1
-rw-r--r--dev-python/ubelt/ubelt-1.2.3.ebuild42
-rw-r--r--dev-python/ubelt/ubelt-1.3.4.ebuild42
-rw-r--r--dev-python/ubelt/ubelt-1.3.5.ebuild42
-rw-r--r--dev-python/uc-micro-py/Manifest2
-rw-r--r--dev-python/uc-micro-py/uc-micro-py-1.0.1.ebuild27
-rw-r--r--dev-python/uc-micro-py/uc-micro-py-1.0.3.ebuild22
-rw-r--r--dev-python/ujson/Manifest3
-rw-r--r--dev-python/ujson/ujson-5.6.0.ebuild41
-rw-r--r--dev-python/ujson/ujson-5.7.0.ebuild41
-rw-r--r--dev-python/ujson/ujson-5.9.0.ebuild41
-rw-r--r--dev-python/ukkonen/ukkonen-1.0.1-r1.ebuild19
-rw-r--r--dev-python/unasync/Manifest2
-rw-r--r--dev-python/unasync/metadata.xml20
-rw-r--r--dev-python/unasync/unasync-0.5.0-r1.ebuild25
-rw-r--r--dev-python/unasync/unasync-0.5.0.ebuild27
-rw-r--r--dev-python/uncertainties/uncertainties-3.1.7-r1.ebuild5
-rw-r--r--dev-python/unearth/Manifest2
-rw-r--r--dev-python/unearth/metadata.xml16
-rw-r--r--dev-python/unearth/unearth-0.15.1.ebuild42
-rw-r--r--dev-python/unearth/unearth-0.15.2.ebuild42
-rw-r--r--dev-python/unidecode/Manifest2
-rw-r--r--dev-python/unidecode/unidecode-1.3.6.ebuild21
-rw-r--r--dev-python/unidecode/unidecode-1.3.8.ebuild20
-rw-r--r--dev-python/unidiff/Manifest2
-rw-r--r--dev-python/unidiff/metadata.xml4
-rw-r--r--dev-python/unidiff/unidiff-0.7.4.ebuild28
-rw-r--r--dev-python/unidiff/unidiff-0.7.5.ebuild21
-rw-r--r--dev-python/unittest-mixins/Manifest2
-rw-r--r--dev-python/unittest-mixins/unittest-mixins-1.6-r2.ebuild11
-rw-r--r--dev-python/unittest-or-fail/metadata.xml2
-rw-r--r--dev-python/unittest-or-fail/unittest-or-fail-2.ebuild15
-rw-r--r--dev-python/unpaddedbase64/metadata.xml8
-rw-r--r--dev-python/unpaddedbase64/unpaddedbase64-2.1.0.ebuild6
-rw-r--r--dev-python/unrardll/Manifest1
-rw-r--r--dev-python/unrardll/metadata.xml16
-rw-r--r--dev-python/unrardll/unrardll-0.1.7.ebuild33
-rw-r--r--dev-python/untangle/untangle-1.2.1-r1.ebuild2
-rw-r--r--dev-python/uranium/Manifest1
-rw-r--r--dev-python/uranium/metadata.xml29
-rw-r--r--dev-python/uranium/uranium-4.13.0-r1.ebuild103
-rw-r--r--dev-python/uri-template/Manifest1
-rw-r--r--dev-python/uri-template/metadata.xml (renamed from dev-python/uri_template/metadata.xml)0
-rw-r--r--dev-python/uri-template/uri-template-1.3.0.ebuild34
-rw-r--r--dev-python/uri_template/Manifest1
-rw-r--r--dev-python/uri_template/uri_template-1.2.0-r1.ebuild34
-rw-r--r--dev-python/uritemplate/uritemplate-4.1.1.ebuild5
-rw-r--r--dev-python/uritools/Manifest2
-rw-r--r--dev-python/uritools/metadata.xml31
-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/url-normalize/url-normalize-1.4.3-r1.ebuild15
-rw-r--r--dev-python/urlgrabber/Manifest1
-rw-r--r--dev-python/urlgrabber/files/urlgrabber-4.1.0-skip-test_range.patch11
-rw-r--r--dev-python/urlgrabber/files/urlgrabber-4.1.0-test-mirror-set-thread-daemon.patch10
-rw-r--r--dev-python/urlgrabber/metadata.xml41
-rw-r--r--dev-python/urlgrabber/urlgrabber-4.1.0.ebuild39
-rw-r--r--dev-python/urllib3/Manifest6
-rw-r--r--dev-python/urllib3/metadata.xml3
-rw-r--r--dev-python/urllib3/urllib3-1.26.13.ebuild78
-rw-r--r--dev-python/urllib3/urllib3-1.26.14.ebuild78
-rw-r--r--dev-python/urllib3/urllib3-1.26.18.ebuild78
-rw-r--r--dev-python/urllib3/urllib3-2.1.0.ebuild87
-rw-r--r--dev-python/urllib3/urllib3-2.2.1.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/Manifest4
-rw-r--r--dev-python/urwid/files/urwid-2.1.2-fix-py3.11.patch26
-rw-r--r--dev-python/urwid/urwid-2.1.2-r1.ebuild53
-rw-r--r--dev-python/urwid/urwid-2.6.10.ebuild47
-rw-r--r--dev-python/urwid/urwid-2.6.8.ebuild47
-rw-r--r--dev-python/urwid/urwid-2.6.9.ebuild47
-rw-r--r--dev-python/urwid_readline/Manifest1
-rw-r--r--dev-python/urwid_readline/urwid_readline-0.13.ebuild23
-rw-r--r--dev-python/urwidtrees/Manifest1
-rw-r--r--dev-python/urwidtrees/urwidtrees-1.0.3-r1.ebuild2
-rw-r--r--dev-python/urwidtrees/urwidtrees-1.0.3.ebuild36
-rw-r--r--dev-python/userpath/Manifest3
-rw-r--r--dev-python/userpath/userpath-1.8.0.ebuild29
-rw-r--r--dev-python/userpath/userpath-1.9.1.ebuild29
-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/Manifest12
-rw-r--r--dev-python/uv/files/uv-0.1.24-skip-tests.patch192
-rw-r--r--dev-python/uv/files/uv-0.1.28-skip-tests.patch144
-rw-r--r--dev-python/uv/files/uv-0.1.32-skip-tests.patch12
-rw-r--r--dev-python/uv/metadata.xml11
-rw-r--r--dev-python/uv/uv-0.1.24.ebuild107
-rw-r--r--dev-python/uv/uv-0.1.31.ebuild109
-rw-r--r--dev-python/uv/uv-0.1.32.ebuild121
-rw-r--r--dev-python/uv/uv-0.1.33.ebuild111
-rw-r--r--dev-python/uvicorn/Manifest3
-rw-r--r--dev-python/uvicorn/uvicorn-0.19.0.ebuild62
-rw-r--r--dev-python/uvicorn/uvicorn-0.20.0.ebuild72
-rw-r--r--dev-python/uvicorn/uvicorn-0.29.0.ebuild75
-rw-r--r--dev-python/uvloop/Manifest3
-rw-r--r--dev-python/uvloop/uvloop-0.17.0.ebuild82
-rw-r--r--dev-python/uvloop/uvloop-0.19.0-r1.ebuild85
-rw-r--r--dev-python/validators/Manifest4
-rw-r--r--dev-python/validators/metadata.xml3
-rw-r--r--dev-python/validators/validators-0.20.0.ebuild26
-rw-r--r--dev-python/validators/validators-0.24.0.ebuild21
-rw-r--r--dev-python/validators/validators-0.26.0.ebuild21
-rw-r--r--dev-python/validators/validators-0.28.0.ebuild21
-rw-r--r--dev-python/varlink/Manifest (renamed from dev-python/python-varlink/Manifest)0
-rw-r--r--dev-python/varlink/metadata.xml (renamed from dev-python/python-varlink/metadata.xml)0
-rw-r--r--dev-python/varlink/varlink-31.0.0.ebuild33
-rw-r--r--dev-python/vcrpy/Manifest2
-rw-r--r--dev-python/vcrpy/files/vcrpy-6.0.1-httpbin-compat.patch40
-rw-r--r--dev-python/vcrpy/vcrpy-4.2.1.ebuild58
-rw-r--r--dev-python/vcrpy/vcrpy-6.0.1.ebuild67
-rw-r--r--dev-python/vdf/Manifest2
-rw-r--r--dev-python/vdf/vdf-3.4-r1.ebuild14
-rw-r--r--dev-python/vdirsyncer/Manifest3
-rw-r--r--dev-python/vdirsyncer/files/vdirsyncer-0.18.0-no-cov.patch25
-rw-r--r--dev-python/vdirsyncer/vdirsyncer-0.18.0-r4.ebuild76
-rw-r--r--dev-python/vdirsyncer/vdirsyncer-0.19.0.ebuild76
-rw-r--r--dev-python/vdirsyncer/vdirsyncer-0.19.2-r2.ebuild73
-rw-r--r--dev-python/vecrec/vecrec-0.3.1-r1.ebuild20
-rw-r--r--dev-python/verboselogs/verboselogs-1.7-r1.ebuild19
-rw-r--r--dev-python/versioneer/Manifest2
-rw-r--r--dev-python/versioneer/versioneer-0.28.ebuild51
-rw-r--r--dev-python/versioneer/versioneer-0.29-r1.ebuild52
-rw-r--r--dev-python/versioningit/Manifest2
-rw-r--r--dev-python/versioningit/versioningit-2.1.0.ebuild52
-rw-r--r--dev-python/versioningit/versioningit-3.1.0.ebuild43
-rw-r--r--dev-python/vine/Manifest2
-rw-r--r--dev-python/vine/files/vine-5.1.0-pytest-8.patch29
-rw-r--r--dev-python/vine/vine-5.0.0-r1.ebuild31
-rw-r--r--dev-python/vine/vine-5.1.0.ebuild26
-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/Manifest4
-rw-r--r--dev-python/virtualenv/virtualenv-20.17.1.ebuild107
-rw-r--r--dev-python/virtualenv/virtualenv-20.25.1.ebuild122
-rw-r--r--dev-python/virtualenv/virtualenv-20.25.2.ebuild122
-rw-r--r--dev-python/virtualenv/virtualenv-20.25.3.ebuild123
-rw-r--r--dev-python/virtualenvwrapper/Manifest2
-rw-r--r--dev-python/virtualenvwrapper/files/virtualenvwrapper-4.8.4_p20230121-override-default-python-executable.patch21
-rw-r--r--dev-python/virtualenvwrapper/files/virtualenvwrapper-6.0.0-remove-use-of-which.patch106
-rw-r--r--dev-python/virtualenvwrapper/metadata.xml9
-rw-r--r--dev-python/virtualenvwrapper/virtualenvwrapper-4.8.4-r2.ebuild47
-rw-r--r--dev-python/virtualenvwrapper/virtualenvwrapper-6.1.0.ebuild71
-rw-r--r--dev-python/visitor/visitor-0.1.3-r2.ebuild4
-rw-r--r--dev-python/vncdotool/Manifest2
-rw-r--r--dev-python/vncdotool/metadata.xml13
-rw-r--r--dev-python/vncdotool/vncdotool-0.13.0-r1.ebuild39
-rw-r--r--dev-python/vncdotool/vncdotool-1.0.0-r1.ebuild39
-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.ebuild24
-rw-r--r--dev-python/vobject/vobject-0.9.7.ebuild27
-rw-r--r--dev-python/voluptuous/Manifest2
-rw-r--r--dev-python/voluptuous/files/voluptuous-0.11.5-fix-doctest.patch11
-rw-r--r--dev-python/voluptuous/voluptuous-0.13.1-r1.ebuild26
-rw-r--r--dev-python/voluptuous/voluptuous-0.14.2.ebuild25
-rw-r--r--dev-python/vpython/Manifest1
-rw-r--r--dev-python/vpython/vpython-7.6.4-r1.ebuild31
-rw-r--r--dev-python/vpython/vpython-7.6.4.ebuild31
-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.ebuild28
-rw-r--r--dev-python/waitress/waitress-3.0.0.ebuild32
-rw-r--r--dev-python/wand/Manifest2
-rw-r--r--dev-python/wand/files/wand-0.6.11-sphinx-6.patch29
-rw-r--r--dev-python/wand/wand-0.6.11.ebuild44
-rw-r--r--dev-python/wand/wand-0.6.13.ebuild39
-rw-r--r--dev-python/warlock/warlock-2.0.1.ebuild2
-rw-r--r--dev-python/watchdog/Manifest3
-rw-r--r--dev-python/watchdog/watchdog-2.2.0.ebuild52
-rw-r--r--dev-python/watchdog/watchdog-2.2.1.ebuild52
-rw-r--r--dev-python/watchdog/watchdog-4.0.0.ebuild50
-rw-r--r--dev-python/watchfiles/Manifest89
-rw-r--r--dev-python/watchfiles/watchfiles-0.18.1.ebuild110
-rw-r--r--dev-python/watchfiles/watchfiles-0.20.0-r1.ebuild120
-rw-r--r--dev-python/watchfiles/watchfiles-0.21.0-r1.ebuild123
-rw-r--r--dev-python/wcag-contrast-ratio/wcag-contrast-ratio-0.9-r1.ebuild2
-rw-r--r--dev-python/wcmatch/Manifest2
-rw-r--r--dev-python/wcmatch/metadata.xml12
-rw-r--r--dev-python/wcmatch/wcmatch-8.4.1.ebuild61
-rw-r--r--dev-python/wcmatch/wcmatch-8.5.1.ebuild61
-rw-r--r--dev-python/wcwidth/Manifest3
-rw-r--r--dev-python/wcwidth/wcwidth-0.2.13.ebuild31
-rw-r--r--dev-python/wcwidth/wcwidth-0.2.5-r1.ebuild38
-rw-r--r--dev-python/wcwidth/wcwidth-0.2.6.ebuild39
-rw-r--r--dev-python/weasyprint/Manifest3
-rw-r--r--dev-python/weasyprint/weasyprint-57.1-r1.ebuild46
-rw-r--r--dev-python/weasyprint/weasyprint-57.2-r1.ebuild46
-rw-r--r--dev-python/weasyprint/weasyprint-61.2.ebuild47
-rw-r--r--dev-python/webcolors/Manifest2
-rw-r--r--dev-python/webcolors/webcolors-1.12.ebuild22
-rw-r--r--dev-python/webcolors/webcolors-1.13.ebuild21
-rw-r--r--dev-python/webencodings/webencodings-0.5.1-r2.ebuild5
-rw-r--r--dev-python/webob/webob-1.8.7-r1.ebuild11
-rw-r--r--dev-python/websocket-client/Manifest3
-rw-r--r--dev-python/websocket-client/websocket-client-1.4.2.ebuild37
-rw-r--r--dev-python/websocket-client/websocket-client-1.5.0.ebuild37
-rw-r--r--dev-python/websocket-client/websocket-client-1.7.0.ebuild37
-rw-r--r--dev-python/websockets/Manifest3
-rw-r--r--dev-python/websockets/metadata.xml5
-rw-r--r--dev-python/websockets/websockets-10.4.ebuild35
-rw-r--r--dev-python/websockets/websockets-12.0.ebuild57
-rw-r--r--dev-python/websockify/Manifest2
-rw-r--r--dev-python/websockify/files/websockify-0.10.0-fix-jwcrypto-1.3.patch114
-rw-r--r--dev-python/websockify/websockify-0.10.0-r1.ebuild36
-rw-r--r--dev-python/websockify/websockify-0.11.0.ebuild43
-rw-r--r--dev-python/webtest/files/webtest-3.0.0-python3.12-unittest.patch115
-rw-r--r--dev-python/webtest/metadata.xml1
-rw-r--r--dev-python/webtest/webtest-3.0.0-r1.ebuild11
-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/werkzeug-2.2.2.ebuild64
-rw-r--r--dev-python/werkzeug/werkzeug-3.0.1.ebuild69
-rw-r--r--dev-python/werkzeug/werkzeug-3.0.2-r1.ebuild74
-rw-r--r--dev-python/werkzeug/werkzeug-3.0.2.ebuild70
-rw-r--r--dev-python/whatever/Manifest2
-rw-r--r--dev-python/whatever/whatever-0.6-r1.ebuild21
-rw-r--r--dev-python/whatever/whatever-0.7.ebuild25
-rw-r--r--dev-python/whatthepatch/Manifest2
-rw-r--r--dev-python/whatthepatch/whatthepatch-1.0.3.ebuild22
-rw-r--r--dev-python/whatthepatch/whatthepatch-1.0.5.ebuild21
-rw-r--r--dev-python/wheel/Manifest2
-rw-r--r--dev-python/wheel/wheel-0.38.4.ebuild66
-rw-r--r--dev-python/wheel/wheel-0.43.0.ebuild40
-rw-r--r--dev-python/whichcraft/whichcraft-0.6.1-r1.ebuild2
-rw-r--r--dev-python/whisper/whisper-1.1.10.ebuild4
-rw-r--r--dev-python/whoosh/metadata.xml1
-rw-r--r--dev-python/whoosh/whoosh-2.7.4-r2.ebuild13
-rw-r--r--dev-python/widgetsnbextension/Manifest3
-rw-r--r--dev-python/widgetsnbextension/widgetsnbextension-4.0.10.ebuild30
-rw-r--r--dev-python/widgetsnbextension/widgetsnbextension-4.0.4.ebuild31
-rw-r--r--dev-python/widgetsnbextension/widgetsnbextension-4.0.5.ebuild31
-rw-r--r--dev-python/wrapt/Manifest2
-rw-r--r--dev-python/wrapt/metadata.xml6
-rw-r--r--dev-python/wrapt/wrapt-1.14.1.ebuild31
-rw-r--r--dev-python/wrapt/wrapt-1.16.0.ebuild40
-rw-r--r--dev-python/wsaccel/Manifest2
-rw-r--r--dev-python/wsaccel/wsaccel-0.6.4.ebuild34
-rw-r--r--dev-python/wsaccel/wsaccel-0.6.6.ebuild35
-rw-r--r--dev-python/wsgiproxy2/metadata.xml1
-rw-r--r--dev-python/wsgiproxy2/wsgiproxy2-0.5.1-r1.ebuild9
-rw-r--r--dev-python/wsproto/wsproto-1.2.0.ebuild7
-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.0.1-r1.ebuild40
-rw-r--r--dev-python/wtforms/wtforms-3.1.2.ebuild36
-rw-r--r--dev-python/wurlitzer/wurlitzer-3.0.3.ebuild8
-rw-r--r--dev-python/wxpython/Manifest3
-rw-r--r--dev-python/wxpython/files/wxpython-4.0.6-no-webkit.patch27
-rw-r--r--dev-python/wxpython/files/wxpython-4.0.6-skip-broken-tests.patch91
-rw-r--r--dev-python/wxpython/files/wxpython-4.0.7-ultimatelistctrl.patch85
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.0-cython-3.patch19
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.0-flags.patch16
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.0-no-attrdict.patch13
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.0-no-webkit.patch27
-rw-r--r--dev-python/wxpython/wxpython-4.0.7-r4.ebuild92
-rw-r--r--dev-python/wxpython/wxpython-4.2.0.ebuild123
-rw-r--r--dev-python/wxpython/wxpython-4.2.1.ebuild126
-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/Manifest6
-rw-r--r--dev-python/xarray/files/xarray-2024.1.1-pytest-8.patch77
-rw-r--r--dev-python/xarray/xarray-2022.11.0.ebuild40
-rw-r--r--dev-python/xarray/xarray-2022.12.0.ebuild45
-rw-r--r--dev-python/xarray/xarray-2023.1.0.ebuild45
-rw-r--r--dev-python/xarray/xarray-2024.1.1.ebuild91
-rw-r--r--dev-python/xarray/xarray-2024.2.0.ebuild91
-rw-r--r--dev-python/xarray/xarray-2024.3.0.ebuild91
-rw-r--r--dev-python/xcffib/Manifest3
-rw-r--r--dev-python/xcffib/xcffib-1.1.2.ebuild39
-rw-r--r--dev-python/xcffib/xcffib-1.2.0.ebuild44
-rw-r--r--dev-python/xcffib/xcffib-1.5.0.ebuild42
-rw-r--r--dev-python/xdoctest/Manifest2
-rw-r--r--dev-python/xdoctest/metadata.xml1
-rw-r--r--dev-python/xdoctest/xdoctest-1.1.0.ebuild43
-rw-r--r--dev-python/xdoctest/xdoctest-1.1.3.ebuild49
-rw-r--r--dev-python/xkbcommon/Manifest3
-rw-r--r--dev-python/xkbcommon/xkbcommon-0.8.ebuild20
-rw-r--r--dev-python/xkbcommon/xkbcommon-1.0.ebuild43
-rw-r--r--dev-python/xlrd/xlrd-2.0.1-r1.ebuild6
-rw-r--r--dev-python/xlsxwriter/Manifest6
-rw-r--r--dev-python/xlsxwriter/xlsxwriter-3.0.3.ebuild28
-rw-r--r--dev-python/xlsxwriter/xlsxwriter-3.0.4.ebuild28
-rw-r--r--dev-python/xlsxwriter/xlsxwriter-3.0.5.ebuild28
-rw-r--r--dev-python/xlsxwriter/xlsxwriter-3.0.6.ebuild28
-rw-r--r--dev-python/xlsxwriter/xlsxwriter-3.0.7.ebuild28
-rw-r--r--dev-python/xlsxwriter/xlsxwriter-3.2.0.ebuild33
-rw-r--r--dev-python/xlwt/metadata.xml1
-rw-r--r--dev-python/xlwt/xlwt-1.3.0-r2.ebuild5
-rw-r--r--dev-python/xmlschema/Manifest5
-rw-r--r--dev-python/xmlschema/xmlschema-2.1.1.ebuild38
-rw-r--r--dev-python/xmlschema/xmlschema-3.1.0.ebuild37
-rw-r--r--dev-python/xmlschema/xmlschema-3.2.0.ebuild37
-rw-r--r--dev-python/xmlschema/xmlschema-3.2.1.ebuild37
-rw-r--r--dev-python/xmlschema/xmlschema-3.3.0.ebuild37
-rw-r--r--dev-python/xmlsec/Manifest2
-rw-r--r--dev-python/xmlsec/files/xmlsec-1.3.11-fix-xml-testfail.patch (renamed from dev-python/python-xmlsec/files/python-xmlsec-1.3.11-fix-xml-testfail.patch)0
-rw-r--r--dev-python/xmlsec/metadata.xml16
-rw-r--r--dev-python/xmlsec/xmlsec-1.3.12-r4.ebuild58
-rw-r--r--dev-python/xmlsec/xmlsec-1.3.14.ebuild61
-rw-r--r--dev-python/xmltodict/xmltodict-0.13.0-r1.ebuild7
-rw-r--r--dev-python/xvfbwrapper/xvfbwrapper-0.2.9-r1.ebuild25
-rw-r--r--dev-python/xvfbwrapper/xvfbwrapper-0.2.9.ebuild20
-rw-r--r--dev-python/xxhash/Manifest3
-rw-r--r--dev-python/xxhash/xxhash-3.1.0.ebuild38
-rw-r--r--dev-python/xxhash/xxhash-3.2.0.ebuild38
-rw-r--r--dev-python/xxhash/xxhash-3.4.1.ebuild38
-rw-r--r--dev-python/yamlpath/Manifest1
-rw-r--r--dev-python/yamlpath/metadata.xml18
-rw-r--r--dev-python/yamlpath/yamlpath-3.7.0.ebuild54
-rw-r--r--dev-python/yapf/Manifest2
-rw-r--r--dev-python/yapf/files/yapf-0.32.0-tomli.patch178
-rw-r--r--dev-python/yapf/yapf-0.32.0-r1.ebuild40
-rw-r--r--dev-python/yapf/yapf-0.40.2.ebuild36
-rw-r--r--dev-python/yappi/Manifest2
-rw-r--r--dev-python/yappi/yappi-1.4.0.ebuild34
-rw-r--r--dev-python/yappi/yappi-1.6.0.ebuild35
-rw-r--r--dev-python/yapsy/files/yapsy-1.12.2-py312.patch138
-rw-r--r--dev-python/yapsy/metadata.xml6
-rw-r--r--dev-python/yapsy/yapsy-1.12.2-r2.ebuild34
-rw-r--r--dev-python/yapsy/yapsy-1.12.2.ebuild21
-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.2.3.ebuild33
-rw-r--r--dev-python/yara-python/yara-python-4.4.0.ebuild45
-rw-r--r--dev-python/yara-python/yara-python-9999.ebuild41
-rw-r--r--dev-python/yarl/Manifest2
-rw-r--r--dev-python/yarl/yarl-1.8.2.ebuild45
-rw-r--r--dev-python/yarl/yarl-1.9.4.ebuild37
-rw-r--r--dev-python/yaswfp/yaswfp-0.9.3-r2.ebuild7
-rw-r--r--dev-python/yattag/Manifest1
-rw-r--r--dev-python/yattag/metadata.xml13
-rw-r--r--dev-python/yattag/yattag-1.15.2.ebuild27
-rw-r--r--dev-python/yaxmldiff/metadata.xml1
-rw-r--r--dev-python/yaxmldiff/yaxmldiff-0.1.0.ebuild2
-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/ytmusicapi/Manifest2
-rw-r--r--dev-python/ytmusicapi/metadata.xml1
-rw-r--r--dev-python/ytmusicapi/ytmusicapi-0.25.0.ebuild23
-rw-r--r--dev-python/ytmusicapi/ytmusicapi-1.6.0.ebuild23
-rw-r--r--dev-python/zc-lockfile/Manifest2
-rw-r--r--dev-python/zc-lockfile/metadata.xml1
-rw-r--r--dev-python/zc-lockfile/zc-lockfile-2.0-r1.ebuild47
-rw-r--r--dev-python/zc-lockfile/zc-lockfile-3.0_p1.ebuild46
-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-3.6.1.ebuild38
-rw-r--r--dev-python/zconfig/zconfig-4.0.ebuild45
-rw-r--r--dev-python/zeep/zeep-4.2.1.ebuild9
-rw-r--r--dev-python/zeroconf/Manifest3
-rw-r--r--dev-python/zeroconf/metadata.xml (renamed from dev-python/python-zeroconf/metadata.xml)0
-rw-r--r--dev-python/zeroconf/zeroconf-0.131.0.ebuild56
-rw-r--r--dev-python/zeroconf/zeroconf-0.132.0.ebuild56
-rw-r--r--dev-python/zeroconf/zeroconf-0.132.2.ebuild56
-rw-r--r--dev-python/zipp/Manifest3
-rw-r--r--dev-python/zipp/metadata.xml4
-rw-r--r--dev-python/zipp/zipp-3.11.0.ebuild58
-rw-r--r--dev-python/zipp/zipp-3.12.0.ebuild58
-rw-r--r--dev-python/zipp/zipp-3.18.1.ebuild52
-rw-r--r--dev-python/zope-component/Manifest3
-rw-r--r--dev-python/zope-component/zope-component-5.0.1.ebuild56
-rw-r--r--dev-python/zope-component/zope-component-5.1.0.ebuild56
-rw-r--r--dev-python/zope-component/zope-component-6.0.ebuild54
-rw-r--r--dev-python/zope-configuration/Manifest2
-rw-r--r--dev-python/zope-configuration/zope-configuration-4.4.1-r2.ebuild57
-rw-r--r--dev-python/zope-configuration/zope-configuration-5.0.1.ebuild54
-rw-r--r--dev-python/zope-deprecation/Manifest2
-rw-r--r--dev-python/zope-deprecation/zope-deprecation-4.4.0-r2.ebuild46
-rw-r--r--dev-python/zope-deprecation/zope-deprecation-5.0.ebuild44
-rw-r--r--dev-python/zope-event/Manifest3
-rw-r--r--dev-python/zope-event/zope-event-4.5.0-r3.ebuild46
-rw-r--r--dev-python/zope-event/zope-event-4.6.ebuild46
-rw-r--r--dev-python/zope-event/zope-event-5.0.ebuild44
-rw-r--r--dev-python/zope-exceptions/Manifest2
-rw-r--r--dev-python/zope-exceptions/zope-exceptions-4.6.ebuild46
-rw-r--r--dev-python/zope-exceptions/zope-exceptions-5.0.1.ebuild45
-rw-r--r--dev-python/zope-hookable/Manifest2
-rw-r--r--dev-python/zope-hookable/zope-hookable-5.4.ebuild47
-rw-r--r--dev-python/zope-hookable/zope-hookable-6.0.ebuild45
-rw-r--r--dev-python/zope-i18nmessageid/Manifest2
-rw-r--r--dev-python/zope-i18nmessageid/zope-i18nmessageid-5.1.1.ebuild49
-rw-r--r--dev-python/zope-i18nmessageid/zope-i18nmessageid-6.1.0.ebuild45
-rw-r--r--dev-python/zope-interface/Manifest3
-rw-r--r--dev-python/zope-interface/files/5.1.0-drop-coverage.patch24
-rw-r--r--dev-python/zope-interface/zope-interface-5.5.2.ebuild57
-rw-r--r--dev-python/zope-interface/zope-interface-6.2.ebuild51
-rw-r--r--dev-python/zope-interface/zope-interface-6.3.ebuild51
-rw-r--r--dev-python/zope-schema/Manifest2
-rw-r--r--dev-python/zope-schema/zope-schema-6.2.1.ebuild54
-rw-r--r--dev-python/zope-schema/zope-schema-7.0.0.ebuild54
-rw-r--r--dev-python/zope-schema/zope-schema-7.0.1.ebuild12
-rw-r--r--dev-python/zope-testing/Manifest1
-rw-r--r--dev-python/zope-testing/zope-testing-4.10-r2.ebuild47
-rw-r--r--dev-python/zope-testing/zope-testing-5.0.1.ebuild13
-rw-r--r--dev-python/zstandard/Manifest1
-rw-r--r--dev-python/zstandard/files/zstandard-0.22.0-build.patch53
-rw-r--r--dev-python/zstandard/metadata.xml (renamed from dev-python/python-zstandard/metadata.xml)0
-rw-r--r--dev-python/zstandard/zstandard-0.22.0.ebuild76
-rw-r--r--dev-python/zstd/Manifest2
-rw-r--r--dev-python/zstd/zstd-1.5.2.6.ebuild34
-rw-r--r--dev-python/zstd/zstd-1.5.5.1.ebuild33
6242 files changed, 109919 insertions, 94656 deletions
diff --git a/dev-python/APScheduler/APScheduler-3.10.4.ebuild b/dev-python/APScheduler/APScheduler-3.10.4.ebuild
new file mode 100644
index 000000000000..09aa71d77828
--- /dev/null
+++ b/dev-python/APScheduler/APScheduler-3.10.4.ebuild
@@ -0,0 +1,63 @@
+# 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="In-process task scheduler with Cron-like capabilities"
+HOMEPAGE="
+ https://github.com/agronholm/apscheduler/
+ https://pypi.org/project/APScheduler/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/tzlocal-4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/sqlalchemy-1.4[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-tornado[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # disable test fixtures using external servers (mongodb, redis...)
+ # these fixtures are using markers in git master, so the patch
+ # should be no longer necessary with next major bump
+ "${FILESDIR}"/APScheduler-3.8.1-external-server-tests.patch
+)
+
+EPYTEST_DESELECT=(
+ tests/test_jobstores.py::test_repr_mongodbjobstore
+ tests/test_jobstores.py::test_repr_redisjobstore
+ tests/test_jobstores.py::test_repr_zookeeperjobstore
+ tests/test_executors.py::test_broken_pool
+)
+
+python_prepare_all() {
+ # suppress setuptools warning #797751
+ sed -e 's|^upload-dir|upload_dir|' -i setup.cfg || die
+ sed -e '/addopts/d' -i setup.cfg || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p tornado
+}
diff --git a/dev-python/APScheduler/APScheduler-3.9.1.ebuild b/dev-python/APScheduler/APScheduler-3.9.1.ebuild
deleted file mode 100644
index 558a296a30c9..000000000000
--- a/dev-python/APScheduler/APScheduler-3.9.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_SETUPTOOLS=rdepend
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="In-process task scheduler with Cron-like capabilities"
-HOMEPAGE="https://github.com/agronholm/apscheduler"
-SRC_URI="mirror://pypi/A/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/pytz[${PYTHON_USEDEP}]
- >=dev-python/six-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/tzlocal-4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/sqlalchemy[${PYTHON_USEDEP}]
- dev-python/tornado[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- # disable test fixtures using external servers (mongodb, redis...)
- # these fixtures are using markers in git master, so the patch
- # should be no longer necessary with next major bump
- "${FILESDIR}"/APScheduler-3.8.1-external-server-tests.patch
-)
-
-EPYTEST_DESELECT=(
- tests/test_jobstores.py::test_repr_mongodbjobstore
- tests/test_jobstores.py::test_repr_redisjobstore
- tests/test_jobstores.py::test_repr_zookeeperjobstore
-)
-
-python_prepare_all() {
- # suppress setuptools warning #797751
- sed -e 's|^upload-dir|upload_dir|' -i setup.cfg || die
- sed -e '/addopts/d' -i setup.cfg || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/APScheduler/Manifest b/dev-python/APScheduler/Manifest
index f7cc8a75c5a7..c2baeb97bb07 100644
--- a/dev-python/APScheduler/Manifest
+++ b/dev-python/APScheduler/Manifest
@@ -1 +1 @@
-DIST APScheduler-3.9.1.tar.gz 100567 BLAKE2B a31e2591c47d451e95a982b4d85a70ee9a33bf2370a70e0e1ba2a8e31ae718d5853aad6242cbd8f90dc5bc6912af3ea96270e9f514c3903d041af450c1d8ead5 SHA512 901e04140dc9af3b67887cd3200131cc4121cad71b7ca4afe7cc0adf1a58cebb02eee5abed1f97fc95fe9fef843d00cd6611ab3fbff8ace9247894d6f0720dff
+DIST APScheduler-3.10.4.tar.gz 100832 BLAKE2B d519a85c54951e4b5a09449f1ceda1afe8ff0120c4a7cfab4f72fb9dacc41ac73bb66bedd6615cf126f53b590eb02617ac739bac078f21dd503c2e081a057cec SHA512 44b78e60b7349437fb8d6e5ad3bbd764cfa653fdd65685b586119225e8daaff9b150871887812a1f3d4cd67b942c70e99d1606d38b83685953fb1bb1a82742fe
diff --git a/dev-python/Arpeggio/Arpeggio-2.0.0.ebuild b/dev-python/Arpeggio/Arpeggio-2.0.0.ebuild
deleted file mode 100644
index 825f24b64fa5..000000000000
--- a/dev-python/Arpeggio/Arpeggio-2.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Parser interpreter based on PEG grammars"
-HOMEPAGE="https://pypi.org/project/Arpeggio/ https://github.com/textX/Arpeggio"
-SRC_URI="
- https://github.com/textX/Arpeggio/archive/${PV}.tar.gz -> ${P}.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv x86"
-
-DEPEND="
- test? (
- dev-python/memory_profiler[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -i -e '/^setup_requires/,/^[^[:space:]]/d' setup.cfg || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/Arpeggio/Arpeggio-2.0.2.ebuild b/dev-python/Arpeggio/Arpeggio-2.0.2.ebuild
new file mode 100644
index 000000000000..3c010430db1b
--- /dev/null
+++ b/dev-python/Arpeggio/Arpeggio-2.0.2.ebuild
@@ -0,0 +1,22 @@
+# 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="Parser interpreter based on PEG grammars"
+HOMEPAGE="
+ https://pypi.org/project/Arpeggio/
+ https://github.com/textX/Arpeggio/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/Arpeggio/Manifest b/dev-python/Arpeggio/Manifest
index 4ae24bc19088..62e673397779 100644
--- a/dev-python/Arpeggio/Manifest
+++ b/dev-python/Arpeggio/Manifest
@@ -1 +1 @@
-DIST Arpeggio-2.0.0.tar.gz 767813 BLAKE2B b4eab5b0a049560e8f3d775f34e9d1beffc26d3969a11a2043d203852c77385adbbef876e212b09c6af8630f2b8de6dfb088760bf9ade332af981d4e8d8267ad SHA512 b5a75eea515b7dd0ad7dc261703300bd5b3e5a70f0946845f8828dbf7c76613aef926fed9538fe0f9a71c1666edc9f8cff31afddd551bea1d7b1b9ad7a9cc405
+DIST Arpeggio-2.0.2.tar.gz 766643 BLAKE2B 9cd3a40b10594868678b6e0e625a094a978deca22a0d251e348e25a7358afb64bdef337e1c93afcde00d1347a9b22faa694678217c3e2de49690e923f8f0ea73 SHA512 6f8ddf8ca19f968de84730ad4861585f333be8315e70b6bd320f838731cffbd28b5b6245edd869175834a95207f39b20674795f0f31b226c9387f4a0376c9adb
diff --git a/dev-python/Babel/Babel-2.11.0.ebuild b/dev-python/Babel/Babel-2.11.0.ebuild
deleted file mode 100644
index 405927284ad2..000000000000
--- a/dev-python/Babel/Babel-2.11.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=( pypy3 python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-# see scripts/download_import_cldr.py
-CLDR_PV=41.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="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- 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="
- dev-python/pytz[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/backports-zoneinfo[${PYTHON_USEDEP}]
- ' 3.8)
-"
-# RDEPEND in BDEPEND for import_cldr.py usage, bug #852158
-BDEPEND="
- app-arch/unzip
- ${RDEPEND}
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-sphinx-6.patch
-)
-
-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/Babel-2.14.0.ebuild b/dev-python/Babel/Babel-2.14.0.ebuild
new file mode 100644
index 000000000000..782ed1582e8e
--- /dev/null
+++ b/dev-python/Babel/Babel-2.14.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
+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=43.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 2e310eb445d1..15e42b496964 100644
--- a/dev-python/Babel/Manifest
+++ b/dev-python/Babel/Manifest
@@ -1,2 +1,2 @@
-DIST Babel-2.11.0.tar.gz 9346097 BLAKE2B 99ae97e4dc16e1757ae6f054f9f346c6728d087bbfba33786d59211ac4b6c12bf861c79ac7c12a3efd89539220126ea1ea9a3578a9008daaa464aed315102b60 SHA512 526368dc5e44f2d93c52f2fcb544130eea6c6b7c78325bd56c6d9a6706890a4cd9daa1498d639aab65059801d87977da626e64585083c58c4b328001991eea0b
-DIST cldr-common-41.0.zip 29364494 BLAKE2B 1960e860017c3e5f31d935d66a1ff551720975dca0af459adc72b8dc54100938fbd2d2ef00eb457f3fd04d4f1e90a4783229c350b125029dcda5c1e6903f9a54 SHA512 c64f3338e292962817b043dd11e9c47f533c9b70d432f83e80654e20f4937c72b37e66a60485df43f734b1ff94ebf0452547a063076917889303c9653b4d6ce5
+DIST Babel-2.14.0.tar.gz 10795622 BLAKE2B 7beb79d34e5fc44a7520b7ca8541dbe41676b466c418a4fcf994fc556ca86d9cbc9ddeecad886b49a61ea4f62502413472a96df0fd65606f447e423c7ece4723 SHA512 cfcd93bc5e57e3d23b8fb67f77fdeeb08183cc5ef9a6e044085a090cec3d722cf658e740c639f5a834df11a4cff0dacafdbba435184d77a78d56fc0bb6b62fd2
+DIST cldr-common-43.0.zip 31934452 BLAKE2B 8390db2fb58ede0f55ebe369e5598c6a47b6ed01c95162d85365a699ceeb15d4d912a1ea26062c8f37a467c58fdaca27e99a9a133fec4afe15bf6ac6ba29b4f6 SHA512 930c64208d6f680d115bfa74a69445fb614910bb54233227b0b9ae85ddbce4db19e4ec863bf04ae9d4a11b2306aa7394e553384d7537487de8011f0e34877cef
diff --git a/dev-python/Babel/files/Babel-2.11.0-sphinx-6.patch b/dev-python/Babel/files/Babel-2.11.0-sphinx-6.patch
deleted file mode 100644
index 147ebeebd4fa..000000000000
--- a/dev-python/Babel/files/Babel-2.11.0-sphinx-6.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://github.com/python-babel/babel/commit/f7af1b72e765278b3431de3f3b92c6b9a189b18e
-
-From f7af1b72e765278b3431de3f3b92c6b9a189b18e Mon Sep 17 00:00:00 2001
-From: Aarni Koskela <akx@iki.fi>
-Date: Wed, 2 Nov 2022 08:25:47 +0200
-Subject: [PATCH] Update docs build configuration (#924)
-
-* Use Python 3.11
-* Use Sphinx 5 (and update extlinks configuration)
-* Use Python 3 intersphinx mapping
-* Install Babel from the build directory
-
-Refs https://github.com/python-babel/babel/issues/920
---- a/docs/conf.py
-+++ b/docs/conf.py
-@@ -251,10 +251,10 @@
- #texinfo_show_urls = 'footnote'
-
- intersphinx_mapping = {
-- 'https://docs.python.org/2/': None,
-+ 'https://docs.python.org/3/': None,
- }
-
- extlinks = {
-- 'gh': ('https://github.com/python-babel/babel/issues/%s', '#'),
-- 'trac': ('http://babel.edgewall.org/ticket/%s', 'ticket #'),
-+ 'gh': ('https://github.com/python-babel/babel/issues/%s', '#%s'),
-+ 'trac': ('http://babel.edgewall.org/ticket/%s', 'ticket #%s'),
- }
diff --git a/dev-python/BitVector/BitVector-3.5.0-r1.ebuild b/dev-python/BitVector/BitVector-3.5.0-r1.ebuild
new file mode 100644
index 000000000000..e78237d67047
--- /dev/null
+++ b/dev-python/BitVector/BitVector-3.5.0-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 memory-efficient packed representation for bit arrays"
+HOMEPAGE="
+ https://engineering.purdue.edu/kak/dist/
+ https://pypi.org/project/BitVector/
+"
+SRC_URI="https://engineering.purdue.edu/kak/dist/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+python_test() {
+ "${EPYTHON}" TestBitVector/Test.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/BitVector/BitVector-3.5.0.ebuild b/dev-python/BitVector/BitVector-3.5.0.ebuild
deleted file mode 100644
index eec6aa3fca91..000000000000
--- a/dev-python/BitVector/BitVector-3.5.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=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="A pure-Python memory-efficient packed representation for bit arrays"
-HOMEPAGE="https://engineering.purdue.edu/kak/dist/ https://pypi.org/project/BitVector/"
-SRC_URI="https://engineering.purdue.edu/kak/dist/${P}.tar.gz"
-
-LICENSE="PSF-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-python_test() {
- "${PYTHON}" TestBitVector/Test.py || die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/ConfigArgParse/ConfigArgParse-1.5.3.ebuild b/dev-python/ConfigArgParse/ConfigArgParse-1.5.3.ebuild
deleted file mode 100644
index 4c07341cac51..000000000000
--- a/dev-python/ConfigArgParse/ConfigArgParse-1.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Drop-in replacement for argparse supporting config files and env variables"
-HOMEPAGE="
- https://github.com/bw2/ConfigArgParse/
- https://pypi.org/project/ConfigArgParse/"
-SRC_URI="
- https://github.com/bw2/ConfigArgParse/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-BDEPEND="
- test? (
- dev-python/pyyaml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_test() {
- local -x COLUMNS=80
- distutils-r1_src_test
-}
diff --git a/dev-python/ConfigArgParse/ConfigArgParse-1.7.ebuild b/dev-python/ConfigArgParse/ConfigArgParse-1.7.ebuild
new file mode 100644
index 000000000000..fbb3e1fb90be
--- /dev/null
+++ b/dev-python/ConfigArgParse/ConfigArgParse-1.7.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 argparse supporting config files and env variables"
+HOMEPAGE="
+ https://github.com/bw2/ConfigArgParse/
+ https://pypi.org/project/ConfigArgParse/"
+SRC_URI="
+ https://github.com/bw2/ConfigArgParse/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86"
+
+BDEPEND="
+ test? (
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_test() {
+ local -x COLUMNS=80
+ distutils-r1_src_test
+}
diff --git a/dev-python/ConfigArgParse/Manifest b/dev-python/ConfigArgParse/Manifest
index 6e371ece30a4..cfb3199cbcf4 100644
--- a/dev-python/ConfigArgParse/Manifest
+++ b/dev-python/ConfigArgParse/Manifest
@@ -1 +1 @@
-DIST ConfigArgParse-1.5.3.gh.tar.gz 32732 BLAKE2B a9dec6b3ebbb7aed000651adf76ac76994b56d00236789a75f7da6ccc76e6b87e0dd292c260a768c0d402811b69e55d417b25032363429535cef4e09e0be5d00 SHA512 bdc0340bd92cfd5319743a4860af80fc2352f38b156031856c2b39b8c8ad59461281009030c4451dd464334a829b8143c765979cfc9b8ccbe9fbdcb0e08ac7b4
+DIST ConfigArgParse-1.7.gh.tar.gz 37462 BLAKE2B a351830f79899910039cfee7a830af58afb2534368b53e8f821c161444d81e2eac61ebf7a10ce1c4a6586f05db5fb0277fdc5c0605c0e517f9592bb9a66e2f45 SHA512 4c388768dfda861a58a8c7b5a4de2a7c4070d445d9ea9aaeb5ce2e5af954ed6422b5af33967d086fd4c477156ef89e3dfd1406c02f0c49bafe6a9c980bf5840f
diff --git a/dev-python/CppHeaderParser/CppHeaderParser-2.7.4-r1.ebuild b/dev-python/CppHeaderParser/CppHeaderParser-2.7.4-r1.ebuild
new file mode 100644
index 000000000000..1b313949b2d3
--- /dev/null
+++ b/dev-python/CppHeaderParser/CppHeaderParser-2.7.4-r1.ebuild
@@ -0,0 +1,24 @@
+# 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="Parse C++ header files and generate a data structure"
+HOMEPAGE="
+ https://senexcanis.com/open-source/cppheaderparser/
+ https://pypi.org/project/CppHeaderParser/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/ply[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/CppHeaderParser/CppHeaderParser-2.7.4.ebuild b/dev-python/CppHeaderParser/CppHeaderParser-2.7.4.ebuild
deleted file mode 100644
index dfba3ddf572b..000000000000
--- a/dev-python/CppHeaderParser/CppHeaderParser-2.7.4.ebuild
+++ /dev/null
@@ -1,20 +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="Parse C++ header files and generate a data structure"
-HOMEPAGE="https://senexcanis.com/open-source/cppheaderparser"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="dev-python/ply[${PYTHON_USEDEP}]"
-
-DEPEND="${RDEPEND}"
diff --git a/dev-python/DBUtils/DBUtils-3.0.2-r1.ebuild b/dev-python/DBUtils/DBUtils-3.0.2-r1.ebuild
deleted file mode 100644
index 2dac99445ae1..000000000000
--- a/dev-python/DBUtils/DBUtils-3.0.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=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Database connections for multi-threaded environments"
-HOMEPAGE="
- https://webwareforpython.github.io/DBUtils/
- https://github.com/WebwareForPython/DBUtils/
- https://pypi.org/project/DBUtils/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-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 999ddb65d850..000000000000
--- a/dev-python/DBUtils/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST DBUtils-3.0.2.tar.gz 92566 BLAKE2B ee63b252eedeba18ab1db68c10ebe7b2204bef4d2f7d07fc09a095d632dca97304280ed7f14994644e42835fd61717b88de6902feb97df04533979b2b82625ed SHA512 3e4631b8c30466e0f8be438b980fe98071535ea63e06c69161ffda89ed2716fd84c406ace1b3b78e7811bebbc7d0383f080a43b58ed073c37280a7282cb9ccb6
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-15.3.4.ebuild b/dev-python/Faker/Faker-15.3.4.ebuild
deleted file mode 100644
index da98b1c6fa12..000000000000
--- a/dev-python/Faker/Faker-15.3.4.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python package that generates fake data for you"
-HOMEPAGE="
- https://github.com/joke2k/faker/
- https://pypi.org/project/Faker/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~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
diff --git a/dev-python/Faker/Faker-16.1.0.ebuild b/dev-python/Faker/Faker-16.1.0.ebuild
deleted file mode 100644
index 82c8c94c9551..000000000000
--- a/dev-python/Faker/Faker-16.1.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=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python package that generates fake data for you"
-HOMEPAGE="
- https://github.com/joke2k/faker/
- https://pypi.org/project/Faker/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~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
diff --git a/dev-python/Faker/Faker-16.3.0.ebuild b/dev-python/Faker/Faker-16.3.0.ebuild
deleted file mode 100644
index 82c8c94c9551..000000000000
--- a/dev-python/Faker/Faker-16.3.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=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python package that generates fake data for you"
-HOMEPAGE="
- https://github.com/joke2k/faker/
- https://pypi.org/project/Faker/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~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
diff --git a/dev-python/Faker/Faker-16.4.0.ebuild b/dev-python/Faker/Faker-16.4.0.ebuild
deleted file mode 100644
index 82c8c94c9551..000000000000
--- a/dev-python/Faker/Faker-16.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python package that generates fake data for you"
-HOMEPAGE="
- https://github.com/joke2k/faker/
- https://pypi.org/project/Faker/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~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
diff --git a/dev-python/Faker/Faker-16.6.0.ebuild b/dev-python/Faker/Faker-16.6.0.ebuild
deleted file mode 100644
index 82c8c94c9551..000000000000
--- a/dev-python/Faker/Faker-16.6.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=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python package that generates fake data for you"
-HOMEPAGE="
- https://github.com/joke2k/faker/
- https://pypi.org/project/Faker/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~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
diff --git a/dev-python/Faker/Faker-16.6.1.ebuild b/dev-python/Faker/Faker-16.6.1.ebuild
deleted file mode 100644
index 82c8c94c9551..000000000000
--- a/dev-python/Faker/Faker-16.6.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=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python package that generates fake data for you"
-HOMEPAGE="
- https://github.com/joke2k/faker/
- https://pypi.org/project/Faker/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~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
diff --git a/dev-python/Faker/Faker-24.11.0.ebuild b/dev-python/Faker/Faker-24.11.0.ebuild
new file mode 100644
index 000000000000..4a85c701f3c8
--- /dev/null
+++ b/dev-python/Faker/Faker-24.11.0.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=( 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-24.4.0.ebuild b/dev-python/Faker/Faker-24.4.0.ebuild
new file mode 100644
index 000000000000..95ff3728fb55
--- /dev/null
+++ b/dev-python/Faker/Faker-24.4.0.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=( 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-24.8.0.ebuild b/dev-python/Faker/Faker-24.8.0.ebuild
new file mode 100644
index 000000000000..4a85c701f3c8
--- /dev/null
+++ b/dev-python/Faker/Faker-24.8.0.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=( 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-24.9.0.ebuild b/dev-python/Faker/Faker-24.9.0.ebuild
new file mode 100644
index 000000000000..4a85c701f3c8
--- /dev/null
+++ b/dev-python/Faker/Faker-24.9.0.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=( 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/Manifest b/dev-python/Faker/Manifest
index 4190f072b6f9..ad8bde575bcb 100644
--- a/dev-python/Faker/Manifest
+++ b/dev-python/Faker/Manifest
@@ -1,6 +1,4 @@
-DIST Faker-15.3.4.tar.gz 1599191 BLAKE2B 8fc26d35cbcde467123c8a5e15813351e65cf81a3640552115bdc55dff48b123e28b180e46595b80029dfdc0d3545b9e75b3f8c2deff380a6168aa2ab603ef2f SHA512 f9c50008c492a2aa8a7d7e62d0f404036cc9161baa3036f5948f607d4e971b34945401f565b3640eca71e7716fa5f2f3d82dd029f84f35dd4925e647638c0c56
-DIST Faker-16.1.0.tar.gz 1599748 BLAKE2B 62c55659b84e556ad2960b0b3c3e49fc96beca86850469af152c833f5b8680e222ef8bde7dbeacb75ac13535ed9ec0774f5c524d58f10d92c78542ec4714ff1f SHA512 7da4ca3824b64fa1b36d5a3f58206e03f61ca984a672e59e68e8ab642da6bb08d7656dc2422a7107ee46ca2d5a0ec5bc7ed4301c296a07f2dfc39c2cfb6ff693
-DIST Faker-16.3.0.tar.gz 1624029 BLAKE2B c17eafa1ba85d3839545ec57811541edf9006c822ffeb15a19560f0d72e188d5ce09bced5d5bde12ab690867a9e6d35dc472cb7df50437c6da422f5f62ba40cf SHA512 2f4fc0a984ae22a8765831499d895b787fea095e9d4eeb54b3cad1e8ae7b0e583d221fb3aa8d3d4e9c07d25734d08b8cac7a53c7b500dd8dab18eaceacdff562
-DIST Faker-16.4.0.tar.gz 1624299 BLAKE2B 3f3fd6f1ca60c4c481817bcb6f822f2658430995739db4655070e6cd5498879aeb3634defc324adf12648ab056c2066b82f83cac6c81b2fe4157a924fcae1460 SHA512 07aec45c401e8992a71ca3b6402a51f15070b5a6dfb534813a843660f8d419aadb68a5ace9667beb1b317f5a5232ad7d94086e053cd6455d0a8d3df0c6d96a9e
-DIST Faker-16.6.0.tar.gz 1625783 BLAKE2B d5a1cd6d8a7161eabf9a36bade94ae0003c5bd4cef48c33b19f6e7a30289267962ec9820cdae85316cb53b16b1a3734d751160db1aa5803ee60c746baa1828c1 SHA512 32f4d8c19ff09c4e415936f458a1ab821be74c4e0e8a79e01d584a8f46ad641b7d873f3a5c2bb3990ffaedb16d0b84eb8a7c610dc6e17b00619045a2c70ed433
-DIST Faker-16.6.1.tar.gz 1626043 BLAKE2B 2fc44018b76fffa1f0e249905d20fbc78bc1ab4ffcc3d2448067bfce8c1fd16caf64ce0e073b706a4d0461fd12f4758777a9f9df79b2682a74681dcbcbb7479e SHA512 d2a9add29c6511c452e1ac6749af6772ec5cf0713fe88d773f338f7d1173202bbbc55265e3bbd5cd8d84d9cd4bde153bf614b6840913b704d5c7eed30f4b5512
+DIST Faker-24.11.0.tar.gz 1726502 BLAKE2B 52429b5b0db4e1fd55d2a4b30ed007417f37e36fbec8d4fe43dea316920d85877668f4e66107011fef5874b74b25c1465fcfc0990ee3f40810df064622bb5373 SHA512 d5ee8c7c048d113c37b13608406d96966745ab46b095fcb30c9107a27a7af909c9d4d6bf9c7bb478ad7d0604b3cb6b33b93b0ba9e1a321c20870d651f57617a5
+DIST Faker-24.4.0.tar.gz 1724351 BLAKE2B 2eeb2d660462b0f0b55aadd32768c9a5eaaf22a8036ae203dab7538b8c24f0e6fcdf08533c7737fe597dbe395a00a39c8c2d5e3a823133638a90a9ffa8d32f08 SHA512 5ea18faa39cf8506f007557b9a8c84bf2cc21d806a99991bf2fcced3d350f96daf3dd6a0a42dfdb7021b72156eb12ad84a930c669df011f39a17f4c290d08675
+DIST Faker-24.8.0.tar.gz 1725365 BLAKE2B b2646766b993d946bf7965133b7484408370a2e8bed9091b713ffd427d545bb708027066b6787a78cd675659b4d342ac86c9f611aecfb7df3d0565a8066925f0 SHA512 d8fe7e411052bec485b40540317c88ff5aeae8a32ef2e53214816b190d4730c9f5af9157ac2c66aba5fbc887e995d0238f71deefdcf67300e49586c7995b60ff
+DIST Faker-24.9.0.tar.gz 1725521 BLAKE2B 30486824e1e9a33cb9bf018ebbe9845c65c5fbb797fd75c0798f854c487b5e02b30fad83dd1f94ef4650e5e6ec981ef3318e1b3ec7cc64169e2b3fb7f90a42d8 SHA512 18fb6970c90c1048fcfcc9bb3f557eb21374b9e0f128833ac32ad281019059d8a8a3a05a276b72d38bd9bd6315cf0846d7f8111f054191dae1149cdcaf08187d
diff --git a/dev-python/Faker/metadata.xml b/dev-python/Faker/metadata.xml
index 6e8c28a74006..9f5551d1a7e8 100644
--- a/dev-python/Faker/metadata.xml
+++ b/dev-python/Faker/metadata.xml
@@ -9,6 +9,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">Faker</remote-id>
<remote-id type="github">joke2k/faker</remote-id>
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 6aea5eb5df81..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
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-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.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 c58d5b858a48..1519248b5066 100644
--- a/dev-python/Frozen-Flask/Manifest
+++ b/dev-python/Frozen-Flask/Manifest
@@ -1 +1 @@
-DIST Frozen-Flask-0.18.tar.gz 179245 BLAKE2B a82695892aef9b6b4e3aeb91f12f78d7d661f2f2b0efc57c11f64524ed467b85d8d9e0e7b147cb78c3d0a641dfef0f683e0f77cfda560aada79e1b435424c0ce SHA512 6c2e4d900547cc5c0de4af23b96c5b9e1925101fb40f710bedc67ac52c303282aa223f6972f5b9cc813878bb15eb90cb0a007619dd5a9db2dec762f04dcc7ba0
+DIST frozen_flask-1.0.2.tar.gz 101832 BLAKE2B e07bc483ed9a927fff526b3b3009ef9c42b2a21bca33207c0cfad3b252c80eaf3d874e2a5ee888342136d3294767ce296b2a61d1e093d020cdb4a92e996c4772 SHA512 f708346bcbfefaab234f095212aea4df6b942ffd3226ed3419299b11f7757eccc6c4235426d488cfa693b8b927a23705788bc2aa44a798d289cc116360f14337
diff --git a/dev-python/GitPython/GitPython-3.1.30.ebuild b/dev-python/GitPython/GitPython-3.1.30.ebuild
deleted file mode 100644
index 4bbc4d64b5c2..000000000000
--- a/dev-python/GitPython/GitPython-3.1.30.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_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-TEST_P=GitPython-${PV}
-GITDB_P=gitdb-4.0.10
-SMMAP_P=smmap-5.0.0
-
-DESCRIPTION="Library used to interact with Git repositories"
-HOMEPAGE="
- https://github.com/gitpython-developers/GitPython/
- https://pypi.org/project/GitPython/
-"
-SRC_URI="
- mirror://pypi/${PN::1}/${PN}/${P}.tar.gz
- 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
- # unimpoortant and problematic
- test/test_installation.py
- # Internet
- test/test_repo.py::TestRepo::test_leaking_password_in_clone_logs
- # requires which(1)
- # https://github.com/gitpython-developers/GitPython/pull/1525
- test/test_git.py::TestGit::test_refresh
- # TODO
- test/test_submodule.py::TestSubmodule::test_base_rw
- test/test_submodule.py::TestSubmodule::test_git_submodules_and_add_sm_with_new_commit
- test/test_submodule.py::TestSubmodule::test_list_only_valid_submodules
- test/test_submodule.py::TestSubmodule::test_root_module
- )
-
- epytest test
-}
diff --git a/dev-python/GitPython/GitPython-3.1.42.ebuild b/dev-python/GitPython/GitPython-3.1.42.ebuild
new file mode 100644
index 000000000000..29051eb6c6da
--- /dev/null
+++ b/dev-python/GitPython/GitPython-3.1.42.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
+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.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}]
+ )
+"
+
+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..68edb93079a7
--- /dev/null
+++ b/dev-python/GitPython/GitPython-3.1.43.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
+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.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}]
+ )
+"
+
+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 9fb67c6a59ad..3212f57d8398 100644
--- a/dev-python/GitPython/Manifest
+++ b/dev-python/GitPython/Manifest
@@ -1,4 +1,6 @@
-DIST GitPython-3.1.30.gitbundle 9945082 BLAKE2B ac3e530509d459303c0c465668c92073d0532bb75c0635c9e5521857132c2d3c18f0e30b85830cf101fc0c79cde33a5eaf459cddbd66abeb6185453d90e4077d SHA512 e43275e8ffc3fb02e360503de3cd9d0b2c817f870361fe6bcfcd9dec30da077c4c685f57bce408ec670f2fb49d265abca34bf14d806a3ea54fd25f9eaf5019b3
-DIST GitPython-3.1.30.tar.gz 195508 BLAKE2B ba3dcb7c7aba8ec42842e6240777b8823e641139e6704641a7236ea07b2a82966638fb074c8fe3ff47b66e23aa526cfc899d8c28359f260f62fd1962a6de66de SHA512 067e64c801ca3882d70aca7706b3a57a51597817f0a3f03290a17e3ebb0fa0fd04cd1d72a32eae3bb72b6c486ffd26d1ede9cee5b17d99ffceb0f8dcc83081b9
-DIST gitdb-4.0.10.gitbundle 1485461 BLAKE2B 5a217c609a402cd7888da1502b25d217812503cd703cda8bce3c7159732c59d7f4bcd52688a5da457f43fde1645a6db79588a6fc8cc8dff5c58e9dcbaef79b9a SHA512 98dba48f75e28eaded791f91c611e07bef73c28a7f8ac58889b05d04f4b3699a85a5be1c829ea3e2f380507a9009f35bc552bb4260564127e2863807f9b4712a
-DIST smmap-5.0.0.gitbundle 338621 BLAKE2B 58c151245a1353d482e06313beb1cfbe7aa23d30733b284b1745b562da1da4e6f9b8acd7d4b967987e8c29a0cfbe6d3b27790f4683f6cbd86fc22a1416bc1c24 SHA512 94b827cdcfaf31b726b48b7b0a9036e852683046b07430b79e59a1339079ca078129d5eb02d9009979ce86892748b700d6cd281e401ddf6b0048252e2181fe1f
+DIST GitPython-3.1.42.gitbundle 10271846 BLAKE2B 72023a523c0bf888d1fa356a303feff19e142018d7d21722510b7fff69174794feed8fdda84c6fc4c8738c551634924331e48eb82dac71d8c5ebcf145296f6bd SHA512 c7b5ce6bf4500f6350bd1b260317e235fb16d4b8d3dfce9849a845a96d466f61eba9d40f18a0c7d302718f856d08f9c50bde811cadedb78d1dd2ebddaf9cfe48
+DIST GitPython-3.1.42.tar.gz 203449 BLAKE2B 7c18cb6cf0cc10b3269889bd7f4b0c3b61fd0ed765b3723c5bdf331a6e030bdc76587ce1c8e3d8ca5d7cb003968b74c6079b466a6afd3326c418f16e81ed9291 SHA512 f83d5fadc5fbd4d7837d42bc78bc07a9609bb0a10f5938de8d6c88da91de5638fafd6df23e468f7c23c19e11b4fbf273c19858336791ff199997dbe4e1aec91e
+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/GridDataFormats/GridDataFormats-0.6.0.ebuild b/dev-python/GridDataFormats/GridDataFormats-0.6.0.ebuild
deleted file mode 100644
index ecbcd6dd90bd..000000000000
--- a/dev-python/GridDataFormats/GridDataFormats-0.6.0.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..10} )
-inherit distutils-r1
-
-DESCRIPTION="Reading and writing of data on regular grids in Python"
-HOMEPAGE="https://pypi.org/project/GridDataFormats/ https://github.com/MDAnalysis/GridDataFormats"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="LGPL-3"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/numpy-1.0.3[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/GridDataFormats/GridDataFormats-1.0.1.ebuild b/dev-python/GridDataFormats/GridDataFormats-1.0.1.ebuild
deleted file mode 100644
index 30e6002a8255..000000000000
--- a/dev-python/GridDataFormats/GridDataFormats-1.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Reading and writing of data on regular grids in Python"
-HOMEPAGE="
- https://pypi.org/project/GridDataFormats/
- https://github.com/MDAnalysis/GridDataFormats/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="LGPL-3"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/mrcfile[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.0.3[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/GridDataFormats/GridDataFormats-1.0.2.ebuild b/dev-python/GridDataFormats/GridDataFormats-1.0.2.ebuild
new file mode 100644
index 000000000000..d6ba74101f32
--- /dev/null
+++ b/dev-python/GridDataFormats/GridDataFormats-1.0.2.ebuild
@@ -0,0 +1,29 @@
+# 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="Reading and writing of data on regular grids in Python"
+HOMEPAGE="
+ https://pypi.org/project/GridDataFormats/
+ https://github.com/MDAnalysis/GridDataFormats/
+"
+
+SLOT="0"
+LICENSE="LGPL-3"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/mrcfile[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.21[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/GridDataFormats/Manifest b/dev-python/GridDataFormats/Manifest
index f20e14788796..8807e6388106 100644
--- a/dev-python/GridDataFormats/Manifest
+++ b/dev-python/GridDataFormats/Manifest
@@ -1,2 +1 @@
-DIST GridDataFormats-0.6.0.tar.gz 1984859 BLAKE2B b53e6a43a06fdcb42fbef4c10dbdb1b5740fc04fff468b666c687ba5a839b8129b49358d54c6d7e4229ebaa67af01d897fe960f87a868950657bbcbb85ec7487 SHA512 b876eacd7b1d3a7dd6fe35e2092783183fb0ffadf7fbf583773e6a3401bef51bd33ebb2e73f8b4ec9cd404c153c30ce09dfb75d5e4aacba53915d085f090d0ea
-DIST GridDataFormats-1.0.1.tar.gz 2155370 BLAKE2B 8bf5ce65cefdcf490b75212bca8831957769118fbad7fdce42b5634ed67a1f5d4ac454f7429b984bafd89f5bc883fff1bca9dc71f529794cdd585e186e41e063 SHA512 2cfb8c50b4d17fa978924a0e65ae27f6e125bd1055bfdc9096ea35511f4c2a8a16f6bd9c652b9130fbdd66d4d464d8074b14f47c175f98df94c02fe973a0107b
+DIST GridDataFormats-1.0.2.tar.gz 2158614 BLAKE2B b5cb9a8abe78a52a8b3f3a053d15a3f9eed73ede3a3a5ce1c29390efa654ebe0e79d42042241028c46a6ed8511fde0f4f2a576c58ab2003c58bfb86d9ae1cbda SHA512 e0f316cb5352dee2b0902122007bf78ba8605109b21ea9c21a02f1bd7649ffb1d5115459077aa33ceb6464c310e750e512835acbcb4ce2256ea6be6e5b10c098
diff --git a/dev-python/IPy/IPy-1.01-r1.ebuild b/dev-python/IPy/IPy-1.01-r1.ebuild
index 8cab2087be13..c2987fa5b72a 100644
--- a/dev-python/IPy/IPy-1.01-r1.ebuild
+++ b/dev-python/IPy/IPy-1.01-r1.ebuild
@@ -1,23 +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=( python3_{9..11} )
+PYPI_NO_NORMALIZE=1
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
DESCRIPTION="Class and tools for handling of IPv4 and IPv6 addresses and networks"
HOMEPAGE="
https://github.com/autocracy/python-ipy/
https://pypi.org/project/IPy/
"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~sparc x86"
+KEYWORDS="amd64 ~arm arm64 ~mips ~ppc ~ppc64 ~sparc x86"
IUSE="examples"
python_test() {
diff --git a/dev-python/Levenshtein/Levenshtein-0.12.2.ebuild b/dev-python/Levenshtein/Levenshtein-0.12.2.ebuild
deleted file mode 100644
index ef724aeb48b9..000000000000
--- a/dev-python/Levenshtein/Levenshtein-0.12.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-MY_PN="python-Levenshtein"
-MY_P="${MY_PN}-${PV}"
-inherit distutils-r1
-
-DESCRIPTION="Functions for fast computation of Levenshtein distance, and edit operations"
-HOMEPAGE="https://pypi.org/project/python-Levenshtein/
- https://github.com/ztane/python-Levenshtein/"
-SRC_URI="mirror://pypi/${MY_PN::1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
diff --git a/dev-python/Levenshtein/Levenshtein-0.20.9.ebuild b/dev-python/Levenshtein/Levenshtein-0.20.9.ebuild
deleted file mode 100644
index ed97153de754..000000000000
--- a/dev-python/Levenshtein/Levenshtein-0.20.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
-
-# custom wrapper over setuptools
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{9..11} )
-
-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="amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
-
-DEPEND="
- >=dev-cpp/rapidfuzz-cpp-1.7.0
-"
-RDEPEND="
- <dev-python/rapidfuzz-3.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython[${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.0.ebuild b/dev-python/Levenshtein/Levenshtein-0.25.0.ebuild
new file mode 100644
index 000000000000..9fe740dcf45b
--- /dev/null
+++ b/dev-python/Levenshtein/Levenshtein-0.25.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_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/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 ~mips 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.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..743a37508403
--- /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..12} )
+
+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 ~mips ~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 7ff5f981e527..1f7fe4550525 100644
--- a/dev-python/Levenshtein/Manifest
+++ b/dev-python/Levenshtein/Manifest
@@ -1,2 +1,2 @@
-DIST Levenshtein-0.20.9.gh.tar.gz 36617 BLAKE2B 8e995f1c1648c81bea20844f7afc3c5dddd7dc31e5b6fc99a96930130c7f85bb32c4c4c85b319149d8511f6591ede96098038ea1b502a3e33a42ca3d21db4e2a SHA512 1d5dccd33ae8bd19b234861435212c7a57ba330a5f76a45c9e5b8ac3e401bc3d5eb3c72aea20e66bf0ebaaa6b760131dfef07fb5a2cf4d7191b595e1d962d93c
-DIST python-Levenshtein-0.12.2.tar.gz 50502 BLAKE2B d8992d30639e36aac1b85fada8f5273ed867aa3019208ffeb9972e999dad783d4ee16e1f6988c9306eb80f622b61fcf3a0a937b380c7a5acf50223268ed8de1d SHA512 97eac9d19121758af7620ad3963846e48434ceabb5376a83f28452015adf1a620620bfb53edb1c4f60b0fc8ec2b0faf35a105d7e2a0fc5df7a45fce81ba0dcdb
+DIST Levenshtein-0.25.0.gh.tar.gz 39076 BLAKE2B cb3bb55b37b5bfa8dc95d78dc6898154b4d4240c27348c6e03b13cdaa2c8ff19d1e8f2bf3d6b4fcc5c77be917afaa391276e93dcac24c2c19e1b285653a45c72 SHA512 e07ea1cef83c19a2a24ae76647ae2c534213ac6044b50a78dd1f2007936eb46032db326728b420471b6cb63ba6ac80a11c575ab277ae77116c592d113daba74c
+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/Manifest b/dev-python/MechanicalSoup/Manifest
index 5516c20be158..57317f12db9f 100644
--- a/dev-python/MechanicalSoup/Manifest
+++ b/dev-python/MechanicalSoup/Manifest
@@ -1 +1 @@
-DIST MechanicalSoup-1.2.0.tar.gz 49669 BLAKE2B a9791fd2d389c8a553ed0acce179094770651553b7aaf299ec6779509b4ffb1bb97a4a4afe01af3e4ccb56cf100b5bacc39e9aedf1143a9eb6f4b98dbb020062 SHA512 5857274e07c678dc0e19ad4fef828ccf41bb846edad566c2da9914144ced8802efd546265efac792acbb885b29cab5cde4ac3cd2002826a8bb31f91004eb2caa
+DIST MechanicalSoup-1.3.0.tar.gz 50826 BLAKE2B c47760a0f8d9c7a6430580c81fb750d3eab37a773a7453fb2850396ea2cff1ae143b1ec9ec5e1d8051a52f39c1527b99126f4ea2c90a73c7730597dd92a42a11 SHA512 a205c9b36b540be8b3eb15803c34e67029cb5b33aaf36d235947cc46c588f2d63e68acd97a9872b20ad3f1c87dcdb6133b4860dc7d90752ac477aaaa9a7c3e82
diff --git a/dev-python/MechanicalSoup/MechanicalSoup-1.2.0.ebuild b/dev-python/MechanicalSoup/MechanicalSoup-1.2.0.ebuild
deleted file mode 100644
index 290f18743214..000000000000
--- a/dev-python/MechanicalSoup/MechanicalSoup-1.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python library for automating interaction with websites"
-HOMEPAGE="
- https://github.com/MechanicalSoup/MechanicalSoup/
- https://pypi.org/project/MechanicalSoup/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="examples"
-
-RDEPEND="
- >=dev-python/beautifulsoup4-4.7[${PYTHON_USEDEP}]
- >=dev-python/requests-2.22.0[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/requests-mock-1.3.0[${PYTHON_USEDEP}]
- dev-python/pytest-httpbin[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs
-
-python_prepare_all() {
- # Override pytest options to skip coverage and flake8
- sed -e '/^addopts =/d' -i setup.cfg || die
- distutils-r1_python_prepare_all
-}
-
-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/MechanicalSoup/MechanicalSoup-1.3.0.ebuild b/dev-python/MechanicalSoup/MechanicalSoup-1.3.0.ebuild
new file mode 100644
index 000000000000..a17bf69731c3
--- /dev/null
+++ b/dev-python/MechanicalSoup/MechanicalSoup-1.3.0.ebuild
@@ -0,0 +1,49 @@
+# 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="A Python library for automating interaction with websites"
+HOMEPAGE="
+ https://github.com/MechanicalSoup/MechanicalSoup/
+ https://pypi.org/project/MechanicalSoup/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples"
+
+RDEPEND="
+ >=dev-python/beautifulsoup4-4.7[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.22.0[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/requests-mock-1.3.0[${PYTHON_USEDEP}]
+ dev-python/pytest-httpbin[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs
+
+python_test() {
+ epytest -o addopts=
+}
+
+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/Nuitka/Manifest b/dev-python/Nuitka/Manifest
index 38fbbffdac37..0e4d5b2ae1fc 100644
--- a/dev-python/Nuitka/Manifest
+++ b/dev-python/Nuitka/Manifest
@@ -1 +1,2 @@
-DIST Nuitka-1.4.tar.gz 4121399 BLAKE2B 6f431ce01e5efc18cb71fffa8d4db1479adaab48f91c5943fe97d9252dd80ec6a875e0fbc480b13b38167534254a9fb589664d7d95b7e679b22e3c4ef27f5a5a SHA512 cc07b8c35e75c3d34566d335e27789900095c35bf411e284c262f7a85f54ee9922b8f2aa0a75e72e2b77559f594183ea84aeba5691e600181fc706680bb55136
+DIST Nuitka-2.1.4.tar.gz 3636629 BLAKE2B b5a3f3067e12029c9bd1e9ae60d1c6c6370d929ad38a8092f0150078440c50ed925768e132ac18542eaa3ab4f2198f6773cb79cf51dee68b3dff9bec26cb37ad SHA512 bd7e164bed8943c5ea3e7ff30069ef7b9308cd47486fded22cf1f2a37274f0f6274b2af0cb84ca188e961745b93ab085f937e228ce193a1fff953537d5143205
+DIST Nuitka-2.1.5.tar.gz 3637222 BLAKE2B 1d2b81067cd6877658b4c1665879fe717e10093f635205dd24577ee7039cb20c8151a26378bce639d415987558bc5dc44b0c3e8afa55d202524bff4104b188cd SHA512 ec980c54f7433b87c7e5e3e9d3d6796ec2206c5cb855433146cdeeb64138c2248fa77c2559c1a6e818be9f9977d8bc3b441955c6f63f739b8810ee2d72305a1f
diff --git a/dev-python/Nuitka/Nuitka-1.4.ebuild b/dev-python/Nuitka/Nuitka-1.4.ebuild
deleted file mode 100644
index 3ad289dde538..000000000000
--- a/dev-python/Nuitka/Nuitka-1.4.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 )
-
-inherit distutils-r1 flag-o-matic optfeature
-
-DESCRIPTION="Python to native compiler"
-HOMEPAGE="
- https://www.nuitka.net/
- https://github.com/Nuitka/Nuitka/
- https://pypi.org/project/Nuitka/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-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 )
-"
-
-DOCS=( Changelog.pdf Developer_Manual.pdf README.pdf )
-
-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.1.4.ebuild b/dev-python/Nuitka/Nuitka-2.1.4.ebuild
new file mode 100644
index 000000000000..123acd66de1f
--- /dev/null
+++ b/dev-python/Nuitka/Nuitka-2.1.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..11} )
+
+inherit distutils-r1 flag-o-matic optfeature pypi
+
+DESCRIPTION="Python to native compiler"
+HOMEPAGE="
+ https://nuitka.net/
+ https://github.com/Nuitka/Nuitka/
+ https://pypi.org/project/Nuitka/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~loong ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-build/scons[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? ( dev-util/ccache )
+"
+
+distutils-r1_src_prepare() {
+ # remove vendored version of SCons that is Python2 only
+ # this should be removed when upstream removes support for Python2
+ rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die
+ eapply_user
+}
+
+python_install() {
+ distutils-r1_python_install
+ doman doc/nuitka.1 doc/nuitka-run.1
+}
+
+python_test() {
+ append-ldflags -Wl,--no-warn-search-mismatch
+ ./tests/basics/run_all.py search || die
+}
+
+pkg_postinst() {
+ optfeature "support for stand-alone executables" dev-util/patchelf
+}
diff --git a/dev-python/Nuitka/Nuitka-2.1.5.ebuild b/dev-python/Nuitka/Nuitka-2.1.5.ebuild
new file mode 100644
index 000000000000..123acd66de1f
--- /dev/null
+++ b/dev-python/Nuitka/Nuitka-2.1.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_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 flag-o-matic optfeature pypi
+
+DESCRIPTION="Python to native compiler"
+HOMEPAGE="
+ https://nuitka.net/
+ https://github.com/Nuitka/Nuitka/
+ https://pypi.org/project/Nuitka/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~loong ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-build/scons[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? ( dev-util/ccache )
+"
+
+distutils-r1_src_prepare() {
+ # remove vendored version of SCons that is Python2 only
+ # this should be removed when upstream removes support for Python2
+ rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die
+ eapply_user
+}
+
+python_install() {
+ distutils-r1_python_install
+ doman doc/nuitka.1 doc/nuitka-run.1
+}
+
+python_test() {
+ append-ldflags -Wl,--no-warn-search-mismatch
+ ./tests/basics/run_all.py search || die
+}
+
+pkg_postinst() {
+ optfeature "support for stand-alone executables" dev-util/patchelf
+}
diff --git a/dev-python/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 fc9ebef88ec2..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/Manifest b/dev-python/PeachPy/Manifest
index 853751080e6a..eca2287dc132 100644
--- a/dev-python/PeachPy/Manifest
+++ b/dev-python/PeachPy/Manifest
@@ -1 +1 @@
-DIST PeachPy-2021.10.13.gh.tar.gz 248855 BLAKE2B 5f8e7845dfa7327c62e6a953505260645ca29dc762dcb3ffd971a6a07c81f259776286c12c2147e980ae43f77d3ce060a87201e2189123290845f6543c74775f SHA512 c6370de8da9152e812702a3bb53592cba89ee24fdfbeaa87d49374bad7b2d79c60e54bac17a29d861f5881f4ce076f2fe96bff378ef31bdf3cbc6bc5093f6f3d
+DIST PeachPy-2022.11.13.gh.tar.gz 248834 BLAKE2B 508100af45ee2868637c9f2123d835b26a6f8fc4fe880302ec273e19f95b855c667e30e1a31a23dc621aea57b3bf1948d9c2339e35dee55d46d3205d2fe93f03 SHA512 adda0e1c2e417792d0799f2fb5fa92636eff493e83dacf38344ca4a9fe37344bbb73228409cdf8680290ea7f374025f8b23bcdce6ab67b5329ae4a2acbc1cf4f
diff --git a/dev-python/PeachPy/PeachPy-2021.10.13.ebuild b/dev-python/PeachPy/PeachPy-2021.10.13.ebuild
deleted file mode 100644
index 22f7d19818fc..000000000000
--- a/dev-python/PeachPy/PeachPy-2021.10.13.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_{9..10} )
-inherit distutils-r1
-
-CommitId=257881e0a7ce985c1cf96653db1264bf09adf510
-
-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}
-
-PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
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/files/PeachPy-2021.10.13-gentoo.patch b/dev-python/PeachPy/files/PeachPy-2021.10.13-gentoo.patch
deleted file mode 100644
index c5ecab041a76..000000000000
--- a/dev-python/PeachPy/files/PeachPy-2021.10.13-gentoo.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/setup.py 2022-05-15 19:33:42.938456878 +0200
-+++ b/setup.py 2022-05-15 19:33:57.869231488 +0200
-@@ -35,7 +35,7 @@
- def run(self):
- # package_dir may be None, in that case use the current directory.
- import os
-- if self.distribution.package_dir is None:
-+ if not self.distribution.package_dir:
- src_dir = os.getcwd()
- else:
- src_dir = os.path.abspath(self.distribution.package_dir[""])
diff --git a/dev-python/PyGithub/Manifest b/dev-python/PyGithub/Manifest
index 6262ace17b25..c597c0851392 100644
--- a/dev-python/PyGithub/Manifest
+++ b/dev-python/PyGithub/Manifest
@@ -1 +1 @@
-DIST PyGithub-1.57.gh.tar.gz 3159952 BLAKE2B e753a72c0fe20f0697ff3246fd2c3445571079ae18bee50abf6543da51d9e889c67cafa0bf36a980223f3423cf880c36d24ce74a6bf245117a080186a209ddcb SHA512 6c8880d21c5134581be6bc5549184c3f13cef8f360a46a459234f22f3dd4fc5f8b573cc3a5d870bba6c6129ff7b670e739d87e42f2e34ddcdf357a3fe2b3cadc
+DIST PyGithub-2.3.0.tar.gz 3455482 BLAKE2B 3638d5a101dcc41196a54f1a1e36dbc2dd53ab21fc2edd1945a036527979939da53dbf1cdd462622e851e891eae1264231b42c9f8a561740087d602a966d11b2 SHA512 7964b8ab1ad989e48b7d4cda42e7690cdd99c7f8d199e0eaa5ff5b2986592cef135e252253bef4f425cf04946ea18d8c83bcce4253914113fc9a21e83dc31166
diff --git a/dev-python/PyGithub/PyGithub-1.57.ebuild b/dev-python/PyGithub/PyGithub-1.57.ebuild
deleted file mode 100644
index 1768dcfd92fb..000000000000
--- a/dev-python/PyGithub/PyGithub-1.57.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
-
-DESCRIPTION="Python library to access the Github API v3"
-HOMEPAGE="
- https://github.com/PyGithub/PyGithub/
- https://pypi.org/project/PyGithub/
-"
-SRC_URI="
- https://github.com/PyGithub/PyGithub/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- 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/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- >=dev-python/httpretty-0.9.6[${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/PyPDF2/Manifest b/dev-python/PyPDF2/Manifest
deleted file mode 100644
index cec4e6f41e92..000000000000
--- a/dev-python/PyPDF2/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST PyPDF2-3.0.0.gh.tar.gz 6608776 BLAKE2B 636be14b5f3912824703dbfd6137f1ea7b97f4405cb9d6d14f9b02feff6900936f8148424e75c3aa733e144bbd13602404051b2c3c6b63b92c246205b6204b8a SHA512 417a401d1dfaf96e07bf196f53cfe12af50d45d812c48d57db576e596ad8cd029c5b03f801180a12b31c34f9acbb65d5f802b428792cfdb5a18c013ec87c5e37
-DIST PyPDF2-sample-files-0fe84b30ed33ff3daa9293e44349b8618f135699.gh.tar.gz 9027166 BLAKE2B 912bb9fbd632bd0ad2cc2e865a1e6870ad7064aa2cf4d6f96217f63ac685e9a511f0bb20c22d48ae970a2eb171b27a0fa680fa42892425531f69735840cf741b SHA512 07a71a3566dabcea5dc8a549949d0f0c0f9483d5d9f85851d6e4e702dd374b348469a80e5300d18983e560ee9a44d0639b55eb338023b9ebbdb26c6f8c455e07
diff --git a/dev-python/PyPDF2/PyPDF2-3.0.0.ebuild b/dev-python/PyPDF2/PyPDF2-3.0.0.ebuild
deleted file mode 100644
index eb02789f09d2..000000000000
--- a/dev-python/PyPDF2/PyPDF2-3.0.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_{9..11} )
-
-inherit distutils-r1
-
-SAMPLE_COMMIT=0fe84b30ed33ff3daa9293e44349b8618f135699
-DESCRIPTION="Python library to work with PDF files"
-HOMEPAGE="
- https://pypi.org/project/PyPDF2/
- https://github.com/py-pdf/PyPDF2/
-"
-SRC_URI="
- https://github.com/py-pdf/PyPDF2/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
- )
-"
-S=${WORKDIR}/pypdf-${PV}
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-RESTRICT="test"
-# 150+ tests require network, too many to deselect
-PROPERTIES="test_network"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-BDEPEND="
- dev-python/pillow[${PYTHON_USEDEP}]
- test? (
- dev-python/pycryptodome[${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
-)
-
-src_unpack() {
- default
- if use test; then
- mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die
- fi
-}
diff --git a/dev-python/PyPDF2/metadata.xml b/dev-python/PyPDF2/metadata.xml
deleted file mode 100644
index fdc37f62e8b2..000000000000
--- a/dev-python/PyPDF2/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">PyPDF2</remote-id>
- <remote-id type="github">py-pdf/PyPDF2</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/PyQt-builder/Manifest b/dev-python/PyQt-builder/Manifest
index 250b654500af..044cb04fb399 100644
--- a/dev-python/PyQt-builder/Manifest
+++ b/dev-python/PyQt-builder/Manifest
@@ -1 +1,2 @@
-DIST PyQt-builder-1.12.2.tar.gz 5727071 BLAKE2B ca5d55989fec2a9a6f9d37abc307d4db7305bb06449cbf982aa3a2a3f210113319f7fb303ec0d77b513cce844b529e0e56f62c9d62ab3c51cf85a061ecd00c7a SHA512 022f2cd40c100543c4b442fc5b27bbf2ec853d94b531f8f6dc1d7f92b07bcc20e8f0a4eb64feb96d094ba0d5f01fddcc8aed23ddf67a61417e07983a73918230
+DIST PyQt-builder-1.15.4.tar.gz 3766458 BLAKE2B d0bff31ee1c25172c621defdf0a9e4c297b6b4e692142a44018338be8f037b9d286096c642b8efb8ae6df79f5900ee7be9732efbb32142f6b58752c7409a0026 SHA512 ec0b9f7784a32af744111615b93f98d73f284bb752fd71359c798d3b093a01925823effea72c866a5f49f77e3dfc5dee4125bbb289f647d84000bf34b5db6931
+DIST PyQt-builder-1.16.0.tar.gz 3670068 BLAKE2B 909aaead9bd62d3c1ce00f26e13fc81a3293fec212cf8cb1087f59f34d41e9541dbaf12f8a0faffda13434d1340264c2b611ee9061993c4543043ff4539a5bb3 SHA512 1584b41e0c260a45b2b883d035e7611b29501a24172a8d9f36702c4fbde8c3f7953a6897781b59f48b9fa1ceab51eb3767afa83e0e3ff097caf029d87a7114d8
diff --git a/dev-python/PyQt-builder/PyQt-builder-1.12.2.ebuild b/dev-python/PyQt-builder/PyQt-builder-1.12.2.ebuild
deleted file mode 100644
index 3c851baf7523..000000000000
--- a/dev-python/PyQt-builder/PyQt-builder-1.12.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="The PEP 517 compliant PyQt build system"
-HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt-builder/ https://pypi.org/project/PyQt-builder/"
-
-MY_P=${PN}-${PV/_pre/.dev}
-if [[ ${PV} == *_pre* ]]; then
- SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.gz"
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
-fi
-S=${WORKDIR}/${MY_P}
-
-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.3[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx doc --no-autodoc
-
-python_prepare_all() {
- # don't install prebuilt Windows DLLs
- sed -i -e "s:'dlls/\*/\*',::" setup.py || die
- rm -r "${PN/-/_}.egg-info" || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/PyQt-builder/PyQt-builder-1.15.4.ebuild b/dev-python/PyQt-builder/PyQt-builder-1.15.4.ebuild
new file mode 100644
index 000000000000..bccaecfc4fee
--- /dev/null
+++ b/dev-python/PyQt-builder/PyQt-builder-1.15.4.ebuild
@@ -0,0 +1,30 @@
+# 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.0.ebuild b/dev-python/PyQt-builder/PyQt-builder-1.16.0.ebuild
new file mode 100644
index 000000000000..f077614d85af
--- /dev/null
+++ b/dev-python/PyQt-builder/PyQt-builder-1.16.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_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+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
+
+ # don't install prebuilt 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..36d5fd736e1b 100644
--- a/dev-python/PyQt-builder/metadata.xml
+++ b/dev-python/PyQt-builder/metadata.xml
@@ -6,13 +6,9 @@
<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/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 a901c627763c..2a010f9ef214 100644
--- a/dev-python/PyQt5-sip/Manifest
+++ b/dev-python/PyQt5-sip/Manifest
@@ -1 +1 @@
-DIST PyQt5_sip-12.11.0.tar.gz 122792 BLAKE2B a2cde0a741fb5ef6d6805a382b66405dcebe09a18cbe1b7d88b277d96995b93b0a939900be9ed347ab46c8ed5d14b222c56f2e19e1506b72ebfda46aab8a22b1 SHA512 1542747ef1912c05b0054ffec16294046e20dd4eb757bb664fb92d7b6ed924521469e88d27e515146f725d153e3ebe3a3bf72805de6451fb52ff86ed5b9128d7
+DIST PyQt5_sip-12.13.0.tar.gz 123225 BLAKE2B e3b7233e5405f7b24de157e1f0ed0f2ff47a9c331a76672892d8a7adc8aba8c7b738354d9f1c2fe9c29501b5bfe8c6302307c6731273b980a04dd327048a3a94 SHA512 ef363b21899f6d089fbc6d5adf700dc6c8838501343070ed1cf0826e05dd860343eba608d5aee5d8bece39b8ddca1f37866bb56aa07db18384ac0a372ca3532f
diff --git a/dev-python/PyQt5-sip/PyQt5-sip-12.11.0.ebuild b/dev-python/PyQt5-sip/PyQt5-sip-12.11.0.ebuild
deleted file mode 100644
index 24995e95473d..000000000000
--- a/dev-python/PyQt5-sip/PyQt5-sip-12.11.0.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
-
-DESCRIPTION="sip extension module for PyQt5"
-HOMEPAGE="https://www.riverbankcomputing.com/software/sip/ https://pypi.org/project/PyQt5-sip/"
-
-MY_P=${PN/-/_}-${PV/_pre/.dev}
-if [[ ${PV} == *_pre* ]]; then
- SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.gz"
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
-fi
-S="${WORKDIR}/${MY_P}"
-
-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.13.0-r1.ebuild b/dev-python/PyQt5-sip/PyQt5-sip-12.13.0-r1.ebuild
new file mode 100644
index 000000000000..95b3db8eb4ed
--- /dev/null
+++ b/dev-python/PyQt5-sip/PyQt5-sip-12.13.0-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_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"
+
+PATCHES=(
+ "${FILESDIR}/PyQt5-sip-12.13.0-c99.patch"
+)
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/Manifest b/dev-python/PyQt5/Manifest
index 33d5bc51cbf9..75a7e4df030b 100644
--- a/dev-python/PyQt5/Manifest
+++ b/dev-python/PyQt5/Manifest
@@ -1 +1 @@
-DIST PyQt5-5.15.7.tar.gz 3238978 BLAKE2B 8e810444d9e4fe0c5af702161bc834848eefb6fdf04b282bbf42a9057d564aa778a01a5d40c249c10eecafb0dce8d160f032668f0d1fc87714fd874f002ec88a SHA512 815065f88454f767525fdd2caf97b0192eaf6095133c9c708ee4efa3d222742720a169856be65c84400a6e8d42d69ae65697d7f9dd17b9b4a347d75db93c5129
+DIST PyQt5-5.15.10.tar.gz 3242654 BLAKE2B 55a4cedf1ac3fd0f2968ca07544d2248d1798f134b7490eb1d07663af9f1606543564a42d5478871f5dbfc0b249b73965fd0505261fd2872c724da6d28e5b61a SHA512 e62debe112210b68993377264448199b66a43fc5db13c583a25e210759f5cd945bd1056c1c19fb86bcf005c6904358dfb89e005d27167a349f1d55987a63013e
diff --git a/dev-python/PyQt5/PyQt5-5.15.10-r1.ebuild b/dev-python/PyQt5/PyQt5-5.15.10-r1.ebuild
new file mode 100644
index 000000000000..4d54807b7c24
--- /dev/null
+++ b/dev-python/PyQt5/PyQt5-5.15.10-r1.ebuild
@@ -0,0 +1,158 @@
+# Copyright 1999-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
+
+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.13:=[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/PyQt-builder-1.14.1[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.7.12[${PYTHON_USEDEP}]
+ >=dev-qt/qtcore-${QT_PV}
+ dbus? ( virtual/pkgconfig )
+"
+
+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/PyQt5/PyQt5-5.15.7.ebuild b/dev-python/PyQt5/PyQt5-5.15.7.ebuild
deleted file mode 100644
index 3cde4be706e1..000000000000
--- a/dev-python/PyQt5/PyQt5-5.15.7.ebuild
+++ /dev/null
@@ -1,183 +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 the Qt framework"
-HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/ https://pypi.org/project/PyQt5/"
-
-MY_P=${PN}-${PV/_pre/.dev}
-if [[ ${PV} == *_pre* ]]; then
- SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.gz"
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
-fi
-S=${WORKDIR}/${MY_P}
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
-
-# TODO: QtNfc, QtQuick3D, QtRemoteObjects
-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="
- ${PYTHON_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="${PYTHON_DEPS}
- >=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}
- )
- 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.11:=[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/PyQt-builder-1.10[${PYTHON_USEDEP}]
- >=dev-python/sip-6.6.2[${PYTHON_USEDEP}]
- >=dev-qt/qtcore-${QT_PV}
- dbus? ( virtual/pkgconfig )
-"
-
-src_configure() {
- pyqt_use_enable() {
- use "$1" || return
-
- if [[ $# -eq 1 ]]; then
- echo --enable=Qt${1^}
- else
- shift
- echo ${@/#/--enable=}
- fi
- }
-
- configuration() {
- local myconf=(
- sip-build
- --verbose
- --confirm-license
- --build-dir="${BUILD_DIR}"
- --scripts-dir="$(python_get_scriptdir)"
- --qmake="$(qt5_get_bindir)"/qmake
- --no-make
- $(usev debug '--debug --qml-debug --tracing')
- $(usev !dbus --no-dbus-python)
- $(usev !declarative --no-qml-plugin)
- $(usev !designer --no-designer-plugin)
- $(usev gles2-only --disabled-feature=PyQt_Desktop_OpenGL)
- $(usev !ssl --disabled-feature=PyQt_SSL)
- --enable=pylupdate
- --enable=pyrcc
- --enable=Qt
- $(pyqt_use_enable bluetooth)
- --enable=QtCore
- $(pyqt_use_enable dbus QtDBus)
- $(pyqt_use_enable declarative QtQml QtQuick $(usev widgets QtQuickWidgets))
- $(pyqt_use_enable designer)
- $(pyqt_use_enable gui)
- $(pyqt_use_enable gui $(use gles2-only && echo _QOpenGLFunctions_ES2 || echo _QOpenGLFunctions_{2_0,2_1,4_1_Core}))
- $(pyqt_use_enable help)
- $(pyqt_use_enable location)
- $(pyqt_use_enable multimedia QtMultimedia $(usev widgets QtMultimediaWidgets))
- $(pyqt_use_enable network)
- $(pyqt_use_enable opengl QtOpenGL)
- $(pyqt_use_enable positioning)
- $(pyqt_use_enable printsupport QtPrintSupport)
- $(pyqt_use_enable sensors)
- $(pyqt_use_enable serialport QtSerialPort)
- $(pyqt_use_enable speech QtTextToSpeech)
- $(pyqt_use_enable sql)
- $(pyqt_use_enable svg)
- $(pyqt_use_enable testlib QtTest)
- $(pyqt_use_enable webchannel QtWebChannel)
- $(pyqt_use_enable websockets QtWebSockets)
- $(pyqt_use_enable widgets)
- $(pyqt_use_enable x11extras QtX11Extras)
- --enable=QtXml
- $(pyqt_use_enable xmlpatterns QtXmlPatterns)
- )
- echo "${myconf[@]}"
- "${myconf[@]}" || die
-
- # Run eqmake to respect toolchain and build flags
- run_in_build_dir eqmake5 -recursive ${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
-
- local exe
- for exe in "${D}$(python_get_scriptdir)"/*; do
- python_doexe "${exe}"
- done
- }
- python_foreach_impl run_in_build_dir installation
-
- einstalldocs
-
- if use examples; then
- dodoc -r examples
- fi
-}
diff --git a/dev-python/PyQt6-WebEngine/Manifest b/dev-python/PyQt6-WebEngine/Manifest
index 92ae0519b3b7..59d27efa5f3a 100644
--- a/dev-python/PyQt6-WebEngine/Manifest
+++ b/dev-python/PyQt6-WebEngine/Manifest
@@ -1 +1 @@
-DIST PyQt6_WebEngine-6.4.0.tar.gz 31180 BLAKE2B af7b10fa473bf0e5775319c47e8b8a7084321c09edc7a46ed89e771b8f0f44d5f4b59a47a9c902c3662296adbff4d514fa33c0b4071080b408c65167f64c77f8 SHA512 cbd549a91aa070aa81fdf60d836f8bdc1ec6b354868e1a0e39345f9072a8e60a019675e9983a1706ae0ac482a6f92c5beadb1ed4e4244b55f49df01d0e97e60c
+DIST PyQt6_WebEngine-6.6.0.tar.gz 31817 BLAKE2B 3e795bda50d1a5874e6caec7f69370840913cbbb33662ddc5624f0437c765e3318a2b4233d8e9963145dbeef8a4edc559112f114b850d9879eecb9e3e6b6fd2e SHA512 30927b7728d68cbeff6346234e131f96dfcd4b2af503d27d2f0a1eee584b5a928ac4fe1f66019c90aaf1ccd66fffe2edaf55de86d9aa0c83518c45669613bc0d
diff --git a/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.4.0.ebuild b/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.4.0.ebuild
deleted file mode 100644
index 8abd9c96b89b..000000000000
--- a/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.4.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=sip
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1 flag-o-matic multiprocessing qmake-utils
-
-QT_PV="$(ver_cut 1-2):6"
-MY_P="${P/-/_}"
-
-DESCRIPTION="Python bindings for QtWebEngine"
-HOMEPAGE="https://www.riverbankcomputing.com/software/pyqtwebengine/"
-SRC_URI="mirror://pypi/${P::1}/${PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-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}
- >=dev-qt/qtwebengine-${QT_PV}[widgets]
- quick? ( dev-python/PyQt6[qml] )
- widgets? ( dev-python/PyQt6[network,printsupport,webchannel,widgets] )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- >=dev-python/PyQt-builder-1.11[${PYTHON_USEDEP}]
- >=dev-qt/qtbase-${QT_PV}
- sys-devel/gcc"
-
-src_prepare() {
- default
-
- # hack: qmake queries g++ directly for info (not building) and that doesn't
- # work with clang, this is to make it at least respect CHOST (bug #726112)
- mkdir "${T}"/cxx || die
- ln -s "$(type -P ${CHOST}-g++ || type -P g++ || die)" "${T}"/cxx/g++ || die
- PATH=${T}/cxx:${PATH}
-}
-
-src_configure() {
- append-cxxflags -std=c++17 # for old gcc / clang that use <17 (bug #892331)
-
- DISTUTILS_ARGS=(
- --jobs=$(makeopts_jobs)
- --qmake="$(type -P qmake6 || die)"
- --qmake-setting="$(qt5_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
new file mode 100644
index 000000000000..15bbe5672ea4
--- /dev/null
+++ b/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.6.0.ebuild
@@ -0,0 +1,68 @@
+# 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 ~arm64"
+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: 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-WebEngine/metadata.xml b/dev-python/PyQt6-WebEngine/metadata.xml
index 88c4a67e1477..1e0abbb7a85c 100644
--- a/dev-python/PyQt6-WebEngine/metadata.xml
+++ b/dev-python/PyQt6-WebEngine/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>ionen@gentoo.org</email>
- <name>Ionen Wolkens</name>
+ <maintainer type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
</maintainer>
<use>
<flag name="quick">Build bindings for the QtWebEngineQuick module</flag>
diff --git a/dev-python/PyQt6-sip/Manifest b/dev-python/PyQt6-sip/Manifest
index b93208bd4907..b75db9ddef10 100644
--- a/dev-python/PyQt6-sip/Manifest
+++ b/dev-python/PyQt6-sip/Manifest
@@ -1,2 +1 @@
-DIST PyQt6_sip-13.4.0.tar.gz 111209 BLAKE2B 963d3788d0996565696e82e6a9c197c197322f8b1637cead79a4af8cf8d3ed1b82423ff41e507204aeddc5f16fa0b96b7e7a49c6848ac7438bd98885f3ae4dc6 SHA512 e93a88fedbb965a7ea605a33820798352c340d5656b3ad60c40adc8dbd24fdd18deb67e706595e3cb96e41d1e17d4c837f1224a1c250f0179c6b60b1a5b0e6a2
-DIST PyQt6_sip-13.4.1.tar.gz 111256 BLAKE2B 548cf81a0a02183e2524bbbbc8e4c1e72fb91a744d7e23ecad531bd0f6d42fef4a2b893f84dd93c4f73ebc95eaef79e19744d1a9ceeb4fcd3497a2217d0f02af SHA512 267cdde9923e6f8522a7ecdbce4ee6c55f5733719b0326fd87ae91ec35c247176516b25a01a9addabe9391a6df10c67beab782fed8a83185a2cd5fdcd6fb4c50
+DIST PyQt6_sip-13.6.0.tar.gz 111576 BLAKE2B 1a5a35bb060654d347940af90fb5605b1b2f699da4fd4bbcdbb7d9497f91d7dd1a76c3267b5c4e1e68360c66130d4a9983d2da21da745e70adfc627df85cd8c0 SHA512 bd2fa70d64544d8104d3477cb650a0e6bcefa0008680afcf7d187ba3fb1117871c0237d3a7f047144c8a8a8eeb8da941a3b206f8ee0601cb2cc734243cdb9d46
diff --git a/dev-python/PyQt6-sip/PyQt6-sip-13.4.0.ebuild b/dev-python/PyQt6-sip/PyQt6-sip-13.4.0.ebuild
deleted file mode 100644
index 58d7f3e359c4..000000000000
--- a/dev-python/PyQt6-sip/PyQt6-sip-13.4.0.ebuild
+++ /dev/null
@@ -1,19 +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
-
-MY_P="${P/-/_}"
-
-DESCRIPTION="sip module support for PyQt6"
-HOMEPAGE="https://www.riverbankcomputing.com/software/sip/"
-SRC_URI="mirror://pypi/${P::1}/${PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="|| ( GPL-2 GPL-3 SIP )"
-SLOT="0"
-KEYWORDS="~amd64"
diff --git a/dev-python/PyQt6-sip/PyQt6-sip-13.4.1.ebuild b/dev-python/PyQt6-sip/PyQt6-sip-13.4.1.ebuild
deleted file mode 100644
index 58d7f3e359c4..000000000000
--- a/dev-python/PyQt6-sip/PyQt6-sip-13.4.1.ebuild
+++ /dev/null
@@ -1,19 +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
-
-MY_P="${P/-/_}"
-
-DESCRIPTION="sip module support for PyQt6"
-HOMEPAGE="https://www.riverbankcomputing.com/software/sip/"
-SRC_URI="mirror://pypi/${P::1}/${PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="|| ( GPL-2 GPL-3 SIP )"
-SLOT="0"
-KEYWORDS="~amd64"
diff --git a/dev-python/PyQt6-sip/PyQt6-sip-13.6.0.ebuild b/dev-python/PyQt6-sip/PyQt6-sip-13.6.0.ebuild
new file mode 100644
index 000000000000..4fc699fb2293
--- /dev/null
+++ b/dev-python/PyQt6-sip/PyQt6-sip-13.6.0.ebuild
@@ -0,0 +1,18 @@
+# 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
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/_}
+PYTHON_COMPAT=( python3_{10..12} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="sip module support for PyQt6"
+HOMEPAGE="https://www.riverbankcomputing.com/software/sip/"
+
+LICENSE="|| ( GPL-2 GPL-3 SIP )"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
diff --git a/dev-python/PyQt6-sip/metadata.xml b/dev-python/PyQt6-sip/metadata.xml
index a999cde076c9..4db1b0254ea4 100644
--- a/dev-python/PyQt6-sip/metadata.xml
+++ b/dev-python/PyQt6-sip/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>ionen@gentoo.org</email>
- <name>Ionen Wolkens</name>
+ <maintainer type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
</maintainer>
<upstream>
<bugs-to>https://www.riverbankcomputing.com/mailman/listinfo/pyqt/</bugs-to>
diff --git a/dev-python/PyQt6/Manifest b/dev-python/PyQt6/Manifest
index bf2e92785d54..624cb4ac7cc0 100644
--- a/dev-python/PyQt6/Manifest
+++ b/dev-python/PyQt6/Manifest
@@ -1,2 +1 @@
-DIST PyQt6-6.4.0.tar.gz 1024037 BLAKE2B a55d2e33160b6bb713b5e32e6b3a3df942f373ce9c9697cad548325c35ee7ee73a57e93ebc8780480086b02d651fa848258f11f85bea0e54c61c8a0f99039c3d SHA512 836696cc708e140ff497fd915fac147265c58e5d44d54d7dcd1908bad54ed793b4c2c4f20b487d13c7a5f7eb6b2c47d7ab822d8ffc875657de7fd0f88ee6c53b
-DIST PyQt6-6.4.1.tar.gz 1025522 BLAKE2B 17a5f5f4dba5b06729d4a0f9b2964c5632be5bed1da67fe1a90a9d91ba63bc10a83012fc6e8ca5306238d1dc55a3d10ff08c84eed6b369d0c98ac7281e28d2b0 SHA512 860dea8878a81acdefee164f766ba850481b1f4258ebff95fc3cedcbcf15e832799cd2e62d3b2bf83a743879bcb7efdc70109229c83205b649357fdf918864cb
+DIST PyQt6-6.6.1.tar.gz 1043203 BLAKE2B dd2b6988ebeabaae47fe57c5c0d17fbe4b62c377262b4bb360adb7fd6724ccb6a67ba5c2bd7498df98db3ce6b00978f936b11a43b464c3c7af169f25b30ee1a6 SHA512 c2ff8c47c9b0e43c009d0c90f565a54344e6f384c67dd30c2d422465d0702c07713acc0095c8b67827d1146675611c07d548ba282a26e41bb60a0a21977a7a64
diff --git a/dev-python/PyQt6/PyQt6-6.4.0.ebuild b/dev-python/PyQt6/PyQt6-6.4.0.ebuild
deleted file mode 100644
index 51e109d71f95..000000000000
--- a/dev-python/PyQt6/PyQt6-6.4.0.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_USE_PEP517=sip
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1 flag-o-matic multiprocessing qmake-utils
-
-QT_PV="6.3:6" # minimum tested qt version
-
-DESCRIPTION="Python bindings for the Qt framework"
-HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/"
-SRC_URI="mirror://pypi/${P::1}/${PN}/${P}.tar.gz"
-
-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="
- +dbus debug qml designer examples gles2-only +gui help multimedia
- +network opengl positioning +printsupport quick quick3d serialport
- +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 )
- printsupport? ( gui widgets )
- qml? ( network )
- quick3d? ( gui qml )
- quick? ( gui qml )
- sql? ( widgets )
- svg? ( gui )
- testlib? ( gui widgets )
- webchannel? ( network )
- websockets? ( network )
- widgets? ( gui )"
-
-# note: xml(+) for now given qtbase-6.3.1-r0 is missing IUSE=xml with a TODO
-DEPEND="
- >=dev-qt/qtbase-${QT_PV}[dbus?,gles2-only=,gui?,network?,opengl?,sql?,ssl=,widgets?,xml(+)?]
- 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} )
- positioning? ( >=dev-qt/qtpositioning-${QT_PV} )
- qml? ( >=dev-qt/qtdeclarative-${QT_PV} )
- quick3d? ( >=dev-qt/qtquick3d-${QT_PV} )
- serialport? ( >=dev-qt/qtserialport-${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.4[${PYTHON_USEDEP}]"
-BDEPEND="
- >=dev-python/PyQt-builder-1.11[${PYTHON_USEDEP}]
- >=dev-qt/qtbase-${QT_PV}
- sys-devel/gcc
- dbus? ( virtual/pkgconfig )"
-
-src_prepare() {
- default
-
- # hack: qmake wants g++ (not clang), try to respect ${CHOST} #726112
- mkdir "${T}"/cxx || die
- ln -s "$(type -P ${CHOST}-g++ || type -P g++ || die)" "${T}"/cxx/g++ || die
- PATH=${T}/cxx:${PATH}
-}
-
-src_configure() {
- append-cxxflags -std=c++17 # for clang and old gcc that default to <17
-
- pyqt-use_enable() {
- local state=$(usex ${1} --enable= --disable=)
- shift
- echo ${*/#/${state}}
- }
-
- # workaround until bug 863395 has something to offer
- local qmake6=$(qt5_get_bindir)/qmake
- qmake6=${qmake6//qt5/qt6}
-
- DISTUTILS_ARGS=(
- --jobs=$(makeopts_jobs)
- --qmake="${qmake6}"
- --qmake-setting="$(qt5_get_qmake_args)"
- --verbose
- --confirm-license
-
- # TODO: enable/restrict more as qt6 packages/USE get added
- --disable=QAxContainer
- --disable=QtBluetooth
- --enable=QtCore
- $(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)
- --disable=QtNfc
- $(pyqt-use_enable opengl QtOpenGL \
- $(usev widgets QtOpenGLWidgets))
- --disable=QtPdf #+QtPdfWidgets (QtPdf is disabled in qtwebengine:6)
- $(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
- --disable=QtSensors
- $(pyqt-use_enable serialport QtSerialPort)
- $(pyqt-use_enable sql QtSql)
- $(pyqt-use_enable svg QtSvg \
- $(usev widgets QtSvgWidgets))
- $(pyqt-use_enable testlib QtTest)
- --disable=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)
- # TODO?: plugins not in wheels by upstream, see project.py#L215
- # (if needed by something, will need to be added to python_install)
- $(usev !designer --no-designer-plugin)
- $(usev !qml --no-qml-plugin)
-
- $(usev !gles2-only --disabled-feature=PyQt_OpenGL_ES2)
- $(usev !ssl --disabled-feature=PyQt_SSL)
- )
-}
-
-python_install_all() {
- einstalldocs
- use examples && dodoc -r examples
-}
diff --git a/dev-python/PyQt6/PyQt6-6.4.1.ebuild b/dev-python/PyQt6/PyQt6-6.4.1.ebuild
deleted file mode 100644
index 2e10cf119914..000000000000
--- a/dev-python/PyQt6/PyQt6-6.4.1.ebuild
+++ /dev/null
@@ -1,145 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=sip
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1 flag-o-matic multiprocessing 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/"
-SRC_URI="mirror://pypi/${P::1}/${PN}/${P}.tar.gz"
-
-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="
- +dbus debug qml designer examples gles2-only +gui help multimedia
- +network opengl positioning +printsupport quick quick3d serialport
- +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 )
- printsupport? ( gui widgets )
- qml? ( network )
- quick3d? ( gui qml )
- quick? ( gui qml )
- sql? ( widgets )
- svg? ( gui )
- testlib? ( gui widgets )
- webchannel? ( network )
- websockets? ( network )
- widgets? ( gui )"
-
-DEPEND="
- >=dev-qt/qtbase-${QT_PV}[dbus?,gles2-only=,gui?,network?,opengl?,sql?,ssl=,widgets?,xml?]
- 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} )
- positioning? ( >=dev-qt/qtpositioning-${QT_PV} )
- qml? ( >=dev-qt/qtdeclarative-${QT_PV} )
- quick3d? ( >=dev-qt/qtquick3d-${QT_PV} )
- serialport? ( >=dev-qt/qtserialport-${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.4[${PYTHON_USEDEP}]"
-BDEPEND="
- >=dev-python/PyQt-builder-1.11[${PYTHON_USEDEP}]
- >=dev-qt/qtbase-${QT_PV}
- sys-devel/gcc
- dbus? ( virtual/pkgconfig )"
-
-src_prepare() {
- default
-
- # hack: qmake queries g++ directly for info (not building) and that doesn't
- # work with clang, this is to make it at least respect CHOST (bug #726112)
- mkdir "${T}"/cxx || die
- ln -s "$(type -P ${CHOST}-g++ || type -P g++ || die)" "${T}"/cxx/g++ || die
- PATH=${T}/cxx:${PATH}
-}
-
-src_configure() {
- append-cxxflags -std=c++17 # for old gcc / clang that use <17 (bug #892331)
-
- pyqt-use_enable() {
- local state=$(usex ${1} --enable= --disable=)
- shift
- echo ${*/#/${state}}
- }
-
- DISTUTILS_ARGS=(
- --jobs=$(makeopts_jobs)
- --qmake="$(type -P qmake6 || die)"
- --qmake-setting="$(qt5_get_qmake_args)"
- --verbose
- --confirm-license
-
- # TODO: enable more as new qt6 packages get added
- --disable=QAxContainer
- --disable=QtBluetooth
- --enable=QtCore
- $(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)
- --disable=QtNfc
- $(pyqt-use_enable opengl QtOpenGL \
- $(usev widgets QtOpenGLWidgets))
- --disable=QtPdf #+QtPdfWidgets (QtPdf is disabled in qtwebengine:6)
- $(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
- --disable=QtSensors
- $(pyqt-use_enable serialport QtSerialPort)
- $(pyqt-use_enable sql QtSql)
- $(pyqt-use_enable svg QtSvg \
- $(usev widgets QtSvgWidgets))
- $(pyqt-use_enable testlib QtTest)
- --disable=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)
- # TODO?: plugins not in wheels by upstream, see project.py#L215
- # (if needed by something, will need to be added to python_install)
- $(usev !designer --no-designer-plugin)
- $(usev !qml --no-qml-plugin)
-
- $(usev !gles2-only --disabled-feature=PyQt_OpenGL_ES2)
- $(usev !ssl --disabled-feature=PyQt_SSL)
- )
-}
-
-python_install_all() {
- einstalldocs
- use examples && dodoc -r examples
-}
diff --git a/dev-python/PyQt6/PyQt6-6.6.1.ebuild b/dev-python/PyQt6/PyQt6-6.6.1.ebuild
new file mode 100644
index 000000000000..328355759d54
--- /dev/null
+++ b/dev-python/PyQt6/PyQt6-6.6.1.ebuild
@@ -0,0 +1,179 @@
+# 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 ~arm64"
+# 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.6.1-qt670.patch
+)
+
+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.6.1-qt670.patch b/dev-python/PyQt6/files/PyQt6-6.6.1-qt670.patch
new file mode 100644
index 000000000000..64c4aa303836
--- /dev/null
+++ b/dev-python/PyQt6/files/PyQt6-6.6.1-qt670.patch
@@ -0,0 +1,77 @@
+Early workarounds to fix build with upcoming Qt6.7.0 not to have
+to wait for the matching PyQt6-6.7.0. Not fully correct fixes,
+but should be better than failing. May need revision given 6.7
+apis are not finalized as of the writing of this.
+
+Caused by the following commits:
+https://github.com/qt/qtbase/commit/fd48ce0b73c (qdatastream+pyqtpyboject)
+> qsizetype is ssize_t and ends up more correct (e.g. for Py_ssize_t)
+https://github.com/qt/qtbase/commit/7a3fed3f209 (qtimezone)
+> removed, can just drop these if 6.7 and ignore the replacement
+https://github.com/qt/qtbase/commit/19bc5de296a (qfont)
+https://github.com/qt/qtbase/commit/bde443801fe (qfont)
+> these tag features are new'ish (and changing) and only available if
+> >=6.6 as-is, let's just drop them if 6.7 as no revdeps should need yet
+--- a/qpy/QtCore/qpycore_pyqtpyobject.cpp
++++ b/qpy/QtCore/qpycore_pyqtpyobject.cpp
+@@ -173,9 +173,13 @@
+ {
+ char *ser;
++#if QT_VERSION >= QT_VERSION_CHECK(6, 7, 0)
++ qsizetype len;
++#else
+ uint len;
++#endif
+
+ in.readBytes(ser, len);
+
+- if (len)
++ if (len > 0)
+ {
+ static PyObject *loads = 0;
+--- a/sip/QtCore/QtCoremod.sip
++++ b/sip/QtCore/QtCoremod.sip
+@@ -23,5 +23,5 @@
+ %Module(name=PyQt6.QtCore, call_super_init=True, default_VirtualErrorHandler=PyQt6, keyword_arguments="Optional", use_limited_api=True, py_ssize_t_clean=True)
+
+-%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}
++%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 Qt_6_7_0}
+
+ %Platforms {Android iOS Linux macOS WebAssembly Windows}
+--- a/sip/QtCore/qdatastream.sip
++++ b/sip/QtCore/qdatastream.sip
+@@ -123,5 +123,9 @@
+ %MethodCode
+ char *s;
++#if QT_VERSION >= QT_VERSION_CHECK(6, 7, 0)
++ qsizetype l;
++#else
+ uint l;
++#endif
+
+ Py_BEGIN_ALLOW_THREADS
+--- a/sip/QtCore/qtimezone.sip
++++ b/sip/QtCore/qtimezone.sip
+@@ -72,6 +72,8 @@
+ ~QTimeZone();
+ void swap(QTimeZone &other /Constrained/);
++%If (- Qt_6_7_0)
+ bool operator==(const QTimeZone &other) const;
+ bool operator!=(const QTimeZone &other) const;
++%End
+ bool isValid() const;
+ QByteArray id() const;
+--- a/sip/QtGui/qfont.sip
++++ b/sip/QtGui/qfont.sip
+@@ -209,4 +209,5 @@
+ QStringList families() const;
+ void setFamilies(const QStringList &);
++%If (- Qt_6_7_0)
+ %If (Qt_6_6_0 -)
+ void setFeature(quint32 tag, quint32 value);
+@@ -239,4 +240,5 @@
+ static quint32 stringToTag(const char *tagString /Encoding="None"/);
+ %End
++%End
+ };
+
diff --git a/dev-python/PyQt6/metadata.xml b/dev-python/PyQt6/metadata.xml
index 1872d32a4049..58da8019ee6e 100644
--- a/dev-python/PyQt6/metadata.xml
+++ b/dev-python/PyQt6/metadata.xml
@@ -1,24 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>ionen@gentoo.org</email>
- <name>Ionen Wolkens</name>
+ <maintainer type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
</maintainer>
<use>
+ <flag name="bluetooth">Build bindings for the QtBluetooth module</flag>
<flag name="dbus">Build bindings for the QtDBus module</flag>
<flag name="designer">Build bindings for the QtDesigner module and enable the designer plugin</flag>
<flag name="gui">Build bindings for the QtGui module</flag>
<flag name="help">Build bindings for the QtHelp module</flag>
<flag name="multimedia">Build bindings for the QtMultimedia module</flag>
<flag name="network">Build bindings for the QtNetwork module</flag>
+ <flag name="nfc">Build bindings for the QtNfc module</flag>
<flag name="opengl">Build bindings for the QtOpenGL module</flag>
+ <flag name="pdfium">Build bindings for the QtPdf module (uses pdfium from <pkg>dev-qt/qtwebengine</pkg>)</flag>
<flag name="positioning">Build bindings for the QtPositioning module</flag>
<flag name="printsupport">Build bindings for the QtPrintSupport module</flag>
<flag name="qml">Build bindings for the QtQml module and enable the qml plugin</flag>
<flag name="quick">Build bindings for the QtQuick module</flag>
<flag name="quick3d">Build bindings for the QtQuick3D module</flag>
+ <flag name="sensors">Build bindings for the QtSensors module</flag>
<flag name="serialport">Build bindings for the QtSerialPort module</flag>
+ <flag name="spatialaudio">Build bindings for the QtSpatialAudio module</flag>
+ <flag name="speech">Build bindings for the QtTextToSpeech module</flag>
<flag name="sql">Build bindings for the QtSql module</flag>
<flag name="svg">Build bindings for the QtSvg module</flag>
<flag name="testlib">Build bindings for the QtTest module</flag>
diff --git a/dev-python/PyQtWebEngine/Manifest b/dev-python/PyQtWebEngine/Manifest
index 0dd22964e344..3cbff134bc2f 100644
--- a/dev-python/PyQtWebEngine/Manifest
+++ b/dev-python/PyQtWebEngine/Manifest
@@ -1,2 +1 @@
-DIST PyQtWebEngine-5.15.5.tar.gz 48610 BLAKE2B ea266c09965a6ee62e33d3970b145068271c9e1eb87839782e0100b5db2e90a0c002fc4d6f3d22ef9a5cb8c42a067bb45008b0392a0d8557bc6c5c9d77e6b75a SHA512 20eecd479ea757e3bf9855c7dafe0bbbc0cbc61be26509605a5c9a8026e54bb6e362069ecf4be74733dcf6eec154f6ed13933e334e4455b080e687abfd2659fa
DIST PyQtWebEngine-5.15.6.tar.gz 48871 BLAKE2B af7c30a0d2e65e12a6eb4a2d3a40d72f94f16a5b4e509f9366be4bfb7d4358b27b3f9c0a7e4a2e7254d38950cbbd6bd4eb88e321949d4d9a44e6ea7e06c2f902 SHA512 f744fb0468ccbc79aad23d941c8e96d537ceeedfae215c7095dbf36b04b3dd042f0ff80aeca25a23715964b7d6db3bc80513f509d15c6dd6bd51e42a1a4e1975
diff --git a/dev-python/PyQtWebEngine/PyQtWebEngine-5.15.5.ebuild b/dev-python/PyQtWebEngine/PyQtWebEngine-5.15.5.ebuild
deleted file mode 100644
index d0e32ce57c4a..000000000000
--- a/dev-python/PyQtWebEngine/PyQtWebEngine-5.15.5.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit python-r1 qmake-utils
-
-DESCRIPTION="Python bindings for QtWebEngine"
-HOMEPAGE="https://www.riverbankcomputing.com/software/pyqtwebengine/ https://pypi.org/project/PyQtWebEngine/"
-
-MY_P=${PN}-${PV/_pre/.dev}
-if [[ ${PV} == *_pre* ]]; then
- SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.gz"
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
-fi
-S=${WORKDIR}/${MY_P}
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
-IUSE="debug"
-
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
-"
-
-DEPEND="${PYTHON_DEPS}
- >=dev-python/PyQt5-5.15.5[gui,network,printsupport,ssl,webchannel,widgets,${PYTHON_USEDEP}]
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwebengine:5[widgets]
-"
-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_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 ${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
-
- einstalldocs
-}
diff --git a/dev-python/PyQtWebEngine/PyQtWebEngine-5.15.6-r1.ebuild b/dev-python/PyQtWebEngine/PyQtWebEngine-5.15.6-r1.ebuild
new file mode 100644
index 000000000000..70a71c72b141
--- /dev/null
+++ b/dev-python/PyQtWebEngine/PyQtWebEngine-5.15.6-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=sip
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+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/
+"
+
+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.9:=[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/PyQt-builder-1.10[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.2[${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/PyQtWebEngine/PyQtWebEngine-5.15.6.ebuild b/dev-python/PyQtWebEngine/PyQtWebEngine-5.15.6.ebuild
deleted file mode 100644
index 8ac077883076..000000000000
--- a/dev-python/PyQtWebEngine/PyQtWebEngine-5.15.6.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit python-r1 qmake-utils
-
-DESCRIPTION="Python bindings for QtWebEngine"
-HOMEPAGE="https://www.riverbankcomputing.com/software/pyqtwebengine/ https://pypi.org/project/PyQtWebEngine/"
-
-MY_P=${PN}-${PV/_pre/.dev}
-if [[ ${PV} == *_pre* ]]; then
- SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.gz"
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
-fi
-S=${WORKDIR}/${MY_P}
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~x86"
-IUSE="debug"
-
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
-"
-
-DEPEND="${PYTHON_DEPS}
- >=dev-python/PyQt5-5.15.5[gui,network,printsupport,ssl,webchannel,widgets,${PYTHON_USEDEP}]
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwebengine:5[widgets]
-"
-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_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 ${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
-
- einstalldocs
-}
diff --git a/dev-python/PyRSS2Gen/PyRSS2Gen-1.1-r2.ebuild b/dev-python/PyRSS2Gen/PyRSS2Gen-1.1-r2.ebuild
index 4eb058365914..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} )
+PYTHON_COMPAT=( python3_{9,10,11,12} )
inherit distutils-r1
diff --git a/dev-python/PySDL2/Manifest b/dev-python/PySDL2/Manifest
index 9255809946ef..aeb9f90c26a4 100644
--- a/dev-python/PySDL2/Manifest
+++ b/dev-python/PySDL2/Manifest
@@ -1 +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 f3210381e39c..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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python (ctypes) bindings for SDL2 libraries"
-HOMEPAGE="
- https://github.com/py-sdl/py-sdl2/
- https://pypi.org/project/PySDL2/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-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
new file mode 100644
index 000000000000..539e04548bf8
--- /dev/null
+++ b/dev-python/PySDL2/PySDL2-0.9.16.ebuild
@@ -0,0 +1,69 @@
+# 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) 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
+ )"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # pysdl2 was misusing libsdl2's error API. Fixed upstream already
+ # but it didn't land in 0.9.16.
+ # https://bugs.gentoo.org/916120
+ # https://bugs.gentoo.org/916118
+ sdl2/test/gamecontroller_test.py
+ sdl2/test/hidapi_test.py::test_SDL_hid_enumerate
+ )
+
+ local -x SDL_VIDEODRIVER=dummy
+ local -x SDL_AUDIODRIVER=dummy
+ local -x SDL_RENDER_DRIVER=software
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -x
+}
diff --git a/dev-python/PySensors/PySensors-0.0.4-r1.ebuild b/dev-python/PySensors/PySensors-0.0.4-r1.ebuild
index 09611850f92a..954d8809546f 100644
--- a/dev-python/PySensors/PySensors-0.0.4-r1.ebuild
+++ b/dev-python/PySensors/PySensors-0.0.4-r1.ebuild
@@ -4,13 +4,13 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Python bindings to libsensors (via ctypes)"
HOMEPAGE="https://pypi.org/project/PySensors/"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
diff --git a/dev-python/PySocks/PySocks-1.7.1-r2.ebuild b/dev-python/PySocks/PySocks-1.7.1-r2.ebuild
index 645f5f3994a1..dee394271fcc 100644
--- a/dev-python/PySocks/PySocks-1.7.1-r2.ebuild
+++ b/dev-python/PySocks/PySocks-1.7.1-r2.ebuild
@@ -5,17 +5,17 @@
EAPI=7
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="SOCKS client module"
HOMEPAGE="https://github.com/Anorov/PySocks https://pypi.org/project/PySocks/"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+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"
# tests are broken beyond repair and the package is no longer maintained
RESTRICT="test"
diff --git a/dev-python/Pyro4/Manifest b/dev-python/Pyro4/Manifest
deleted file mode 100644
index 629f808f2b5a..000000000000
--- a/dev-python/Pyro4/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST Pyro4-4.82.tar.gz 516110 BLAKE2B ecd7b5cf1469896acfec1db92d99784aa316db5cadbb7fc595a5f9916ac705619d070771549fb8ba7379a7395e4449eabcfc84aa131d4b23b587b7467f4bf196 SHA512 f5916ce37ec52d8cd23bece79325480140621ac8412febb4877a32b1ce54502ef17d20bf591dc30eb20e9619741548b30a78165937d5e69e8d1911d95a23b1e1
diff --git a/dev-python/Pyro4/Pyro4-4.82-r1.ebuild b/dev-python/Pyro4/Pyro4-4.82-r1.ebuild
deleted file mode 100644
index 8f06b59759b4..000000000000
--- a/dev-python/Pyro4/Pyro4-4.82-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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Distributed object middleware for Python (RPC)"
-HOMEPAGE="
- https://github.com/irmen/Pyro4/
- https://pypi.org/project/Pyro4/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ppc x86"
-IUSE="doc examples"
-
-RDEPEND="
- >=dev-python/serpent-1.27[${PYTHON_USEDEP}]
-"
-DEPEND="
- test? (
- >=dev-python/cloudpickle-1.2.1[${PYTHON_USEDEP}]
- >=dev-python/dill-0.2.6[${PYTHON_USEDEP}]
- >=dev-python/msgpack-0.5.2[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # network
- tests/PyroTests/test_naming.py
- tests/PyroTests/test_naming2.py::OfflineNameServerTests::testStartNSfunc
- tests/PyroTests/test_naming2.py::OfflineNameServerTestsDbmStorage::testStartNSfunc
- tests/PyroTests/test_naming2.py::OfflineNameServerTestsSqlStorage::testStartNSfunc
- tests/PyroTests/test_serialize.py::SerializeTests_dill::testSerCoreOffline
- tests/PyroTests/test_serialize.py::SerializeTests_dill::testSerializeDumpsAndDumpsCall
- tests/PyroTests/test_socket.py::TestSocketutil::testBroadcast
- tests/PyroTests/test_socket.py::TestSocketutil::testGetIP
- )
-
- cd tests/PyroTests || die
- epytest
-}
-
-python_install_all() {
- use doc && HTML_DOCS=( docs/. )
- 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/Pyro4/metadata.xml b/dev-python/Pyro4/metadata.xml
deleted file mode 100644
index 30fa539c40df..000000000000
--- a/dev-python/Pyro4/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">irmen/Pyro4</remote-id>
- <remote-id type="pypi">Pyro4</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/Pyro5/Manifest b/dev-python/Pyro5/Manifest
new file mode 100644
index 000000000000..56c28ac55ea0
--- /dev/null
+++ b/dev-python/Pyro5/Manifest
@@ -0,0 +1 @@
+DIST Pyro5-5.15.tar.gz 447559 BLAKE2B e8831a4321205a8affef5cf0b986b3a10480296b03ac132cb5faa5508a1dbe0ba59a8dfb9a7ec284483d0736224291d033a02061b277078b26c1f71b1fd6bcc8 SHA512 bafed86363b0fd94900f0c708ffb6aa664587a7c032aa974b766556ec86d5db0eb89a8ceffa0a1e7dd043be8d0a1d8826fa79e1ca95002dbe380213c367684a3
diff --git a/dev-python/Pyro5/Pyro5-5.15-r1.ebuild b/dev-python/Pyro5/Pyro5-5.15-r1.ebuild
new file mode 100644
index 000000000000..2d3c0ae5bb4c
--- /dev/null
+++ b/dev-python/Pyro5/Pyro5-5.15-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2021-2023 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 )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Distributed object middleware for Python (RPC)"
+HOMEPAGE="
+ https://pyro5.readthedocs.io
+ https://pypi.org/project/Pyro5/
+ https://github.com/irmen/Pyro5
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/serpent-1.40[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-test-on-ipv6.patch
+)
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs/source \
+ dev-python/sphinx-rtd-theme
+
+EPYTEST_DESELECT=(
+ # https://github.com/irmen/Pyro5/issues/83 (pypy3 specific)
+ tests/test_server.py::TestServerOnce::testRegisterWeak
+)
+
+python_test() {
+ epytest -m 'not network'
+}
diff --git a/dev-python/Pyro5/files/Pyro5-5.15-fix-test-on-ipv6.patch b/dev-python/Pyro5/files/Pyro5-5.15-fix-test-on-ipv6.patch
new file mode 100644
index 000000000000..fb92d88b6f4f
--- /dev/null
+++ b/dev-python/Pyro5/files/Pyro5-5.15-fix-test-on-ipv6.patch
@@ -0,0 +1,36 @@
+https://github.com/irmen/Pyro5/commit/8db91b617dd08508053e54dea2a781749a00ffc8.patch
+https://bugs.gentoo.org/915997
+
+From 8db91b617dd08508053e54dea2a781749a00ffc8 Mon Sep 17 00:00:00 2001
+From: Irmen de Jong <irmen@razorvine.net>
+Date: Sat, 21 Oct 2023 21:48:56 +0200
+Subject: [PATCH] made getGetInterface test work with ipv6 localhost
+
+---
+ tests/test_socketutil.py | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/tests/test_socketutil.py b/tests/test_socketutil.py
+index ef0720d..c9467ae 100644
+--- a/tests/test_socketutil.py
++++ b/tests/test_socketutil.py
+@@ -56,10 +56,15 @@ def testGetIP6(self):
+
+ def testGetInterface(self):
+ addr = socketutil.get_interface("localhost")
+- assert addr.version == 4
+- assert str(addr).startswith("127.")
+- assert str(addr.ip).startswith("127.0")
+- assert str(addr.network).startswith("127.0")
++ if addr.version == 6:
++ assert str(addr).startswith("::1")
++ assert str(addr.ip) == "::1"
++ assert str(addr.network).startswith("::1")
++ else:
++ assert addr.version == 4
++ assert str(addr).startswith("127.")
++ assert str(addr.ip).startswith("127.0")
++ assert str(addr.network).startswith("127.0")
+ if has_ipv6:
+ addr = socketutil.get_interface("::1")
+ assert addr.version == 6
diff --git a/dev-python/Pyro5/metadata.xml b/dev-python/Pyro5/metadata.xml
new file mode 100644
index 000000000000..7a9a2bcc2903
--- /dev/null
+++ b/dev-python/Pyro5/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>ceamac@gentoo.org</email>
+ <name>Viorel Munteanu</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">irmen/Pyro5</remote-id>
+ <remote-id type="pypi">Pyro5</remote-id>
+ </upstream>
+ <stabilize-allarches/>
+</pkgmetadata>
diff --git a/dev-python/QtPy/Manifest b/dev-python/QtPy/Manifest
index 91b7071dba66..f518af3f339b 100644
--- a/dev-python/QtPy/Manifest
+++ b/dev-python/QtPy/Manifest
@@ -1 +1 @@
-DIST QtPy-2.3.0.tar.gz 53980 BLAKE2B 142694c3b10dc2ed46c168a063c0019928358d079dddfef0708ec8cabd782e206734bc0f680a7ee7309b483c56ecd739b3364061eaf190a1a9c9e41d940af202 SHA512 1fa3d52367fa70ca178a128f3cc95f333b1408dd88b9f9d15ef30b4c7f848a91df1626fa046667ce6bd6ee3f7a3909f1b3fb06b902eff26e1f058139eced73c6
+DIST QtPy-2.4.1.tar.gz 65492 BLAKE2B 3816e3836c171f75fc1877984b533602c8929a791b09a1f53b14687eae7a1067e47fcae3a198d798417521a1a81829168d3af94178b28d8a3bd2c28e7d9f7865 SHA512 cb7c65cfec5aba9bdc4942b95108ac0300eac5ca8f0c984e8ea789b77fded3a1817f591d43bc45e9aa4feb3cb3da64c0d42ae67f12121a807cf7c247e7612e7d
diff --git a/dev-python/QtPy/QtPy-2.3.0.ebuild b/dev-python/QtPy/QtPy-2.3.0.ebuild
deleted file mode 100644
index 2f1b4e2fd828..000000000000
--- a/dev-python/QtPy/QtPy-2.3.0.ebuild
+++ /dev/null
@@ -1,207 +0,0 @@
-# Copyright 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="Abstraction layer on top of PyQt and PySide with additional custom QWidgets"
-HOMEPAGE="
- https://github.com/spyder-ide/qtpy/
- https://pypi.org/project/QtPy/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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 )
-# script? ( pyside2 only )
-# scripttools? ( 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,script,scripttools,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.1-r1.ebuild b/dev-python/QtPy/QtPy-2.4.1-r1.ebuild
new file mode 100644
index 000000000000..77a7edfb9514
--- /dev/null
+++ b/dev-python/QtPy/QtPy-2.4.1-r1.ebuild
@@ -0,0 +1,240 @@
+# 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 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/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}]
+ dev-qt/qtsql:5[sqlite]
+ )
+ 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]
+ dev-qt/qtbase:6[sqlite]
+ )
+ 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]
+ dev-qt/qtsql:5[sqlite]
+ ' 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]
+ dev-qt/qtbase:6[sqlite]
+ )
+ )
+"
+
+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 \
+ -e '/from PyQt5.QtCore import/,/)/c\ \ \ \ \ \ \ \ raise ImportError #/' \
+ -e '/if "PyQt5" in sys.modules:/,/"pyqt5"/c\' \
+ -i qtpy/__init__.py || die
+
+ # We need to ensure the first option is an 'if' not 'elif'
+ sed -e 's/elif "PySide2" in sys.modules:/if "PySide2" in sys.modules:/g' -i qtpy/__init__.py || die
+ fi
+ if ! use pyside2; then
+ sed \
+ -e "s/from PySide2 import/raise ImportError #/" \
+ -e "s/from PySide2.QtCore import/raise ImportError #/" \
+ -e '/if "PySide2" in sys.modules:/,/"pyside2"/c\' \
+ -i qtpy/__init__.py || die
+
+ if ! use pyqt5; then
+ sed \
+ -e 's/elif "PyQt6" in sys.modules:/if "PyQt6" in sys.modules:/g' \
+ -i qtpy/__init__.py || die
+ fi
+ fi
+ if ! use pyqt6; then
+ sed \
+ -e '/from PyQt6.QtCore import/,/)/c\ \ \ \ \ \ \ \ raise ImportError #/' \
+ -e '/if "PyQt6" in sys.modules:/,/"pyqt6"/c\' \
+ -i qtpy/__init__.py || die
+
+ if ! use pyqt5 && ! use pyside2; then
+ sed \
+ -e 's/elif "PySide6" in sys.modules:/if "PySide6" in sys.modules:/g' \
+ -i qtpy/__init__.py || die
+ fi
+ fi
+ if ! use pyside6; then
+ sed \
+ -e "s/from PySide6 import/raise ImportError #/" \
+ -e "s/from PySide6.QtCore import/raise ImportError #/" \
+ -e '/if "PySide6" in sys.modules:/,/"pyside6"/c\' \
+ -i qtpy/__init__.py || die
+ fi
+}
+
+python_test() {
+ local -x QT_API
+ local -a EPYTEST_DESELECT
+ local other
+
+ # 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
+ for QT_API in PyQt{5,6} PySide{2,6}; do
+ if use "${QT_API,,}"; then
+ EPYTEST_DESELECT=()
+ for other in PyQt{5,6} PySide{2,6}; do
+ if [[ ${QT_API} != ${other} ]]; then
+ EPYTEST_DESELECT+=(
+ "qtpy/tests/test_main.py::test_qt_api_environ[${other}]"
+ )
+ fi
+ done
+
+ einfo "Testing with ${EPYTHON} and QT_API=${QT_API}"
+ nonfatal epytest ||
+ die -n "Tests failed with ${EPYTHON} and QT_API=${QT_API}" ||
+ return 1
+ fi
+ done
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+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/metadata.xml b/dev-python/QtPy/metadata.xml
index e748334bb8e6..e50590762519 100644
--- a/dev-python/QtPy/metadata.xml
+++ b/dev-python/QtPy/metadata.xml
@@ -29,7 +29,9 @@
<flag name="printsupport">Pull in bindings for the QtPrintSupport module</flag>
<flag name="qml">Build bindings for the QtQml</flag>
<flag name="quick">Build bindings for the QtQuick</flag>
+ <flag name="sensors">Pull in bindings for the QtSensors module</flag>
<flag name="serialport">Pull in bindings for the QtSerialPort module</flag>
+ <flag name="speech">Pull in bindings for the QtTextToSpeech module</flag>
<flag name="sql">Pull in bindings for the QtSql module</flag>
<flag name="svg">Pull in bindings for the QtSvg module</flag>
<flag name="testlib">Pull in bindings for the QtTest module</flag>
diff --git a/dev-python/a2wsgi/Manifest b/dev-python/a2wsgi/Manifest
new file mode 100644
index 000000000000..5a97b2513196
--- /dev/null
+++ b/dev-python/a2wsgi/Manifest
@@ -0,0 +1 @@
+DIST a2wsgi-1.10.4.tar.gz 18186 BLAKE2B 7f184c1621dd28e75c12e85b85ca4ed0b1b55d59c79797429bc188feec0ee0105e77c3613b1c2f94e1561f71fdcbabae99218e2c007ab095dd68b0502d112444 SHA512 6c050dcaca4dab0793afb267d7cbcb4faca362495c46ab9f0b52c9f2f5a1ab7dfd6fa0c543b5eaa18ddca6a789093591653f023ac9c127602138db390ae1c975
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..df53d55470fc
--- /dev/null
+++ b/dev-python/a2wsgi/a2wsgi-1.10.4.ebuild
@@ -0,0 +1,30 @@
+# 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..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/a2wsgi/metadata.xml b/dev-python/a2wsgi/metadata.xml
new file mode 100644
index 000000000000..b5e8f0959b7a
--- /dev/null
+++ b/dev-python/a2wsgi/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="github">abersheeran/a2wsgi</remote-id>
+ <remote-id type="pypi">a2wsgi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/absl-py/Manifest b/dev-python/absl-py/Manifest
index 3560f7fcedae..c1a3d2e808cb 100644
--- a/dev-python/absl-py/Manifest
+++ b/dev-python/absl-py/Manifest
@@ -1,2 +1 @@
-DIST abseil-py-1.3.0.gh.tar.gz 224655 BLAKE2B 7f5c329c159a3b8d3fd7fc37ab36649d7711120ab41a2c052deb383aeae115b8ffe22e0f9c933e6cfe83e19013a2733d037954411f0f6d4acde1a7ecb3131973 SHA512 5631368b1f86dbc73d5261dc07a2693c8effb2534745fe4f19db26f908c7afff9f440a1545f16d1356092ac9a9fda2fdde97fc8977100e162765d9c224d7a66d
-DIST abseil-py-1.4.0.gh.tar.gz 228096 BLAKE2B c34e6319d69976631a4b674d4f23eb0a11705c69fc1ce740eb2b570c61cc3507634d73699eb023b94fe6042c2f49eba3ec134c9c08958aca904eea3bfb8f84e7 SHA512 45cbf6f90a14a3d6e07ee0a6407d4521cac8d15340885c6ae790180c255dfea54e862ee2d806c166a28b5ce238720a7e3af25d6ffe054820588d4a0f20e1f124
+DIST abseil-py-2.1.0.gh.tar.gz 235261 BLAKE2B 85232156e722cb874e29e1f92513b24836553476d5ff379e8df32d307ca21709b5869edd80a3bb7fe757ae585bb45df21c89ae6f2218147a5812f171d946e094 SHA512 298a876ed850085836cb1ff6fddf98aca6a3283780bece8c0a7d118fd4e16cc258e51f721e4a5fcbe62b23d2da05638475d426bb650b0694ff7c1d0119e3be97
diff --git a/dev-python/absl-py/absl-py-1.3.0.ebuild b/dev-python/absl-py/absl-py-1.3.0.ebuild
deleted file mode 100644
index c7c5c3511cff..000000000000
--- a/dev-python/absl-py/absl-py-1.3.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-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_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-1.4.0.ebuild b/dev-python/absl-py/absl-py-1.4.0.ebuild
deleted file mode 100644
index 30be1ae3c3d6..000000000000
--- a/dev-python/absl-py/absl-py-1.4.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-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_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/abydos/Manifest b/dev-python/abydos/Manifest
deleted file mode 100644
index 08bbab06bd8c..000000000000
--- a/dev-python/abydos/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST abydos-0.5.0.gh.tar.gz 21321759 BLAKE2B 1f14675f42e849e5e1563dd858bfb2bf040e25b0f90cb3da9986492378892bedd0f23eea990cd65d804aececb350b0e90fb27921382a8df8b91e55d7f820c27e SHA512 28aeea4ba16ea88b077e8b9902f5d8b3a650eeced489687daf9af0e4aa437eaee6c8eeb0747dd5a8f95291594064a1221cc1da2dfa989978bcc870045fee3531
diff --git a/dev-python/abydos/abydos-0.5.0-r3.ebuild b/dev-python/abydos/abydos-0.5.0-r3.ebuild
deleted file mode 100644
index 89f923e4f00a..000000000000
--- a/dev-python/abydos/abydos-0.5.0-r3.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Abydos NLP/IR library"
-HOMEPAGE="
- https://github.com/chrislit/abydos/
- https://pypi.org/project/abydos/
-"
-SRC_URI="
- https://github.com/chrislit/abydos/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/deprecation[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-py3.10.patch"
-)
-
-distutils_enable_tests pytest
-# Extension error: You must configure the bibtex_bibfiles setting
-#distutils_enable_sphinx docs dev-python/sphinx_rtd_theme dev-python/sphinxcontrib-bibtex
-
-EPYTEST_DESELECT=(
- # Internet
- tests/distance/test_distance_meta_levenshtein.py::MetaLevenshteinTestCases::test_meta_levenshtein_corpus
- tests/distance/test_distance_softtf_idf.py::SoftTFIDFTestCases::test_softtf_idf_corpus
- tests/distance/test_distance_tf_idf.py::TFIDFTestCases::test_tf_idf_corpus
- tests/util/test_data.py::DataTestCases::test_data
-)
-
-python_prepare_all() {
- # do not depend on pytest-cov
- sed -i -e '/addopts/d' setup.cfg || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/abydos/files/abydos-0.5.0-fix-py3.10.patch b/dev-python/abydos/files/abydos-0.5.0-fix-py3.10.patch
deleted file mode 100644
index 9cdcf77f4674..000000000000
--- a/dev-python/abydos/files/abydos-0.5.0-fix-py3.10.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/abydos/distance/_synoname.py
-+++ b/abydos/distance/_synoname.py
-@@ -19,7 +19,7 @@
- Synoname.
- """
-
--from collections import Iterable
-+from collections.abc import Iterable
-
- from deprecation import deprecated
-
---- a/abydos/tokenizer/_q_grams.py
-+++ b/abydos/tokenizer/_q_grams.py
-@@ -19,7 +19,7 @@
- QGrams multi-set class
- """
-
--from collections import Iterable
-+from collections.abc import Iterable
-
- from ._tokenizer import _Tokenizer
-
---- a/abydos/tokenizer/_q_skipgrams.py
-+++ b/abydos/tokenizer/_q_skipgrams.py
-@@ -19,7 +19,7 @@
- Q-Skipgrams multi-set class
- """
-
--from collections import Iterable
-+from collections.abc import Iterable
- from itertools import combinations
-
- from ._tokenizer import _Tokenizer
diff --git a/dev-python/abydos/metadata.xml b/dev-python/abydos/metadata.xml
deleted file mode 100644
index 6334fd4696fd..000000000000
--- a/dev-python/abydos/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>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">abydos</remote-id>
- <remote-id type="github">chrislit/abydos</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/accessible-pygments/Manifest b/dev-python/accessible-pygments/Manifest
new file mode 100644
index 000000000000..c3f6487d5040
--- /dev/null
+++ b/dev-python/accessible-pygments/Manifest
@@ -0,0 +1 @@
+DIST accessible-pygments-0.0.4.gh.tar.gz 4540933 BLAKE2B 1fdd376b9f069590552632a806f161404aeb3ae0c9b522705ea64476bccc97e3f888af270fba5e05680bb87e2d3283f2c93259c687e137efc56a38ca4d71b507 SHA512 b45b3c17bcfb2d66d397ee7e535c35159ab79080163f8ace286d73ea65a08f7e39c757414755d7f59bdae22a52198e26546ae61893bd9cd5c901d2e2b1efb2b1
diff --git a/dev-python/accessible-pygments/accessible-pygments-0.0.4.ebuild b/dev-python/accessible-pygments/accessible-pygments-0.0.4.ebuild
new file mode 100644
index 000000000000..eee581b20c2f
--- /dev/null
+++ b/dev-python/accessible-pygments/accessible-pygments-0.0.4.ebuild
@@ -0,0 +1,34 @@
+# 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/metadata.xml b/dev-python/accessible-pygments/metadata.xml
new file mode 100644
index 000000000000..85eb057f4e0e
--- /dev/null
+++ b/dev-python/accessible-pygments/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="github">Quansight-Labs/accessible-pygments</remote-id>
+ <remote-id type="pypi">accessible-pygments</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/adblock/adblock-0.6.0.ebuild b/dev-python/adblock/adblock-0.6.0.ebuild
index f6fe5726c154..720f90e60bfc 100644
--- a/dev-python/adblock/adblock-0.6.0.ebuild
+++ b/dev-python/adblock/adblock-0.6.0.ebuild
@@ -4,82 +4,90 @@
EAPI=8
CRATES="
- adblock-0.5.6
- addr-0.14.0
- adler-1.0.2
- aho-corasick-0.7.18
- autocfg-1.1.0
- base64-0.13.0
- bitflags-1.3.2
- byteorder-1.4.3
- cfg-if-1.0.0
- crc32fast-1.3.2
- either-1.7.0
- flate2-1.0.24
- form_urlencoded-1.0.1
- idna-0.2.3
- indoc-1.0.6
- itertools-0.10.3
- libc-0.2.126
- lock_api-0.4.7
- matches-0.1.9
- memchr-2.5.0
- miniz_oxide-0.5.3
- num-traits-0.2.15
- once_cell-1.13.0
- parking_lot-0.12.1
- parking_lot_core-0.9.3
- paste-1.0.7
- percent-encoding-2.1.0
- proc-macro2-1.0.40
- psl-2.0.90
- psl-types-2.0.10
- pyo3-0.16.5
- pyo3-build-config-0.16.5
- pyo3-ffi-0.16.5
- pyo3-macros-0.16.5
- pyo3-macros-backend-0.16.5
- quote-1.0.20
- redox_syscall-0.2.13
- regex-1.6.0
- regex-syntax-0.6.27
- rmp-0.8.11
- rmp-serde-0.13.7
- rmp-serde-0.15.5
- scopeguard-1.1.0
- seahash-3.0.7
- serde-1.0.139
- serde_derive-1.0.139
- smallvec-1.9.0
- syn-1.0.98
- target-lexicon-0.12.4
- tinyvec-1.6.0
- tinyvec_macros-0.1.0
- twoway-0.2.2
- unchecked-index-0.2.2
- unicode-bidi-0.3.8
- unicode-ident-1.0.2
- unicode-normalization-0.1.21
- unindent-0.1.9
- url-2.2.2
- windows-sys-0.36.1
- windows_aarch64_msvc-0.36.1
- windows_i686_gnu-0.36.1
- windows_i686_msvc-0.36.1
- windows_x86_64_gnu-0.36.1
- windows_x86_64_msvc-0.36.1"
+ adblock@0.5.6
+ addr@0.14.0
+ adler@1.0.2
+ aho-corasick@0.7.18
+ autocfg@1.1.0
+ base64@0.13.0
+ bitflags@1.3.2
+ byteorder@1.4.3
+ cfg-if@1.0.0
+ crc32fast@1.3.2
+ either@1.7.0
+ flate2@1.0.24
+ form_urlencoded@1.0.1
+ idna@0.2.3
+ indoc@1.0.6
+ itertools@0.10.3
+ libc@0.2.126
+ lock_api@0.4.7
+ matches@0.1.9
+ memchr@2.5.0
+ miniz_oxide@0.5.3
+ num-traits@0.2.15
+ once_cell@1.13.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.3
+ paste@1.0.7
+ percent-encoding@2.1.0
+ proc-macro2@1.0.40
+ psl-types@2.0.10
+ psl@2.0.90
+ pyo3-build-config@0.16.5
+ pyo3-ffi@0.16.5
+ pyo3-macros-backend@0.16.5
+ pyo3-macros@0.16.5
+ pyo3@0.16.5
+ quote@1.0.20
+ redox_syscall@0.2.13
+ regex-syntax@0.6.27
+ regex@1.6.0
+ rmp-serde@0.13.7
+ rmp-serde@0.15.5
+ rmp@0.8.11
+ scopeguard@1.1.0
+ seahash@3.0.7
+ serde@1.0.139
+ serde_derive@1.0.139
+ smallvec@1.9.0
+ syn@1.0.98
+ target-lexicon@0.12.4
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.0
+ twoway@0.2.2
+ unchecked-index@0.2.2
+ unicode-bidi@0.3.8
+ unicode-ident@1.0.2
+ unicode-normalization@0.1.21
+ unindent@0.1.9
+ url@2.2.2
+ windows-sys@0.36.1
+ windows_aarch64_msvc@0.36.1
+ windows_i686_gnu@0.36.1
+ windows_i686_msvc@0.36.1
+ windows_x86_64_gnu@0.36.1
+ windows_x86_64_msvc@0.36.1
+"
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit cargo distutils-r1
DESCRIPTION="Python wrapper for Brave's adblocking library, which is written in Rust"
HOMEPAGE="https://github.com/ArniDagur/python-adblock"
SRC_URI="
- https://github.com/ArniDagur/python-adblock/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz
- $(cargo_crate_uris)"
+ https://github.com/ArniDagur/python-adblock/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
S="${WORKDIR}/python-${P}"
-LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT MPL-2.0"
+LICENSE="|| ( MIT Apache-2.0 )"
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT MPL-2.0
+ Unicode-DFS-2016
+" # crates
SLOT="0"
KEYWORDS="amd64 ~arm64 ~x86"
@@ -89,16 +97,22 @@ QA_FLAGS_IGNORED=".*/adblock.*.so"
DOCS=( CHANGELOG.md README.md )
-EPYTEST_IGNORE=(
- # not very meaningful here (e.g. validates changelog),
- # and needs the deprecated dev-python/toml
- tests/test_metadata.py
+PATCHES=(
+ "${FILESDIR}"/${P}-maturin-0.14.13.patch
)
-src_compile() {
- distutils-r1_src_compile
+python_test() {
+ local EPYTEST_DESELECT=(
+ # 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
+ )
+ local EPYTEST_IGNORE=(
+ # not very meaningful here (e.g. validates changelog),
+ # and needs the deprecated dev-python/toml
+ tests/test_metadata.py
+ )
- # prevent pytest from using ./adblock that lack the built module
- # but the keep directory given tests check ./adblock/adblock.pyi
- rm adblock/__init__.py || die
+ rm -rf adblock || die
+ epytest
}
diff --git a/dev-python/adblock/files/adblock-0.6.0-maturin-0.14.13.patch b/dev-python/adblock/files/adblock-0.6.0-maturin-0.14.13.patch
new file mode 100644
index 000000000000..67df5270939c
--- /dev/null
+++ b/dev-python/adblock/files/adblock-0.6.0-maturin-0.14.13.patch
@@ -0,0 +1,16 @@
+These are unused by maturin since 0.14.0 (non-issue for us),
+and still having them is now fatal rather than a warning.
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -11,11 +11,2 @@
+
+-[package.metadata.maturin]
+-classifier = [
+- "Programming Language :: Python",
+- "Programming Language :: Rust",
+- "License :: OSI Approved :: MIT License",
+- "License :: OSI Approved :: Apache Software License",
+-]
+-requires-python = ">=3.7"
+-
+ [profile.release]
diff --git a/dev-python/aesara/Manifest b/dev-python/aesara/Manifest
index 48291baf84e1..55e6c21a0610 100644
--- a/dev-python/aesara/Manifest
+++ b/dev-python/aesara/Manifest
@@ -1 +1 @@
-DIST aesara-rel-2.8.9.gh.tar.gz 4351952 BLAKE2B ffdc3d33caba5cf5edd3dd15e62cd295dd23f944ac6d76461e9e43717a4126669391dadfee51c6117911dc4236e8787d3e9ab712a0fcbd1dcb137e64f9f994c4 SHA512 3fb4374899ab71366961a07c750f594505467cdab01b6851b36d1dd924b816117ebe488a6cae548650df393c8447de69e21ce2cf6eafe34e951b98f27c3a4f6c
+DIST aesara-2.9.3.tar.gz 4424476 BLAKE2B 3b1a1f2644267171a04a73d09a20fa29e0cf1eae3a86f5ee9ab72084185080b94cd1855fe8957b5f08aac4d059b047839524218526df37ea711bc3a8871c7e98 SHA512 28a6aedc7e6095a9a4e96eeac453282a0d6e247bd01248c219a5c161bc52ce4ccfb998238b45120b92581d1d0168c87c472aa0a8bb3314d8eb7ce90868e045b5
diff --git a/dev-python/aesara/aesara-2.8.9.ebuild b/dev-python/aesara/aesara-2.8.9.ebuild
deleted file mode 100644
index 5becef5f1d0a..000000000000
--- a/dev-python/aesara/aesara-2.8.9.ebuild
+++ /dev/null
@@ -1,102 +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..10} )
-
-inherit distutils-r1 multiprocessing optfeature
-
-MY_P=aesara-rel-${PV}
-DESCRIPTION="Library for operating on mathematical expressions with multi-dimensional arrays"
-HOMEPAGE="
- https://github.com/aesara-devs/aesara/
- https://pypi.org/project/aesara/
-"
-SRC_URI="
- https://github.com/aesara-devs/aesara/archive/rel-${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-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/setuptools-48.0.0[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/aesara-2.6.5-compiledir-tid.patch
-)
-
-distutils_enable_sphinx doc 'dev-python/sphinx_rtd_theme'
-distutils_enable_tests pytest
-
-src_prepare() {
- # do not claim "bin" package (sic!)
- rm bin/__init__.py || die
- sed -e 's/find:/find_namespace:/' \
- -e '/exclude =/a\ doc*' \
- -i setup.cfg || 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
-
- # dunno
- tests/tensor/test_elemwise.py::TestDimShuffle::test_memory_leak
-
- # 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
- )
- 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)"
- # 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 dev-util/nvidia-cuda-sdk
- optfeature "GPU/CPU code generation on CUDA and OpenCL devices" dev-libs/libgpuarray dev-python/pycuda
-}
diff --git a/dev-python/aesara/aesara-2.9.3.ebuild b/dev-python/aesara/aesara-2.9.3.ebuild
new file mode 100644
index 000000000000..614a4de0bfab
--- /dev/null
+++ b/dev-python/aesara/aesara-2.9.3.ebuild
@@ -0,0 +1,108 @@
+# 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.8.10-fix-tuple.patch b/dev-python/aesara/files/aesara-2.8.10-fix-tuple.patch
new file mode 100644
index 000000000000..7eb537d54286
--- /dev/null
+++ b/dev-python/aesara/files/aesara-2.8.10-fix-tuple.patch
@@ -0,0 +1,19 @@
+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/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 908732f2a4db..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_{9..11} )
-
-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"
-
-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..4aa4e26d3791
--- /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..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}]
+"
+
+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 f2adb319f02f..ae7beb792957 100644
--- a/dev-python/agate-excel/Manifest
+++ b/dev-python/agate-excel/Manifest
@@ -1 +1 @@
-DIST agate-excel-0.2.5.tar.gz 161131 BLAKE2B ed7306dabf8b5da722aec9005da9bdba74a9cc585ea72b429eecc4b1fcbdfed698af8e582c464081867c0d4a285b9bc892efc339f0a08c657d87e61fd1174496 SHA512 5686c3faf8b817589a62d9fac558bebe7f47124685be9f8146d74c206023530d0cec2ad88fa4ba7ac049516f5bec6783ce8f0ff47f8eb8b2ed8aad7316f1771b
+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 86f1ddd6f6bd..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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-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.4.1.ebuild b/dev-python/agate-excel/agate-excel-0.4.1.ebuild
new file mode 100644
index 000000000000..2b80eb5db7e5
--- /dev/null
+++ b/dev-python/agate-excel/agate-excel-0.4.1.ebuild
@@ -0,0 +1,34 @@
+# 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-sql/Manifest b/dev-python/agate-sql/Manifest
index 089df186cca0..5b8630b38451 100644
--- a/dev-python/agate-sql/Manifest
+++ b/dev-python/agate-sql/Manifest
@@ -1 +1 @@
-DIST agate-sql-0.5.8.tar.gz 15182 BLAKE2B 4228c5cbb8fd35b9cd97ffb590fa603e290eb2e5ace9676156ff388f653419080691b29caa4a76c16ea585c91d8126bae3dd500e8438b450737ae55309cf77f7 SHA512 1a793a24561061f5100f24834af65dca943c964cf4aed1504336cafed3d52a95b4787f21ba804b0f2265d5670cabfaa40b7f3d02c120486186cf6e03e7a2938e
+DIST agate-sql-0.7.2.tar.gz 13695 BLAKE2B 2db0958b26c1c8639b8fd97b210071ad18a9163b63e3fcdde4ce3e0c270896a758065723e14604cb9e16f71c084ecc5af9b5224d83ee6c960a1d708c1a96787c SHA512 c24026d93479003672efaa04654719183eb69bd86d24916f2618ed88ebbe8b51f2dac3c6fcbfd3c18643fbab0a2564670909350e1379eca621ccd42ab411251e
diff --git a/dev-python/agate-sql/agate-sql-0.5.8-r2.ebuild b/dev-python/agate-sql/agate-sql-0.5.8-r2.ebuild
deleted file mode 100644
index 109a6d998a43..000000000000
--- a/dev-python/agate-sql/agate-sql-0.5.8-r2.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Adds SQL read/write support to agate"
-HOMEPAGE="
- https://github.com/wireservice/agate-sql/
- https://pypi.org/project/agate-sql/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/agate-1.5.0[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-1.0.8[${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..54b99c0de287
--- /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..12} )
+
+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 c70c5c1098e1..c8acd0f2c61e 100644
--- a/dev-python/agate/Manifest
+++ b/dev-python/agate/Manifest
@@ -1 +1 @@
-DIST agate-1.7.1.tar.gz 202018 BLAKE2B 9df0f108f1ac47c1eb199015aedc903d72ce62a7d2c34198f0f287863527a2305c5682ef7dd385d130fd0eb3ce566e98978b9ef438858510e3aeae02a6345318 SHA512 e40df26f1e738b4c386f540d642f4fdb240dac5229032c6074977a67c7fdae7838c770703d93916e10741a9f2569ac9672165f8c8715b2567b2e5b926c7dabd5
+DIST agate-1.9.1.tar.gz 202303 BLAKE2B a5e62ca5fdf8dc6e1b7393da3efa0432a2d7a89bcb2af744458ae04446ea85941968f1ee75facc6b29de9fdec92f9432d2b939392edbfadc5c0598a91feb9f76 SHA512 f8bbe9ed24c786063a1d99aa408a2e5b4841dd9d804004b8c74a272d564432013e0ddebc5325e73893c53a60636d64f27f2e64ad624a468a070cf6a8833b8620
diff --git a/dev-python/agate/agate-1.7.1.ebuild b/dev-python/agate/agate-1.7.1.ebuild
deleted file mode 100644
index 234a0737243a..000000000000
--- a/dev-python/agate/agate-1.7.1.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-
-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/sphinx_rtd_theme
-
-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.1.ebuild b/dev-python/agate/agate-1.9.1.ebuild
new file mode 100644
index 000000000000..baca934b9901
--- /dev/null
+++ b/dev-python/agate/agate-1.9.1.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..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/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/aiocache/Manifest b/dev-python/aiocache/Manifest
new file mode 100644
index 000000000000..763434e37262
--- /dev/null
+++ b/dev-python/aiocache/Manifest
@@ -0,0 +1 @@
+DIST aiocache-0.12.2.tar.gz 131851 BLAKE2B a8467ec12321248f7673245c427567d2c8ef345a6a34694618fce0969e186de47097d64c3b94cbf047a281a1ed09889075862d9770f7787daaf9469f245b2493 SHA512 ce57e3fdbd428e8a8a94a45e5196e339d40f4fffa49851c3486b264e6344d72fe39407bd958a97baa7af06433c08a0e9d6a7ae44eff515dfc40012804ac876f2
diff --git a/dev-python/aiocache/aiocache-0.12.2.ebuild b/dev-python/aiocache/aiocache-0.12.2.ebuild
new file mode 100644
index 000000000000..be1ff1ba4a4d
--- /dev/null
+++ b/dev-python/aiocache/aiocache-0.12.2.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
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Asyncio cache manager"
+HOMEPAGE="
+ https://github.com/aio-libs/aiocache/
+ https://pypi.org/project/aiocache/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/marshmallow[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.5.5[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ >=dev-python/redis-4.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+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
+ # requires aiomcache
+ tests/ut/backends/test_memcached.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -m "not memcached" -p asyncio -p pytest_mock
+}
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ # Spawn Redis 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
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/aiocache/metadata.xml b/dev-python/aiocache/metadata.xml
new file mode 100644
index 000000000000..a54e1b0a7be8
--- /dev/null
+++ b/dev-python/aiocache/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>voyageur@gentoo.org</email>
+ <name>Bernard Cafarelli</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">aiocache</remote-id>
+ <remote-id type="github">aio-libs/aiocache</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/aiodns/Manifest b/dev-python/aiodns/Manifest
index a8e6b03e6fe1..238836382033 100644
--- a/dev-python/aiodns/Manifest
+++ b/dev-python/aiodns/Manifest
@@ -1 +1,2 @@
-DIST aiodns-3.0.0.tar.gz 6743 BLAKE2B 2a3c61156069fa598df58191b35383da3e054396cdeb1bc8916cc0414bb6efc89d45789883a5b4f33e3a08a6ee544356b02d6c697c096deae3398f0ff4d3c316 SHA512 8c1016f3b0cb461e70e9a55034f9ad3b3db705a845bf20bb6503c7a5d592b4c5d2e8ddc60b375c5fafdc559dc4566736f4c93f26710be2dcbd181284ef039825
+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.0.0-r1.ebuild b/dev-python/aiodns/aiodns-3.0.0-r1.ebuild
deleted file mode 100644
index 741e9eb96bd3..000000000000
--- a/dev-python/aiodns/aiodns-3.0.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple DNS resolver for asyncio"
-HOMEPAGE="https://github.com/saghul/aiodns/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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 unittest
-
-PATCHES=(
- # https://github.com/saghul/aiodns/commit/146286601fe80eb4ede8126769e79b5d5e63f64e
- "${FILESDIR}/${P}-py3.10-tests.patch"
-)
diff --git a/dev-python/aiodns/aiodns-3.1.1.ebuild b/dev-python/aiodns/aiodns-3.1.1.ebuild
new file mode 100644
index 000000000000..e02ba3f75621
--- /dev/null
+++ b/dev-python/aiodns/aiodns-3.1.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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..04f4bea5d751
--- /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=( python3_{10..12} )
+
+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 ~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/files/aiodns-3.0.0-py3.10-tests.patch b/dev-python/aiodns/files/aiodns-3.0.0-py3.10-tests.patch
deleted file mode 100644
index 19062f1c8861..000000000000
--- a/dev-python/aiodns/files/aiodns-3.0.0-py3.10-tests.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 146286601fe80eb4ede8126769e79b5d5e63f64e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sat, 15 May 2021 10:03:01 +0200
-Subject: [PATCH] Remove loop= param from asyncio.sleep() to fix tests on
- Python 3.10
-
-Fixes #95
----
- tests.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests.py b/tests.py
-index 7b2279f..fc0e2b9 100755
---- a/tests.py
-+++ b/tests.py
-@@ -116,7 +116,7 @@ def test_future_cancel(self):
- f = self.resolver.query('google.com', 'A')
- f.cancel()
- async def coro():
-- await asyncio.sleep(0.1, loop=self.loop)
-+ await asyncio.sleep(0.1)
- await f
- try:
- self.loop.run_until_complete(coro())
diff --git a/dev-python/aiofiles/Manifest b/dev-python/aiofiles/Manifest
index 99b89fc71989..d0942ccbe9b5 100644
--- a/dev-python/aiofiles/Manifest
+++ b/dev-python/aiofiles/Manifest
@@ -1 +1 @@
-DIST aiofiles-22.1.0.gh.tar.gz 21630 BLAKE2B 8f068046fc143388debc93b657f8b4715cd48eac7e7b8a031ccdc6d2f5764ddcafb2ad1fab713ca55366cad951b570e1c2a120932bf5545482e1a3f086a76bf9 SHA512 6706fb7b6fd32df415ece64f35b8ccc2f263301c43292612b2b6173fb66c77bc88fd08ed0b0bb30fa3dd49571be8fc733a3d4f3611228fdbb368743588336357
+DIST aiofiles-23.2.1.tar.gz 32072 BLAKE2B 9718fe7f4367b30ca295efb39ffeab0c77ca54ed1c4f556b0b39f5abb540d4f23c6e8a49aa5b6b76c0692e393bbab7c8d252de4b0f6f4f423b74e88c43483e08 SHA512 defc9d1ff5351c1812432db1849233b1f0aa661f6420c79a6eb17d84c0622ee4dd5102d50e9ef920c91adcc48914a39cd62701b340b01806a83773bf05900b6f
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.2.1.ebuild b/dev-python/aiofiles/aiofiles-23.2.1.ebuild
new file mode 100644
index 000000000000..a01f67abe08d
--- /dev/null
+++ b/dev-python/aiofiles/aiofiles-23.2.1.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..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="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv 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..23130e159041
--- /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..12} )
+
+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/Manifest b/dev-python/aiohttp-cors/Manifest
index 4912de93657a..047e1846cfd0 100644
--- a/dev-python/aiohttp-cors/Manifest
+++ b/dev-python/aiohttp-cors/Manifest
@@ -1 +1 @@
-DIST aiohttp-cors-0.7.0.tar.gz 39728 BLAKE2B 747499856272f551cf8e2e0911ff7cbb2c7cb8a1f3159327dd8f0d40cabbbd9713a1a9e30ef9c99f3f9642567c99025e049db837c89f907d6698a27005ac2632 SHA512 72e0b365b952c08a02c1123d7672cfea01063e2ff01743a71e10f804d22178edc0f1c6b7f87b7ed484ca7c24e89a32de90d0d279f2f5c060427319182f9bdd3b
+DIST aiohttp-cors-0.7.0.gh.tar.gz 39728 BLAKE2B 747499856272f551cf8e2e0911ff7cbb2c7cb8a1f3159327dd8f0d40cabbbd9713a1a9e30ef9c99f3f9642567c99025e049db837c89f907d6698a27005ac2632 SHA512 72e0b365b952c08a02c1123d7672cfea01063e2ff01743a71e10f804d22178edc0f1c6b7f87b7ed484ca7c24e89a32de90d0d279f2f5c060427319182f9bdd3b
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 152bc5045683..3b66370dac42 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,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..12} pypy3 )
inherit distutils-r1
DESCRIPTION="Implements CORS support for aiohttp asyncio-powered asynchronous HTTP server"
-HOMEPAGE="https://github.com/aio-libs/aiohttp-cors"
-SRC_URI="https://github.com/aio-libs/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/aio-libs/aiohttp-cors/
+ https://pypi.org/project/aiohttp_cors/
+"
+SRC_URI="
+ https://github.com/aio-libs/aiohttp-cors/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="Apache-2.0"
SLOT="0"
@@ -28,15 +34,22 @@ 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() {
- sed -i -e '/^addopts=/d' setup.cfg || die
+ 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
+ epytest -o addopts= -p aiohttp -p asyncio --asyncio-mode=auto
+}
diff --git a/dev-python/aiohttp-jinja2/Manifest b/dev-python/aiohttp-jinja2/Manifest
deleted file mode 100644
index ea7e48cfd80d..000000000000
--- a/dev-python/aiohttp-jinja2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST aiohttp-jinja2-1.5.tar.gz 54608 BLAKE2B 3271e159f1022023b3d9f96b0f534b04898e0774d6ceefa19bf8958a835d499a1598fd12cabab8206448a0e89a107816577d596bff0c45a4947fcb7289c35e5b SHA512 230fec6e54fa55e22be3bc09ae1896cd12834eda5721c1d698c8482f9529b443ccf13a4db24bd9ccd179c36b9cdc90abbb848f287e7ed79e621d6a2976b1fa32
diff --git a/dev-python/aiohttp-jinja2/aiohttp-jinja2-1.5.ebuild b/dev-python/aiohttp-jinja2/aiohttp-jinja2-1.5.ebuild
deleted file mode 100644
index 9fede0d56ab6..000000000000
--- a/dev-python/aiohttp-jinja2/aiohttp-jinja2-1.5.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_{9..10} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="jinja2 template renderer for aiohttp.web"
-HOMEPAGE="https://github.com/aio-libs/aiohttp-jinja2"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/aiohttp-2.3.9[${PYTHON_USEDEP}]
- >=dev-python/jinja-3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? ( >=dev-python/pytest-aiohttp-0.3.0[${PYTHON_USEDEP}] )
-"
-
-DOCS=( README.rst )
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs dev-python/alabaster
-
-src_prepare() {
- default
-
- sed -i \
- -e 's:--cov=aiohttp_jinja2 --cov-report xml --cov-report html --cov-report term::' \
- setup.cfg || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/aiohttp-jinja2/metadata.xml b/dev-python/aiohttp-jinja2/metadata.xml
deleted file mode 100644
index 99353370c1be..000000000000
--- a/dev-python/aiohttp-jinja2/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">aiohttp-jinja2</remote-id>
- <remote-id type="github">aio-libs/aiohttp-jinja2</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/aiohttp-oauthlib/Manifest b/dev-python/aiohttp-oauthlib/Manifest
new file mode 100644
index 000000000000..c29c29a782ee
--- /dev/null
+++ b/dev-python/aiohttp-oauthlib/Manifest
@@ -0,0 +1 @@
+DIST aiohttp-oauthlib-0.1.0.tar.gz 7253 BLAKE2B 666ed19281f43b7d891130e6cfaa11cc91c96560fef911bb85fdf07c4bb7a876d9b3b0119c120239711aea2db1486976755126e1e9de21ccf6705bbfb76b51c6 SHA512 9df789328942fa4612bd9a2634303e83770021da7abae31471523602b5f77da829eb53efd498b02ed982ccd24abbd3b98eb99ada305a33014d47163a3dff5010
diff --git a/dev-python/aiohttp-oauthlib/aiohttp-oauthlib-0.1.0.ebuild b/dev-python/aiohttp-oauthlib/aiohttp-oauthlib-0.1.0.ebuild
new file mode 100644
index 000000000000..5b22550be9b5
--- /dev/null
+++ b/dev-python/aiohttp-oauthlib/aiohttp-oauthlib-0.1.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 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}
+
+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"
+
+SLOT="0"
+LICENSE="ISC"
+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}]"
+
+S="${WORKDIR}/${PN}-v${PV}"
diff --git a/dev-python/aiohttp-oauthlib/metadata.xml b/dev-python/aiohttp-oauthlib/metadata.xml
new file mode 100644
index 000000000000..f63250c09310
--- /dev/null
+++ b/dev-python/aiohttp-oauthlib/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mschiff@gentoo.org</email>
+ <name>Marc Schiffbauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/aiohttp-socks/Manifest b/dev-python/aiohttp-socks/Manifest
index 0a77d258107e..08dce9b648cf 100644
--- a/dev-python/aiohttp-socks/Manifest
+++ b/dev-python/aiohttp-socks/Manifest
@@ -1 +1 @@
-DIST aiohttp-socks-0.7.1.tar.gz 19813 BLAKE2B e49ff94a63e3b22f082c892da6b65f71afd768ef98064f062facd382e0146e2fca563f2b7438f37e60a01d640199092c201e7ab2f77152829d8d8a64246ea152 SHA512 0f7a295e3d34d6cac78dcac5d64f76439730bf6bc6d287df9f2ed9b7ad3f1c04d61ebfd1cee75b80788f485b338094a4b02ecef2b3a2be172ffb8e1e65332b59
+DIST aiohttp-socks-0.8.4.gh.tar.gz 13568 BLAKE2B a99513b4dd7ca75aca36979c0ace84adcabdc2fb1104d38ae49d07944fa1fb17a2a8da24fa395a33dabc00bc444710d23e911db427c895ec144ac1600d3d5983 SHA512 09a0ca9267ad822546bd47066b2f1b5f15364913da609fa5a2ebd0b0a8fd2f74e7413ab7e2f0970a777c5b853cc2fcae83e7af4eaa7cb4508d7644479ba8afd1
diff --git a/dev-python/aiohttp-socks/aiohttp-socks-0.7.1.ebuild b/dev-python/aiohttp-socks/aiohttp-socks-0.7.1.ebuild
deleted file mode 100644
index c814c7e36e10..000000000000
--- a/dev-python/aiohttp-socks/aiohttp-socks-0.7.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
-
-PYTHON_COMPAT=( python3_{9..10} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="SOCKS proxy connector for aiohttp"
-HOMEPAGE="https://pypi.org/project/aiohttp-socks/ https://github.com/romis2012/aiohttp-socks"
-SRC_URI="https://github.com/romis2012/aiohttp-socks/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-
-RDEPEND="
- >=dev-python/aiohttp-2.3.2[${PYTHON_USEDEP}]
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- >=dev-python/python-socks-2.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/yarl[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
diff --git a/dev-python/aiohttp-socks/aiohttp-socks-0.8.4.ebuild b/dev-python/aiohttp-socks/aiohttp-socks-0.8.4.ebuild
new file mode 100644
index 000000000000..b6c01b1eec21
--- /dev/null
+++ b/dev-python/aiohttp-socks/aiohttp-socks-0.8.4.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 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="SOCKS proxy connector for aiohttp"
+HOMEPAGE="
+ https://pypi.org/project/aiohttp-socks/
+ https://github.com/romis2012/aiohttp-socks/
+"
+SRC_URI="
+ https://github.com/romis2012/aiohttp-socks/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86"
+
+RDEPEND="
+ >=dev-python/aiohttp-2.3.2[${PYTHON_USEDEP}]
+ >=dev-python/python-socks-2.4.3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/yarl[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/tiny-proxy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/aiohttp/Manifest b/dev-python/aiohttp/Manifest
index 1247afce3a08..2921e94e6163 100644
--- a/dev-python/aiohttp/Manifest
+++ b/dev-python/aiohttp/Manifest
@@ -1 +1,3 @@
-DIST aiohttp-3.8.3.tar.gz 7337480 BLAKE2B 28d2b5bf6dd6f19506127747511e006c22fcb59959ab090bdc53ca5ee0f7f186aedb0c8b4103c2ea52399dc998fa2e6d3f872239223cf72629a1168e3950f1f8 SHA512 248c232604c91442b2fc9fa55fbf7df8e3af56dcf4cd9c516414a3a738c5c60a8a06395cd9c6e2c8ea9884728aea757423735c7b9be889e6f17e3ee6395a2f64
+DIST aiohttp-3.9.3.tar.gz 7499669 BLAKE2B 0712df73af60cc9cbf12f0a4e063b6aa6da1b19b0668effe16672a4b7ca3f24cc831218ec8d4672cd86acd4335a75e16f94133dbb1bf783baf8ed96e471f3eec SHA512 6236f27b6def0c3bba1b5fc59f4af74f8076aa369cf5c1b9bd9ff9dee1c71ee49387ded812875da9450130e92d2091fd01f0608b25b03ff37e99162b89120fd7
+DIST aiohttp-3.9.4.tar.gz 7500720 BLAKE2B 1f41e481590425c16ef9e797ecc78e08d00fda65b40c38e34226ada969f3114cae3f6953980d23b0e96e284f6e49fd0a84aa93c6b7a666d60690e9a9fd9c41b2 SHA512 e26e7148602d72c77fe46e0596614b448f38a9014834a72c4131d8b315dbbd401ce4e1a403ef35ea7a9ba7fafaddc42031d38b93b45464accdedf26ba99fc960
+DIST aiohttp-3.9.5.tar.gz 7504841 BLAKE2B f051ee88d45952219f72d542f1c6d0cc33c699c6c5fb5dbe3bc054ee4d0e03121b219c8c8524fd1236a8b878329b0997b8afe07d6c66074102d4a2052a8738ff SHA512 da11468a2f131275593395b052700a99cf79055a32d48327dca0f58547ad30add8cd0a375dbd831e2f06fe7a739183251e4ad69c16f3d141799bbed45a8a5dc4
diff --git a/dev-python/aiohttp/aiohttp-3.8.3-r1.ebuild b/dev-python/aiohttp/aiohttp-3.8.3-r1.ebuild
deleted file mode 100644
index e4f758943d69..000000000000
--- a/dev-python/aiohttp/aiohttp-3.8.3-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_{9..11} pypy3 )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="HTTP client/server for asyncio"
-HOMEPAGE="
- https://github.com/aio-libs/aiohttp/
- https://pypi.org/project/aiohttp/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="test-rust"
-
-RDEPEND="
- app-arch/brotli[python,${PYTHON_USEDEP}]
- >=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/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? (
- app-arch/brotli[python,${PYTHON_USEDEP}]
- dev-python/async_generator[${PYTHON_USEDEP}]
- 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
-distutils_enable_sphinx docs \
- '>=dev-python/alabaster-0.6.2' \
- 'dev-python/sphinxcontrib-asyncio' \
- 'dev-python/sphinxcontrib-blockdiag' \
- 'dev-python/sphinxcontrib-newsfeed' \
- 'dev-python/sphinxcontrib-spelling' \
- 'dev-python/sphinx' \
- 'dev-python/sphinx-aiohttp-theme'
-
-src_prepare() {
- # 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)...
- sed -i -e 's:which:command -v:' Makefile || die
-
- # remove upper bound from charset-normalizer
- sed -i -e '/charset-normalizer/s:, < 3\.0::' setup.cfg || 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
- )
-
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # C extensions are not used on PyPy3
- tests/test_http_parser.py::test_c_parser_loaded
- )
- ;;
- 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.3.ebuild b/dev-python/aiohttp/aiohttp-3.9.3.ebuild
new file mode 100644
index 000000000000..320d491c039c
--- /dev/null
+++ b/dev-python/aiohttp/aiohttp-3.9.3.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 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.4.ebuild b/dev-python/aiohttp/aiohttp-3.9.4.ebuild
new file mode 100644
index 000000000000..a4d57535e7e2
--- /dev/null
+++ b/dev-python/aiohttp/aiohttp-3.9.4.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..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
+ )
+
+ 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/aiohttp-3.9.5.ebuild b/dev-python/aiohttp/aiohttp-3.9.5.ebuild
new file mode 100644
index 000000000000..a4d57535e7e2
--- /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..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
+ )
+
+ 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/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..9b87df203633
--- /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..12} )
+
+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 f6d8a6ab8c31..000000000000
--- a/dev-python/aiopylgtv/aiopylgtv-0.4.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517="setuptools"
-
-inherit distutils-r1
-
-DESCRIPTION="Python library to control webOS-based LG TV devices"
-HOMEPAGE="https://github.com/bendavid/aiopylgtv"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-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/Manifest b/dev-python/aioresponses/Manifest
index e7ce7ecf310f..d190a80a4dbf 100644
--- a/dev-python/aioresponses/Manifest
+++ b/dev-python/aioresponses/Manifest
@@ -1 +1 @@
-DIST aioresponses-0.7.4.tar.gz 35248 BLAKE2B e3046de1db4911429ff2bb50b011c7cdb33ad8460771bbe7cce969e29a74f29e5fe86b1ed488cbd9462706ce31e84a3bef08aec0e83ac6175c803d2e81900fbc SHA512 00392f8481e600e2c18563193aaf5b75a324ea49e90606e43a28ea787f75c55712bc2caff0a70411f51a9615b01a252fca1ebb9efd2cc314f6358eeeef6d1e59
+DIST aioresponses-0.7.6.tar.gz 35846 BLAKE2B f5cb820ee410e1203526ac6731c73f02993684679d788c8e3db830189d9874991b6fabf2e0738d14d3e54e2fa2b44af788f054137590ffea78df49056389673b SHA512 d02fa848a5d6588e32c203591f842cb212aae60d5e060a3fa13993bbb575922e516f04d47f9428c5f4b8103bc9990aa45cdde3c17bd2c47d8eff714f93976450
diff --git a/dev-python/aioresponses/aioresponses-0.7.4.ebuild b/dev-python/aioresponses/aioresponses-0.7.4.ebuild
deleted file mode 100644
index d8154a8e3157..000000000000
--- a/dev-python/aioresponses/aioresponses-0.7.4.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="Helper to mock/fake web requests in Python's aiohttp package"
-HOMEPAGE="
- https://github.com/pnuckowski/aioresponses/
- https://pypi.org/project/aioresponses/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- dev-python/aiohttp[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/pbr[${PYTHON_USEDEP}]
- test? (
- dev-python/ddt[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # These tests require Internet access
- tests/test_aioresponses.py::AIOResponsesTestCase::test_address_as_instance_of_url_combined_with_pass_through
- tests/test_aioresponses.py::AIOResponsesTestCase::test_pass_through_with_origin_params
-)
diff --git a/dev-python/aioresponses/aioresponses-0.7.6.ebuild b/dev-python/aioresponses/aioresponses-0.7.6.ebuild
new file mode 100644
index 000000000000..9af64863e3e4
--- /dev/null
+++ b/dev-python/aioresponses/aioresponses-0.7.6.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Helper to mock/fake web requests in Python's aiohttp package"
+HOMEPAGE="
+ https://github.com/pnuckowski/aioresponses/
+ https://pypi.org/project/aioresponses/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/aiohttp-3.3.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ddt[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # These tests require Internet access
+ tests/test_aioresponses.py::AIOResponsesTestCase::test_address_as_instance_of_url_combined_with_pass_through
+ tests/test_aioresponses.py::AIOResponsesTestCase::test_pass_through_with_origin_params
+)
diff --git a/dev-python/aiorpcX/Manifest b/dev-python/aiorpcX/Manifest
deleted file mode 100644
index 5773b013b1eb..000000000000
--- a/dev-python/aiorpcX/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST aiorpcX-0.19.1.gh.tar.gz 72903 BLAKE2B ba3da1bc1f8d83ec6c6d2189aee554b4b819b601d366d0e8858ec73fe6aedddf6a6ed00d56d66c38d18ee44921a4cce7cb83ebf05aec9348355f88b8ed67e1a5 SHA512 b71edf335ad78b1d46b2b23dcb102b29f988d32f75571b881e2ce3471bf48c7ffc9bf509ce1cafec036662bb06d6f90598304c207f416b4124a7b02fdca915e8
-DIST aiorpcX-0.22.1.gh.tar.gz 75206 BLAKE2B 92c481388198fec94faa10482ad4195fe6dce5ae4aa445ce2812e1e81e084c629712b87a3c157aa33ae42335c1a96bdcafa5e389802740fcae8eb9e4aaf43dd2 SHA512 3484da36ce6042d8d4c6b168fd2326c0fc77a825691b95631e54510697708a27ea07e9a808445d504056432adf04f04cb0bc28d4b7194c55c1995096bb938b4d
diff --git a/dev-python/aiorpcX/aiorpcX-0.19.1.ebuild b/dev-python/aiorpcX/aiorpcX-0.19.1.ebuild
deleted file mode 100644
index 828fd983e277..000000000000
--- a/dev-python/aiorpcX/aiorpcX-0.19.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Generic async RPC implementation, including JSON-RPC"
-HOMEPAGE="https://pypi.org/project/aiorpcX/
- https://github.com/kyuupichan/aiorpcX/"
-SRC_URI="https://github.com/kyuupichan/aiorpcX/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/uvloop[${PYTHON_USEDEP}]
- dev-python/websockets[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
-
-python_test() {
- local deselect=(
- # require Internet
- tests/test_socks.py::TestSOCKSProxy::test_create_connection_resolve_good
- )
-
- pytest -vv ${deselect[@]/#/--deselect } ||
- die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/aiorpcX/aiorpcX-0.22.1.ebuild b/dev-python/aiorpcX/aiorpcX-0.22.1.ebuild
deleted file mode 100644
index 2c07378906d7..000000000000
--- a/dev-python/aiorpcX/aiorpcX-0.22.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Generic async RPC implementation, including JSON-RPC"
-HOMEPAGE="https://pypi.org/project/aiorpcX/
- https://github.com/kyuupichan/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
-
-python_test() {
- local deselect=(
- # require Internet
- tests/test_socks.py::TestSOCKSProxy::test_create_connection_resolve_good
- )
-
- epytest ${deselect[@]/#/--deselect }
-}
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 ac44149fc722..f580fbd017b2 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_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} 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..e5676bd746f4
--- /dev/null
+++ b/dev-python/aiosmtpd/Manifest
@@ -0,0 +1 @@
+DIST aiosmtpd-1.4.5.tar.gz 152668 BLAKE2B 5f689e029afcc267b8b9f1863ce20d76bea16985d7fddac1e6cf0624d7bef6bbbe7089b4933bee8b5aaa74e63d996295e3684b3a7891b697608cbd311be92728 SHA512 c9507e25b5aeec442d299e13624ce00777ecf8089eee230b9cb9f92c18816cef890968c25144a56b95fd9b063b1440921841a16add624d717b8f6378d55c85a4
diff --git a/dev-python/aiosmtpd/aiosmtpd-1.4.5.ebuild b/dev-python/aiosmtpd/aiosmtpd-1.4.5.ebuild
new file mode 100644
index 000000000000..a8490b2ea489
--- /dev/null
+++ b/dev-python/aiosmtpd/aiosmtpd-1.4.5.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
+PYTHON_COMPAT=( python3_{10..12} )
+
+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="~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
+}
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
new file mode 100644
index 000000000000..20158f857948
--- /dev/null
+++ b/dev-python/aiosqlite/Manifest
@@ -0,0 +1 @@
+DIST aiosqlite-0.20.0.tar.gz 21691 BLAKE2B 2cfa096fa10e4964eb73b0fa698bad07311a78a66258d38864d3d8957df5280fd3a4bf8cb497c9b6f3e0f3bc513a439790f3df81f7736736f73717cf60df54e4 SHA512 b0421d2b8acf90a38e33f68d8af7f0d11194c59413f074dcf7d676924adf30f0ba27dcf45e061ba1aad58c2aae49c523bfb6dc3e3fd85bf6c64052151c300be5
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..c3044dd31f49
--- /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..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"
+
+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/aiosqlite/metadata.xml b/dev-python/aiosqlite/metadata.xml
new file mode 100644
index 000000000000..c55ac6c628f8
--- /dev/null
+++ b/dev-python/aiosqlite/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">aiosqlite</remote-id>
+ <remote-id type="github">omnilib/aiosqlite</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/aiostream/Manifest b/dev-python/aiostream/Manifest
index de71f8352131..25aa9658bef7 100644
--- a/dev-python/aiostream/Manifest
+++ b/dev-python/aiostream/Manifest
@@ -1 +1 @@
-DIST aiostream-0.4.5.gh.tar.gz 39797 BLAKE2B 5aeb4da46158d949190af22133f1798831e14f8d8da231d3dc098caaace303061bfa49dfef1d52c533ce20201937bf5da33f36806634b2e73ccbc48c00962486 SHA512 ac1a67a6d27e18e290c5ae5b069de2e7f7205120bc747885261e23155019d5630c1f7b643df3a4fef12844d52cdfc0f1fcdcf5cb35a0061000d426c62dcffb1d
+DIST aiostream-0.5.2.gh.tar.gz 42945 BLAKE2B 36e4f3c7834df589da3e7ec8bafb6a5b6fe40a1e868fbe0b9b81233f6721852b0e31b12144775db8785835cd5a3a0ca0a88784f7955388efd55b6ce97311b10e SHA512 282139cda0f7d08dd11af88bc3a568054906c2e0e2708f72e0ce3a67d13a44822612e3989c398ab346f8c043f17ad2e5cd2f958b1461325ad9768affec8f63fc
diff --git a/dev-python/aiostream/aiostream-0.4.5.ebuild b/dev-python/aiostream/aiostream-0.4.5.ebuild
deleted file mode 100644
index cf937aa67dcd..000000000000
--- a/dev-python/aiostream/aiostream-0.4.5.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=( pypy3 python3_{9..11} )
-
-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"
-
-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.5.2.ebuild b/dev-python/aiostream/aiostream-0.5.2.ebuild
new file mode 100644
index 000000000000..6830c0af8f5c
--- /dev/null
+++ b/dev-python/aiostream/aiostream-0.5.2.ebuild
@@ -0,0 +1,40 @@
+# 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/aiounittest/Manifest b/dev-python/aiounittest/Manifest
new file mode 100644
index 000000000000..e88607cfad01
--- /dev/null
+++ b/dev-python/aiounittest/Manifest
@@ -0,0 +1 @@
+DIST aiounittest-1.4.2.gh.tar.gz 15791 BLAKE2B 7784bbf94de2b8520baef66a0b4929267942d233cc782f35677ea05b02e3d48901ba90cf9630b76bd300708ebbe59dd9d78c299422182c06940749bc2b378b45 SHA512 358b7c412f90eb7afc7ed7058e8e2d4426a6c57379d341d997658859ba6054a9a1337d0b05e63a825e28023f02550bd72d65bdb3feab4503c763c98f8c0d19c6
diff --git a/dev-python/aiounittest/aiounittest-1.4.2.ebuild b/dev-python/aiounittest/aiounittest-1.4.2.ebuild
new file mode 100644
index 000000000000..139259904c79
--- /dev/null
+++ b/dev-python/aiounittest/aiounittest-1.4.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=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Test asyncio code more easily"
+HOMEPAGE="
+ https://github.com/kwarunek/aiounittest/
+ https://pypi.org/project/aiounittest/
+"
+SRC_URI="
+ https://github.com/kwarunek/aiounittest/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/wrapt[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/aiounittest/metadata.xml b/dev-python/aiounittest/metadata.xml
new file mode 100644
index 000000000000..cdd7b4c658c7
--- /dev/null
+++ b/dev-python/aiounittest/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">kwarunek/aiounittest</remote-id>
+ <remote-id type="pypi">aiounittest</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ajsonrpc/ajsonrpc-1.2.0.ebuild b/dev-python/ajsonrpc/ajsonrpc-1.2.0.ebuild
index bfa852e6ab9d..6f2a5c6a0ac4 100644
--- a/dev-python/ajsonrpc/ajsonrpc-1.2.0.ebuild
+++ b/dev-python/ajsonrpc/ajsonrpc-1.2.0.ebuild
@@ -3,17 +3,16 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Async JSON-RPC 2.0 protocol + server powered by asyncio"
HOMEPAGE="https://github.com/pavlov99/ajsonrpc"
# Don't use GH for now; seems to not have valid version set
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
distutils_enable_tests pytest
diff --git a/dev-python/alabaster/Manifest b/dev-python/alabaster/Manifest
index f26153687ad1..c045e92a186a 100644
--- a/dev-python/alabaster/Manifest
+++ b/dev-python/alabaster/Manifest
@@ -1,2 +1 @@
-DIST alabaster-0.7.12.tar.gz 11242 BLAKE2B 5690d9c0b8aabfc2c95c4279183d174d6a5768f89732028f7ec6eb790531499a2017b9f3b9896442e298f3189f79070178b3e281b6d0bcfad3741625caa99c48 SHA512 e3bfd0c92ce01f08d5e6d9dc1ef0967ca1f54827e08756f4a0ba7be8d3b8bec7f2e53a169b831ff5ce2d2548f7f52c6e518bcc513e49bb3e4c38274293aebbac
-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.12-r1.ebuild b/dev-python/alabaster/alabaster-0.7.12-r1.ebuild
deleted file mode 100644
index 7bfe84e914d5..000000000000
--- a/dev-python/alabaster/alabaster-0.7.12-r1.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A configurable sidebar-enabled Sphinx theme"
-HOMEPAGE="https://github.com/bitprophet/alabaster"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.13.ebuild b/dev-python/alabaster/alabaster-0.7.13.ebuild
deleted file mode 100644
index 74fae772fc3f..000000000000
--- a/dev-python/alabaster/alabaster-0.7.13.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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A configurable sidebar-enabled Sphinx theme"
-HOMEPAGE="
- https://github.com/bitprophet/alabaster/
- https://pypi.org/project/alabaster/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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..d368c34df4ef
--- /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..12} 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/alagitpull/Manifest b/dev-python/alagitpull/Manifest
deleted file mode 100644
index d16e86a80beb..000000000000
--- a/dev-python/alagitpull/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST alagitpull-0.0.23.gh.tar.gz 6692 BLAKE2B 63af3da6e98521487fad233dd648d9217d8e89c0d17e49dd771e934c0808a52c0659661ca8104c53c2d0fddf458650458e676e14b2e9c3820f353ab42044a490 SHA512 1620c0e25299f694f29f6e54105a2f336dee90535370a691a6e23a879a68626ef4aa19ae40ecc835553fe3b0272d48e4f5213c1ada054ad20d47034fc20dea3c
diff --git a/dev-python/alagitpull/alagitpull-0.0.23-r2.ebuild b/dev-python/alagitpull/alagitpull-0.0.23-r2.ebuild
deleted file mode 100644
index e62d6fb5a7fc..000000000000
--- a/dev-python/alagitpull/alagitpull-0.0.23-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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-DISTUTILS_USE_SETUPTOOLS=rdepend
-inherit distutils-r1
-
-DESCRIPTION="alabaster sub-theme used on git-pull docs"
-HOMEPAGE="https://github.com/git-pull/alagitpull"
-SRC_URI="https://github.com/git-pull/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
-SLOT="0"
-
-RDEPEND="
- <dev-python/alabaster-0.8[${PYTHON_USEDEP}]
-"
-BDEPEND="${RDEPEND}"
-
-# no tests...
diff --git a/dev-python/alagitpull/metadata.xml b/dev-python/alagitpull/metadata.xml
deleted file mode 100644
index 3e917c0dee29..000000000000
--- a/dev-python/alagitpull/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>chutzpah@gentoo.org</email>
- <name>Patrick McLean</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">alagitpull</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/alembic/Manifest b/dev-python/alembic/Manifest
index b25d4a39eac5..6134cdfa83d2 100644
--- a/dev-python/alembic/Manifest
+++ b/dev-python/alembic/Manifest
@@ -1,4 +1 @@
-DIST alembic-1.8.1.tar.gz 1255927 BLAKE2B dbf40f9ca12171d99ad46bec6bf1841799226887a55a815db5c7a69cbcb7d861ede774aa35e1018e1a57bec26a8ddf7ee311e0b4396ebddd5477c67a4ad11876 SHA512 51f210447172d08eb94c41a962ddecc593a665790aa6f5badb771dccc882e0d653dcf153ebb04b9824dabcaeb1ac08e3747c2e3c74d8584a24b35662778de8dd
-DIST alembic-1.9.0.tar.gz 1278832 BLAKE2B 59131c5a53d051905c13e466c58ad5c1759e0e0f557bcb78bbe80e2ca8f3f7d791a1d8be017cd9227d6baf8b7416d0c6d89ec9e9e56f7440f6d1455577ed8676 SHA512 3c040ee07ce2f40af28a63f129dee886f7d8458b762a28cf2165ac10dd2f2f732b73da2ae2c9687b66e8872b75d85d95933847eb6a1190ad55e550e6bb120a04
-DIST alembic-1.9.1.tar.gz 1280020 BLAKE2B 2355b265a7cb42091f51e2d291dd2e620134f9f7ef96c101db7161e1a8667b44ddb61b6d01f46a0db4227b44dcc1821c9bd6923f8510c4235e26f3d482e4298a SHA512 143a62bab08c654c5846ff7ba1021dfb96d3a4b0e699d9c4bd692fda250f47b0ee10cb3238b769e8117b09ac495bdd97a6dbd290b29659b5121754be9a161331
-DIST alembic-1.9.2.tar.gz 1136929 BLAKE2B 26c4ad3185bc274aa4321a0860dc357566625abb51c951f2d0151bfd109f0e0bf7a37075d07ad2f0975127bdd327579f2d9a700f3cc130fbdd1c6458127b2e50 SHA512 d878d48d140be68facdaf0ec25f8582c9e10a369b23e9ee035ae63f8f2ad52d50464c5b8e9c666307edd1a797b6a2c495e56fa890f7dc8f46b3d75a726905ded
+DIST alembic-1.13.1.tar.gz 1213288 BLAKE2B 12c01f60a564c3021b3d2ae61f220822a0ca644af5097b72a826f48d04225c441f580204680674410e6e2570b5c7ee24053024863162d7d43bc423a86cddcea6 SHA512 2a5826461bec22c2efc244dd8394d34d39ed6e3511a32e8e460057ab34f9e559d28dda4ea7e34ccd30628e889a3cb37cb156596e37dba748c12a0195d78aa678
diff --git a/dev-python/alembic/alembic-1.13.1.ebuild b/dev-python/alembic/alembic-1.13.1.ebuild
new file mode 100644
index 000000000000..e8a5a9d46409
--- /dev/null
+++ b/dev-python/alembic/alembic-1.13.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=( 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}]
+"
+BDEPEND="
+ test? (
+ sys-libs/timezone-data
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/sqlalchemy/alembic/commit/6bdb9043868d4bd04ebe3fe8a4991735d5f87ed3
+ "${FILESDIR}/${P}-pytest-8.patch"
+)
+
+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.8.1.ebuild b/dev-python/alembic/alembic-1.8.1.ebuild
deleted file mode 100644
index 52d87f1c49ba..000000000000
--- a/dev-python/alembic/alembic-1.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
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Database migrations tool, written by the author of SQLAlchemy"
-HOMEPAGE="
- https://github.com/sqlalchemy/alembic/
- https://pypi.org/project/alembic/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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}]
- $(python_gen_cond_dep '
- dev-python/importlib_metadata[${PYTHON_USEDEP}]
- dev-python/importlib_resources[${PYTHON_USEDEP}]
- ' pypy3 python3_8)
-"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- use doc && local HTML_DOCS=( docs/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/alembic/alembic-1.9.0.ebuild b/dev-python/alembic/alembic-1.9.0.ebuild
deleted file mode 100644
index fd33bb44b171..000000000000
--- a/dev-python/alembic/alembic-1.9.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Database migrations tool, written by the author of SQLAlchemy"
-HOMEPAGE="
- https://github.com/sqlalchemy/alembic/
- https://pypi.org/project/alembic/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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}]
- $(python_gen_cond_dep '
- dev-python/importlib_metadata[${PYTHON_USEDEP}]
- dev-python/importlib_resources[${PYTHON_USEDEP}]
- ' pypy3 python3_8)
-"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- use doc && local HTML_DOCS=( docs/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/alembic/alembic-1.9.1.ebuild b/dev-python/alembic/alembic-1.9.1.ebuild
deleted file mode 100644
index fd33bb44b171..000000000000
--- a/dev-python/alembic/alembic-1.9.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Database migrations tool, written by the author of SQLAlchemy"
-HOMEPAGE="
- https://github.com/sqlalchemy/alembic/
- https://pypi.org/project/alembic/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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}]
- $(python_gen_cond_dep '
- dev-python/importlib_metadata[${PYTHON_USEDEP}]
- dev-python/importlib_resources[${PYTHON_USEDEP}]
- ' pypy3 python3_8)
-"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- use doc && local HTML_DOCS=( docs/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/alembic/alembic-1.9.2.ebuild b/dev-python/alembic/alembic-1.9.2.ebuild
deleted file mode 100644
index fd33bb44b171..000000000000
--- a/dev-python/alembic/alembic-1.9.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=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Database migrations tool, written by the author of SQLAlchemy"
-HOMEPAGE="
- https://github.com/sqlalchemy/alembic/
- https://pypi.org/project/alembic/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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}]
- $(python_gen_cond_dep '
- dev-python/importlib_metadata[${PYTHON_USEDEP}]
- dev-python/importlib_resources[${PYTHON_USEDEP}]
- ' pypy3 python3_8)
-"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- use doc && local HTML_DOCS=( docs/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/alembic/files/alembic-1.13.1-pytest-8.patch b/dev-python/alembic/files/alembic-1.13.1-pytest-8.patch
new file mode 100644
index 000000000000..a681645e02ec
--- /dev/null
+++ b/dev-python/alembic/files/alembic-1.13.1-pytest-8.patch
@@ -0,0 +1,68 @@
+From 6bdb9043868d4bd04ebe3fe8a4991735d5f87ed3 Mon Sep 17 00:00:00 2001
+From: Mike Bayer <mike_mp@zzzcomputing.com>
+Date: Sun, 3 Mar 2024 23:11:50 -0500
+Subject: [PATCH] use SQLAlchemy's xdist methods
+
+Fixes to support pytest 8.1 for the test suite.
+
+the use of teardown() was based on pytest's nose
+compat, which is removed. their xdist style tests use the name
+"setup_method()" and "teardown_method()" now.
+
+We have SQLAlchemy's pytestplugin in use which uses pytest fixtures
+to invoke our own xdist style setUp and tearDown methods, which we
+are already using here, so use those for this one test.
+
+Fixes: #1435
+Change-Id: I4c49e81fca6bfa957594714009531fe12691ace5
+---
+ docs/build/unreleased/1435.rst | 5 +++++
+ tests/test_command.py | 15 +++++++--------
+ tox.ini | 2 +-
+ 3 files changed, 13 insertions(+), 9 deletions(-)
+ create mode 100644 docs/build/unreleased/1435.rst
+
+diff --git a/tests/test_command.py b/tests/test_command.py
+index c665f95..04a624a 100644
+--- a/tests/test_command.py
++++ b/tests/test_command.py
+@@ -64,7 +64,7 @@ class HistoryTest(_BufMixin, TestBase):
+ def teardown_class(cls):
+ clear_staging_env()
+
+- def teardown(self):
++ def tearDown(self):
+ self.cfg.set_main_option("revision_environment", "false")
+
+ @classmethod
+@@ -206,13 +206,12 @@ finally:
+
+
+ class RevisionEnvironmentTest(_BufMixin, TestBase):
+- @classmethod
+- def setup(cls):
+- cls.env = staging_env()
+- cls.cfg = _sqlite_testing_config()
+- cls._setup_env_file()
++ def setUp(self):
++ self.env = staging_env()
++ self.cfg = _sqlite_testing_config()
++ self._setup_env_file()
+
+- def teardown(self):
++ def tearDown(self):
+ self.cfg.set_main_option("revision_environment", "false")
+ clear_staging_env()
+
+@@ -1144,7 +1143,7 @@ class CommandLineTest(TestBase):
+ cls.cfg = _sqlite_testing_config()
+ cls.a, cls.b, cls.c = three_rev_fixture(cls.cfg)
+
+- def teardown(self):
++ def tearDown(self):
+ os.environ.pop("ALEMBIC_CONFIG", None)
+
+ @classmethod
+--
+2.44.0
+
diff --git a/dev-python/allpairspy/Manifest b/dev-python/allpairspy/Manifest
index 3fa369dcbd6d..434cc8307028 100644
--- a/dev-python/allpairspy/Manifest
+++ b/dev-python/allpairspy/Manifest
@@ -1 +1 @@
-DIST allpairspy-2.5.0.tar.gz 10729 BLAKE2B 40fd71135ce3919d1aec90ea2d2b0f3439c96a1890533f747f541f03fb47f6583de121dcca73ab3262b2d2ceb2df9d33da073868c44a77194f77c50905841384 SHA512 57ebcadec52fce7353fecc8d47d44f85e577594e3e7fa8670350817a848a6cdcd62908f1f371ca37d3ca7e8a49682888f38032b27c2abf734367076b08e2b4b0
+DIST allpairspy-2.5.1.tar.gz 14281 BLAKE2B f1a918e368e9d98e13e579a4d7bdd447ee243f56418ff990c4e8560730e96f8ec9b7230dc016d199676368b5b67928ac8e6ad922e766527d24a3a97b616c458f SHA512 062796329238837f2d9c9c56b3eefd8e462c4933578ef6f1f094a0e2f83bd44be6243ab202c976e0cbe13b8c0fb40d32c918a8bb6a1d29dcc0de942fc0b9339a
diff --git a/dev-python/allpairspy/allpairspy-2.5.0-r1.ebuild b/dev-python/allpairspy/allpairspy-2.5.0-r1.ebuild
deleted file mode 100644
index a32e25f818e0..000000000000
--- a/dev-python/allpairspy/allpairspy-2.5.0-r1.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pairwise test combinations generator"
-HOMEPAGE="https://github.com/thombashi/allpairspy"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/allpairspy/allpairspy-2.5.1.ebuild b/dev-python/allpairspy/allpairspy-2.5.1.ebuild
new file mode 100644
index 000000000000..5ec7ac2f2df4
--- /dev/null
+++ b/dev-python/allpairspy/allpairspy-2.5.1.ebuild
@@ -0,0 +1,21 @@
+# 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="Pairwise test combinations generator"
+HOMEPAGE="
+ https://github.com/thombashi/allpairspy/
+ https://pypi.org/project/allpairspy/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/amodem/amodem-1.15.4.ebuild b/dev-python/amodem/amodem-1.15.4.ebuild
index 97ba4764c425..88e638efa378 100644
--- a/dev-python/amodem/amodem-1.15.4.ebuild
+++ b/dev-python/amodem/amodem-1.15.4.ebuild
@@ -4,20 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Transmit data between two computers using audio"
HOMEPAGE="
https://github.com/romanz/amodem/
https://pypi.org/project/amodem/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
dev-python/numpy[${PYTHON_USEDEP}]
diff --git a/dev-python/amqp/Manifest b/dev-python/amqp/Manifest
new file mode 100644
index 000000000000..33a374480cc1
--- /dev/null
+++ b/dev-python/amqp/Manifest
@@ -0,0 +1 @@
+DIST amqp-5.2.0.tar.gz 128754 BLAKE2B 4d5c281c1d9691e41da452f07f81a0c8bf901cb12f7a43082f1a8cd46cb848195df7415036e42b0fdf76c621019334df50af1382b571fae38ec4796154fa3797 SHA512 923eae80721ec35e329085e680950db7167c401fac396c74d401331ef7efe369e1cf4420bfde9a1d9005052f49cedef6d2ee621e795b9127614fd5742aa5e0db
diff --git a/dev-python/amqp/amqp-5.2.0.ebuild b/dev-python/amqp/amqp-5.2.0.ebuild
new file mode 100644
index 000000000000..87c983af59eb
--- /dev/null
+++ b/dev-python/amqp/amqp-5.2.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Low-level AMQP client for Python (fork of amqplib)"
+HOMEPAGE="
+ https://github.com/celery/py-amqp/
+ https://pypi.org/project/amqp/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+IUSE="extras"
+
+RDEPEND="
+ >=dev-python/vine-5.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/pytest-rerunfailures-6.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-celery
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # rmq tests require a rabbitmq instance
+ t/integration/test_rmq.py
+)
+
+EPYTEST_DESELECT=(
+ # fails when gssapi is installed (how does that test make sense?!)
+ t/unit/test_sasl.py::test_SASL::test_gssapi_missing
+)
+
+python_install_all() {
+ if use extras; then
+ insinto /usr/share/${PF}/extras
+ doins -r extra
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/py-amqp/metadata.xml b/dev-python/amqp/metadata.xml
index d74872d5aadf..d74872d5aadf 100644
--- a/dev-python/py-amqp/metadata.xml
+++ b/dev-python/amqp/metadata.xml
diff --git a/dev-python/aniso8601/aniso8601-9.0.1-r1.ebuild b/dev-python/aniso8601/aniso8601-9.0.1-r1.ebuild
index bb45998ec893..09ebcff4138d 100644
--- a/dev-python/aniso8601/aniso8601-9.0.1-r1.ebuild
+++ b/dev-python/aniso8601/aniso8601-9.0.1-r1.ebuild
@@ -3,14 +3,16 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A library for parsing ISO 8601 strings"
-HOMEPAGE="https://bitbucket.org/nielsenb/aniso8601/ https://pypi.org/project/aniso8601/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://bitbucket.org/nielsenb/aniso8601/
+ https://pypi.org/project/aniso8601/
+"
LICENSE="GPL-3+"
SLOT="0"
diff --git a/dev-python/annotated-types/Manifest b/dev-python/annotated-types/Manifest
new file mode 100644
index 000000000000..bbf88893554b
--- /dev/null
+++ b/dev-python/annotated-types/Manifest
@@ -0,0 +1 @@
+DIST annotated_types-0.6.0.tar.gz 14670 BLAKE2B 9390abe727f9b7a777e8266e192e032e2f36703c76a60e7fa34dd5517db8129f75e617b67ff88e9f299d10dd3f076d6793bf86e04b6230f2c4df886a8e0719cb SHA512 6b7f6fa23f47758d955822564227173951d6ddd854397b0c996bb6adeadd9caebfab6d193595be17003c1ef0e81a6bd8e20ec8221a70ffa35f9a4414300e788d
diff --git a/dev-python/annotated-types/annotated-types-0.6.0.ebuild b/dev-python/annotated-types/annotated-types-0.6.0.ebuild
new file mode 100644
index 000000000000..e22c16362c29
--- /dev/null
+++ b/dev-python/annotated-types/annotated-types-0.6.0.ebuild
@@ -0,0 +1,27 @@
+# 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/metadata.xml b/dev-python/annotated-types/metadata.xml
new file mode 100644
index 000000000000..1aaeb086b3f8
--- /dev/null
+++ b/dev-python/annotated-types/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="github">annotated-types/annotated-types</remote-id>
+ <remote-id type="pypi">annotated-types</remote-id>
+ </upstream>
+</pkgmetadata>
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 2cc919e1edc0..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_{9..11} )
-
-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 ~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..432895441825
--- /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..12} )
+
+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/ansi/metadata.xml b/dev-python/ansi/metadata.xml
index 6524c4d7dfbd..41ee19dcac90 100644
--- a/dev-python/ansi/metadata.xml
+++ b/dev-python/ansi/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>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/ansi2html/Manifest b/dev-python/ansi2html/Manifest
index 9f3f47c56933..851f59158144 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.1.tar.gz 44288 BLAKE2B ff83d2a9fe74766324515e7ccde5c6d157f836d655c6c55a07f0b9c4ab5df9c8a840f0c35e752a3e24f3e12fbd73565c2906382d77c2daf5951e861e18bdcb46 SHA512 1ffeffdd4f861b809c424b5b9e7d07212aaf1b5ef483a2820f128f815002628c823b5701652b0770ed182f0585052f040b55fca5db31e4690be86c49553105b3
diff --git a/dev-python/ansi2html/ansi2html-1.8.0-r1.ebuild b/dev-python/ansi2html/ansi2html-1.8.0-r1.ebuild
deleted file mode 100644
index 7a6e24f4bc20..000000000000
--- a/dev-python/ansi2html/ansi2html-1.8.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Convert text with ANSI color codes to HTML"
-HOMEPAGE="https://pypi.org/project/ansi2html/
- https://github.com/pycontribs/ansi2html"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="amd64 arm ~riscv x86"
-IUSE=""
-
-RDEPEND=">=dev-python/six-1.7.3[${PYTHON_USEDEP}]"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- dev-python/setuptools_scm_git_archive[${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.1.ebuild b/dev-python/ansi2html/ansi2html-1.9.1.ebuild
new file mode 100644
index 000000000000..03b0e0b61b08
--- /dev/null
+++ b/dev-python/ansi2html/ansi2html-1.9.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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"
+
+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 abac62b7dc19..8fab0b525641 100644
--- a/dev-python/ansible-compat/Manifest
+++ b/dev-python/ansible-compat/Manifest
@@ -1 +1,2 @@
-DIST ansible-compat-2.2.7.tar.gz 47378 BLAKE2B 58f3b19400fb7646d37c585df07435e65a60f3e57d445c98e8089c6a2ed853cb5dbab682d85cee1a604e1b4de6dd137faa12bf78fe7913752839f95bd651435f SHA512 9a3863be3d755eb5a1a61ba0c526786ea3df14bc6fcabd9196559eb625ab6dfc8de7a17fdb2cdd8ad71d7d61b5e2f0543b8b5908f39d5e7d9ea45e387aa625b1
+DIST ansible-compat-4.1.11.tar.gz 73021 BLAKE2B 4d62c6c6739ae5dcfe98347eac268f6976f12cabcf8706f89ebaed2a6750a47faaf53ce5585ee2d6a2cf8a92add9f8f74bd050e44fa6f5515a9b77a7f49979c5 SHA512 0e8de16ef0da9a036595dadbdfa5fd776f8edf0d2c16e8e2759a0e1b07f0d0fffc22a8c7be17aefb73312f3c8f56d48fdf097c527fa3b8919907923fffc44fa7
+DIST ansible-compat-4.1.12.gh.tar.gz 67966 BLAKE2B 3c665eb2cb87e184042da78ed1c41e7ca2b437c5151ba21bdd609104b44fa28c5f03247d275c58cfdf04a8e9ed328947cb0c2670603218798e3a484861274af2 SHA512 c9b2c340dc2b1ffb6f6db76017f7537e20307a7519a4df2dfb31811180cd647e39812bc433db51bd94d42f4c52a6c2f729d81edadcd615a5e0d23566969d8911
diff --git a/dev-python/ansible-compat/ansible-compat-2.2.7.ebuild b/dev-python/ansible-compat/ansible-compat-2.2.7.ebuild
deleted file mode 100644
index 39bd146bfb5d..000000000000
--- a/dev-python/ansible-compat/ansible-compat-2.2.7.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
-PYTHON_COMPAT=( python3_{10..11} )
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv"
-
-RDEPEND="
- >=app-admin/ansible-core-2.9.0[${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.3.5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools_scm-7.0.0[${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
-)
-
-distutils_enable_sphinx docs \
- dev-python/ansible-pygments \
- dev-python/myst_parser \
- dev-python/sphinx_ansible_theme
-distutils_enable_tests pytest
diff --git a/dev-python/ansible-compat/ansible-compat-4.1.11.ebuild b/dev-python/ansible-compat/ansible-compat-4.1.11.ebuild
new file mode 100644
index 000000000000..677d014c9062
--- /dev/null
+++ b/dev-python/ansible-compat/ansible-compat-4.1.11.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="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/ansible-compat-4.1.12.ebuild b/dev-python/ansible-compat/ansible-compat-4.1.12.ebuild
new file mode 100644
index 000000000000..bdd51b5dca54
--- /dev/null
+++ b/dev-python/ansible-compat/ansible-compat-4.1.12.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..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.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-pygments/ansible-pygments-0.1.1-r1.ebuild b/dev-python/ansible-pygments/ansible-pygments-0.1.1-r1.ebuild
new file mode 100644
index 000000000000..144271f84a10
--- /dev/null
+++ b/dev-python/ansible-pygments/ansible-pygments-0.1.1-r1.ebuild
@@ -0,0 +1,25 @@
+# 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"
+PYPI_NO_NORMALIZE=1
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pygments lexer and style Ansible snippets"
+HOMEPAGE="https://github.com/ansible-community/ansible-pygments"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~riscv"
+
+RDEPEND="dev-python/pygments[${PYTHON_USEDEP}]"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.1.1-make_lexer_test_compare_tokens.patch
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/ansible-pygments/ansible-pygments-0.1.1.ebuild b/dev-python/ansible-pygments/ansible-pygments-0.1.1.ebuild
deleted file mode 100644
index 0f4d366bc7b9..000000000000
--- a/dev-python/ansible-pygments/ansible-pygments-0.1.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-DISTUTILS_USE_PEP517="poetry"
-
-inherit distutils-r1
-
-DESCRIPTION="Pygments lexer and style Ansible snippets"
-HOMEPAGE="https://github.com/ansible-community/ansible-pygments"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv"
-
-# 2.11.0+ needed in order for tests to pass
-RDEPEND=">=dev-python/pygments-2.11.0[${PYTHON_USEDEP}]"
-
-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-runner/Manifest b/dev-python/ansible-runner/Manifest
deleted file mode 100644
index 15bfd71569eb..000000000000
--- a/dev-python/ansible-runner/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ansible-runner-2.2.1.tar.gz 172121 BLAKE2B b4bb0917570b2b7ba4a7f44bf0276713eb3842ec8a9db62ec5bec8f90e91603b69cf2651f16dd150c8267b3ff25529d4c1bbcd628a26564b74362325b9c75ba8 SHA512 e9ba5c7afd3d8542af37bd9ef3ba7a417bd7ebb430b2dca6f2bb6289633dc89a14e7beb39236f75b75b802c6fc07501c6e6fa06102c69037e34568c396d6642d
diff --git a/dev-python/ansible-runner/ansible-runner-2.2.1.ebuild b/dev-python/ansible-runner/ansible-runner-2.2.1.ebuild
deleted file mode 100644
index e2ba508c50f7..000000000000
--- a/dev-python/ansible-runner/ansible-runner-2.2.1.ebuild
+++ /dev/null
@@ -1,40 +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..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A tool and python library that helps when interfacing with Ansible"
-HOMEPAGE="https://github.com/ansible/ansible-runner"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-# TODO: fix broken tests
-RESTRICT+=" test"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/pexpect[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/python-daemon[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -e '/cov/d' -i pytest.ini || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/ansible-runner/metadata.xml b/dev-python/ansible-runner/metadata.xml
deleted file mode 100644
index 19979f1c1c52..000000000000
--- a/dev-python/ansible-runner/metadata.xml
+++ /dev/null
@@ -1,24 +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">ansible-runner</remote-id>
- <remote-id type="github">ansible/ansible-runner</remote-id>
- <bugs-to>https://github.com/ansible/ansible-runner/issues</bugs-to>
- </upstream>
- <longdescription lang="en">
- A tool and python library that helps when interfacing with Ansible
- directly or as part of another system whether that be through a
- container image interface, as a standalone tool, or as a Python module
- that can be imported. The goal is to provide a stable and consistent
- interface abstraction to Ansible.
- </longdescription>
-</pkgmetadata>
diff --git a/dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild b/dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild
index 8e64f84b7ac5..5dd87fb09a73 100644
--- a/dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild
+++ b/dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
@@ -17,7 +17,7 @@ else
SRC_URI="
https://github.com/numerodix/ansicolor/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz"
- KEYWORDS="amd64 x86"
+ KEYWORDS="amd64 ~arm64 x86"
fi
DESCRIPTION="Produce ansi color output and colored highlighting and diffing"
diff --git a/dev-python/ansicolor/ansicolor-9999.ebuild b/dev-python/ansicolor/ansicolor-9999.ebuild
index 70525bf9ef55..4d55e8a5e08c 100644
--- a/dev-python/ansicolor/ansicolor-9999.ebuild
+++ b/dev-python/ansicolor/ansicolor-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/antlr4-python3-runtime/Manifest b/dev-python/antlr4-python3-runtime/Manifest
index c99f021c0595..74e6a52641c1 100644
--- a/dev-python/antlr4-python3-runtime/Manifest
+++ b/dev-python/antlr4-python3-runtime/Manifest
@@ -1 +1 @@
-DIST antlr-4.11.1.gh.tar.gz 4383139 BLAKE2B ac6e49ae8d4d44923e40eba98fa2c850cb594929ae1a29223678377aabe6f35d57f95e125393aa6b7145828c876442608883356b594ab43346c891ca932d9fd5 SHA512 a81f2ebcbcb6e63eb651731ceafab55f66401a3da0a6b2688cfe96d3bda299542dab5b05aaf4c8a8520ba32891b23adbf912011a4e45afae492a2a350d333ae9
+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.11.1.ebuild b/dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.11.1.ebuild
deleted file mode 100644
index 2c778f97e89c..000000000000
--- a/dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.11.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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
- -> antlr-${PV}.gh.tar.gz
-"
-S="${WORKDIR}/antlr4-${PV}/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
new file mode 100644
index 000000000000..495831c62f21
--- /dev/null
+++ b/dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.13.1.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=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+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"
+
+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/Manifest b/dev-python/anyascii/Manifest
new file mode 100644
index 000000000000..ed73513ea8cb
--- /dev/null
+++ b/dev-python/anyascii/Manifest
@@ -0,0 +1 @@
+DIST anyascii-0.3.2.tar.gz 214052 BLAKE2B 6e267b3b8bf9d5db3f66c1a55d73ad080d0b2e29ea7862b27387adae0fe5b79e518ff3286be805e8472c8275d2e7bda3998eebf2a04c86abbc584aa7a4735424 SHA512 1559d9146bd42215b72aa158b612dede5f35234fbe793b84f2520c9541f9f61408dffb7b604d07d7bc91b29a440f979f6972d7d06d958abf09a1dd94d76e5668
diff --git a/dev-python/anyascii/anyascii-0.3.2.ebuild b/dev-python/anyascii/anyascii-0.3.2.ebuild
new file mode 100644
index 000000000000..961994a8d6fc
--- /dev/null
+++ b/dev-python/anyascii/anyascii-0.3.2.ebuild
@@ -0,0 +1,21 @@
+# 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 pypi
+
+DESCRIPTION="Unicode to ASCII transliteration"
+HOMEPAGE="
+ https://github.com/anyascii/anyascii/
+ https://pypi.org/project/anyascii/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/anyascii/metadata.xml b/dev-python/anyascii/metadata.xml
new file mode 100644
index 000000000000..7a9fdc490d68
--- /dev/null
+++ b/dev-python/anyascii/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="github">anyascii/anyascii</remote-id>
+ <remote-id type="pypi">anyascii</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/anyio/Manifest b/dev-python/anyio/Manifest
index b9e96550b640..c0102b74ff06 100644
--- a/dev-python/anyio/Manifest
+++ b/dev-python/anyio/Manifest
@@ -1 +1 @@
-DIST anyio-3.6.1.tar.gz 140240 BLAKE2B 391892591bee88df8fd5c099b6670af8e01af0610f7659e2f2e717c2dfd94d6e5212260acf3acca6c8b149cab6781044fb665d579a63b322332bf87767374858 SHA512 99ae55eada2df971405a1592afd980ac964c80a4502465a2016423182409691d0c943280a3a7448efc78036e481614451585238b62ebea924709f0ba888f7604
+DIST anyio-4.3.0.tar.gz 159642 BLAKE2B 33b300d1da37137d45b311f8424c022d19518c207c39ec6f8bd3e42432cf1457f2d533eadeaa1e21853ed1b25a4f58818fc595e8588489722846f8a8d72262dc SHA512 26ff552a03b24b63c7c99cffcec61e97289eacba3ad2fc7a3c1dde8cfaffd9a8d621b867429901c12d7cef912d3807db134dbeb9c5ba619921160f6d5df4d02f
diff --git a/dev-python/anyio/anyio-3.6.1.ebuild b/dev-python/anyio/anyio-3.6.1.ebuild
deleted file mode 100644
index 2fc4fc8df8c5..000000000000
--- a/dev-python/anyio/anyio-3.6.1.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Compatibility layer for multiple asynchronous event loop implementations"
-HOMEPAGE="
- https://github.com/agronholm/anyio/
- https://pypi.org/project/anyio/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="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}]
-"
-# 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="
- test? (
- >=dev-python/hypothesis-4.0[${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.15[${PYTHON_USEDEP}]
- ' python3_{8..10})
- )
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/sphinx_rtd_theme \
- dev-python/sphinx-autodoc-typehints
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -m 'not network'
-}
diff --git a/dev-python/anyio/anyio-4.3.0.ebuild b/dev-python/anyio/anyio-4.3.0.ebuild
new file mode 100644
index 000000000000..4768f8c60a52
--- /dev/null
+++ b/dev-python/anyio/anyio-4.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=( 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}]
+ $(python_gen_cond_dep '
+ >=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/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/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/Manifest b/dev-python/apache-libcloud/Manifest
new file mode 100644
index 000000000000..2ae9b9035f99
--- /dev/null
+++ b/dev-python/apache-libcloud/Manifest
@@ -0,0 +1 @@
+DIST apache-libcloud-3.8.0.tar.gz 2457665 BLAKE2B 39a6f3f99d3b685150e9a5ec198da705e0c8a3fed7da1300a734fe69310f888401da6683a8ea4b3fe042776a19ebff28f7c82921f29ebc91349a3c1a24e60e20 SHA512 ef221c79be2adf22bbd9fa739c619fa8c0afb493a410bf36a6cf2b3ad5cb18b61f552a1d98400b9152c790e3a88ca504848e03bae1fe8a14b94f72f9b7358f50
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
new file mode 100644
index 000000000000..26ad934cf8f7
--- /dev/null
+++ b/dev-python/apache-libcloud/apache-libcloud-3.8.0-r1.ebuild
@@ -0,0 +1,59 @@
+# 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="ssl(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Unified Interface to the Cloud - python support libs"
+HOMEPAGE="
+ https://libcloud.apache.org/
+ https://github.com/apache/libcloud/
+ https://pypi.org/project/apache-libcloud/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.26.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/cryptography-2.6.1[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ )
+"
+
+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() {
+ if use examples; then
+ mkdir examples || die
+ mv example_*.py examples || die
+ fi
+
+ # needed for tests
+ cp libcloud/test/secrets.py-dist libcloud/test/secrets.py || die
+
+ distutils-r1_src_prepare
+}
+
+src_install() {
+ use examples && dodoc -r examples
+ distutils-r1_src_install
+}
diff --git a/dev-python/libcloud/metadata.xml b/dev-python/apache-libcloud/metadata.xml
index ef0cc22c1151..ef0cc22c1151 100644
--- a/dev-python/libcloud/metadata.xml
+++ b/dev-python/apache-libcloud/metadata.xml
diff --git a/dev-python/apipkg/Manifest b/dev-python/apipkg/Manifest
index 7e35f32c67b5..94a2617631bc 100644
--- a/dev-python/apipkg/Manifest
+++ b/dev-python/apipkg/Manifest
@@ -1 +1 @@
-DIST apipkg-3.0.1.gh.tar.gz 14026 BLAKE2B da16bea557cf870c96d44a383232344d10cfbb682c483468e20755dd378c64e64d72b379901eb59ed0df590b5c3b577c882beb882377f7d759b181cf1b672b50 SHA512 89251f02a49b5191879bcf6e35c6a8755d6b29f1ca1c6061eab004385b11433ec86e2968ab23994c6a74515d6a673e445b3bcf8cbdd21b2ec644fcef0d19b419
+DIST apipkg-3.0.2.gh.tar.gz 14018 BLAKE2B 2c7734db09a9718353ba1e99fd0bb4320b9e4e2a9d509d7d93c65dbb6477be6cd71149023c3b8de3e4d5226d337d44065710fe9358ccfcc29d26c968ca84a778 SHA512 57bd819869d441bc00bcba36bb4308a98f9e36114ddfb44dbb9c3123aafb5972fbbce4d7cab8f0f82d789837679d5b3c62fbd2d03d870c53095782798d0c59b6
diff --git a/dev-python/apipkg/apipkg-3.0.1.ebuild b/dev-python/apipkg/apipkg-3.0.1.ebuild
deleted file mode 100644
index 89e5938140a9..000000000000
--- a/dev-python/apipkg/apipkg-3.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/_/}
-DESCRIPTION="Namespace control and lazy-import mechanism"
-HOMEPAGE="
- https://github.com/pytest-dev/apipkg/
- https://pypi.org/project/apipkg/
-"
-SRC_URI="
- https://github.com/pytest-dev/apipkg/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"
-
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/apipkg/apipkg-3.0.2.ebuild b/dev-python/apipkg/apipkg-3.0.2.ebuild
new file mode 100644
index 000000000000..ad7cb885a7c5
--- /dev/null
+++ b/dev-python/apipkg/apipkg-3.0.2.ebuild
@@ -0,0 +1,32 @@
+# 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
+
+MY_P=${P/_/}
+DESCRIPTION="Namespace control and lazy-import mechanism"
+HOMEPAGE="
+ https://github.com/pytest-dev/apipkg/
+ https://pypi.org/project/apipkg/
+"
+SRC_URI="
+ https://github.com/pytest-dev/apipkg/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"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/apipkg/metadata.xml b/dev-python/apipkg/metadata.xml
index 90cfbfa65b59..dadf72a61cc2 100644
--- a/dev-python/apipkg/metadata.xml
+++ b/dev-python/apipkg/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">pytest-dev/apipkg</remote-id>
<remote-id type="pypi">apipkg</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/apispec/Manifest b/dev-python/apispec/Manifest
index c63eae6ec111..37b35b4aa165 100644
--- a/dev-python/apispec/Manifest
+++ b/dev-python/apispec/Manifest
@@ -1 +1,3 @@
-DIST apispec-6.0.2.gh.tar.gz 72472 BLAKE2B 0ff39ad92648cd63487f8901dc918fc1c642ce677ef73d5a7c849cdafbf7c81ac3ec51224575cd83c060930c1b2ef0ebfb3e94e1fb30f040e4dc4aa2bd221936 SHA512 aa5e2cc41d5b3c4555da929819135df30192e6f6ff08518d62674495f0d28c14e51a0aa111b289e5f9d7205f821c1fd4e28b914899ea3e15b3e20f6052258117
+DIST apispec-6.4.0.tar.gz 79114 BLAKE2B 998b153a3d80c45247148210a929a0713d930560a4219dc0da0791e02480ff2a99a74d0b8bc2c170534f7d9e4e05a5fa231fa1d0eaf9359191e7ea6f37e5caf3 SHA512 2b9ceb99945c2e40e00af9f1626d0bd45cdb853fea1b75c58ef312b42b10d521405138c3bc788a33bf38eb31fc9220ed8e9a23c6a3c8980fc5549688d999dcdf
+DIST apispec-6.5.0.tar.gz 76109 BLAKE2B 63cf1fe60a828e3612d211214c07eb250accbab62760e76af48e30871f0bfbb6a3d80efe6373549da43a3b3e5ccacc80f61de48a236ad0391e210d9033e87c9f SHA512 1102bd0c00b8b7018c1ad88fe2b4531fbfcfc83fca73aa63e9b7965c0775634f40fb59c061ec901b804c79e69df43f5b33c7b64129a1684a4f8b0b6228f1b1de
+DIST apispec-6.6.0.tar.gz 76220 BLAKE2B b4dc3a931a501eb4abb0148c93234cb03929d45e7a8f939dfc996cb7ff1573b22e1b1941b52f7cc31374c68ae5dbae623d35cb6f15c03e5ae1b2155f3991e106 SHA512 8bdff0a7df17e30639bea2a2f6afb13c84d74bdeceef5c4748c85886c1bc2662a8d257f7873804fdca3e109380159c1671af9001bfeeae81da2c659858a39b19
diff --git a/dev-python/apispec/apispec-6.0.2.ebuild b/dev-python/apispec/apispec-6.0.2.ebuild
deleted file mode 100644
index e308567d4d42..000000000000
--- a/dev-python/apispec/apispec-6.0.2.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} )
-
-inherit distutils-r1
-
-DESCRIPTION="A pluggable API specification generator"
-HOMEPAGE="
- https://github.com/marshmallow-code/apispec/
- https://pypi.org/project/apispec/
-"
-SRC_URI="
- https://github.com/marshmallow-code/apispec/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~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.4.0.ebuild b/dev-python/apispec/apispec-6.4.0.ebuild
new file mode 100644
index 000000000000..df8ddd83f780
--- /dev/null
+++ b/dev-python/apispec/apispec-6.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
+PYTHON_COMPAT=( python3_{10..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.5.0.ebuild b/dev-python/apispec/apispec-6.5.0.ebuild
new file mode 100644
index 000000000000..7d9e2538b1f3
--- /dev/null
+++ b/dev-python/apispec/apispec-6.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=flit
+PYTHON_COMPAT=( python3_{10..12} )
+
+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.0.ebuild b/dev-python/apispec/apispec-6.6.0.ebuild
new file mode 100644
index 000000000000..7d9e2538b1f3
--- /dev/null
+++ b/dev-python/apispec/apispec-6.6.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=flit
+PYTHON_COMPAT=( python3_{10..12} )
+
+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/Manifest b/dev-python/appdirs/Manifest
index 97a4d25f7608..02f603bb0130 100644
--- a/dev-python/appdirs/Manifest
+++ b/dev-python/appdirs/Manifest
@@ -1 +1 @@
-DIST appdirs-1.4.4.tar.gz 9840 BLAKE2B cb9466f4a7f7c1d6f5b6d7ca031820ec4d3450afcaa8ba571e35387c3109ede4e2afbf2c1141a9d01d13798f55524d5efd3fa12546a9378abbda405353938d79 SHA512 4c0e1e8dcd3f91b8b2d215b3f1e2ffaa85137fe054d07d3a2d442b1419e3b44e96fdea1620bd000bd3f4744f71b71f07280094f073df0ff008fac902af614656
+DIST appdirs-1.4.4.gh.tar.gz 9840 BLAKE2B cb9466f4a7f7c1d6f5b6d7ca031820ec4d3450afcaa8ba571e35387c3109ede4e2afbf2c1141a9d01d13798f55524d5efd3fa12546a9378abbda405353938d79 SHA512 4c0e1e8dcd3f91b8b2d215b3f1e2ffaa85137fe054d07d3a2d442b1419e3b44e96fdea1620bd000bd3f4744f71b71f07280094f073df0ff008fac902af614656
diff --git a/dev-python/appdirs/appdirs-1.4.4-r2.ebuild b/dev-python/appdirs/appdirs-1.4.4-r2.ebuild
deleted file mode 100644
index db7fa80b59ae..000000000000
--- a/dev-python/appdirs/appdirs-1.4.4-r2.ebuild
+++ /dev/null
@@ -1,37 +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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Module for determining appropriate platform-specific dirs"
-HOMEPAGE="https://github.com/ActiveState/appdirs"
-SRC_URI="https://github.com/ActiveState/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-src_configure() {
- [[ -e pyproject.toml ]] &&
- die "Upstream added pyproject.toml, 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 = "appdirs"
- dynamic = ["version", "description"]
- EOF
-}
-
-python_test() {
- "${EPYTHON}" test/test_api.py -v || die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/appdirs/appdirs-1.4.4-r3.ebuild b/dev-python/appdirs/appdirs-1.4.4-r3.ebuild
new file mode 100644
index 000000000000..bac28f7a310c
--- /dev/null
+++ b/dev-python/appdirs/appdirs-1.4.4-r3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 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="Module for determining appropriate platform-specific dirs"
+HOMEPAGE="
+ https://github.com/ActiveState/appdirs/
+ https://pypi.org/project/appdirs/
+"
+SRC_URI="
+ https://github.com/ActiveState/${PN}/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 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+python_test() {
+ "${EPYTHON}" test/test_api.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/apprise/Manifest b/dev-python/apprise/Manifest
new file mode 100644
index 000000000000..ab95fdbe6b00
--- /dev/null
+++ b/dev-python/apprise/Manifest
@@ -0,0 +1,3 @@
+DIST apprise-1.7.4.tar.gz 1648673 BLAKE2B 33c91a63e3d0e730dcfe2b99433cd97e16ff9635e9ff717e9c4f7b708e6536185265e591ff419a785044877cadd4793f2df73fe9420ffed65838fb16654810f8 SHA512 5e3ab2136f1bdbd9d769fb3e3c5a5c899834b7ffb6ba57f3601079d516e31bed9d988b76745c251fff6df91f1fcd186d23a0878165ad73b811f76a8118278a64
+DIST apprise-1.7.5.tar.gz 1652098 BLAKE2B 01acc8be50b76cdcb5c7ce068b6f644d5edbbf28ea964d95e8d2ea0579a3a9c60e9715ae482ec0d7f16f4ce8118acf99e4159249bc763f268f89362a3e4fcde9 SHA512 d783d74a8e4a9f9b39c2ab86c0207a99e6f5fe30492b5bc50cb7008477acc1c5831d94c18bd3cee22fa28e028571108237191cc7a253aa072e121cecd0ce7afa
+DIST apprise-1.7.6.tar.gz 1656123 BLAKE2B 49720f6ba6522f3496ad5cbf5bf72340c6b21f207d11f3c3fcdd113db2e01730b64209fad1d0c7f1ed357251e567a0fe8c875b2ab8f1befdeeab9af59f5678e3 SHA512 39fdfd129d9e8bc16070a015bc9e2b4f4bf6e61e1b87ee45ec11e99e7e87dcc3896312c7ff71d0dac9532cee36709de40d6397d98b8affda069cb3a436ab8683
diff --git a/dev-python/apprise/apprise-1.7.4.ebuild b/dev-python/apprise/apprise-1.7.4.ebuild
new file mode 100644
index 000000000000..4f6bb4ff272e
--- /dev/null
+++ b/dev-python/apprise/apprise-1.7.4.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="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.7.5.ebuild b/dev-python/apprise/apprise-1.7.5.ebuild
new file mode 100644
index 000000000000..a85837c32c40
--- /dev/null
+++ b/dev-python/apprise/apprise-1.7.5.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="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.7.6.ebuild b/dev-python/apprise/apprise-1.7.6.ebuild
new file mode 100644
index 000000000000..a85837c32c40
--- /dev/null
+++ b/dev-python/apprise/apprise-1.7.6.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="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..c53896f64200
--- /dev/null
+++ b/dev-python/apprise/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="person">
+ <email>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <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 e554b4f25091..3902103028fa 100644
--- a/dev-python/apsw/Manifest
+++ b/dev-python/apsw/Manifest
@@ -1,2 +1,3 @@
-DIST apsw-3.40.0.0.gh.tar.gz 402492 BLAKE2B 9539bbffd9cbcdee58e798261f9fb09a3f691d442cc80de664ce3d48b6f36608624e8f0b718edf87171bd8e68999ee16ea3829698e9d3277afa5b33931f464cc SHA512 61ae7d0a6f394176af462c5e80eae1f8fdc9395fcb64d4956c755d552ab0dcac83349633e7867f2fa661a6b707c80b4ae65fd68cd91b0f0d2535aedf65b4a517
-DIST apsw-3.40.1.0.gh.tar.gz 423060 BLAKE2B 7ac1a587ab93b4cd6ae20a137f2f1a2e96039209f74c8aa626ea7bf219b1698403fe4c8365662e8b896a56024b45b36a80df5f506d6a813dea920add202479cd SHA512 243d47efc7407c4f3bad92d1bf4044fe4a53d913b86e1821c7d1c3711348bf25b2a339a68d18075f99c0899766085c2f2b93a303f8298c115463224ad46f99f1
+DIST apsw-3.45.1.0.gh.tar.gz 904083 BLAKE2B 4cf397557bfe36e38fd48d124345de395b77a8dd313ebd77f97624d873123d5ecd82e56b6e134849e00a77f94b0c3ee2fa0cfc888b8fbbddc34b99b3274b8dc8 SHA512 5d754c45881db9e299c70bd0c290211f7e30421da258b25b5aa0d8b3c97a10622f0b75735fc84d687f78403fc257139ffc249d926be611a4101b98caf3c60a3a
+DIST apsw-3.45.2.0.gh.tar.gz 904263 BLAKE2B 4071e2dc24a304f4f08cefc87cce27d617cab8f2699d134134b2c0c2618422139ebdd38dfafcb17e8a6c515fe5e799d6d827ef5099af23cf628f26c18764aa0a SHA512 864cde25cfd15e3cbddbf1df80dbd861e93c2e8ea458a9f16d0ff4a8ecaf17721321f08bf7ab0659c0a18845be5bcc879b6708175ed971b263a0f274c08b05b9
+DIST apsw-3.45.3.0.gh.tar.gz 904570 BLAKE2B 644c884b6f5624c2d8b48f204a43bbb6dd8761979099e1ebad96a30acc7d79f80549e50300279b8d1061f86f8852735fa92c99df4a6c81a364391a3635464ff1 SHA512 73c09aba4ff211e98dfb3365e5f0202f85fa0a05e78f6a35fe08515e84b74ed1576e7bb5c46c77c309ba3e6acacc5681d31e5a4d3d66835d347d82af8feced74
diff --git a/dev-python/apsw/apsw-3.40.0.0.ebuild b/dev-python/apsw/apsw-3.40.0.0.ebuild
deleted file mode 100644
index 3cfdb2b69aa9..000000000000
--- a/dev-python/apsw/apsw-3.40.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_{9..11} )
-
-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.40.1.0.ebuild b/dev-python/apsw/apsw-3.40.1.0.ebuild
deleted file mode 100644
index 029ab66ba97a..000000000000
--- a/dev-python/apsw/apsw-3.40.1.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_{9..11} )
-
-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.45.1.0.ebuild b/dev-python/apsw/apsw-3.45.1.0.ebuild
new file mode 100644
index 000000000000..617cadf72867
--- /dev/null
+++ b/dev-python/apsw/apsw-3.45.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_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 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/apsw/apsw-3.45.2.0.ebuild b/dev-python/apsw/apsw-3.45.2.0.ebuild
new file mode 100644
index 000000000000..7fe76f0deaa5
--- /dev/null
+++ b/dev-python/apsw/apsw-3.45.2.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_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 ~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/apsw/apsw-3.45.3.0.ebuild b/dev-python/apsw/apsw-3.45.3.0.ebuild
new file mode 100644
index 000000000000..7fe76f0deaa5
--- /dev/null
+++ b/dev-python/apsw/apsw-3.45.3.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_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 ~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 2a9e16e75e01..86dea222dc53 100644
--- a/dev-python/argcomplete/Manifest
+++ b/dev-python/argcomplete/Manifest
@@ -1 +1,2 @@
-DIST argcomplete-2.0.0.tar.gz 54164 BLAKE2B 77da149b07d4019f8d6f3dda8fd9bbe9953c25b8461ab0746e1c2eb4d1bb51a9007c1f046ad9dc41dc5f8f248fbdf18ad7d921cf644fbc7580661084fd1427a1 SHA512 ef2a551e1372ecf3739006fe2c020e9f7ec53c5809680dcd3d9d552290565d8d09ba22bcc989f40644120a129b101f8e2e8ed34723e947a7d8d7884e9b502c31
+DIST argcomplete-3.2.3.tar.gz 81130 BLAKE2B 1c3a1c3fe9159ba1ab64db2a05d32dd961b08bb00d4cf3015fbb7990c02ebb766200fabe228c4e48ad791ea1a02db0775df1eec3181c7d1291743894e986f61c SHA512 25c73ec01a9c7e0b3d2cab1b86953369b0464431e86d6be2ba14d0209c1e1bc9fe5c5ce02590d86a44df74c9e828d4579b1265d2a37adf21f1e8bfdfb2350a44
+DIST argcomplete-3.3.0.tar.gz 81832 BLAKE2B 63778dc48f90bb06dbf59c8d4d94ca905c9b188ec5b64e3a8cf7604d66cf075b31350f241da00e460d97b1920c620d4fbf8df772485987897a698cec060b6ec9 SHA512 30776b7e2dc3ee1f7dfcd665d2ae6e403b09644829c1cd7a30ce80e39c6bd7331cc0b7bd7d6cec58a409ef6ec209ca6b1cca0888e83a7a9a228658fa72f6e578
diff --git a/dev-python/argcomplete/argcomplete-2.0.0-r1.ebuild b/dev-python/argcomplete/argcomplete-2.0.0-r1.ebuild
deleted file mode 100644
index 70779c596e0d..000000000000
--- a/dev-python/argcomplete/argcomplete-2.0.0-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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Bash tab completion for argparse"
-HOMEPAGE="
- https://github.com/kislyuk/argcomplete/
- https://pypi.org/project/argcomplete/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-# pip is called as an external tool
-BDEPEND="
- test? (
- app-shells/fish
- app-shells/tcsh
- dev-python/pexpect[${PYTHON_USEDEP}]
- >=dev-python/pip-19
- )
-"
-
-src_prepare() {
- sed -i -e 's:timeout=5:timeout=30:' test/test.py || die
- distutils-r1_src_prepare
-}
-
-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() {
- "${EPYTHON}" test/test.py -v || die
-}
diff --git a/dev-python/argcomplete/argcomplete-3.2.3.ebuild b/dev-python/argcomplete/argcomplete-3.2.3.ebuild
new file mode 100644
index 000000000000..cdda946da90b
--- /dev/null
+++ b/dev-python/argcomplete/argcomplete-3.2.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_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.3.0.ebuild b/dev-python/argcomplete/argcomplete-3.3.0.ebuild
new file mode 100644
index 000000000000..0ea9deb31943
--- /dev/null
+++ b/dev-python/argcomplete/argcomplete-3.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=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/files/argcomplete-3.1.6-timeout.patch b/dev-python/argcomplete/files/argcomplete-3.1.6-timeout.patch
new file mode 100644
index 000000000000..0b2ac120402e
--- /dev/null
+++ b/dev-python/argcomplete/files/argcomplete-3.1.6-timeout.patch
@@ -0,0 +1,21 @@
+diff --git a/test/test.py b/test/test.py
+index c89912a..eedfe36 100755
+--- a/test/test.py
++++ b/test/test.py
+@@ -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)
+ command = "test-module"
+ if package:
+@@ -1395,8 +1395,8 @@ class Shell:
+ def run_command(self, command):
+ try:
+ self.child.sendline(r"echo -n \#\#\#; {0}; echo -n \#\#\#".format(command))
+- self.child.expect_exact("###", timeout=5)
+- self.child.expect_exact("###", timeout=5)
++ self.child.expect_exact("###", timeout=30)
++ self.child.expect_exact("###", timeout=30)
+ return self.child.before
+ finally:
+ # Send Ctrl+C in case we get stuck.
diff --git a/dev-python/argh/Manifest b/dev-python/argh/Manifest
index 11aa6388aa91..30e42a925157 100644
--- a/dev-python/argh/Manifest
+++ b/dev-python/argh/Manifest
@@ -1 +1 @@
-DIST argh-0.26.2.tar.gz 32913 BLAKE2B 315dc36c4a98cb4a8fdab68a30ed3d4d87d1565717722ed496255d8b1b4e505277032217da4c5d750f210974890d8094c52f920044173ff2168adf7cb7f6a2bd SHA512 90382900d5cec9629dacb4459a2c9491d1425b66fa3f90d7cbf511dec846a99dbb9424f3e08f0c006da48fbf9c067078705be70b314700541fd800630e4b1707
+DIST argh-0.31.2.tar.gz 57200 BLAKE2B e5ba440d08d8f5655d237d61ab65fef02296d28d0562945e56dfa6598deafa6cc288d88e625c4acabfa2eeda359f970679db1e7424d77e0278b65fbe15c8b499 SHA512 2e0d926cae88d6830706f631aa2220654777dcc1a4263af889064d4c805616fce368c90e871a393490b9590f82759f56b2434afeba468e7720f99d85c8b75dd1
diff --git a/dev-python/argh/argh-0.26.2-r3.ebuild b/dev-python/argh/argh-0.26.2-r3.ebuild
deleted file mode 100644
index 610a5b87e84a..000000000000
--- a/dev-python/argh/argh-0.26.2-r3.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} pypy3 )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-DESCRIPTION="A simple argparse wrapper"
-HOMEPAGE="https://pythonhosted.org/argh/"
-SRC_URI="mirror://pypi/a/${PN}/${P}.tar.gz"
-
-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}]
- dev-python/mock[${PYTHON_USEDEP}]
- )"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-py3.9-msgs.patch"
-)
-
-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..425ffde1b42f
--- /dev/null
+++ b/dev-python/argh/argh-0.31.2.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..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/files/argh-0.26.2-fix-py3.9-msgs.patch b/dev-python/argh/files/argh-0.26.2-fix-py3.9-msgs.patch
deleted file mode 100644
index 5835c5acbb8e..000000000000
--- a/dev-python/argh/files/argh-0.26.2-fix-py3.9-msgs.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/test/test_integration.py b/test/test_integration.py
-index 8899d8e..589f6d6 100644
---- a/test/test_integration.py
-+++ b/test/test_integration.py
-@@ -377,7 +377,7 @@ def test_invalid_choice():
- p = DebugArghParser()
- p.add_commands([cmd])
-
-- assert run(p, 'bar', exit=True).startswith('invalid choice')
-+ assert 'invalid choice' in run(p, 'bar', exit=True)
-
- if sys.version_info < (3,3):
- # Python before 3.3 exits with a less informative error
-@@ -391,7 +391,7 @@ def test_invalid_choice():
- p = DebugArghParser()
- p.add_commands([cmd], namespace='nest')
-
-- assert run(p, 'nest bar', exit=True).startswith('invalid choice')
-+ assert 'invalid choice' in run(p, 'nest bar', exit=True)
-
- if sys.version_info < (3,3):
- # Python before 3.3 exits with a less informative error
-@@ -511,7 +511,7 @@ def test_explicit_cmd_name():
-
- p = DebugArghParser()
- p.add_commands([orig_name])
-- assert run(p, 'orig-name', exit=True).startswith('invalid choice')
-+ assert 'invalid choice' in run(p, 'orig-name', exit=True)
- assert run(p, 'new-name').out == 'ok\n'
-
-
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 fc5e37fd7347..8442341fe251 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
@@ -3,17 +3,18 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Low-level CFFI bindings for the Argon2 password hashing library"
HOMEPAGE="
https://github.com/hynek/argon2-cffi-bindings/
https://pypi.org/project/argon2-cffi-bindings/
"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
@@ -24,7 +25,7 @@ DEPEND="
app-crypt/argon2:=
"
BDEPEND="
- >=dev-python/setuptools_scm-6.2[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-6.2[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
dev-python/cffi[${PYTHON_USEDEP}]
' 'python*')
diff --git a/dev-python/argon2-cffi/Manifest b/dev-python/argon2-cffi/Manifest
index 5e8fa5dedfce..e043e6b2be44 100644
--- a/dev-python/argon2-cffi/Manifest
+++ b/dev-python/argon2-cffi/Manifest
@@ -1 +1 @@
-DIST argon2-cffi-21.3.0.tar.gz 38446 BLAKE2B e0464f501efcdfbf33d93e0c1c6dbc519ad6aee06c0b8692417156de608f6c6acf947f86b866c064601fe994087677e51d954ae2c1225cbbbba3534cf70c6296 SHA512 6cb2a075f3bb7040ee7f552d082bfa2f3df0854649d9c84fdfdb42bb4bee2133b8a35a20be2b3c887931efda12fbbb00815d8d88170b7e20b3ca19c86f97057e
+DIST argon2_cffi-23.1.0.tar.gz 42798 BLAKE2B 16f20c064bfc420894bc9da681ce4f544219c8e173f63bf095ffffdca6bd159695ecfa7ff33c32ca96f284764561e844e58d1ec3bf85a0c120c3b54490c3a56f SHA512 7c7730451f5ef9bb40bb5e1bbfa6e69c9718968168f3fa9b54e1020a4f805f98fba6260039bda804241717db2338479d640c7652dc26ce1a6ade076660133383
diff --git a/dev-python/argon2-cffi/argon2-cffi-21.3.0-r2.ebuild b/dev-python/argon2-cffi/argon2-cffi-21.3.0-r2.ebuild
deleted file mode 100644
index 421d0f551145..000000000000
--- a/dev-python/argon2-cffi/argon2-cffi-21.3.0-r2.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=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="CFFI bindings to the Argon2 password hashing library"
-HOMEPAGE="
- https://github.com/hynek/argon2-cffi/
- https://pypi.org/project/argon2-cffi/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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/argon2-cffi-bindings-21.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( AUTHORS.rst FAQ.rst README.rst )
-
-distutils_enable_sphinx docs \
- dev-python/furo \
- dev-python/sphinx-notfound-page
-distutils_enable_tests pytest
diff --git a/dev-python/argon2-cffi/argon2-cffi-23.1.0.ebuild b/dev-python/argon2-cffi/argon2-cffi-23.1.0.ebuild
new file mode 100644
index 000000000000..f867f7623807
--- /dev/null
+++ b/dev-python/argon2-cffi/argon2-cffi-23.1.0.ebuild
@@ -0,0 +1,32 @@
+# 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="CFFI bindings to the Argon2 password hashing library"
+HOMEPAGE="
+ https://github.com/hynek/argon2-cffi/
+ https://pypi.org/project/argon2-cffi/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/argon2-cffi-bindings-21.2.0[${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
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..8a2064f0c336
--- /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..12} )
+
+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..76cf676ed14b
--- /dev/null
+++ b/dev-python/argparse-addons/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <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 6cca3efdb3df..218c9ba44374 100644
--- a/dev-python/argparse-manpage/Manifest
+++ b/dev-python/argparse-manpage/Manifest
@@ -1 +1 @@
-DIST argparse-manpage-4.gh.tar.gz 50506 BLAKE2B b291e4e77a076e87659bea611baf96d9a258deb8d9fe5e8d1a9278d4daa80d108d6bc7280aa351f1f7b5fa725a5a6508dd3d74bfc1dd226d24653645066173f2 SHA512 51b3cd10569b0bbd28587172cbb2818375c904c89c51a075e2f641c4d158a7a047ff939977c3ee0f164ace18ebccc0037f8c0e74e23b41fbcd990cacedcbee6a
+DIST argparse-manpage-4.5.gh.tar.gz 54783 BLAKE2B a348ad06990126965b48c64db209f13c91d68329fba57e4287b1a2ac7c246a25aedc25b70bfc01fd19b72c5700a67193da4ef47106a5b8ea863edf859ea07ecd SHA512 b9b166d2469d0fc6c9f6d1112bef553c1de32d1f558be4ef4f9b739b94d83acba2712eb9d324d9f3437bf421b833336c0eab34061ccd7b3cf810591705078bf2
diff --git a/dev-python/argparse-manpage/argparse-manpage-4.5.ebuild b/dev-python/argparse-manpage/argparse-manpage-4.5.ebuild
new file mode 100644
index 000000000000..1c171f970460
--- /dev/null
+++ b/dev-python/argparse-manpage/argparse-manpage-4.5.ebuild
@@ -0,0 +1,41 @@
+# 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 ~mips ~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.ebuild b/dev-python/argparse-manpage/argparse-manpage-4.ebuild
deleted file mode 100644
index 87014c4bf8af..000000000000
--- a/dev-python/argparse-manpage/argparse-manpage-4.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_{9..11} 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"
-
-BDEPEND="
- test? (
- dev-python/pip[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x COLUMNS=80
- epytest
-}
diff --git a/dev-python/arrow/Manifest b/dev-python/arrow/Manifest
index 7a7b11727ef6..5c8e2401fd82 100644
--- a/dev-python/arrow/Manifest
+++ b/dev-python/arrow/Manifest
@@ -1 +1 @@
-DIST arrow-1.2.3.tar.gz 127552 BLAKE2B 35f5b694d819d80913b5938e4af71f413fd3944636c1e89a79e868c03cb423f75692c1f0e8d85dba21e640591f8cd0404cdc6d77dd59956490d268fb4c9fdc7b SHA512 e90276f50bf8521570cc2cdbf011ff376e0d5bada0576bbfc76f6c63730c13f7eba1d978cc3a481e7c7356b0dce7c554f19cbf3ef03b280c5515be72d2c7d177
+DIST arrow-1.3.0.tar.gz 131960 BLAKE2B 892ed898ea09a00ca100eada18956994d3567836c30feec50e1d2d1bca6a603c3f9254def16cd55b46e68c1530f8bf7c0f55401b458cc5aadf0883ade0899e90 SHA512 f0725e75d1005e0177bb234b3d2523aaf9e882ec08b020f6b3737a3af27af3c8c031aee9dcba0332595845a09a0286d56662b77ddad8a6da928ba37201725239
diff --git a/dev-python/arrow/arrow-1.2.3.ebuild b/dev-python/arrow/arrow-1.2.3.ebuild
deleted file mode 100644
index 9413377a3f15..000000000000
--- a/dev-python/arrow/arrow-1.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Better dates and times for Python"
-HOMEPAGE="
- https://github.com/arrow-py/arrow/
- https://pypi.org/project/arrow/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/python-dateutil-2.7.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/simplejson[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e '/addopts/d' -i tox.ini || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/arrow/arrow-1.3.0.ebuild b/dev-python/arrow/arrow-1.3.0.ebuild
new file mode 100644
index 000000000000..f300a27331d9
--- /dev/null
+++ b/dev-python/arrow/arrow-1.3.0.ebuild
@@ -0,0 +1,40 @@
+# 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="Better dates and times for Python"
+HOMEPAGE="
+ https://github.com/arrow-py/arrow/
+ https://pypi.org/project/arrow/
+"
+
+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"
+
+RDEPEND="
+ >=dev-python/python-dateutil-2.7.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/addopts/d' tox.ini || die
+ # unnecessary type stub deps
+ sed -i -e '/types-/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/arsenic/Manifest b/dev-python/arsenic/Manifest
new file mode 100644
index 000000000000..596bae7270d4
--- /dev/null
+++ b/dev-python/arsenic/Manifest
@@ -0,0 +1 @@
+DIST arsenic-21.8.tar.gz 16300 BLAKE2B 8260ab046c4d87e2a91ed366f46954a00a853d586acbd534b84addfd654610e4c5d03509d97bba653a699fa0b64fe66a1af6d89f638bab407d7725e94d9c58ee SHA512 55fd0e6f9acf1f578d990146b81f7f91d8c58aa68601840346c80cf7c535d5412a983c1cf0ee355383f80f6b667ef7a63b22dae8192b51e85541258a143ab366
diff --git a/dev-python/arsenic/arsenic-21.8.ebuild b/dev-python/arsenic/arsenic-21.8.ebuild
new file mode 100644
index 000000000000..d662465db14e
--- /dev/null
+++ b/dev-python/arsenic/arsenic-21.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=poetry
+PYTHON_COMPAT=( python3_{9..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Asynchronous WebDriver client"
+HOMEPAGE="https://github.com/HENNGE/arsenic"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/structlog[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
diff --git a/dev-python/arsenic/metadata.xml b/dev-python/arsenic/metadata.xml
new file mode 100644
index 000000000000..53218e9f4287
--- /dev/null
+++ b/dev-python/arsenic/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>voyageur@gentoo.org</email>
+ <name>Bernard Cafarelli</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">arsenic</remote-id>
+ <remote-id type="github">HENNGE/arsenic</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/asgiref/Manifest b/dev-python/asgiref/Manifest
index 4f52fa5e49dd..e1b75b3f0bf8 100644
--- a/dev-python/asgiref/Manifest
+++ b/dev-python/asgiref/Manifest
@@ -1,2 +1 @@
-DIST asgiref-3.5.2.tar.gz 32352 BLAKE2B 08d148948828cb2bf1f216c827d8fd35f66c88c6eec5ff77af85495fbd40144931d4dc2bf09db32d34be92d8ea9d923c87904d3554422d24f6e23cfcc428bdd8 SHA512 d5ed0275dc748674018b14d58941113c19e1e30c1fed63c40d3069a4a09d81a6cceb186e7a0ef26912a040df082ae71b2ca9198d67f0b786b53d3d4089530fbb
-DIST asgiref-3.6.0.tar.gz 32748 BLAKE2B ce3facb2d026551df31ab28a3d9c4bb22be6828664d3b341369eb5dffaec1f2a519ab84356ec89dcfe112a96430be66c70c53d7e36586a3b2f4ee1db61a9d617 SHA512 b74d71e3a5d129117293512ed93e06a9ac0f681766abfc074be6c8deec7160995dee23947da861715fa47e2b9921669b6b5bf247f8d895ffbea7007ea956b9d6
+DIST asgiref-3.8.1.tar.gz 35186 BLAKE2B ce18c03ad3de054375eb5c97792bfdb6b0ae19f8769f2968892d805d3c54c2d4e7dd7b05036bd786a828d0537fcebe983b46d38bdfc17d09be7e924ee3462d5c SHA512 3ef9ac2fcdce069cde96467abaa4a820c4eac19d40ce72e1afd0ca08279c00053a7e107966d766651def33a72a19c11559849b1032e89d62f544156590ef801d
diff --git a/dev-python/asgiref/asgiref-3.5.2.ebuild b/dev-python/asgiref/asgiref-3.5.2.ebuild
deleted file mode 100644
index e5322ee0c5bd..000000000000
--- a/dev-python/asgiref/asgiref-3.5.2.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="ASGI utilities (successor to WSGI)"
-HOMEPAGE="
- https://asgi.readthedocs.io/en/latest/
- https://github.com/django/asgiref/
- https://pypi.org/project/asgiref/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-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/asgiref/asgiref-3.6.0.ebuild b/dev-python/asgiref/asgiref-3.6.0.ebuild
deleted file mode 100644
index 7a3d72de7402..000000000000
--- a/dev-python/asgiref/asgiref-3.6.0.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="ASGI utilities (successor to WSGI)"
-HOMEPAGE="
- https://asgi.readthedocs.io/en/latest/
- https://github.com/django/asgiref/
- https://pypi.org/project/asgiref/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-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/asgiref/asgiref-3.8.1.ebuild b/dev-python/asgiref/asgiref-3.8.1.ebuild
new file mode 100644
index 000000000000..5978e7ad43de
--- /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..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/asn1crypto/Manifest b/dev-python/asn1crypto/Manifest
index 2b13d8555fa4..25f4097b03d7 100644
--- a/dev-python/asn1crypto/Manifest
+++ b/dev-python/asn1crypto/Manifest
@@ -1 +1 @@
-DIST asn1crypto-1.5.1.gh.tar.gz 686175 BLAKE2B 1e308ac17c36daaa9ca69fc48ccf0465e540b07d96c1a3e6977844994950e2c75061d7b88525b7e46b61e5c725ac4505ada8757d51ac67c72f11f86917fca54b SHA512 1bcb93d82a2602e3b5c66a180f5d16cd3a9731d86d89fbd44c1e23d735e708e9bf9bb6cbabc2a5d60619f51a7c38dfb1f7ed63820f422ccf42800a39f4637626
+DIST asn1crypto-8609892a88f571bc10110603c173832cd100cb44.gh.tar.gz 691008 BLAKE2B d80b51780cad441de5de4ae2e3bcbb53b2062b48ab793a544900f17b883dbbead8b3572f13b942d2def1d66c86dfcfe621f7f1937a863afaebc4974c287e175b SHA512 5d16350861a0ec2ab3fff5c64fe834fa5884c268ade053b6cfd75f4a63b5cffd9538c8824fe379f82c633390d7f622564d6cb5a7826df7eb07fc8adbe903a9c8
diff --git a/dev-python/asn1crypto/asn1crypto-1.5.1.ebuild b/dev-python/asn1crypto/asn1crypto-1.5.1.ebuild
deleted file mode 100644
index c33611875c0e..000000000000
--- a/dev-python/asn1crypto/asn1crypto-1.5.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} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Python ASN.1 library with a focus on performance and a pythonic API"
-HOMEPAGE="
- https://github.com/wbond/asn1crypto/
- https://pypi.org/project/asn1crypto/
-"
-SRC_URI="
- https://github.com/wbond/asn1crypto/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-distutils_enable_tests unittest
diff --git a/dev-python/asn1crypto/asn1crypto-1.5.1_p20231012.ebuild b/dev-python/asn1crypto/asn1crypto-1.5.1_p20231012.ebuild
new file mode 100644
index 000000000000..c982d04dcbe9
--- /dev/null
+++ b/dev-python/asn1crypto/asn1crypto-1.5.1_p20231012.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 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
+
+EGIT_COMMIT=8609892a88f571bc10110603c173832cd100cb44
+MY_P=${PN}-${EGIT_COMMIT}
+DESCRIPTION="Python ASN.1 library with a focus on performance and a pythonic API"
+HOMEPAGE="
+ https://github.com/wbond/asn1crypto/
+ https://pypi.org/project/asn1crypto/
+"
+SRC_URI="
+ https://github.com/wbond/asn1crypto/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 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+distutils_enable_tests unittest
diff --git a/dev-python/asteval/Manifest b/dev-python/asteval/Manifest
index 5e4155821b71..b161e448f2d4 100644
--- a/dev-python/asteval/Manifest
+++ b/dev-python/asteval/Manifest
@@ -1 +1,2 @@
-DIST asteval-0.9.28.gh.tar.gz 39784 BLAKE2B 99c74b7d9f01de07dc568a5276852e66dd6c520c45af91b9471bc6f9485ac50bc20bc96df804188a610bac01e8e34534e8bb157784afd6b1799ca97280e4c5ed SHA512 108652594a0eaaf009b8652ced9000ef7454d8f33fe844e74fb1dd78a2ead42a60d5ba68845c8d9c9d8570a70b5958519a6350d77c66257a7fa18de23802c3b0
+DIST asteval-0.9.31.gh.tar.gz 54667 BLAKE2B 9bb4ac81118d5fdf2b7437cb64a571e91f44e34ea17ab9eb55201f9edf7c18e7736b7dbdaf2bdac3e83e28c55fe3f869f01ac3ab9d41b15c043de52227c064f8 SHA512 af70363eba0a08dd91d05faf2ac83020f9e89b927dba8752e5bf00ad3b887cf7b57cdf4c64b231d484d55796a9d203af4fb9860ceac3dbd5d8855baf7ffb1417
+DIST asteval-0.9.32.gh.tar.gz 54542 BLAKE2B 367c25c6099538e7457aa17a7224bb3112558a7183f948dcec01fe5cb6ef689e9fc6ef34a1c45cd668c84b8d7647e55c15457d34f5aeb5885b03515730ad03d1 SHA512 b8975cedff0680c4581b1a2053b4d7f55cd0fa6e970dfc65c21047f9c919c2fd44ff0a747e1a1cf97ddb69212f564e8d2d1dc705f864563f21684c68c98b5a8c
diff --git a/dev-python/asteval/asteval-0.9.28.ebuild b/dev-python/asteval/asteval-0.9.28.ebuild
deleted file mode 100644
index 3d74a230e35d..000000000000
--- a/dev-python/asteval/asteval-0.9.28.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_{9..11} )
-
-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.31.ebuild b/dev-python/asteval/asteval-0.9.31.ebuild
new file mode 100644
index 000000000000..9ce6c80225a3
--- /dev/null
+++ b/dev-python/asteval/asteval-0.9.31.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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.32.ebuild b/dev-python/asteval/asteval-0.9.32.ebuild
new file mode 100644
index 000000000000..db9c4073802e
--- /dev/null
+++ b/dev-python/asteval/asteval-0.9.32.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
+
+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 1250bbc02ba7..b6cd0e636df0 100644
--- a/dev-python/asteval/metadata.xml
+++ b/dev-python/asteval/metadata.xml
@@ -9,6 +9,7 @@
<name>Python</name>
</maintainer>
<upstream>
+ <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 9f74edb0c2fb..c3ee069fdfc4 100644
--- a/dev-python/astor/astor-0.8.1-r1.ebuild
+++ b/dev-python/astor/astor-0.8.1-r1.ebuild
@@ -4,17 +4,23 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Read/rewrite/write Python ASTs"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-HOMEPAGE="https://pypi.org/project/astor/"
+HOMEPAGE="
+ https://pypi.org/project/astor
+ https://github.com/berkerpeksag/astor
+"
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 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-tests-bigint.patch
+)
distutils_enable_tests pytest
diff --git a/dev-python/astor/files/astor-0.8.1-tests-bigint.patch b/dev-python/astor/files/astor-0.8.1-tests-bigint.patch
new file mode 100644
index 000000000000..777e9390b9bf
--- /dev/null
+++ b/dev-python/astor/files/astor-0.8.1-tests-bigint.patch
@@ -0,0 +1,23 @@
+https://bugs.gentoo.org/868711
+https://github.com/berkerpeksag/astor/commit/8342d6aa5dcdcf20f89a19057527510c245c7a2e
+
+From 8342d6aa5dcdcf20f89a19057527510c245c7a2e Mon Sep 17 00:00:00 2001
+From: Jochen Sprickerhof <jspricke@debian.org>
+Date: Fri, 30 Dec 2022 14:47:57 +0100
+Subject: [PATCH] Reduce huge int in test (Closes: #212)
+
+Int was above limits:
+
+https://docs.python.org/3/library/stdtypes.html#int-max-str-digits
+--- a/tests/test_code_gen.py
++++ b/tests/test_code_gen.py
+@@ -291,7 +291,7 @@ def test_with(self):
+ self.assertAstRoundtripsGtVer(source, (2, 7))
+
+ def test_huge_int(self):
+- for n in (10**10000,
++ for n in (10**1000,
+ 0xdfa21cd2a530ccc8c870aa60d9feb3b35deeab81c3215a96557abbd683d21f4600f38e475d87100da9a4404220eeb3bb5584e5a2b5b48ffda58530ea19104a32577d7459d91e76aa711b241050f4cc6d5327ccee254f371bcad3be56d46eb5919b73f20dbdb1177b700f00891c5bf4ed128bb90ed541b778288285bcfa28432ab5cbcb8321b6e24760e998e0daa519f093a631e44276d7dd252ce0c08c75e2ab28a7349ead779f97d0f20a6d413bf3623cd216dc35375f6366690bcc41e3b2d5465840ec7ee0dc7e3f1c101d674a0c7dbccbc3942788b111396add2f8153b46a0e4b50d66e57ee92958f1c860dd97cc0e40e32febff915343ed53573142bdf4b):
+ self.assertEqual(astornum(n), n)
+
+
diff --git a/dev-python/astroid/Manifest b/dev-python/astroid/Manifest
index 985ad7751789..afe7fa2437d1 100644
--- a/dev-python/astroid/Manifest
+++ b/dev-python/astroid/Manifest
@@ -1,5 +1 @@
-DIST astroid-2.12.13.gh.tar.gz 437906 BLAKE2B c00462d44c9705dc5b46fc52915e6a44e53e840d5326427d235c9156bc4de58b184271338ebc10a4572e1aace8d4ababd3bd7e440a6ee585aa66d15dfe4117be SHA512 16d062b1a619663b157c4753f1744e56e7d0ef7cace12660feb7f6bc540e54be02638b52c1c877d3eb514e2d7423c4afc71e7d5464880bfd3724ff7ae6d7b90a
-DIST astroid-2.12.14.gh.tar.gz 440473 BLAKE2B 5b3d55664676b806af73208a2fcbbea2ee0c48bfb59ffa4f54fdc6dd35463d032b4b033530c9d10c52289f3d51c8d59c4d35330a427110c76a1a4566162ceddc SHA512 cdce9ed35ec107bb7ed4a7eb9e778f90c248dbbc00e3da5b4ae86340f960b71f31ffea0cabb677f17bde9daa28f8bed1de4a9f331b8cc975d85793a44dc29b65
-DIST astroid-2.13.1.gh.tar.gz 449003 BLAKE2B 1630cb4cbdea3544942863c58681ba1d5de81bb5d5e49f58bb498d689ab4ad4533bee169eecd6796ad5a62282c8c1f2dc69c7b59b684d1758e0e6e9f8c0f0298 SHA512 703540b1b5ec65d04e56b349cdd82b59672749e58d10e546cba0600ad65a02d05195400379c5534e8b9142b368974d1e18526c86c5ac3b6e2d3dc8db95d7fec7
-DIST astroid-2.13.2.gh.tar.gz 449022 BLAKE2B c8180057edef860fae6697b40d6b023b5be9305f0726b85127035a7ed874005da25b265e49a11a985724034c7a2af177b1c5b9850afaccc5787c5db70e4cd73c SHA512 64635e251fd01ef0ac6681db5750230f9acfc2b502818b7c9c0a480dddc78a03a5e5fa920618331b5c1d84c31551f16de7c4c5ba8052dd96d4974edb25449761
-DIST astroid-2.13.3.gh.tar.gz 450379 BLAKE2B 3381532fa993d801549ef6ee962c6b233042cd35831704f47882c1de0f1eb7ee026f99852adefb0df554f962f048da4032d59c3b4f9dadba032c67f8dbce652a SHA512 61665b1d321104b6a217fff4e6d7bd59f418afe485fdf1acde0157ff49ef000154436ca7b10f21ae475467b06fc2340806f079ab5a6ee7a4bad9976d8a5aeea0
+DIST astroid-3.1.0.gh.tar.gz 463675 BLAKE2B 363ca82814c170c89beb39118109e8a8488f5b5a43bb4a0fdb6d88a24842789ebfb3bb9ed6ebd00f1cd90dfc2d1c7d9730c8c2fe17eadb8f52f53add47cd5089 SHA512 7b2cd6270d1a9219d32e69e1a9c9eeffd2c5fcf575bc53df4a8c2d8df97b019e3e4e60768286a757a7390effcb454c7997f1f0f677c2b6370a2c3a9d46519057
diff --git a/dev-python/astroid/astroid-2.12.13.ebuild b/dev-python/astroid/astroid-2.12.13.ebuild
deleted file mode 100644
index d3229b943e8b..000000000000
--- a/dev-python/astroid/astroid-2.12.13.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=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Abstract Syntax Tree for logilab packages"
-HOMEPAGE="
- https://github.com/PyCQA/astroid/
- https://pypi.org/project/astroid/
-"
-SRC_URI="
- https://github.com/PyCQA/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="
- >=dev-python/lazy-object-proxy-1.4.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-3.10[${PYTHON_USEDEP}]
- <dev-python/wrapt-2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # no clue why it's broken
- tests/unittest_modutils.py::GetModulePartTest::test_known_values_get_builtin_module_part
- tests/unittest_brain_dataclasses.py::test_pydantic_field
- tests/unittest_brain.py::SixBrainTest::test_from_imports
- tests/unittest_regrtest.py::NonRegressionTests::test_numpy_distutils
- # some problem with warnings (our options?)
- tests/unittest_decorators.py::TestDeprecationDecorators::test_deprecated_default_argument_values_one_arg
- tests/unittest_decorators.py::TestDeprecationDecorators::test_deprecated_default_argument_values_two_args
- tests/unittest_scoped_nodes.py::test_deprecation_of_doc_attribute
- )
-
- # Faker causes sys.path_importer_cache keys to be overwritten
- # with PosixPaths
- epytest -p no:faker
-}
diff --git a/dev-python/astroid/astroid-2.12.14.ebuild b/dev-python/astroid/astroid-2.12.14.ebuild
deleted file mode 100644
index ce5372560305..000000000000
--- a/dev-python/astroid/astroid-2.12.14.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=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Abstract Syntax Tree for logilab packages"
-HOMEPAGE="
- https://github.com/PyCQA/astroid/
- https://pypi.org/project/astroid/
-"
-SRC_URI="
- https://github.com/PyCQA/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="
- >=dev-python/lazy-object-proxy-1.4.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-3.10[${PYTHON_USEDEP}]
- <dev-python/wrapt-2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # no clue why it's broken
- tests/unittest_modutils.py::GetModulePartTest::test_known_values_get_builtin_module_part
- tests/unittest_brain_dataclasses.py::test_pydantic_field
- tests/unittest_brain.py::SixBrainTest::test_from_imports
- tests/unittest_regrtest.py::NonRegressionTests::test_numpy_distutils
- # some problem with warnings (our options?)
- tests/unittest_decorators.py::TestDeprecationDecorators::test_deprecated_default_argument_values_one_arg
- tests/unittest_decorators.py::TestDeprecationDecorators::test_deprecated_default_argument_values_two_args
- tests/unittest_scoped_nodes.py::test_deprecation_of_doc_attribute
- )
-
- # Faker causes sys.path_importer_cache keys to be overwritten
- # with PosixPaths
- epytest -p no:faker
-}
diff --git a/dev-python/astroid/astroid-2.13.1.ebuild b/dev-python/astroid/astroid-2.13.1.ebuild
deleted file mode 100644
index 539634cc94e6..000000000000
--- a/dev-python/astroid/astroid-2.13.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Abstract Syntax Tree for logilab packages"
-HOMEPAGE="
- https://github.com/PyCQA/astroid/
- https://pypi.org/project/astroid/
-"
-SRC_URI="
- https://github.com/PyCQA/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="
- >=dev-python/lazy-object-proxy-1.4.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
- <dev-python/wrapt-2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${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_brain_regex.py::TestRegexBrain::test_regex_pattern_and_match_subscriptable
- tests/unittest_modutils.py::GetModulePartTest::test_known_values_get_builtin_module_part
- tests/unittest_brain_dataclasses.py::test_pydantic_field
- tests/unittest_brain.py::SixBrainTest::test_from_imports
- tests/unittest_regrtest.py::NonRegressionTests::test_numpy_distutils
- # some problem with warnings (our options?)
- tests/unittest_decorators.py::TestDeprecationDecorators::test_deprecated_default_argument_values_one_arg
- tests/unittest_decorators.py::TestDeprecationDecorators::test_deprecated_default_argument_values_two_args
- tests/unittest_scoped_nodes.py::test_deprecation_of_doc_attribute
- )
-
- # Faker causes sys.path_importer_cache keys to be overwritten
- # with PosixPaths
- epytest -p no:faker
-}
diff --git a/dev-python/astroid/astroid-2.13.2.ebuild b/dev-python/astroid/astroid-2.13.2.ebuild
deleted file mode 100644
index 539634cc94e6..000000000000
--- a/dev-python/astroid/astroid-2.13.2.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
-
-DESCRIPTION="Abstract Syntax Tree for logilab packages"
-HOMEPAGE="
- https://github.com/PyCQA/astroid/
- https://pypi.org/project/astroid/
-"
-SRC_URI="
- https://github.com/PyCQA/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="
- >=dev-python/lazy-object-proxy-1.4.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
- <dev-python/wrapt-2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${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_brain_regex.py::TestRegexBrain::test_regex_pattern_and_match_subscriptable
- tests/unittest_modutils.py::GetModulePartTest::test_known_values_get_builtin_module_part
- tests/unittest_brain_dataclasses.py::test_pydantic_field
- tests/unittest_brain.py::SixBrainTest::test_from_imports
- tests/unittest_regrtest.py::NonRegressionTests::test_numpy_distutils
- # some problem with warnings (our options?)
- tests/unittest_decorators.py::TestDeprecationDecorators::test_deprecated_default_argument_values_one_arg
- tests/unittest_decorators.py::TestDeprecationDecorators::test_deprecated_default_argument_values_two_args
- tests/unittest_scoped_nodes.py::test_deprecation_of_doc_attribute
- )
-
- # Faker causes sys.path_importer_cache keys to be overwritten
- # with PosixPaths
- epytest -p no:faker
-}
diff --git a/dev-python/astroid/astroid-2.13.3.ebuild b/dev-python/astroid/astroid-2.13.3.ebuild
deleted file mode 100644
index 2ba3e7d4abba..000000000000
--- a/dev-python/astroid/astroid-2.13.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=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Abstract Syntax Tree for logilab packages"
-HOMEPAGE="
- https://github.com/PyCQA/astroid/
- https://pypi.org/project/astroid/
-"
-SRC_URI="
- https://github.com/PyCQA/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="
- >=dev-python/lazy-object-proxy-1.4.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
- ' 3.{8..10})
- <dev-python/wrapt-2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${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_brain_regex.py::TestRegexBrain::test_regex_pattern_and_match_subscriptable
- tests/unittest_modutils.py::GetModulePartTest::test_known_values_get_builtin_module_part
- tests/unittest_brain_dataclasses.py::test_pydantic_field
- tests/unittest_brain.py::SixBrainTest::test_from_imports
- tests/unittest_regrtest.py::NonRegressionTests::test_numpy_distutils
- # some problem with warnings (our options?)
- tests/unittest_decorators.py::TestDeprecationDecorators::test_deprecated_default_argument_values_one_arg
- tests/unittest_decorators.py::TestDeprecationDecorators::test_deprecated_default_argument_values_two_args
- tests/unittest_scoped_nodes.py::test_deprecation_of_doc_attribute
- )
-
- # Faker causes sys.path_importer_cache keys to be overwritten
- # with PosixPaths
- epytest -p no:faker
-}
diff --git a/dev-python/astroid/astroid-3.1.0.ebuild b/dev-python/astroid/astroid-3.1.0.ebuild
new file mode 100644
index 000000000000..a521f78320d4
--- /dev/null
+++ b/dev-python/astroid/astroid-3.1.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=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)
+"
+# 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
+ )
+
+ 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/metadata.xml b/dev-python/astroid/metadata.xml
index 7ec50ca3dbcb..79a7186a4935 100644
--- a/dev-python/astroid/metadata.xml
+++ b/dev-python/astroid/metadata.xml
@@ -19,6 +19,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">astroid</remote-id>
- <remote-id type="github">PyCQA/astroid</remote-id>
+ <remote-id type="github">pylint-dev/astroid</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/asttokens/Manifest b/dev-python/asttokens/Manifest
index 30414c748f6a..006d111b9da9 100644
--- a/dev-python/asttokens/Manifest
+++ b/dev-python/asttokens/Manifest
@@ -1 +1 @@
-DIST asttokens-2.2.1.gh.tar.gz 56115 BLAKE2B 89c235391f9cc68fc640c5f9fccd1055cd7649ac92f4f935a872c1b90458f4bf577979fdeb3267f7bd5a5af505b6a33582da47d5fb65b57c411f482622d90feb SHA512 f7fb00918403054bc6a118494f49dcc11946141d2193624455ff2b1ca137d1c75315c779295701e93ae350ce4f5f670d6287e91a116b6b5cbcb06b374a6d00b5
+DIST asttokens-2.4.1.gh.tar.gz 57358 BLAKE2B dff2bdbbb62ed0c99f620284e4ad4abe418c315356caee26988ed7722a9aec77be4fe79b877e350cf632e076cd7c421f6ec824e7ffdda1d6684b03fffb15e7b2 SHA512 62263e50e14953e98236cdcbd75121ff5f6a3dc949170412a97f17af9b2572415373971d2286c4821b03249404b5a4c53ef5c7f1ec37aa9e2bf4a743d16de1da
diff --git a/dev-python/asttokens/asttokens-2.2.1.ebuild b/dev-python/asttokens/asttokens-2.2.1.ebuild
deleted file mode 100644
index c0b867440990..000000000000
--- a/dev-python/asttokens/asttokens-2.2.1.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Annotate Python AST trees with source text and token information"
-HOMEPAGE="
- https://github.com/gristlabs/asttokens/
- https://pypi.org/project/asttokens/
-"
-SRC_URI="
- https://github.com/gristlabs/asttokens/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"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/astroid[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # test suite itself broken with new astroid versions, upstream less care
- # https://github.com/gristlabs/asttokens/issues/79
- tests/test_astroid.py
-)
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/asttokens/asttokens-2.4.1.ebuild b/dev-python/asttokens/asttokens-2.4.1.ebuild
new file mode 100644
index 000000000000..beb877005411
--- /dev/null
+++ b/dev-python/asttokens/asttokens-2.4.1.ebuild
@@ -0,0 +1,52 @@
+# 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
+
+DESCRIPTION="Annotate Python AST trees with source text and token information"
+HOMEPAGE="
+ https://github.com/gristlabs/asttokens/
+ https://pypi.org/project/asttokens/
+"
+SRC_URI="
+ https://github.com/gristlabs/asttokens/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 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/astroid[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # already skipped in git
+ tests/test_tokenless.py::TestFstringPositionsWork::test_fstring_positions_work
+ )
+ ;;
+ esac
+
+ epytest
+}
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.ebuild b/dev-python/astunparse/astunparse-1.6.3.ebuild
deleted file mode 100644
index 4e6632ee4578..000000000000
--- a/dev-python/astunparse/astunparse-1.6.3.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Astun parser for python"
-HOMEPAGE="https://github.com/simonpercivall/astunparse"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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"
-)
-
-distutils_enable_tests setup.py
-
-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/metadata.xml b/dev-python/astunparse/metadata.xml
deleted file mode 100644
index ca0a873ac6ed..000000000000
--- a/dev-python/astunparse/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>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="pypi">astunparse</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/async-lru/Manifest b/dev-python/async-lru/Manifest
index 27d0fdc15813..be356de12eb5 100644
--- a/dev-python/async-lru/Manifest
+++ b/dev-python/async-lru/Manifest
@@ -1 +1 @@
-DIST async-lru-1.0.3.gh.tar.gz 10709 BLAKE2B 437880c419d0d8df5c790ff9b93d0b608dacba1847fc0974d35f89ff97bdd07589edc5371c729889791cb05cd8ec684764ecedc6d0d36b05ee930f885570095c SHA512 530c6e1f7a1ecc8a78cac927ccb9dfc2e394498a6ed3f54e73e4e9af48ef26ddeaad56a056a50b3c3974324af69b393cd94b1f4d20e3a2944b217c03a6bd6394
+DIST async-lru-2.0.4.gh.tar.gz 13084 BLAKE2B dc3316e63783f36a446fc0d3565e018340787822b4a2663b9759d8bf5222277526b9a1285a34c3d84ccd245f75c6a53d9a693cc13c2b101bcb4bc97fa31835bf SHA512 aed4a043bfb323c1fc01f93def11fe597141778bd8437bd90189e2b6da26b0bb412fa72fb0d12a40b771571f3cb5f06fed8302379aec2e8e0318eab179b64912
diff --git a/dev-python/async-lru/async-lru-1.0.3.ebuild b/dev-python/async-lru/async-lru-1.0.3.ebuild
deleted file mode 100644
index 2cbc875de31d..000000000000
--- a/dev-python/async-lru/async-lru-1.0.3.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple lru_cache for asyncio"
-HOMEPAGE="
- https://github.com/aio-libs/async-lru/
- https://pypi.org/project/async-lru/
-"
-SRC_URI="
- https://github.com/aio-libs/async-lru/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND="
- test? (
- >=dev-python/pytest-6.2.4[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e 's:--cache-clear::' \
- -e 's:--no-cov-on-fail --cov=async_lru --cov-report=term --cov-report=html::' \
- -i setup.cfg || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/async-lru/async-lru-2.0.4.ebuild b/dev-python/async-lru/async-lru-2.0.4.ebuild
new file mode 100644
index 000000000000..610950cbab38
--- /dev/null
+++ b/dev-python/async-lru/async-lru-2.0.4.ebuild
@@ -0,0 +1,40 @@
+# 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="Simple lru_cache for asyncio"
+HOMEPAGE="
+ https://github.com/aio-libs/async-lru/
+ https://pypi.org/project/async-lru/
+"
+SRC_URI="
+ https://github.com/aio-libs/async-lru/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/async-timeout/Manifest b/dev-python/async-timeout/Manifest
index d2f3d5fd58b2..cc5362c44360 100644
--- a/dev-python/async-timeout/Manifest
+++ b/dev-python/async-timeout/Manifest
@@ -1 +1 @@
-DIST async-timeout-4.0.2.tar.gz 8221 BLAKE2B ebcb2ef956590e265bbdecc223a877e7260750aecf5b631c6af1f335ce57b51579467901e2344bfa8495010eb1e6e7a39adfd4b6311483d63e0674221888d1f7 SHA512 e9884a525b99bc1a3a15c958a1dbb25a92cb286bb7360b03b0be3198e61685970628c8fef6dc478beba3f031e0ff6f03b1fcc3c2c34032d7fea6f8b65850ac38
+DIST async-timeout-4.0.3.tar.gz 8345 BLAKE2B cd603b5b58f85412220a99b7b5001ac08df18239f8fca0bf20648f1af982a5dd51b7d84ccce1d168530ee1c1afcef048e03b3de68ba8db068782f79da28bfddd SHA512 d7628370c47587a64170e067a5341bba17658da10900fb8ddf4426aa3f4facc55d63b28febb4b65abe12a9ff5be759319f49fc723c82a5a6cc27377c5e33a5a0
diff --git a/dev-python/async-timeout/async-timeout-4.0.2-r1.ebuild b/dev-python/async-timeout/async-timeout-4.0.2-r1.ebuild
deleted file mode 100644
index f3d8270e26ee..000000000000
--- a/dev-python/async-timeout/async-timeout-4.0.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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Timeout context manager for asyncio programs"
-HOMEPAGE="
- https://github.com/aio-libs/async-timeout/
- https://pypi.org/project/async-timeout/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # remove pointless dep on pytest-cov
- sed -i -e '/addopts/d' setup.cfg || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- epytest -p no:aiohttp
-}
diff --git a/dev-python/async-timeout/async-timeout-4.0.3.ebuild b/dev-python/async-timeout/async-timeout-4.0.3.ebuild
new file mode 100644
index 000000000000..974ea4429c64
--- /dev/null
+++ b/dev-python/async-timeout/async-timeout-4.0.3.ebuild
@@ -0,0 +1,34 @@
+# 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="Timeout context manager for asyncio programs"
+HOMEPAGE="
+ https://github.com/aio-libs/async-timeout/
+ https://pypi.org/project/async-timeout/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-asyncio[${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/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 324381de3a6b..000000000000
--- a/dev-python/async_generator/async_generator-1.10-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} pypy3 )
-inherit distutils-r1
-
-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/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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/asyncstdlib/Manifest b/dev-python/asyncstdlib/Manifest
index a7c0efc58390..65125de336eb 100644
--- a/dev-python/asyncstdlib/Manifest
+++ b/dev-python/asyncstdlib/Manifest
@@ -1 +1,4 @@
-DIST asyncstdlib-3.10.5.gh.tar.gz 54697 BLAKE2B b8a99a83e97084c4e09ddac0402ca23a8d42921b72774c0658aa0b9a1aa0ac1329baae782f105a52a4b6d979d490d97814ea6eac0e7570a7ca27784a27fa5c4d SHA512 3dfa8d1e5e2ef02dbf52fe7094b68496066978cfa9839cad59222ace40e0871369b45d93c1caa87e0f029c328253f6d72d8377625a8ed182498280662fcb7545
+DIST asyncstdlib-3.12.0.tar.gz 44339 BLAKE2B ed96b676d6136de510f8e6223096120da946788264d0cdfde77edbbd63b1a56fc6f38c7bd998dd3f3b4659264852d14f4ec613f4007dd5931f2674f6746ca5cc SHA512 07c1683cbc9421790d27c0e694cb3a6a544236aaf62a3300cc886f6bae7c7e9525c9d2a92add9aaa72fd17604c8de41750f11236b3a7497130a12613658cec90
+DIST asyncstdlib-3.12.1.tar.gz 44779 BLAKE2B 98400f1524cfa627e6ba4c214bd60ba7884c9110eae00a1ce4f389745da78e310d759c4a2cbdfd1d821afa65d85d9f23fcbe4022c3b0c66fdf166579df42ebc6 SHA512 d3cb16333b9e1f20dd979a84d0561c2175926f565b7c7284a9cb5e75f09145717c558d2142e36af8396299e72765f65b749ccdc1e55a829e73e2ce89f3cd1f2f
+DIST asyncstdlib-3.12.2.tar.gz 47005 BLAKE2B 502d99afa0c796c8d079b62f30217f634d4026c46cc2b89b64d4fa9424abc4a3a774767c9e6dd7d5c8ec36ed0b56eedc52d267d6ca4bae6728a23a0a250eff5f SHA512 344cb729d2ea5da197f161c335fd9aa44b42ab1a81780b475635944374447dbbb3a03f6dd69692dbb59b65529cabb1a188de8a05e5275f6ec4cb71d7748bc638
+DIST asyncstdlib-3.12.3.tar.gz 47118 BLAKE2B 83967dc89c0a5fab13ff5f3cebec739644ba16479bf661447c179b491897be0a5933f6ae724f942643d349cef8eaff66cf621c565459b1b8774e93bc51e472ee SHA512 239f0741a694f58e359422bce1e54f6f7e3b1522f10ed4cfd137f4cd8c9861156744d7efa98ab155dd0aa489dbdc452c095d60b77922c6b53177708a65a26d86
diff --git a/dev-python/asyncstdlib/asyncstdlib-3.10.5.ebuild b/dev-python/asyncstdlib/asyncstdlib-3.10.5.ebuild
deleted file mode 100644
index 3aae64aa0b23..000000000000
--- a/dev-python/asyncstdlib/asyncstdlib-3.10.5.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=flit
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="The missing async toolbox"
-HOMEPAGE="
- https://github.com/maxfischer2781/asyncstdlib/
- https://pypi.org/project/asyncstdlib/
-"
-SRC_URI="
- https://github.com/maxfischer2781/asyncstdlib/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/asyncstdlib/asyncstdlib-3.12.0.ebuild b/dev-python/asyncstdlib/asyncstdlib-3.12.0.ebuild
new file mode 100644
index 000000000000..4e6fb6ccdf12
--- /dev/null
+++ b/dev-python/asyncstdlib/asyncstdlib-3.12.0.ebuild
@@ -0,0 +1,21 @@
+# 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} )
+
+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.1.ebuild b/dev-python/asyncstdlib/asyncstdlib-3.12.1.ebuild
new file mode 100644
index 000000000000..4e6fb6ccdf12
--- /dev/null
+++ b/dev-python/asyncstdlib/asyncstdlib-3.12.1.ebuild
@@ -0,0 +1,21 @@
+# 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} )
+
+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.2.ebuild b/dev-python/asyncstdlib/asyncstdlib-3.12.2.ebuild
new file mode 100644
index 000000000000..14c83f6e1cdb
--- /dev/null
+++ b/dev-python/asyncstdlib/asyncstdlib-3.12.2.ebuild
@@ -0,0 +1,27 @@
+# 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} )
+
+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
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..14c83f6e1cdb
--- /dev/null
+++ b/dev-python/asyncstdlib/asyncstdlib-3.12.3.ebuild
@@ -0,0 +1,27 @@
+# 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} )
+
+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
diff --git a/dev-python/atomicwrites/Manifest b/dev-python/atomicwrites/Manifest
index bfbde24ae0c4..f68d4321a23d 100644
--- a/dev-python/atomicwrites/Manifest
+++ b/dev-python/atomicwrites/Manifest
@@ -1 +1 @@
-DIST atomicwrites-1.4.0.tar.gz 11790 BLAKE2B 98a262f46acdfb94f56175368bebe3dbd5d46c1bd694362f5c9211c7be2016821c9a833f1061f41f77adadb3a26b6c6d3ac1761a13bec1f9ac2c3c0a35a58ad2 SHA512 493fd15174880917650643db1fe85e2703add730189c23fcff11ceb87175f546b9251050ade506d0b48300e0f2a39ee5a4dcd4da8cb3e27680fd05553d6662cb
+DIST atomicwrites-1.4.1.tar.gz 14227 BLAKE2B 189702d908fde9f7e3ba38abe94d874a9c27d9f6dcf50c635c31835aee9667679670134c68e48449d041c1e45d7775ddf9d3212f6ed4ac89dd100c3eda14ce4c SHA512 d02f58ba639a3ba677eedd78016d366a6e77c79d31903ad34f0a50202aba9b9616f933e9763c42da197ada124abd3510c54d0b10099159308c186bccc6270f32
diff --git a/dev-python/atomicwrites/atomicwrites-1.4.0-r2.ebuild b/dev-python/atomicwrites/atomicwrites-1.4.0-r2.ebuild
deleted file mode 100644
index c752064a831f..000000000000
--- a/dev-python/atomicwrites/atomicwrites-1.4.0-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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Atomic file writes"
-HOMEPAGE="
- https://github.com/untitaker/python-atomicwrites/
- https://pypi.org/project/atomicwrites/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/sphinx_rtd_theme
diff --git a/dev-python/atomicwrites/atomicwrites-1.4.1.ebuild b/dev-python/atomicwrites/atomicwrites-1.4.1.ebuild
new file mode 100644
index 000000000000..f9396190ce20
--- /dev/null
+++ b/dev-python/atomicwrites/atomicwrites-1.4.1.ebuild
@@ -0,0 +1,23 @@
+# 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="Atomic file writes"
+HOMEPAGE="
+ https://github.com/untitaker/python-atomicwrites/
+ https://pypi.org/project/atomicwrites/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-solaris"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
diff --git a/dev-python/atpublic/Manifest b/dev-python/atpublic/Manifest
index 07b7473b24ee..0d74e1c5d070 100644
--- a/dev-python/atpublic/Manifest
+++ b/dev-python/atpublic/Manifest
@@ -1 +1,2 @@
-DIST atpublic-3.1.1.tar.gz 14050 BLAKE2B a83bfed40b5073c9aba92e367b9627a86eecb297332631222f86f0cea0f10d6fde8ffd5cbef1e3bd1f9005c1cae614268867e652e33d1bee4556e2084fb8952c SHA512 b34dbb236717b2017de95aa79226f0138e77814a4041e26e98f50db8f8521d81b60f9998aed719e1e1f2ee29a7c590170725e12a54260900ce9819ea3a623dac
+DIST atpublic-4.0.tar.gz 14684 BLAKE2B d8cecb083ca467d2856c0d7ae01dc4e161c31179f08c79d7b0b4650d9a3e32e15673d80d53d6851d70a4605eda8e41ba23d60be452209f96e995d632acfe5b29 SHA512 2f338d3ae11d15e9ffe26881fab1c183154b9a0a7a66532a5eb39d1d48d41548078826875247c94f3853925bc1df2b8f86f4ed94533a8e58aa98de148cf5639c
+DIST atpublic-4.1.0.tar.gz 14426 BLAKE2B c535d36b8c4723fa0c36ed543461f8364445c52893e8a5cd6a6bfdec0a387308a74d9f6a9d4c204ac753fcc847a105f6f4a5dc7afa5848d08f0a269af8b01397 SHA512 bd840a44f3f9d8f7099c22d67866744ef43ed4bfa00e0fd8a6a7516e8e995287b234fb97eaf30be494f06a8ff1020c0479533bfe33adc56ae62bd976bd997b4b
diff --git a/dev-python/atpublic/atpublic-3.1.1.ebuild b/dev-python/atpublic/atpublic-3.1.1.ebuild
deleted file mode 100644
index 0e8d56f66f41..000000000000
--- a/dev-python/atpublic/atpublic-3.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=pdm
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A decorator to populate __all__ and the module globals"
-HOMEPAGE="
- https://gitlab.com/warsaw/public/
- https://pypi.org/project/atpublic/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~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.0.ebuild b/dev-python/atpublic/atpublic-4.0.ebuild
new file mode 100644
index 000000000000..40807442935c
--- /dev/null
+++ b/dev-python/atpublic/atpublic-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=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 ~riscv ~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..44510dc37b5b
--- /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..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 ~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/attrs/Manifest b/dev-python/attrs/Manifest
index 5d7032ff58d0..70c2501690a0 100644
--- a/dev-python/attrs/Manifest
+++ b/dev-python/attrs/Manifest
@@ -1,3 +1 @@
-DIST attrs-21.4.0.tar.gz 201839 BLAKE2B f8e9ca1385efe6f5b9bf468f622f0bf5390830c5f3c3526821446113146a61460b17e8750ea763f6da50221a8aa65f5f1ff98a6ddf69b1a87344508ca6495560 SHA512 5a52776eb505c8a354912fa037a9710e49830fa6ad37272cb6d8c3298f4179a5b237e36cd7db3b1c9af19fbf0194ad6b83c3db9a473f9349769180073273ba65
-DIST attrs-22.1.0.tar.gz 201288 BLAKE2B 5da48b3cbcd99cdcc531a0859be264a4d209778caa53bd95480a103549b816c8a805079e1555fce38eb33f8bd3d5b7bfa6f814ef2b60dc405bda6686c7746f0b SHA512 447637bc82b31d565479e364869b996eaf7b67e526ad97f79ba1c27f287bbb25a2c40663e35437bc19037f605fac9322bd35f303f2769f0eb2ee673900551885
-DIST attrs-22.2.0.tar.gz 215900 BLAKE2B 9cb96cec022735ecdd7577f9ee06b2e16b9be05e9df1183c101bef186a66f2c4505224f1047b4b4cdca2a05641279199ab54c7b2e26a9599c3cd8b9ab4543845 SHA512 a7707fb11e21cddd2b25c94c9859dc8306745f0256237493a4ad818ffaf005d1c1e84d55d07fce14eaea18fde4994363227286df2751523e1fe4ef6623562a20
+DIST attrs-23.2.0.tar.gz 780820 BLAKE2B a06f4f17a81fc173c37661bcf518367a1cdc9a333d2783bd2cd1ac5f0a72bd20ec1afdd964e10255624bcfa027e3a152375cd21472c177428d29bd06b29984a1 SHA512 d8b178072a028b95d8424cd3ce0c8b4e6da8558fbcbcaaef91fbd03cf51e6190aa248aa0bff853e6f7c9595bbd5a8eef9d6f68ae2830cc1cc6d826ab0dda2378
diff --git a/dev-python/attrs/attrs-21.4.0-r1.ebuild b/dev-python/attrs/attrs-21.4.0-r1.ebuild
deleted file mode 100644
index 25c442da933a..000000000000
--- a/dev-python/attrs/attrs-21.4.0-r1.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Attributes without boilerplate"
-HOMEPAGE="
- https://github.com/python-attrs/attrs/
- https://attrs.readthedocs.io/
- https://pypi.org/project/attrs/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- dev-python/zope-interface[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- $(python_gen_cond_dep '
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- ' python3_{8..10})
- >=dev-python/hypothesis-3.6.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-4.3.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=()
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # https://github.com/python-attrs/attrs/issues/907
- tests/test_annotations.py::TestAnnotations::test_auto_attribs
- tests/test_annotations.py::TestAnnotations::test_annotations_strings
- 'tests/test_init_subclass.py::test_init_subclass_vanilla[True]'
- tests/test_make.py::TestAutoDetect::test_detects_setstate_getstate
- tests/test_slots.py::TestClosureCellRewriting::test_closure_cell_rewriting
- tests/test_slots.py::TestClosureCellRewriting::test_inheritance
- 'tests/test_slots.py::TestClosureCellRewriting::test_cls_static[True]'
- tests/test_slots.py::TestPickle::test_no_getstate_setstate_for_dict_classes
- tests/test_slots.py::TestPickle::test_no_getstate_setstate_if_option_false
- tests/test_slots.py::test_slots_super_property_get_shurtcut
- )
-
- epytest
-}
diff --git a/dev-python/attrs/attrs-22.1.0.ebuild b/dev-python/attrs/attrs-22.1.0.ebuild
deleted file mode 100644
index 4405d9fab20b..000000000000
--- a/dev-python/attrs/attrs-22.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Attributes without boilerplate"
-HOMEPAGE="
- https://github.com/python-attrs/attrs/
- https://attrs.readthedocs.io/
- https://pypi.org/project/attrs/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- dev-python/zope-interface[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- $(python_gen_cond_dep '
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- ' python3_{8..10})
- >=dev-python/hypothesis-3.6.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-4.3.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/attrs/attrs-22.2.0.ebuild b/dev-python/attrs/attrs-22.2.0.ebuild
deleted file mode 100644
index ce9394591e8d..000000000000
--- a/dev-python/attrs/attrs-22.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Attributes without boilerplate"
-HOMEPAGE="
- https://github.com/python-attrs/attrs/
- https://attrs.readthedocs.io/
- https://pypi.org/project/attrs/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- dev-python/zope-interface[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- $(python_gen_cond_dep '
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- ' python3_{8..10})
- >=dev-python/hypothesis-3.6.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-4.3.0[${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..5c18c763b029
--- /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..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-23.2.0[${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..12})
+ 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"
+)
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/Manifest b/dev-python/audioread/Manifest
index e7df7e9c5a8d..85eb92f4144e 100644
--- a/dev-python/audioread/Manifest
+++ b/dev-python/audioread/Manifest
@@ -1 +1 @@
-DIST audioread-3.0.0.tar.gz 377038 BLAKE2B fc81bb2459b5cb5e028abb7c6c963c9d731cc90f79108a40b5aafc88ff6e3c09d23d7ac1555566d2360d22015d75ebead6beb72022b1e0e654fe469a75a5ddd9 SHA512 c9f1e5206df998ad9d112dd4b75ae41cde01271485eed27f62feed89c5ca36d4bbce7a888498d3c20d85e8b50de6ef263f795eec164c4bd348d83535b66c38ae
+DIST audioread-3.0.1.tar.gz 116513 BLAKE2B a16fad6d56fe5b48b635ae3a20bf74f20848d0489b2b3ea0b6e99c7f2b4bf61adc14509ec1c9d153819265fb057ad3676cb178cfe26622fa0f6fec782e1bc1cf SHA512 b362bf85372fa64a3ed54258e344787db4f15d19a9d959522339fc441eb7ae0d1394707e8c3aa6bc77a42cc790650670d84800f1f3885efe932f718ed0a35bc1
diff --git a/dev-python/audioread/audioread-3.0.0.ebuild b/dev-python/audioread/audioread-3.0.0.ebuild
deleted file mode 100644
index 0c50a820cb80..000000000000
--- a/dev-python/audioread/audioread-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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Wrapper for audio file decoding using FFmpeg or GStreamer"
-HOMEPAGE="
- https://github.com/beetbox/audioread/
- https://pypi.org/project/audioread/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-IUSE="ffmpeg gstreamer mad"
-
-RDEPEND="
- ffmpeg? (
- media-video/ffmpeg
- )
- gstreamer? (
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- media-libs/gstreamer:1.0
- media-plugins/gst-plugins-meta:1.0
- )
- mad? (
- dev-python/pymad[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- test? (
- dev-python/pymad[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/audioread/audioread-3.0.1.ebuild b/dev-python/audioread/audioread-3.0.1.ebuild
new file mode 100644
index 000000000000..6169466d38e2
--- /dev/null
+++ b/dev-python/audioread/audioread-3.0.1.ebuild
@@ -0,0 +1,41 @@
+# 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="Wrapper for audio file decoding using FFmpeg or GStreamer"
+HOMEPAGE="
+ https://github.com/beetbox/audioread/
+ https://pypi.org/project/audioread/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+IUSE="ffmpeg gstreamer mad"
+
+RDEPEND="
+ ffmpeg? (
+ media-video/ffmpeg
+ )
+ gstreamer? (
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ media-libs/gstreamer:1.0
+ media-plugins/gst-plugins-meta:1.0
+ )
+ mad? (
+ dev-python/pymad[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pymad[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/authres/authres-1.2.0-r1.ebuild b/dev-python/authres/authres-1.2.0-r1.ebuild
index f9a6214131c3..bdc0dc54432a 100644
--- a/dev-python/authres/authres-1.2.0-r1.ebuild
+++ b/dev-python/authres/authres-1.2.0-r1.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Parse and generate Authentication-Results headers"
HOMEPAGE="
https://launchpad.net/authentication-results-python/
https://pypi.org/project/authres/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
KEYWORDS="amd64 arm64 x86"
diff --git a/dev-python/autobahn/Manifest b/dev-python/autobahn/Manifest
index d655f719225a..825092d6e43e 100644
--- a/dev-python/autobahn/Manifest
+++ b/dev-python/autobahn/Manifest
@@ -1,3 +1 @@
-DIST autobahn-22.12.1.tar.gz 479515 BLAKE2B 37003c458b773b122716fd17e5245c3754e49e5c66601266870ce83fe4b7622553605d007902bd505897428231ce8347bf24548142dcb38631dc08f092be7eaf SHA512 10b3eec220a78b21aa393c9a721a9efb06b2623910ebb19dcf58c3966912cb9c5bbe5fc04d9f1072711a209a6a0168d7ba3a6147c1fc9a7db46bd528cc380dd0
-DIST autobahn-22.7.1.tar.gz 476789 BLAKE2B 4860a6ec1a2631986dd5d8e94069134e75650eedb67dce18dd4c1e8ad45bd76ca183b4dcbca6ef4474c25f6feb4a1407c9fed4c74f0751e9c0c7fbca2b013406 SHA512 ea2c4d61d3f0f8ef35a31b599bc432781536dccaa316cda474a61003b10df0ef6346615d16228848cc5acb24a4e5f4c50be1fe759daf35b629f636da55688137
-DIST autobahn-23.1.1.tar.gz 479905 BLAKE2B 598f3fde0efb7016423962b10937503414a96cce1813fb7b11133d1ee2b4fa4661c379df19e725f49b29731650e6696de4d2b5f6781b2076298641471f16ff9b SHA512 f74ec3b2647689613e48446b7604b754f43fead2e8c77370c3f6e22553d9bccedd584b41940b572463977bdd1078c29c346af972dd04583feb217f708c771843
+DIST autobahn-23.6.2.tar.gz 480814 BLAKE2B fb4a2e8510a51e2e70289d98eb54b3b06aba6e011eb8ad4ac2fb6e706d7be313f60a785a8366ff47500a6ad58f5645eedbeb4c831087ab531d8650129ec08c45 SHA512 5935203277d17aab3f80e6edf700ff173fe7e23622b9d2617f91e080f56b078f947f907289f008b5eb21b1346142274616baad4a36629f49dafe409d6fdb931a
diff --git a/dev-python/autobahn/autobahn-22.12.1.ebuild b/dev-python/autobahn/autobahn-22.12.1.ebuild
deleted file mode 100644
index 801da2abe387..000000000000
--- a/dev-python/autobahn/autobahn-22.12.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_{9..11} )
-
-inherit distutils-r1 optfeature
-
-MY_P=${PN}-$(ver_rs 3 -)
-
-DESCRIPTION="WebSocket and WAMP for Twisted and Asyncio"
-HOMEPAGE="
- https://crossbar.io/autobahn/
- https://github.com/crossbario/autobahn-python/
- https://pypi.org/project/autobahn/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-IUSE="test xbr"
-RESTRICT="!test? ( test )"
-
-# The order of deps is based on their appearance in setup.py
-# All extra deps should be included in test and in optfeature
-RDEPEND="
- >=dev-python/zope-interface-5.2.0[${PYTHON_USEDEP}]
- >=dev-python/twisted-20.3.0[${PYTHON_USEDEP}]
- >=dev-python/attrs-20.3.0[${PYTHON_USEDEP}]
- >=dev-python/txaio-21.2.1[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- >=dev-python/hyperlink-21.0.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- >=dev-python/wsaccel-0.6.3[${PYTHON_USEDEP}]
- >=dev-python/snappy-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/ujson-4.0.2[${PYTHON_USEDEP}]
- >=dev-python/cbor2-5.2.0[${PYTHON_USEDEP}]
- >=dev-python/py-ubjson-0.16.1[${PYTHON_USEDEP}]
- >=dev-python/flatbuffers-22.12.06[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-20.0.1[${PYTHON_USEDEP}]
- >=dev-python/service_identity-18.1.0[${PYTHON_USEDEP}]
- >=dev-python/pynacl-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/pytrie-0.4[${PYTHON_USEDEP}]
- >=dev-python/cffi-1.14.5[${PYTHON_USEDEP}]
- >=dev-python/argon2-cffi-20.1.0[${PYTHON_USEDEP}]
- >=dev-python/passlib-1.7.4[${PYTHON_USEDEP}]
-
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
- )
-"
-
-python_prepare_all() {
- if use xbr ; then
- eerror "***************"
- eerror "Required xbr dependencies are incomplete in Gentoo."
- eerror "So this functionality will not yet work"
- eerror "Please file a bug if this feature is needed"
- eerror "***************"
- else
- # remove xbr components
- export AUTOBAHN_STRIP_XBR="True"
- fi
-
- # avoid useless rust dependency
- sed -i -e '/cryptography/s:>=3.4.6::' setup.py || die
-
- # remove twisted plugin cache regen in setup.py
- # to fix tinderbox sandbox issue
- sed -e '/import/s:reactor:__importmustfail__:' \
- -i setup.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- rm -rf autobahn || die
-
- einfo "Testing all, cryptosign using twisted"
- local -x USE_TWISTED=true
- "${EPYTHON}" -m twisted.trial autobahn || die "Tests failed with ${EPYTHON}"
- unset USE_TWISTED
-
- einfo "RE-testing cryptosign and component_aio using asyncio"
- local -x USE_ASYNCIO=true
- epytest --pyargs autobahn.wamp.test.test_wamp_{cryptosign,component_aio}
- unset USE_ASYNCIO
-
- rm -f twisted/plugins/dropin.cache || die
-}
-
-pkg_postinst() {
- optfeature "C-based WebSocket acceleration" "dev-python/wsaccel"
- optfeature "non-standard WebSocket compression support" "dev-python/snappy"
- optfeature "accelerated WAMP serialization support" \
- "dev-python/msgpack dev-python/ujson dev-python/cbor2 dev-python/flatbuffers dev-python/py-ubjson"
- optfeature "TLS transport encryption" \
- "dev-python/pyopenssl dev-python/pynacl dev-python/pytrie dev-python/qrcode dev-python/service_identity"
- optfeature "WAMP-SCRAM authentication" \
- "dev-python/cffi dev-python/argon2-cffi dev-python/passlib"
- optfeature "native SIMD acceleration" "dev-python/cffi"
-
- python_foreach_impl twisted-regen-cache
-}
-
-pkg_postrm() {
- python_foreach_impl twisted-regen-cache
-}
diff --git a/dev-python/autobahn/autobahn-22.7.1.ebuild b/dev-python/autobahn/autobahn-22.7.1.ebuild
deleted file mode 100644
index b5a3d9b75033..000000000000
--- a/dev-python/autobahn/autobahn-22.7.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 optfeature
-
-MY_P=${PN}-$(ver_rs 3 -)
-
-DESCRIPTION="WebSocket and WAMP for Twisted and Asyncio"
-HOMEPAGE="
- https://crossbar.io/autobahn/
- https://github.com/crossbario/autobahn-python/
- https://pypi.org/project/autobahn/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="amd64 arm arm64 ~riscv x86"
-IUSE="test xbr"
-RESTRICT="!test? ( test )"
-
-# The order of deps is based on their appearance in setup.py
-# All extra deps should be included in test and in optfeature
-RDEPEND="
- >=dev-python/zope-interface-5.2.0[${PYTHON_USEDEP}]
- >=dev-python/twisted-20.3.0[${PYTHON_USEDEP}]
- >=dev-python/attrs-20.3.0[${PYTHON_USEDEP}]
- >=dev-python/txaio-21.2.1[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- >=dev-python/hyperlink-21.0.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? ( ${RDEPEND}
- >=dev-python/wsaccel-0.6.3[${PYTHON_USEDEP}]
- >=dev-python/snappy-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/ujson-4.0.2[${PYTHON_USEDEP}]
- >=dev-python/cbor2-5.2.0[${PYTHON_USEDEP}]
- >=dev-python/py-ubjson-0.16.1[${PYTHON_USEDEP}]
- >=dev-python/flatbuffers-1.12[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-20.0.1[${PYTHON_USEDEP}]
- >=dev-python/service_identity-18.1.0[${PYTHON_USEDEP}]
- >=dev-python/pynacl-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/pytrie-0.4[${PYTHON_USEDEP}]
- >=dev-python/cffi-1.14.5[${PYTHON_USEDEP}]
- >=dev-python/argon2-cffi-20.1.0[${PYTHON_USEDEP}]
- >=dev-python/passlib-1.7.4[${PYTHON_USEDEP}]
-
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
- )
-"
-
-python_prepare_all() {
- if use xbr ; then
- eerror "***************"
- eerror "Required xbr dependencies are incomplete in Gentoo."
- eerror "So this functionality will not yet work"
- eerror "Please file a bug if this feature is needed"
- eerror "***************"
- else
- # remove xbr components
- export AUTOBAHN_STRIP_XBR="True"
- fi
-
- # avoid useless rust dependency
- sed -i -e '/cryptography/s:>=3.4.6::' setup.py || die
-
- # remove twisted plugin cache regen in setup.py
- # to fix tinderbox sandbox issue
- sed -e '/import/s:reactor:__importmustfail__:' \
- -i setup.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- rm -rf autobahn || die
-
- einfo "Testing all, cryptosign using twisted"
- local -x USE_TWISTED=true
- "${EPYTHON}" -m twisted.trial autobahn || die "Tests failed with ${EPYTHON}"
- unset USE_TWISTED
-
- einfo "RE-testing cryptosign and component_aio using asyncio"
- local -x USE_ASYNCIO=true
- epytest --pyargs autobahn.wamp.test.test_wamp_{cryptosign,component_aio}
- unset USE_ASYNCIO
-
- rm -f twisted/plugins/dropin.cache || die
-}
-
-pkg_postinst() {
- optfeature "C-based WebSocket acceleration" "dev-python/wsaccel"
- optfeature "non-standard WebSocket compression support" "dev-python/snappy"
- optfeature "accelerated WAMP serialization support" \
- "dev-python/msgpack dev-python/ujson dev-python/cbor2 dev-python/flatbuffers dev-python/py-ubjson"
- optfeature "TLS transport encryption" \
- "dev-python/pyopenssl dev-python/pynacl dev-python/pytrie dev-python/qrcode dev-python/service_identity"
- optfeature "WAMP-SCRAM authentication" \
- "dev-python/cffi dev-python/argon2-cffi dev-python/passlib"
- optfeature "native SIMD acceleration" "dev-python/cffi"
-
- python_foreach_impl twisted-regen-cache
-}
-
-pkg_postrm() {
- python_foreach_impl twisted-regen-cache
-}
diff --git a/dev-python/autobahn/autobahn-23.1.1.ebuild b/dev-python/autobahn/autobahn-23.1.1.ebuild
deleted file mode 100644
index 801da2abe387..000000000000
--- a/dev-python/autobahn/autobahn-23.1.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_{9..11} )
-
-inherit distutils-r1 optfeature
-
-MY_P=${PN}-$(ver_rs 3 -)
-
-DESCRIPTION="WebSocket and WAMP for Twisted and Asyncio"
-HOMEPAGE="
- https://crossbar.io/autobahn/
- https://github.com/crossbario/autobahn-python/
- https://pypi.org/project/autobahn/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-IUSE="test xbr"
-RESTRICT="!test? ( test )"
-
-# The order of deps is based on their appearance in setup.py
-# All extra deps should be included in test and in optfeature
-RDEPEND="
- >=dev-python/zope-interface-5.2.0[${PYTHON_USEDEP}]
- >=dev-python/twisted-20.3.0[${PYTHON_USEDEP}]
- >=dev-python/attrs-20.3.0[${PYTHON_USEDEP}]
- >=dev-python/txaio-21.2.1[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- >=dev-python/hyperlink-21.0.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- >=dev-python/wsaccel-0.6.3[${PYTHON_USEDEP}]
- >=dev-python/snappy-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/ujson-4.0.2[${PYTHON_USEDEP}]
- >=dev-python/cbor2-5.2.0[${PYTHON_USEDEP}]
- >=dev-python/py-ubjson-0.16.1[${PYTHON_USEDEP}]
- >=dev-python/flatbuffers-22.12.06[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-20.0.1[${PYTHON_USEDEP}]
- >=dev-python/service_identity-18.1.0[${PYTHON_USEDEP}]
- >=dev-python/pynacl-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/pytrie-0.4[${PYTHON_USEDEP}]
- >=dev-python/cffi-1.14.5[${PYTHON_USEDEP}]
- >=dev-python/argon2-cffi-20.1.0[${PYTHON_USEDEP}]
- >=dev-python/passlib-1.7.4[${PYTHON_USEDEP}]
-
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
- )
-"
-
-python_prepare_all() {
- if use xbr ; then
- eerror "***************"
- eerror "Required xbr dependencies are incomplete in Gentoo."
- eerror "So this functionality will not yet work"
- eerror "Please file a bug if this feature is needed"
- eerror "***************"
- else
- # remove xbr components
- export AUTOBAHN_STRIP_XBR="True"
- fi
-
- # avoid useless rust dependency
- sed -i -e '/cryptography/s:>=3.4.6::' setup.py || die
-
- # remove twisted plugin cache regen in setup.py
- # to fix tinderbox sandbox issue
- sed -e '/import/s:reactor:__importmustfail__:' \
- -i setup.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- rm -rf autobahn || die
-
- einfo "Testing all, cryptosign using twisted"
- local -x USE_TWISTED=true
- "${EPYTHON}" -m twisted.trial autobahn || die "Tests failed with ${EPYTHON}"
- unset USE_TWISTED
-
- einfo "RE-testing cryptosign and component_aio using asyncio"
- local -x USE_ASYNCIO=true
- epytest --pyargs autobahn.wamp.test.test_wamp_{cryptosign,component_aio}
- unset USE_ASYNCIO
-
- rm -f twisted/plugins/dropin.cache || die
-}
-
-pkg_postinst() {
- optfeature "C-based WebSocket acceleration" "dev-python/wsaccel"
- optfeature "non-standard WebSocket compression support" "dev-python/snappy"
- optfeature "accelerated WAMP serialization support" \
- "dev-python/msgpack dev-python/ujson dev-python/cbor2 dev-python/flatbuffers dev-python/py-ubjson"
- optfeature "TLS transport encryption" \
- "dev-python/pyopenssl dev-python/pynacl dev-python/pytrie dev-python/qrcode dev-python/service_identity"
- optfeature "WAMP-SCRAM authentication" \
- "dev-python/cffi dev-python/argon2-cffi dev-python/passlib"
- optfeature "native SIMD acceleration" "dev-python/cffi"
-
- python_foreach_impl twisted-regen-cache
-}
-
-pkg_postrm() {
- python_foreach_impl twisted-regen-cache
-}
diff --git a/dev-python/autobahn/autobahn-23.6.2.ebuild b/dev-python/autobahn/autobahn-23.6.2.ebuild
new file mode 100644
index 000000000000..de4ff8467e6d
--- /dev/null
+++ b/dev-python/autobahn/autobahn-23.6.2.ebuild
@@ -0,0 +1,123 @@
+# 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 optfeature pypi
+
+DESCRIPTION="WebSocket and WAMP for Twisted and Asyncio"
+HOMEPAGE="
+ https://github.com/crossbario/autobahn-python/
+ https://pypi.org/project/autobahn/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~riscv ~sparc x86"
+IUSE="test xbr"
+RESTRICT="!test? ( test )"
+
+# The order of deps is based on their appearance in setup.py
+# All extra deps should be included in test and in optfeature
+RDEPEND="
+ >=dev-python/zope-interface-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-20.3.0[${PYTHON_USEDEP}]
+ >=dev-python/attrs-20.3.0[${PYTHON_USEDEP}]
+ >=dev-python/txaio-21.2.1[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ >=dev-python/hyperlink-21.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ >=dev-python/wsaccel-0.6.3[${PYTHON_USEDEP}]
+ >=dev-python/python-snappy-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/ujson-4.0.2[${PYTHON_USEDEP}]
+ >=dev-python/cbor2-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/py-ubjson-0.16.1[${PYTHON_USEDEP}]
+ >=dev-python/flatbuffers-22.12.06[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-20.0.1[${PYTHON_USEDEP}]
+ >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pynacl-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pytrie-0.4[${PYTHON_USEDEP}]
+ >=dev-python/cffi-1.14.5[${PYTHON_USEDEP}]
+ >=dev-python/argon2-cffi-20.1.0[${PYTHON_USEDEP}]
+ >=dev-python/passlib-1.7.4[${PYTHON_USEDEP}]
+
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
+ )
+"
+
+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."
+ eerror "So this functionality will not yet work"
+ eerror "Please file a bug if this feature is needed"
+ eerror "***************"
+ else
+ # remove xbr components
+ export AUTOBAHN_STRIP_XBR="True"
+ fi
+
+ # avoid useless rust dependency
+ sed -i -e '/cryptography/s:>=3.4.6::' setup.py || die
+
+ # remove twisted plugin cache regen in setup.py
+ # to fix tinderbox sandbox issue
+ sed -e '/import/s:reactor:__importmustfail__:' \
+ -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ rm -rf autobahn || die
+
+ einfo "Testing all, cryptosign using twisted"
+ local -x USE_TWISTED=true
+ "${EPYTHON}" -m twisted.trial autobahn || die "Tests failed with ${EPYTHON}"
+ 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 -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
+}
+
+pkg_postinst() {
+ optfeature "C-based WebSocket acceleration" "dev-python/wsaccel"
+ optfeature "non-standard WebSocket compression support" \
+ "dev-python/python-snappy"
+ optfeature "accelerated WAMP serialization support" \
+ "dev-python/msgpack dev-python/ujson dev-python/cbor2 dev-python/flatbuffers dev-python/py-ubjson"
+ optfeature "TLS transport encryption" \
+ "dev-python/pyopenssl dev-python/pynacl dev-python/pytrie dev-python/qrcode dev-python/service-identity"
+ optfeature "WAMP-SCRAM authentication" \
+ "dev-python/cffi dev-python/argon2-cffi dev-python/passlib"
+ optfeature "native SIMD acceleration" "dev-python/cffi"
+
+ python_foreach_impl twisted-regen-cache
+}
+
+pkg_postrm() {
+ python_foreach_impl twisted-regen-cache
+}
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 b99739ee87c1..5c2c6ee2ac68 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_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
@@ -20,6 +20,10 @@ SRC_URI="
LICENSE="LGPL-3+"
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 ~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/Manifest b/dev-python/automat/Manifest
index 9420d3191849..a4cba4eb2f17 100644
--- a/dev-python/automat/Manifest
+++ b/dev-python/automat/Manifest
@@ -1,2 +1 @@
-DIST Automat-20.2.0.tar.gz 61679 BLAKE2B 9dfb93a0bf0a348d8f7de0796b3e5715947eb84cc0aa507a453f438d2027ae877280ed6d7896192cee46f31c7d1c0eb6cb3dee36e1f13a315071513920c5b6d0 SHA512 715cb5dc087288492e6465a29e7d8502a84fadf451bc3d29da86335ea1c20f8efd9549f0c1eaac8800559dd8001dd73736c3bfacdc6321c83a35d2288d69632c
DIST Automat-22.10.0.tar.gz 59099 BLAKE2B 509e64b1312f87f09a60243a00b832c8b3da4b09ef75151e82c8c406faabd24a56378baade87bd98685fa22922d1892ec20d81579eaf13e0315af68bb7909ac4 SHA512 5819cfe0687bf391949891562f3657f449cf9a8e8ea90c1537e89509dc618da1160856f92ab52dc450e0a7d51d0e4644bfe2db3d4108126a42ee1bea2f06bb7a
diff --git a/dev-python/automat/automat-20.2.0-r1.ebuild b/dev-python/automat/automat-20.2.0-r1.ebuild
deleted file mode 100644
index 231c2c8a5391..000000000000
--- a/dev-python/automat/automat-20.2.0-r1.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} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P^}
-DESCRIPTION="Self-service finite-state machines for the programmer on the go"
-HOMEPAGE="https://github.com/glyph/automat https://pypi.org/project/Automat/"
-SRC_URI="mirror://pypi/${MY_P::1}/${PN^}/${MY_P}.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 ~x64-macos"
-IUSE="examples"
-
-RDEPEND="
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- "${FILESDIR}/test_visualize-twisted-import-errors.patch"
- "${FILESDIR}/${P}-py311.patch"
- "${FILESDIR}/${PN}-20.2.0-ignore-m2r.patch"
-)
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- benchmark
-)
-
-src_prepare() {
- # strip m2r dep
- sed -i -e "/'m2r'/d" setup.py || die
- distutils-r1_src_prepare
-}
-
-python_install_all() {
- if use examples; then
- docinto examples
- dodoc docs/examples/*.py
- fi
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- einfo "For additional visualization functionality install both these optional dependencies"
- einfo " >=dev-python/twisted-16.1.1"
- einfo " media-gfx/graphviz[python]"
-}
diff --git a/dev-python/automat/automat-22.10.0.ebuild b/dev-python/automat/automat-22.10.0.ebuild
index 054fdbfcdaa5..418e3705ed2a 100644
--- a/dev-python/automat/automat-22.10.0.ebuild
+++ b/dev-python/automat/automat-22.10.0.ebuild
@@ -4,22 +4,21 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P=${P^}
DESCRIPTION="Self-service finite-state machines for the programmer on the go"
HOMEPAGE="
https://github.com/glyph/automat/
https://pypi.org/project/Automat/
"
-SRC_URI="mirror://pypi/${MY_P::1}/${PN^}/${MY_P}.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 ~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"
IUSE="examples"
RDEPEND="
@@ -27,7 +26,7 @@ RDEPEND="
dev-python/six[${PYTHON_USEDEP}]
"
BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
"
distutils_enable_tests pytest
diff --git a/dev-python/automat/files/automat-20.2.0-ignore-m2r.patch b/dev-python/automat/files/automat-20.2.0-ignore-m2r.patch
deleted file mode 100644
index 5e3ef39f33e1..000000000000
--- a/dev-python/automat/files/automat-20.2.0-ignore-m2r.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Completely ignore m2r (which is now last-rited) so we can drop the hard-blocker
-which makes world upgrades a pain (installed m2r would break b/c of newer
-mistune, and would break automat build).
-
-https://github.com/miyakogi/m2r/issues/66
-https://bugs.gentoo.org/848900
-https://bugs.gentoo.org/847532
---- a/setup.py
-+++ b/setup.py
-@@ -4,13 +4,8 @@ Setup file for automat
-
- from setuptools import setup, find_packages
-
--try:
-- from m2r import parse_from_file
-- long_description = parse_from_file('README.md')
--except(IOError, ImportError):
-- print("\n\n!!! m2r not found, long_description is bad, don't upload this to PyPI !!!\n\n")
-- import io
-- long_description = io.open('README.md', encoding="utf-8").read()
-+import io
-+long_description = io.open('README.md', encoding="utf-8").read()
-
- setup(
- name='Automat',
diff --git a/dev-python/automat/files/automat-20.2.0-py311.patch b/dev-python/automat/files/automat-20.2.0-py311.patch
deleted file mode 100644
index 14ca69e7235d..000000000000
--- a/dev-python/automat/files/automat-20.2.0-py311.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-https://github.com/glyph/automat/commit/d0c2845ead9b8f576042d42134bfb5c63086be39
-
-diff --git a/automat/_introspection.py b/automat/_introspection.py
-index 3f7307d..403cddb 100644
---- a/automat/_introspection.py
-+++ b/automat/_introspection.py
-@@ -6,6 +6,8 @@
-
-
- def copycode(template, changes):
-+ if hasattr(code, "replace"):
-+ return template.replace(**{"co_" + k : v for k, v in changes.items()})
- names = [
- "argcount", "nlocals", "stacksize", "flags", "code", "consts",
- "names", "varnames", "filename", "name", "firstlineno", "lnotab",
-@@ -23,7 +25,6 @@ def copycode(template, changes):
- return code(*values)
-
-
--
- def copyfunction(template, funcchanges, codechanges):
- names = [
- "globals", "name", "defaults", "closure",
diff --git a/dev-python/automat/files/test_visualize-twisted-import-errors.patch b/dev-python/automat/files/test_visualize-twisted-import-errors.patch
deleted file mode 100644
index b3d8938cf7de..000000000000
--- a/dev-python/automat/files/test_visualize-twisted-import-errors.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 9f6312e0c2504c27b72bb228a37ed5ac58776e94 Mon Sep 17 00:00:00 2001
-From: Brian Dolbec <dolsen@gentoo.org>
-Date: Wed, 10 Jun 2020 07:31:45 -0700
-Subject: [PATCH] Fix _test_visualize.py twisted import errors
-
-When graphviz modules are installed but not twisted, this creates test failures
-in _discover.py which hard depends on twisted being installed.
-
-Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
----
- automat/_test/test_visualize.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/automat/_test/test_visualize.py b/automat/_test/test_visualize.py
-index 987eb3c..142c4bf 100644
---- a/automat/_test/test_visualize.py
-+++ b/automat/_test/test_visualize.py
-@@ -62,6 +62,7 @@ def sampleMachine():
-
-
- @skipIf(not isGraphvizModuleInstalled(), "Graphviz module is not installed.")
-+@skipIf(not isTwistedInstalled(), "Twisted is not installed.")
- class ElementMakerTests(TestCase):
- """
- L{elementMaker} generates HTML representing the specified element.
-@@ -134,6 +135,7 @@ def isLeaf(element):
-
-
- @skipIf(not isGraphvizModuleInstalled(), "Graphviz module is not installed.")
-+@skipIf(not isTwistedInstalled(), "Twisted is not installed.")
- class TableMakerTests(TestCase):
- """
- Tests that ensure L{tableMaker} generates HTML tables usable as
-@@ -214,6 +216,7 @@ class TableMakerTests(TestCase):
-
- @skipIf(not isGraphvizModuleInstalled(), "Graphviz module is not installed.")
- @skipIf(not isGraphvizInstalled(), "Graphviz tools are not installed.")
-+@skipIf(not isTwistedInstalled(), "Twisted is not installed.")
- class IntegrationTests(TestCase):
- """
- Tests which make sure Graphviz can understand the output produced by
-@@ -232,6 +235,7 @@ class IntegrationTests(TestCase):
-
-
- @skipIf(not isGraphvizModuleInstalled(), "Graphviz module is not installed.")
-+@skipIf(not isTwistedInstalled(), "Twisted is not installed.")
- class SpotChecks(TestCase):
- """
- Tests to make sure that the output contains salient features of the machine
---
-libgit2 0.99.0
-
diff --git a/dev-python/autopage/Manifest b/dev-python/autopage/Manifest
index e6fa6e3fb264..1149a2b74668 100644
--- a/dev-python/autopage/Manifest
+++ b/dev-python/autopage/Manifest
@@ -1 +1 @@
-DIST autopage-0.5.1.gh.tar.gz 21406 BLAKE2B 45d67443fa882d6f824ea71a8f9d20eb1ae789a271d84dc566a2535de631b5ce644aa28f51c5be1db818194e39628b6526ac087cd6eccc425132f15fafda10e9 SHA512 3d6e10c222566fd5f5e07e3247ebe19ce7ffe3b4baf9948741ee9a8aaafbefb0fcfaf4b26f0a4a6392615e73c7e8539c9bcbff1112a291c193c0b653f33e8657
+DIST autopage-0.5.2.gh.tar.gz 21904 BLAKE2B 73597326f6d22d4cac9c9969edc0e6fc23f555d149947aa3aa81529347928a3f9112e9fb15a3ad65e17274ed308fb6fe20810d8364415fe7e59ab1bd47411361 SHA512 68e76dd4c4f049785e226eae499be85139bf57c59fd2161f5bb9df66878541e39a3edc1806f42382bd2d9a922cbdace0d05b60366f72d9a39c31fc39eae05883
diff --git a/dev-python/autopage/autopage-0.5.1.ebuild b/dev-python/autopage/autopage-0.5.1.ebuild
deleted file mode 100644
index 75e2cbae6597..000000000000
--- a/dev-python/autopage/autopage-0.5.1.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A library to provide automatic paging for console output"
-HOMEPAGE="
- https://github.com/zaneb/autopage/
- https://pypi.org/project/autopage/
-"
-SRC_URI="
- https://github.com/zaneb/autopage/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- test? (
- dev-python/fixtures[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-python_test() {
- unset LESS PAGER
- eunittest
-}
diff --git a/dev-python/autopage/autopage-0.5.2.ebuild b/dev-python/autopage/autopage-0.5.2.ebuild
new file mode 100644
index 000000000000..4a683e92c60e
--- /dev/null
+++ b/dev-python/autopage/autopage-0.5.2.ebuild
@@ -0,0 +1,44 @@
+# 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="A library to provide automatic paging for console output"
+HOMEPAGE="
+ https://github.com/zaneb/autopage/
+ https://pypi.org/project/autopage/
+"
+SRC_URI="
+ https://github.com/zaneb/autopage/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ test? (
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ sed -e 's/test_short_streaming_output/_&/' \
+ -e 's/test_interrupt_early/_&/' \
+ -i autopage/tests/test_end_to_end.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ unset LESS PAGER
+ eunittest
+}
diff --git a/dev-python/autopep8/Manifest b/dev-python/autopep8/Manifest
index 97b274a5f387..7fe7d3ab4421 100644
--- a/dev-python/autopep8/Manifest
+++ b/dev-python/autopep8/Manifest
@@ -1,2 +1 @@
-DIST autopep8-2.0.0.tar.gz 117507 BLAKE2B 8722b19454f47d0b960e3cc0e18ff3d6150ead009630047ecd1ce9001ea6f6d68595f80d7ad1087bddd2993e95d0634d63495b1d43dee095d114535bf632d1bf SHA512 883b79f7011a374a2ef88073a45748268a20449a3bc8da519c036c71700352dd8c4accc60fcb592f1a53ceac06984fcbe6ede8a272bc718c2b79873be5f35dd8
-DIST autopep8-2.0.1.tar.gz 115905 BLAKE2B 9dde8d702a0b21fb1457e08120dca805e2b46e3e5284e5d98932ff93afc4c0ac8dbc60215f35b64d4a308d6748df1411c2979d8fa1f4949b1dbe213bf19de9dc SHA512 cc0e8e5b7228ba9b37adaa3b2689a5e1ad04eb84366c5300d7a220b1593a64e4f1dc332750f8ca53935dec6a3ea1d07cae5615373e44da357a980d9763bbc3f1
+DIST autopep8-2.1.0.tar.gz 88891 BLAKE2B 60bd5e9a177d8bdb741b37884bb3ef170fb59664b740beb1b1f38df021dfb7916f2cecdb2e20b6363c2abcc110f9f36902dbccd7f06ddf56f090ccb36149fb19 SHA512 f694a506646b4bc4932fb07cf1c989897e7db3fc9b65dc90886fa657b163dfcbad4c16bb911a2e399a4623b167b313d32213762d3e21e20bff27b6fe2a5abc59
diff --git a/dev-python/autopep8/autopep8-2.0.0.ebuild b/dev-python/autopep8/autopep8-2.0.0.ebuild
deleted file mode 100644
index 162c3d53396b..000000000000
--- a/dev-python/autopep8/autopep8-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_{9..11} 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
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~alpha amd64 ~arm64 ~ia64 ppc sparc x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/pycodestyle-2.9.1[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # test require in source build
- test/test_autopep8.py::SystemTests::test_e101_skip_innocuous
-)
-
-PATCHES=(
- "${FILESDIR}"/autopep8-1.6.0-lib2to3-deprecation-pytest.patch
-)
diff --git a/dev-python/autopep8/autopep8-2.0.1.ebuild b/dev-python/autopep8/autopep8-2.0.1.ebuild
deleted file mode 100644
index c80c0617b4eb..000000000000
--- a/dev-python/autopep8/autopep8-2.0.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} 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
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm64 ~ia64 ~ppc ~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.{8..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.1.0.ebuild b/dev-python/autopep8/autopep8-2.1.0.ebuild
new file mode 100644
index 000000000000..1b82191667cc
--- /dev/null
+++ b/dev-python/autopep8/autopep8-2.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
+PYTHON_COMPAT=( python3_{10..12} 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.11.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
index c41931f8e0c2..1d564bd34c07 100644
--- a/dev-python/autopep8/autopep8-9999.ebuild
+++ b/dev-python/autopep8/autopep8-9999.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1
@@ -18,8 +18,8 @@ if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="https://github.com/hhatto/${PN}.git"
inherit git-r3
else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm64 ~ia64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux"
+ inherit pypi
+ KEYWORDS="~alpha ~amd64 ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
fi
LICENSE="MIT"
@@ -29,7 +29,7 @@ RDEPEND="
>=dev-python/pycodestyle-2.10[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{8..10})
+ ' 3.10)
"
distutils_enable_tests pytest
diff --git a/dev-python/autopep8/files/autopep8-1.6.0-lib2to3-deprecation-pytest.patch b/dev-python/autopep8/files/autopep8-1.6.0-lib2to3-deprecation-pytest.patch
deleted file mode 100644
index 9aadf2758c0c..000000000000
--- a/dev-python/autopep8/files/autopep8-1.6.0-lib2to3-deprecation-pytest.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/test/test_autopep8.py 2022-07-01 16:53:14.197393816 +0300
-+++ b/test/test_autopep8.py 2022-07-01 17:26:07.740358186 +0300
-@@ -5729,7 +5729,11 @@
- list(AUTOPEP8_CMD_TUPLE) + [filename, '--in-place'],
- stderr=PIPE,
- )
-- _, err = p.communicate()
-+ _, error = p.communicate()
-+ if b'DeprecationWarning: lib2to3 package is deprecated' in error:
-+ err = bytes()
-+ else:
-+ err = error
- self.assertEqual(err, b'')
- self.assertEqual(p.returncode, autopep8.EXIT_CODE_OK)
-
-@@ -5741,7 +5745,11 @@
- list(AUTOPEP8_CMD_TUPLE) + [filename, '--in-place'],
- stderr=PIPE,
- )
-- _, err = p.communicate()
-+ _, error = p.communicate()
-+ if b'DeprecationWarning: lib2to3 package is deprecated' in error:
-+ err = bytes()
-+ else:
-+ err = error
- self.assertEqual(err, b'')
- self.assertEqual(p.returncode, autopep8.EXIT_CODE_OK)
-
diff --git a/dev-python/autoprop/autoprop-4.1.0.ebuild b/dev-python/autoprop/autoprop-4.1.0.ebuild
index ed93b571a22f..f0d23573080b 100644
--- a/dev-python/autoprop/autoprop-4.1.0.ebuild
+++ b/dev-python/autoprop/autoprop-4.1.0.ebuild
@@ -4,23 +4,22 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Infer properties from accessor methods"
HOMEPAGE="
https://github.com/kalekundert/autoprop/
https://pypi.org/project/autoprop/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
SLOT="0"
RDEPEND="
- >=dev-python/signature_dispatch-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/signature-dispatch-1.0.0[${PYTHON_USEDEP}]
"
distutils_enable_tests pytest
diff --git a/dev-python/aws-sam-translator/Manifest b/dev-python/aws-sam-translator/Manifest
index b7234e19d8e0..3287697ef239 100644
--- a/dev-python/aws-sam-translator/Manifest
+++ b/dev-python/aws-sam-translator/Manifest
@@ -1,5 +1,2 @@
-DIST aws-sam-translator-1.55.0.gh.tar.gz 1006734 BLAKE2B 5fbfd8719ad605e0df7acd8ecb25ca681f5863e67e97b57624c470fa6e77bb431d7ff19f5e00a181120ea809019d93bd75416e46ba1424e8839f80c10002b30f SHA512 4d2f1e3458cb9d2014f73575946e863e1d74e7432e2aaf17128638d69d9f092b4d531224e45c2110b50103a1e7c4343fc0282ad38fe959cf45af4a0a2b4663aa
-DIST aws-sam-translator-1.56.0.gh.tar.gz 1137468 BLAKE2B 89a190775d1679da681aed7d3ef264fe5c5885033f8209fa3605c32921aa240edd6162bb3f5ebcfc835805b6a7143126ae99d5d1d3e1508d8a9a54284a3dd952 SHA512 f07ab337b9224c39b391fdc6130c0d68bf397d166a1ef50b9b8994a77d1b6ae6dbf9ca2288e0fdef76fc650d230da24c4324e70c5d50a77009db61aeaefb4d22
-DIST aws-sam-translator-1.57.0.gh.tar.gz 1137862 BLAKE2B c164745cf0777dbaea3b95aff8a2ae64973157481edf6f27aab8d376bb4efce322edb40094f0a485ff16abf29fbe02f983a76d41fef20d012a99510fdfe66727 SHA512 0451ffdd4ce79ab3416d63807e068d0431e18180bbd82fb2abb5c14d03ef7232d5e7a2ee13e454df17894bdaca1813fb2af4bbfb87ef274c5c31d64371f05336
-DIST aws-sam-translator-1.58.0.gh.tar.gz 1151591 BLAKE2B 77c5aa88330156ce1c9496a1ab6e5f1ec35bf8405fc24cc95ee78b40f6c57813605365c903e66566f93877989c8a2cfcc9c10184df27791fd4c7b4519a9b41dd SHA512 ce2002c967b9dfc973d61ee2462010ccfc0b8dc9aa2233234205fe38467c5bfc115f27bb34c1e3a8f7d5b669b4190ca2bd983590fa8de898899133e54190223b
-DIST aws-sam-translator-1.58.1.gh.tar.gz 1151817 BLAKE2B a3ba2cc304e25a5d527fdef793deb232c1852ceda51df1bfe75ccbe150c8b08d8dfebfa1933f1722e20cecad6f88af596bbeffd203fce7855c3faaaee2f434bf SHA512 341d6346f7daaab3713962613a89b53d0e852d274222e408d9f314a01ec55fa1bc4ac0111bab54ab802caaa956923f0504c2bf620f06073a85c70c8fa28d15ad
+DIST serverless-application-model-1.86.0.gh.tar.gz 5490164 BLAKE2B f784adc234080d447b33e375acf62ab65728655aeef2d6a4c1210535e55558f1afb85c011038b42435d5aaff8d69a179769a03d3c885e1fa487be434492c1c3c SHA512 e4ec2eca9f5531402f34e37c1bc7c9257f3120c3863f18bf2661b9f8757a680c6433d59c2a3f1b31e1ffeeffaa02fbd87f6407b3faf6ba5909bfefb79462ca18
+DIST serverless-application-model-1.87.0.gh.tar.gz 5497979 BLAKE2B 96e62bd2c8b7497524f3fcd2fb805d5904d69b875049783e424859e3a038b704bebe212db4d0325050665104f9cfa9a0c746e65c33f3d7934deab3840479e975 SHA512 5577447575bd58a574f912250062d58a2ad087a4322f178580ca13bed16f60683f120c9d11006c7ebdd25937f229dfd3b308a4cc5fca2d09b7771f19e1739842
diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.55.0-r1.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.55.0-r1.ebuild
deleted file mode 100644
index 53e124330190..000000000000
--- a/dev-python/aws-sam-translator/aws-sam-translator-1.55.0-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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-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
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/serverless-application-model-${PV}"
-
-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/pyyaml[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- tests/validator/test_validator_api.py::TestValidatorApi::test_errors_13_error_definitionuri
- tests/unit/test_region_configuration.py::TestRegionConfiguration::test_is_service_supported_positive_4_ec2
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_transform_template_translate::test_sar_success_one_app
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_transform_template_translate::test_sar_throttling_doesnt_stop_processing
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_transform_template_translate::test_sleep_between_sar_checks
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_transform_template_translate::test_unexpected_sar_error_stops_processing
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_and_on_after_transform_template::test_time_limit_exceeds_between_combined_sar_calls
-)
-
-python_prepare_all() {
- # remove pytest-cov dependency
- sed -i -e '/addopts/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
- epytest
-}
diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.56.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.56.0.ebuild
deleted file mode 100644
index d09b63700517..000000000000
--- a/dev-python/aws-sam-translator/aws-sam-translator-1.56.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..11} )
-
-inherit distutils-r1
-
-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
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/serverless-application-model-${PV}"
-
-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-1.10.2[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- tests/validator/test_validator_api.py::TestValidatorApi::test_errors_13_error_definitionuri
- tests/unit/test_region_configuration.py::TestRegionConfiguration::test_is_service_supported_positive_4_ec2
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_transform_template_translate::test_sar_success_one_app
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_transform_template_translate::test_sar_throttling_doesnt_stop_processing
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_transform_template_translate::test_sleep_between_sar_checks
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_transform_template_translate::test_unexpected_sar_error_stops_processing
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_and_on_after_transform_template::test_time_limit_exceeds_between_combined_sar_calls
-)
-
-python_prepare_all() {
- # remove pytest-cov dependency
- sed -i -e '/addopts/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
- epytest
-}
diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.57.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.57.0.ebuild
deleted file mode 100644
index 621b6c49bb05..000000000000
--- a/dev-python/aws-sam-translator/aws-sam-translator-1.57.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..11} )
-
-inherit distutils-r1
-
-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
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/serverless-application-model-${PV}"
-
-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-1.10.2[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- tests/validator/test_validator_api.py::TestValidatorApi::test_errors_13_error_definitionuri
- tests/unit/test_region_configuration.py::TestRegionConfiguration::test_is_service_supported_positive_4_ec2
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_transform_template_translate::test_sar_success_one_app
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_transform_template_translate::test_sar_throttling_doesnt_stop_processing
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_transform_template_translate::test_sleep_between_sar_checks
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_transform_template_translate::test_unexpected_sar_error_stops_processing
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_and_on_after_transform_template::test_time_limit_exceeds_between_combined_sar_calls
-)
-
-python_prepare_all() {
- # remove pytest-cov dependency
- sed -i -e '/addopts/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
- epytest
-}
diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.58.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.58.0.ebuild
deleted file mode 100644
index eaf92854bf46..000000000000
--- a/dev-python/aws-sam-translator/aws-sam-translator-1.58.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
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-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
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/serverless-application-model-${PV}"
-
-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-1.10.2[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- tests/validator/test_validator_api.py::TestValidatorApi::test_errors_13_error_definitionuri
- tests/unit/test_region_configuration.py::TestRegionConfiguration::test_is_service_supported_positive_4_ec2
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_transform_template_translate::test_sar_success_one_app
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_transform_template_translate::test_sar_throttling_doesnt_stop_processing
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_transform_template_translate::test_sleep_between_sar_checks
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_transform_template_translate::test_unexpected_sar_error_stops_processing
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_and_on_after_transform_template::test_time_limit_exceeds_between_combined_sar_calls
- tests/model/eventsources/test_msk_event_source.py::MSKEventSource::test_get_policy_arn
- tests/swagger/test_swagger.py::TestSwaggerEditor_add_lambda_integration::test_must_add_credentials_to_the_integration
- tests/swagger/test_swagger.py::TestSwaggerEditor_add_lambda_integration::test_must_add_credentials_to_the_integration_overrides
-)
-
-python_prepare_all() {
- # remove pytest-cov dependency
- sed -i -e '/addopts/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
- epytest
-}
diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.58.1.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.58.1.ebuild
deleted file mode 100644
index eaf92854bf46..000000000000
--- a/dev-python/aws-sam-translator/aws-sam-translator-1.58.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
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-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
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/serverless-application-model-${PV}"
-
-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-1.10.2[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- tests/validator/test_validator_api.py::TestValidatorApi::test_errors_13_error_definitionuri
- tests/unit/test_region_configuration.py::TestRegionConfiguration::test_is_service_supported_positive_4_ec2
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_transform_template_translate::test_sar_success_one_app
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_transform_template_translate::test_sar_throttling_doesnt_stop_processing
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_transform_template_translate::test_sleep_between_sar_checks
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_transform_template_translate::test_unexpected_sar_error_stops_processing
- tests/plugins/application/test_serverless_app_plugin.py::TestServerlessAppPlugin_on_before_and_on_after_transform_template::test_time_limit_exceeds_between_combined_sar_calls
- tests/model/eventsources/test_msk_event_source.py::MSKEventSource::test_get_policy_arn
- tests/swagger/test_swagger.py::TestSwaggerEditor_add_lambda_integration::test_must_add_credentials_to_the_integration
- tests/swagger/test_swagger.py::TestSwaggerEditor_add_lambda_integration::test_must_add_credentials_to_the_integration_overrides
-)
-
-python_prepare_all() {
- # remove pytest-cov dependency
- sed -i -e '/addopts/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
- epytest
-}
diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.86.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.86.0.ebuild
new file mode 100644
index 000000000000..b4675407f163
--- /dev/null
+++ b/dev-python/aws-sam-translator/aws-sam-translator-1.86.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..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.87.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.87.0.ebuild
new file mode 100644
index 000000000000..166699d76ae6
--- /dev/null
+++ b/dev-python/aws-sam-translator/aws-sam-translator-1.87.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..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-xray-sdk-python/Manifest b/dev-python/aws-xray-sdk-python/Manifest
deleted file mode 100644
index 31d38d10493a..000000000000
--- a/dev-python/aws-xray-sdk-python/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST aws-xray-sdk-python-2.11.0.gh.tar.gz 275430 BLAKE2B 1c1d3b56629dbd822b4f9fcb1e7ba5b43fbbff55fbe7ac02d75e0bb50629c4a0e5baed2b4c14c4c8a7775d60da5b285f96bca68b68b64ddf03aeec0c6094c74c SHA512 62035db955ce3d60e6d75088b7255dec83b21b4fd02353146b34bc48bdacff805b711b5caaca7adbbb5c5a3632a97910907d04681f36c198c99fbb4ef1cc4f85
diff --git a/dev-python/aws-xray-sdk-python/aws-xray-sdk-python-2.11.0-r1.ebuild b/dev-python/aws-xray-sdk-python/aws-xray-sdk-python-2.11.0-r1.ebuild
deleted file mode 100644
index 4b7da39f41f4..000000000000
--- a/dev-python/aws-xray-sdk-python/aws-xray-sdk-python-2.11.0-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=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-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
- -> ${P}.gh.tar.gz
-"
-
-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-sqlalchemy-3[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-1.4[${PYTHON_USEDEP}]
- dev-python/webtest[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.8.0-fix-py3.10-loops.patch"
-)
-
-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/django
- tests/ext/aiohttp
- )
-
- epytest -p no:django
-}
diff --git a/dev-python/aws-xray-sdk-python/files/aws-xray-sdk-python-2.8.0-fix-py3.10-loops.patch b/dev-python/aws-xray-sdk-python/files/aws-xray-sdk-python-2.8.0-fix-py3.10-loops.patch
deleted file mode 100644
index cde91a8d0cda..000000000000
--- a/dev-python/aws-xray-sdk-python/files/aws-xray-sdk-python-2.8.0-fix-py3.10-loops.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/tests/ext/aiohttp/test_middleware.py b/tests/ext/aiohttp/test_middleware.py
-index c8b2333..4f8cac6 100644
---- a/tests/ext/aiohttp/test_middleware.py
-+++ b/tests/ext/aiohttp/test_middleware.py
-@@ -279,8 +279,7 @@ async def test_concurrent(test_client, loop, recorder):
-
- await asyncio.wait([get_delay(), get_delay(), get_delay(),
- get_delay(), get_delay(), get_delay(),
-- get_delay(), get_delay(), get_delay()],
-- loop=loop)
-+ get_delay(), get_delay(), get_delay()])
-
- # Ensure all ID's are different
- ids = [item.id for item in recorder.emitter.local]
-diff --git a/tests/test_async_local_storage.py b/tests/test_async_local_storage.py
-index b43cc0e..4b13ffd 100644
---- a/tests/test_async_local_storage.py
-+++ b/tests/test_async_local_storage.py
-@@ -19,7 +19,7 @@ def test_localstorage_isolation(loop):
- random_int = random.random()
- local_storage.randint = random_int
-
-- await asyncio.sleep(0.0, loop=loop)
-+ await asyncio.sleep(0.0)
-
- current_random_int = local_storage.randint
- assert random_int == current_random_int
-@@ -30,7 +30,7 @@ def test_localstorage_isolation(loop):
-
- # Run loads of concurrent tasks
- results = loop.run_until_complete(
-- asyncio.wait([_test() for _ in range(0, 100)], loop=loop)
-+ asyncio.wait([_test() for _ in range(0, 100)])
- )
- results = [item.result() for item in results[0]]
-
diff --git a/dev-python/aws-xray-sdk/Manifest b/dev-python/aws-xray-sdk/Manifest
new file mode 100644
index 000000000000..a0817e4c5abd
--- /dev/null
+++ b/dev-python/aws-xray-sdk/Manifest
@@ -0,0 +1 @@
+DIST aws-xray-sdk-python-2.13.0.gh.tar.gz 276162 BLAKE2B 60a8cf121139b5a704f47676a10534a7e9e5cbbcadc3a10e2f864f2d6baef8b0d8fe82ef9356d3e459d21628584ec98d4a89ad31b8d982dc8859d0cdb0240999 SHA512 c36907788a891a8adef94591172c53dcc0ebde5c0a3552154a313d93af66d50d88aa3422c1abeba89e629aa224beee5eb17e14f272ee312c76aa7f437fadb77c
diff --git a/dev-python/aws-xray-sdk/aws-xray-sdk-2.13.0.ebuild b/dev-python/aws-xray-sdk/aws-xray-sdk-2.13.0.ebuild
new file mode 100644
index 000000000000..323ba5a787a4
--- /dev/null
+++ b/dev-python/aws-xray-sdk/aws-xray-sdk-2.13.0.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 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
+ )
+
+ epytest -p no:django
+}
diff --git a/dev-python/aws-xray-sdk-python/metadata.xml b/dev-python/aws-xray-sdk/metadata.xml
index 925c16c14d43..925c16c14d43 100644
--- a/dev-python/aws-xray-sdk-python/metadata.xml
+++ b/dev-python/aws-xray-sdk/metadata.xml
diff --git a/dev-python/awxkit/Manifest b/dev-python/awxkit/Manifest
deleted file mode 100644
index 04e08c5d5204..000000000000
--- a/dev-python/awxkit/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST awxkit-21.11.0.gh.tar.gz 16206681 BLAKE2B 738fae8028f4b576c36860002f802280263ec2731e91047b9f5f1a7aba28b5548b2a8add4659f9021c805a4bda0361e96c310c63b6bdf33c47705fbc222a3a5e SHA512 7c2e07f2951738bc04ce7cdc8c3e6fba3becaa70daa3de5c31fa931a7240b76001af791e819005b7c651c781e3b42c17850a79da059b2fc260efb8029f29033f
diff --git a/dev-python/awxkit/awxkit-21.11.0.ebuild b/dev-python/awxkit/awxkit-21.11.0.ebuild
deleted file mode 100644
index f6c6509cb933..000000000000
--- a/dev-python/awxkit/awxkit-21.11.0.ebuild
+++ /dev/null
@@ -1,47 +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..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Command line interface for Ansible AWX"
-HOMEPAGE="
- https://github.com/ansible/awx/
- https://pypi.org/project/awxkit/
-"
-SRC_URI="
- https://github.com/ansible/awx/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/awx-${PV}/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}
-
- 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/babelfish-0.6.0-r2.ebuild b/dev-python/babelfish/babelfish-0.6.0-r2.ebuild
index e9fcc1df1798..c469345fd3b5 100644
--- a/dev-python/babelfish/babelfish-0.6.0-r2.ebuild
+++ b/dev-python/babelfish/babelfish-0.6.0-r2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -20,6 +20,6 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
+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 b2cc93f56222..222432e837ce 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
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 693a10da3c73..000000000000
--- a/dev-python/backcall/backcall-0.2.0-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=flit
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Specifications for callback functions passed in to an API"
-HOMEPAGE="https://pypi.org/project/backcall/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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"
-
-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 3cb09b0d22a8..170c3fb22e9d 100644
--- a/dev-python/backoff/backoff-2.2.1.ebuild
+++ b/dev-python/backoff/backoff-2.2.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
DOCS=( README.rst )
diff --git a/dev-python/backports-tarfile/Manifest b/dev-python/backports-tarfile/Manifest
new file mode 100644
index 000000000000..16f3d9b62afd
--- /dev/null
+++ b/dev-python/backports-tarfile/Manifest
@@ -0,0 +1 @@
+DIST backports.tarfile-1.0.0.tar.gz 32952 BLAKE2B 264f63406f0cbf053bcbbc2933317152cbe89e765b87449111cf3397b072d68b1671918a7e3549f9f96dfc62c540f36a7b4e263d5c3f3ea305093a992d68eb2b SHA512 c44907a9b5c9af5dbcc37ecd613dcd7e269b1eed71a757d4e6c32828cc703a3060943f67a0caf90680ade89df8a938b999ba64d30ebfb5b63fbb0c70a068d349
diff --git a/dev-python/backports-tarfile/backports-tarfile-1.0.0.ebuild b/dev-python/backports-tarfile/backports-tarfile-1.0.0.ebuild
new file mode 100644
index 000000000000..6ec77e2ea68d
--- /dev/null
+++ b/dev-python/backports-tarfile/backports-tarfile-1.0.0.ebuild
@@ -0,0 +1,39 @@
+# 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_NO_NORMALIZE=1
+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="~amd64 ~arm ~arm64 ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86"
+
+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 509227cd54f7..931cc8fe56b2 100644
--- a/dev-python/backrefs/Manifest
+++ b/dev-python/backrefs/Manifest
@@ -1 +1 @@
-DIST backrefs-5.4.gh.tar.gz 4292341 BLAKE2B 9cbc443b82d2c7339dda30c6790f99d2da38a7e8db78df19e2dc2670c5cc12b1c303870fc63aad16f326b0dfd5d3d1e7c1a85bcde6cb698cd3602488b7e58ef3 SHA512 2949c40bfa60b37eccfd380eb05e5a7f425cad243d6bb332e6f329a1b9747760ca530d4af69daa25441bc9b0d2bd6291699aebf36bd52d055d4e84959ab45100
+DIST backrefs-5.6.post1.tar.gz 5399113 BLAKE2B d5b359b0b4333baacb53dd4a7267e431cdca3fd844ba1d1120e34961979c39a9f89f8f52db16f1a8aaf1a89f18063c5301c1a46803c9e1f011e0a20bde24b126 SHA512 20ea63bd9d60db7c242faa687e464eecb8c2e1852456126e2961db14e0526f5048581ec7f7de1017c87d718544629f8491391e3be14c55133876bf169a4d71fe
diff --git a/dev-python/backrefs/backrefs-5.4.ebuild b/dev-python/backrefs/backrefs-5.4.ebuild
deleted file mode 100644
index d285f500a668..000000000000
--- a/dev-python/backrefs/backrefs-5.4.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=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Wrapper around re or regex that adds additional back references"
-HOMEPAGE="
- https://github.com/facelessuser/backrefs/
- https://pypi.org/project/backrefs/
-"
-SRC_URI="
- https://github.com/facelessuser/backrefs/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~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.6_p1.ebuild b/dev-python/backrefs/backrefs-5.6_p1.ebuild
new file mode 100644
index 000000000000..907604808019
--- /dev/null
+++ b/dev-python/backrefs/backrefs-5.6_p1.ebuild
@@ -0,0 +1,29 @@
+# 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/metadata.xml b/dev-python/backrefs/metadata.xml
index 5c2d652494c8..fd68b7692743 100644
--- a/dev-python/backrefs/metadata.xml
+++ b/dev-python/backrefs/metadata.xml
@@ -1,18 +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="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>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/bandit/Manifest b/dev-python/bandit/Manifest
index 2c321875463e..c2d80f5c82ee 100644
--- a/dev-python/bandit/Manifest
+++ b/dev-python/bandit/Manifest
@@ -1 +1 @@
-DIST bandit-1.7.4.tar.gz 495104 BLAKE2B 5531a602dea877745ebdecf768fa83e0e478c52d472fbfdf98fec32c73a76a73e4f6dd957be760b4757e47c5f9cc25f6cd2f6c593df1e54165e647950a9f8a54 SHA512 93e1a25fd41e9409971f4cbac2ff73971ba270936a6b2aeecb3e0a2aa2015bcefd5eaab3cc94b2d9d96e4604d1a39c5ca1150c9eadd073357a90c5265c592407
+DIST bandit-1.7.8.tar.gz 1983678 BLAKE2B 7891c6f3cd893c0abd9becfb648284cbc393c5d0d1be6d9bf9934fcd33038ac34afd40e3d5cb4ef2d3389cb33f73d719de21cd9ef3acf8f64c73e41a11fc4fb6 SHA512 a9fb2e052018eaff77617f0b9aded2e42f2e50f8ff08d273597a686376e2f621f0f7be7efbb273380155a8bbf2aed4c7f15e48b5652544122d5b9766a4dc1cc1
diff --git a/dev-python/bandit/bandit-1.7.4-r1.ebuild b/dev-python/bandit/bandit-1.7.4-r1.ebuild
deleted file mode 100644
index 769c2883561f..000000000000
--- a/dev-python/bandit/bandit-1.7.4-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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A security linter from OpenStack Security"
-HOMEPAGE="
- https://github.com/PyCQA/bandit/
- https://pypi.org/project/bandit/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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/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[${PYTHON_USEDEP}]
- ' 3.{8..10})
- )
-"
-
-distutils_enable_tests unittest
-
-PATCHES=(
- "${FILESDIR}"/${P}-tomli.patch
-)
diff --git a/dev-python/bandit/bandit-1.7.8.ebuild b/dev-python/bandit/bandit-1.7.8.ebuild
new file mode 100644
index 000000000000..6c48138a96b5
--- /dev/null
+++ b/dev-python/bandit/bandit-1.7.8.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 ~arm 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/bandit/files/bandit-1.7.4-tomli.patch b/dev-python/bandit/files/bandit-1.7.4-tomli.patch
deleted file mode 100644
index 238cc1f6d352..000000000000
--- a/dev-python/bandit/files/bandit-1.7.4-tomli.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 5a8f1050011a6eeca96c1b8a0fe1988fda97f214 Mon Sep 17 00:00:00 2001
-From: Mathieu Kniewallner <mathieu.kniewallner@gmail.com>
-Date: Fri, 25 Mar 2022 23:27:56 +0100
-Subject: [PATCH] Replace `toml` with `tomli` (#829)
-
-* Replace `toml` with `tomli`
-
-* Only require `tomli` on Python < 3.11
-
-* Update test-requirements.txt
-
-Co-authored-by: Eric Brown <ericwb@users.noreply.github.com>
----
- bandit/core/config.py | 20 ++++++++++++--------
- setup.cfg | 2 +-
- test-requirements.txt | 2 +-
- 3 files changed, 14 insertions(+), 10 deletions(-)
-
-diff --git a/bandit/core/config.py b/bandit/core/config.py
-index 7c259bcc..236f357c 100644
---- a/bandit/core/config.py
-+++ b/bandit/core/config.py
-@@ -3,13 +3,17 @@
- #
- # SPDX-License-Identifier: Apache-2.0
- import logging
-+import sys
-
- import yaml
-
--try:
-- import toml
--except ImportError:
-- toml = None
-+if sys.version_info >= (3, 11):
-+ import tomllib
-+else:
-+ try:
-+ import tomli as tomllib
-+ except ImportError:
-+ tomllib = None
-
- from bandit.core import constants
- from bandit.core import extension_loader
-@@ -34,14 +38,14 @@ def __init__(self, config_file=None):
-
- if config_file:
- try:
-- f = open(config_file)
-+ f = open(config_file, "rb")
- except OSError:
- raise utils.ConfigError(
- "Could not read config file.", config_file
- )
-
- if config_file.endswith(".toml"):
-- if toml is None:
-+ if tomllib is None:
- raise utils.ConfigError(
- "toml parser not available, reinstall with toml extra",
- config_file,
-@@ -49,8 +53,8 @@ def __init__(self, config_file=None):
-
- try:
- with f:
-- self._config = toml.load(f)["tool"]["bandit"]
-- except toml.TomlDecodeError as err:
-+ self._config = tomllib.load(f)["tool"]["bandit"]
-+ except tomllib.TOMLDecodeError as err:
- LOG.error(err)
- raise utils.ConfigError("Error parsing file.", config_file)
- else:
-diff --git a/setup.cfg b/setup.cfg
-index 5d570eea..7449f15b 100644
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -31,7 +31,7 @@ project_urls =
- yaml =
- PyYAML
- toml =
-- toml
-+ tomli>=1.1.0; python_version < "3.11"
-
- [entry_points]
- console_scripts =
diff --git a/dev-python/bandit/metadata.xml b/dev-python/bandit/metadata.xml
index 87ea544cd31c..a083c37dbb02 100644
--- a/dev-python/bandit/metadata.xml
+++ b/dev-python/bandit/metadata.xml
@@ -5,6 +5,10 @@
<email>prometheanfire@gentoo.org</email>
<name>Matthew Thode</name>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<longdescription lang="en">
Bandit is a tool designed to find common security issues in Python code. To do this Bandit processes each file, builds an AST from it, and runs appropriate plugins against the AST nodes. Once Bandit has finished scanning all the files it generates a report.
</longdescription>
diff --git a/dev-python/bareos/Manifest b/dev-python/bareos/Manifest
index d5848a643dcc..58563338c54e 100644
--- a/dev-python/bareos/Manifest
+++ b/dev-python/bareos/Manifest
@@ -1 +1,2 @@
-DIST bareos-21.1.5.tar.gz 11655244 BLAKE2B 18ef42669cfdd7a663910fa1ce9b46f12eab0aa3a2106e9877dc3d341e9a7b309c21bc1768d4873d626938fcbb2084884a85d6dcef0aa2834b117aef1034d28f SHA512 637c6c0500ff31bb2c87f27d87f908d49836191afb880de4b636432b9c20433ec6f32f5805aaa7fb57f2f99a0201c51802c8d213ee5573642698f74da4cb06b7
+DIST bareos-22.1.2.tar.gz 14746158 BLAKE2B 5d8c9c098f61bd35b11f907a3e215a7c08b504c3e529c67a4c8c5cbbf24775158966800e63efca260b4cc513417332cdf43a158d21684f09be3d89dd93258880 SHA512 76d53425b2a28f4f7887b323a70bf9b37df44302e0e25aff7156c1b3ee26ffa60bbfb45ed29a0f2fe763d5c38b8f7135ac2a3e405d8e2b10717f4893baf9c327
+DIST bareos-23.0.2.tar.gz 14724410 BLAKE2B 0fe86c10d62ad322dfbcd5ac972aec27d6f0ad31e156d359398739b2bfd784a02ce89b26b6bdfcf279265114a4e6e13efe21edab8b87cff15f1f9f3ad055c64b SHA512 a8d8270c8060480fe87da9252de86a75eea1cc427db63536f848d19a2c23c499ca294a9656d9a6aac73a756f84c96a2d72f13d1cede7948e18bf93efc2ecfc29
diff --git a/dev-python/bareos/bareos-21.1.5.ebuild b/dev-python/bareos/bareos-21.1.5.ebuild
deleted file mode 100644
index 607aaf1bf7d1..000000000000
--- a/dev-python/bareos/bareos-21.1.5.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-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.2.ebuild b/dev-python/bareos/bareos-22.1.2.ebuild
new file mode 100644
index 000000000000..16447ca3586b
--- /dev/null
+++ b/dev-python/bareos/bareos-22.1.2.ebuild
@@ -0,0 +1,18 @@
+# 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-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/bashate/bashate-2.1.1.ebuild b/dev-python/bashate/bashate-2.1.1.ebuild
index de51b4e948d5..f5ee7051717c 100644
--- a/dev-python/bashate/bashate-2.1.1.ebuild
+++ b/dev-python/bashate/bashate-2.1.1.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{10..12} )
+inherit distutils-r1 pypi
DESCRIPTION="A pep8 equivalent for bash scripts"
HOMEPAGE="https://pypi.org/project/bashate/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 arm64 x86"
BDEPEND="
>dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
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
new file mode 100644
index 000000000000..c452174b517c
--- /dev/null
+++ b/dev-python/basho-erlastic/basho-erlastic-2.1.1-r1.ebuild
@@ -0,0 +1,28 @@
+# 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="Erlang binary term codec and port interface"
+HOMEPAGE="
+ https://github.com/basho/python-erlastic/
+ https://pypi.org/project/basho-erlastic/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ "${EPYTHON}" tests.py || die
+}
diff --git a/dev-python/basho-erlastic/basho-erlastic-2.1.1.ebuild b/dev-python/basho-erlastic/basho-erlastic-2.1.1.ebuild
deleted file mode 100644
index 1c6069ce0d27..000000000000
--- a/dev-python/basho-erlastic/basho-erlastic-2.1.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=7
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Erlang binary term codec and port interface"
-HOMEPAGE="https://github.com/basho/python-erlastic/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE=""
-
-RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-
-python_test() {
- "${EPYTHON}" tests.py || die
-}
diff --git a/dev-python/bcrypt/Manifest b/dev-python/bcrypt/Manifest
index d219aad4a597..26aa1e334b59 100644
--- a/dev-python/bcrypt/Manifest
+++ b/dev-python/bcrypt/Manifest
@@ -1,50 +1,58 @@
DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
-DIST base64-0.13.0.crate 62070 BLAKE2B b957f65cdb1e28baeca0cefc92fa98be797409b7dabd15e0e88db6cdfb89779b662cba9f2270fbf3b7b66948fdc46c118b8040a78ab72049c48a928fa802bee0 SHA512 991a72999839daa232f508c5b24e7d3225e8a26db8d1d0e747881b115af9e408b92374e163b31e0b0d324c1c2e57e8e38d66861b61eb0a1dba87bb5871940151
-DIST bcrypt-0.13.0.crate 10938 BLAKE2B e23426180ef1683d08751480da3ffccfa40be5ffa92f313680b78daf66987719d84642414a47898fc7641f132a3a38f2e8e7a6b7dfef51a153ea6dd1619a141f SHA512 093178c6b3701847ca1e4619af96cdf19b1a52fa58210573bb2b7dcb6f0a368df0026bf99a1b6f8008f4b28a0938a2f2f6105841109c40f6a60a60765f26d3bf
-DIST bcrypt-4.0.1.tar.gz 25498 BLAKE2B 9918409eedcd9df037d0a2c89ef32fd960a2efd6582fa0e79124a5bb7cac90315b9d5d4168e9aa57e2ab1b41a85c72049376e9fe51da3d5bc9073951f94c81b6 SHA512 be127d37d96b4b615e7bc2ef81b0fb29df9e95a3262742a1162b1b90676205ae9b018285a1bd145d32ed32f0db4e6f7d87c9a278fd1b38cff6629fd4f85185d8
-DIST bcrypt-pbkdf-0.8.1.crate 10605 BLAKE2B 6b94598813f9899f1fbe5228e549918e935f3baa3098a8301519dd52fb42470ad908cd0dbd3e3635a05084204a334753958845a76e5ff7a4b9bc0f6063786023 SHA512 70968dd876b3d7d2d5cb4aa1d5b209ca3cb1cbb07aff98ce9dfbcfd8dacce8eddc2f61bd5404cb3824c3a557caaf03f611571f86f1dc7f849aed3ac652367823
+DIST base64-0.21.5.crate 77134 BLAKE2B 901cf92d7dd8af2bbb789ffbe60972c1fd295b16690ecebbcb500e4613afa057ab2b294bbafdcaa4007f46412825260a0711d89e55664418a503dde02c8afd1a SHA512 40b1d8470a932c8b7f31717e33bf26742c1bf920caae639b8a992f77e64d5e6d287569742c1348daa25b7325f8ca8d8a312754a743dab3932181f37149d91b16
+DIST bcrypt-0.15.0.crate 11631 BLAKE2B 47a671e252bc4c14d8323031e34b351e57d8c8d5e0683e994a792b8211cdb72432d9b1dbcdf643804fd7e1d3064beb00b0df1ca83b01991233b290ae7b61a1cf SHA512 550cd503ac96d6b12b6fb7336d78423516905f2b60fafc0fe907adac694d74ab97a25937b562d14aea2260319c97b686496e17578f817a0c18362e1dc9f8ec53
+DIST bcrypt-4.1.1.tar.gz 26080 BLAKE2B 136a1de7e61c73314c4df3c2fc6bff4a2cceaf7e8b23ad535e12f46f879c6f053643e372a106ce214e3f999246517b1467ffb2ff546d9bd147b9150de68f6249 SHA512 a6acef147f0dfc00ede36c7e5138dbeb6d8ad2e458daf51a66a46795067e9e57d139f326540de9cd99d5795d6ff53dc571a9b30453941ce4ecb9d935406a4862
+DIST bcrypt-4.1.2.tar.gz 26356 BLAKE2B ade0b4b059d71ae767142fff6e1d6af62f243ace65aa3c1219df72d88566cb7c512d0f610d91bea1ff0da02357d470d4c1548cf6cd1109269743152495b32501 SHA512 8e7e8c930b7fcc397f0bd630443b2ba1b6f5ffa6b80ce8e9ff664a7c80d8ff70ae818d7298ddc14ec4c842c121413e0b973fd99b66a7e913dbd51fdb2c79e808
+DIST bcrypt-pbkdf-0.10.0.crate 11032 BLAKE2B 9696f024b049c9d0ee4299e2086eea2d3389c47576d803d00eaccc530589c6158a845fc42afb1b59c3147ced8c9695220047fb2a4283723710011b00de511b3c SHA512 857ae23e1996c11e1e7375f18addffd60c6d02972d5856d594f0e03750065481f414addcf0c846e9f65d93c41982ca6fb3a464a4dc13fb56f67ca39e373def34
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
-DIST block-buffer-0.10.3.crate 10465 BLAKE2B 32f0089971bb759244b73a75bdbbeb2d24f0422e92ceb0ae0afe3c698e3fabb371112a2eba3dab16a3859420d492c0ac984bfbb25e59e0c31951501cc652aab7 SHA512 e29faab70f8f2965a58089728274ec34bc97d681526687868c9cb1a2c145db00717f97e77b79a04fa52bd76817d796e104b509cd2a3163085b214f8eb68ac04f
+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 cpufeatures-0.2.5.crate 11251 BLAKE2B 2724be40d3bc0e2fda957f645e1cd6472450dee68db3592ab607bdac444283f571f3c904e47981a3fdaa06cab4032734a54470e3dd6e1b67fd856daf010e1277 SHA512 d02327a27ca9fc3c587dcbd10da6b1370671cd7b1df8dfc9078b47180744d0572ef41a7ec205ae9f1c571e5b7f4bc81278ab4c6b076c6ccac0167100e346e74e
+DIST cipher-0.4.4.crate 19073 BLAKE2B 144c45c1bdc5f7aef7f4fc63b6dd85955c453537567d1f1074e436e50d0d61f8413973cf3da207a48f1560ea92f2280fc5880569c78a1dd66bf97fd1d88ccde7 SHA512 1856d8b08bc3dbd2fa5c8b97e9eae43323c7aa19203ef3e80bb49cf15b5ddc832acb7b97121a52032656353e764f1f722200b638f7c28975fec1b5c9dc908846
+DIST cpufeatures-0.2.11.crate 12727 BLAKE2B 5b91dffb779e437606db9b75d2b05c2de19069575a8272112e9a0389f5bd8de0f753cd90330b5a5bb6a3f84c9e794e96328664557db31c43853ba43097229efc SHA512 af179e269a4d5f48b50134a5e98ac541a9a0d6aa34f13fb8fd9ce8d5092352e1b322437254449ecb1bce608d8558b1cca2c79232ac1327efd887193bd1d36031
DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f
-DIST digest-0.10.5.crate 19503 BLAKE2B a73ef5f7b85869f8f6e2bd1c83f88f155ffab8ae1c687018ddd12f5806385a2664c163101aec84d4c20647a8bfd04095aa997e088a3f56e2664adabff1c5614f SHA512 3542fc0322a8b10dbc229ae83475a0df5f9beee4f879eacab1fda53a7b61136df2961265472ae66d896681bd17f8a68148b25827733bd782c6bae05d2f307951
-DIST generic-array-0.14.6.crate 15889 BLAKE2B 7beac5446f5da4d077598af43c238eb7e71a12b0b91e6be5dbfc1ca33dc21d128fc93c9c8b18caac4b88830c8c8a643f2033acaca1d9a9f3d95329d042276156 SHA512 254e6fb6658f083f26e022916795c9ebfac241b9df2d811aac8316b17e1375e1c5aa54d72f1bf6c2627a88484a7df4b14eca231c90578e9aa3d9997047fa0f20
-DIST getrandom-0.2.7.crate 28854 BLAKE2B 30c054361c9b1d9f95bc505e27e98d8cbb685f37c91437948d9d26f22028e0797a7c704d88912c1648b3704bfe10623a8c5e130e81746c8f85848b831771db80 SHA512 01803e609848662ad8650cf451dfc2c37580da0b7b5e0d4cc764da6ded253cf49ae42a433b1c53e89773bde00c1ccc136394e58ed4548e7b5c0ca7e202e857e1
-DIST indoc-0.3.6.crate 9663 BLAKE2B ca7a1f4d3cbedbee0ba0a3f19c4b3352ff90927eef744b7e4f1d60855d4dc4265202972e81e0fc06d1222d8d5fb322efc4ef669af7396b251248a1e45c91def2 SHA512 e900aa3b001df0fdbf1f543d8b679af317e85a1f95e26fc556213f2826a4f6c82d8c4f3f82de435e3591f8bc14e78eb22668d901dcbe2287f46740e0291afacd
-DIST indoc-impl-0.3.6.crate 7933 BLAKE2B 93e232e360e8f02943ef9a9cabf16bc863d792d8096b8d9a13a07f0b7b396db590abf83b5444f082317059dad7578ffae974dbc8a7e56fbdbab817b7d2534725 SHA512 18406587ee56a09dd2062cee456af697efa903343de42c0ff618a64ddf2bf7efed5da02e7220fed2636c555a6ae18059018f5c3c9b44ba8d3e5a34ea5b53c806
+DIST digest-0.10.7.crate 19557 BLAKE2B 61e69d78cb8d6850ae26ad7ff2d52dd6dce820d8c621230def11cc0e8aa6d883a6e1b25340fb45748db52a8ccf3c8d36a8aa0c8cdf4d4eeb4e3f870d86abe09a SHA512 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c
+DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d
+DIST getrandom-0.2.11.crate 35391 BLAKE2B cc3af20769f8effebcd6fe4f48bb762211f78cfad016b796ce4b6b83a25d0a758ecee4352af18ef97e84c17fb4efb0c7bf113b53d2dd30eaa32067fed97978fa SHA512 2230c219e1080b4b13f207bdfd54b1acff37d9e5fec5263ec9952df9c0279939b231c722b54524deab85002caf1047a471f3fba8090428d918e99d53edf82345
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
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 lock_api-0.4.9.crate 25685 BLAKE2B 8adf5c3cccebdf6aff6ec977f230cd2a208b0b188ef57deacbbc6019431f0ede1a760b2384ba3cb49c96b8a589dc56c0f46a6359b3e62277e7ae1a1c3f586fa3 SHA512 9215381d9bb6b80d217c73a900db43df043b3e939b5bd7a292a02e9ab911cf0eacd8f883d35bdf72b3a0e78df8f1bc3e843ca4c775294c7a7a03091dc1a74990
-DIST once_cell-1.15.0.crate 31460 BLAKE2B ae4481883865abe6a684d63520fb2e91b64d6ccdd0374464200015640122bd68b8a769309773226c8a31d0119f450ee821a2bd35c346fd86adb4474ea7c28fcf SHA512 934a7c3631e9ca4fa78d9577b6672ca0b2f926a8d6c3be9542b906c5968033446f98f76ae6f368a1a5b92ab9064c31a57d74ab6d2097108029a7ea951541ff7e
-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-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 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 pyo3-0.15.2.crate 371382 BLAKE2B 79b813eca0818bf79e0e1c118c952219f16f1fe22a0ab1aaaac0499a5048ebbc27326bdd2d96054e410ef116866250464aa4e4d8e91bb733f915f77536bf0f05 SHA512 81595bf2b5d2b3a4e79750f0779c142fe7c3e7185f9ffa68a83fce30062ae6812d7af71bee425206552c95839ad7473408f658ff936d4a1f58fd1ac922822582
-DIST pyo3-build-config-0.15.2.crate 22235 BLAKE2B 35355ee30242b7e95426920e7f108fd7f32aa86f2949bb388139ed84ac0a8da2adbc05a5ecaf3beb89525d0c7a4e25ca8e33e9f35e324cbd970f6b4dbe5fbfdf SHA512 e05e68bc54bc7287d3fb037251767dcbcb512e3cae29948507deb7e0ca18ec4d7fd5d598f1dca1a595b6edcd5395fb443189fe56724e67ef68422bf050b10324
-DIST pyo3-macros-0.15.2.crate 7596 BLAKE2B f8ab6ba53354705617ad88a2db693e38596d563f14e5481141b913595f367cf43fdb438c077c89b22a60fb0cccba7d67e79f9528af25c626ec7d8ba2c2ae3825 SHA512 4a40fae4362aa811996d9ff94ff7bfb645396eccffe13fbfc1fff70ada80db56f1a03630cadffca4ff6e156f04c052e82e059d72541d720abbf0ab18f2a7057e
-DIST pyo3-macros-backend-0.15.2.crate 46112 BLAKE2B f3efd72d375f709efca7366f702837222b3bde498a89750a9184437ac495cab031f12f83a062329ea3907e264ec0782523656e15cbe3eb03bc0535fe438a3e4d SHA512 5c3be99d863764376c3f66de304de8b36548cd99fae8ac40c548b3d467b6bdfcd683c53b4cd1aba26b1730c6b9214c36b1723a5d1299265734e67ea791918c82
-DIST quote-1.0.21.crate 28030 BLAKE2B 547344ba9272874f5fbb4bd27a69ef5be99823e10e1318afe71971b18f37e9c73d54168f16efb82c53a332e4874c80a82ea951fb2c85fad50cdfe783622b79fc SHA512 0728eb4df7e1f7c4d32ab08c901c2c969db8eb46b03bcec3e4956a4f6b360939d32abc6b6ebd7a31058e8e9b69c3d995a24cb484f93656f05b4ee963be1c74fc
-DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27
-DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
-DIST sha2-0.10.6.crate 20558 BLAKE2B ceae6f1e28606371f93f5e4fd617b2cb057ed9aa4aa2d81bf4c6af4ca47d639a51f50d0fe4fa77667022c770056d6d711beb4835b2341ae0a8d667f11a4a51a3 SHA512 38dea4c300ea8dee22587ab0af6d66dbde824e1cb071e02e7790bf978efff6bdb6d4076d61c5acb38e86e69261a65811a7bd0182299d53ef053202ee54d2b05c
-DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
-DIST subtle-2.4.1.crate 12630 BLAKE2B 05a90232bfdc2cf67522e2972bddcd8dc9a165b1d1cf775d0b1c8358fc7c4d0559b2b899126b6688b8ef77b8b7580b3b300f74a599a7ee77f99c064a3917693b SHA512 7fd8234b7ffa3ca7e473539cad958df0842186e1dd735905e0d4977564f40a5f2e18b58180fcbe52614a00964dc150bd9f6964500847ea658f22bffe030f5c6a
-DIST syn-1.0.102.crate 235699 BLAKE2B b29d1b0ab878eda45c486bce03e1b341eb2c69718201e662d81c131ead2bb5c5abffad848d9cd8d2e45a995dbb4d6a185173b5680973971e0c33bdd9fe43dfe8 SHA512 c9a2b2cf216c3d821decd488ebb49743f2f43940a879856e3a15d2352843c405e6f164c11225e904d18b32a5cd2bd7fcdfa74df40ec5567faeedffe5f523989c
-DIST typenum-1.15.0.crate 40741 BLAKE2B 5752d80396d0a37b0069b98ace9efe96d94ccaf41b33b8149c8b8c6a767537dbffe64251bbf61f3812465ecbc8cb45544f177dc97ac9735d84454282e4d1ed66 SHA512 a3c1ceac85e1aed98d0829449c35f4f36db860218b955b4e5f8f01da1d27ee6213f3c60e2b25c3745dcd67369049da5de737a9473fa9402db99cf7cddeb42288
-DIST unicode-ident-1.0.4.crate 35491 BLAKE2B b92d4f09ec86fe1e0b403b8cb0787989c313f29e6b24961fc2ca046ee5e3b50f43f49469a290880412dd37fc1b46cbeb9123e9636e1f39e425f722a5aa44ad08 SHA512 db41d5c3f72cfaf654b4c250e18ac0ac077a816fd582f1548ed384653f467c15f85fcfbbb4ed2f9e8182587181abf1db14059d50f3e43b60434ddf38c8f65d89
-DIST unindent-0.1.10.crate 7703 BLAKE2B 75458d7f21ded1eca4bb3f7f55b2fa73bf92b2309316eca1b2ffaa0c9f8d7cd8c7851b96688f6597f4af6973f70e9053c2708c1228fa6a9784e41c778488c4b7 SHA512 46ff1a2c042972af2fe5958677b2fa5adf3b9edbb168bd66cc93baf9d1b128f583d9502b83f174b35866343b57a57c8a91a465eab267dddae919af24095bf6bd
+DIST libc-0.2.150.crate 719359 BLAKE2B d08e17fb29992c76337bb5862cbc1cdaf7b9d7749cd65021f145fcf49fa7954d6251c8c2f3c9a796b46283c3bc014bccfd259ea52824459841911ad847fd7f5a SHA512 7ae8fe6a1db38ac6d951c0b4880d25a02f064f5e61d6057c20f7208dec8395d58efd085e41857bcf5f4da2b014d2952dc4ddaf18ac4acd3a23675bb659e70385
+DIST libc-0.2.151.crate 736640 BLAKE2B ba8ea6d22b0eefdc5c1c5ee9fab960b6ea0eb7098a21b032563ec78b5d6e2a8f1d7ca4d5bb721c71de2c5de28e105029f229b9b03cd5168c78a65c7164e6d07d SHA512 2039bdfd704c5a876ff7d609622bb968260d6e0fd264ca457e92b75660503eca10e1ff21864b3c919d2656de521f03ef443895f5c0150271ae2502857742b0ec
+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.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.9.crate 32445 BLAKE2B 811d8de671bf6e0911cf0df7dcaee4fb03a3b223173a3bb8cee65a28724eeb7bac87f62aa7b1df5ea3fc93af3cee3ef30b83d06c6773d6b856a7e6fa5fa197ea SHA512 7f0df70f9f1ca8d3da0b9dcc96e49daf05d95c3a995289266b5333f68818d686d32b0c733dfe3a0f62da78fa45caa843a963923b2d0c80899c33413dc749c032
+DIST pbkdf2-0.12.2.crate 13906 BLAKE2B 062731ec8623719543e497dbfc23b909c8cc62a521ba927f5cb628290c1b3898a0b6ca7677d733b2eb0c563d7af4018981f4ae533b5b3a23c312ce98119eae6c SHA512 5360a661db8ef11586badfa2623dc409e34f3e2f79254cebcb5fb68bfb20c3be47def7bbb16f7779facb42a92bb789cf0e71947d1c4c6f5b1ecb8d358f6b41ef
+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 sha2-0.10.8.crate 26357 BLAKE2B 1d01b381223a931dc631ad3a1191f5378b1d2f3f9f20474c5f020e366624c73b08330ce8dc4bdd3e63b15f647276f533de655b545b77f70fbedc1a1846f44f0a SHA512 3be73133a6b7690e14acaead47914dc92395dca4191fb657a2ea186fefd0ccd94d12a1121d63a26027d9a9c62b775c53202473edc461587b9dcd75472af77785
+DIST smallvec-1.11.2.crate 34801 BLAKE2B 58645e99db8f02db64d02c75860c7ea41836c427c03ee3b0b23365e73a406e4fd6ac312bf13fc5faef8bb6111c10fcfd5f839d5b3686e9b34d1626f8469fc327 SHA512 5cfb427c3b99b0dbd71f6154ed899abcde9d7d2992977ac7b2ef3a4c3ff51e4efafd133071a69609b4ed6cb269bdc26b79eb72e1988f10dfcaef8185d950cd1d
+DIST subtle-2.5.0.crate 13909 BLAKE2B 660c3a472ca54c9843ce3feea74b802e27fd7f62dd37a30e2a4ba82e4b3a71df63562e8865d5fc675d31d0900998a8730503f91a61450884446a3bdd6af0041b SHA512 f150b1e2037554f8cd3213a54ddbc258f8f670cc4f39e7084cdea4b47538dbc58b834bc93b443d58a4b9087224efc003234042aaf366687dbd32b1e7174082a0
+DIST syn-2.0.39.crate 244129 BLAKE2B 2cff6626624d03f70f1662af45a8644c28a9f92e2dfe38999bef3ba4a4c1ce825ae598277e9cb7abd5585eebfb17b239effc8d0bbf1c6ac196499f0d288e5e01 SHA512 96cc347cfdb0f9ca0b6c7289279a1cad8fc401625783742292564f7ceca8237ced8d9a3f62069696f6132ed06092dff2baaf4be09ef53b21260d93785b0e27c3
+DIST syn-2.0.41.crate 246016 BLAKE2B 9d389f2e2a0acb4c84c309456e8ffcc88c5d4d541535ed136832d7a6054dde45a598bb68e8a6f3062ca2a96e1ceae947d54b3aec9bad65b0c51d6733aa6c80db SHA512 6bbaf69ca783025dfb81ac3612ac60bfbed31b2d87792909b35c12892dadebdaff2ddf9463105e536b671dce5870610ab90fe29471284bbd3014dca8d6993f1a
+DIST target-lexicon-0.12.12.crate 25156 BLAKE2B f3803596c75f6c89438592a1176c3748fc2c0524d7d50a20056de1cd26d40c572b05bafcdf6dd702752864bea37c8b4f28f96dadc12a5b3bb1d279b25e489f85 SHA512 6147295c43ba1b7b087a3c5ab51534b2985e4e77e5e15687978cfb9d07e21c4fd9bc7191576d6cabd268d08a44dc733c4a957e59dba8b948c2055d8bb433aeca
+DIST typenum-1.17.0.crate 42849 BLAKE2B a6d1162050679e2c4ab2467f3a77d301f6861882eb7c9749f31d047f383dd5bd2ed5846ad63eed99ccc04d6ac36cc697a305861e1d65880b4d2ef04ee0a79b94 SHA512 99773d5d9f850c0602db4bb67dd062b0ade6f086e155216f1bb2fb6569461ba7e1b7c2f2af81ea8833bc3bfcf3fe5033edecb7c438adae63f59d3e30cf63a508
+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 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 zeroize-1.5.7.crate 18861 BLAKE2B 5f203d91aae732b928e2acd02656a486f0f930b8daea96b927552f5790862489d83c7bd48b0c7c62a3273e7a04833a16149ce489847f17fbb037e88922d359a2 SHA512 e0688681bceba324d36ea4dc552791801dc93b5882d106b79dd317af99cb718b711899bfd09917a811d23096693448801e64f0651bd9eeae7895618821d88fa9
+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.7.0.crate 19039 BLAKE2B 2f94a5025f409bd2b96a456d2f78a34c6b05b5554abe7ef3fad2a55a8fcff8a6a1b971be660aa4c2954ab7d6e89bebc431036e349edef74711292f9f64b1dbae SHA512 9d31e3e76e8c861309a3579c21f6da5fd6b056c7d7a350427445a1a832e8827204804783f7f9b808acaa2148efef883d9078bf84943b1db55526bba5bf5a2756
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 0be9be39335e..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
-
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-DISTUTILS_USE_PEP517=setuptools
-
-CRATES="
- autocfg-1.1.0
- base64-0.13.0
- bcrypt-0.13.0
- bcrypt-pbkdf-0.8.1
- 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-0.3.6
- indoc-impl-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-0.1.18
- paste-impl-0.1.18
- pbkdf2-0.10.1
- proc-macro-hack-0.5.19
- proc-macro2-1.0.46
- pyo3-0.15.2
- pyo3-build-config-0.15.2
- pyo3-macros-0.15.2
- pyo3-macros-backend-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-0.3.9
- winapi-i686-pc-windows-gnu-0.4.0
- winapi-x86_64-pc-windows-gnu-0.4.0
- zeroize-1.5.7
-"
-
-inherit cargo distutils-r1
-
-DESCRIPTION="Modern password hashing for software and servers"
-HOMEPAGE="
- https://github.com/pyca/bcrypt/
- https://pypi.org/project/bcrypt/
-"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- $(cargo_crate_uris)
-"
-
-SLOT="0"
-LICENSE="Apache-2.0"
-LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016"
-LICENSE+=" Unlicense"
-KEYWORDS="amd64 arm arm64 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
new file mode 100644
index 000000000000..9fd299526b19
--- /dev/null
+++ b/dev-python/bcrypt/bcrypt-4.1.1.ebuild
@@ -0,0 +1,90 @@
+# 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.2.ebuild b/dev-python/bcrypt/bcrypt-4.1.2.ebuild
new file mode 100644
index 000000000000..aec5818cf956
--- /dev/null
+++ b/dev-python/bcrypt/bcrypt-4.1.2.ebuild
@@ -0,0 +1,95 @@
+# 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 )
+
+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.151
+ 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
+ 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.41
+ 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
+
+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 70e5f9a5d206..be3bc8bb4e7f 100644
--- a/dev-python/beagle/beagle-0.3.0-r1.ebuild
+++ b/dev-python/beagle/beagle-0.3.0-r1.ebuild
@@ -1,16 +1,15 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 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} )
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{9..12} )
+inherit distutils-r1 pypi
DESCRIPTION="Command line client for Hound, the code search tool"
HOMEPAGE="https://beagle-hound.readthedocs.io/en/latest/
https://github.com/beaglecli/beagle"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
diff --git a/dev-python/beartype/Manifest b/dev-python/beartype/Manifest
index 1ee0086d2d5a..7479924ae938 100644
--- a/dev-python/beartype/Manifest
+++ b/dev-python/beartype/Manifest
@@ -1 +1,4 @@
-DIST beartype-0.12.0.gh.tar.gz 874431 BLAKE2B 0ad2a6c852b32427f8f9c5a8915e580601b24551e956d458a64cda4127bffe91a94ff676e2284daed6671e2c94515a234fd74dcb3d8a78616665490d1a780910 SHA512 2724f080a0f423a8b79b080843db696ee607f2e27ef52d726928086b643ebb31abe4e3ae24cae12075e222a21291d301601606640ca281ff98272578d5bf752e
+DIST beartype-0.17.2.tar.gz 1133779 BLAKE2B 61cb21511cbf9274e6e3eb1441bd32eb068b722c4fec1accadeed7aeaf8d26748a4b0adc79e8b9c45bfa8048ccffeef8e2e3506a2b651612b8fcdc6bb6c2953a SHA512 90953abeb80b512a0e127e24f7896b350a243d8593a3d9f0b8508f0e5e8595a8b85a8b28326c2c15dd12779adeb74d1b8637cb646b1e27fea8c95b8d4811d804
+DIST beartype-0.18.0.tar.gz 1173664 BLAKE2B 8c5a1131ccc06ef43e354ef9300ed4f170a8d7b9df4b435345c7e5ec4b7637c0b605c525f3c00033d32425dc9b1e2ae853f5662418053f77939671d113c25f0e SHA512 304dda79941bb458445c63e05d447896c2f8b49db95787fe059b6b25f4aa863fc1cbee1e1b13af22dfe22c2359c83da61632ced03ee4391832ffbf88b5f541a1
+DIST beartype-0.18.2.tar.gz 1174624 BLAKE2B c3099c5569bf6090b33e637c1cacb829900705ad838ad24413cedce96cfb6c7e3ad8cf3d92741ef83f7b88eb3c056c0efff3ebf1f77c9c970193f3873629e398 SHA512 ff26366d210b365fab10af77018ab64ec77d7beed14eb8de5da5711f170b95f862ed5070f7b3aa7a1e66355745309829305cd9db2020b39eae806e0e2af85014
+DIST beartype-0.18.3.tar.gz 1187710 BLAKE2B 01ccf33585b8b8ff457ff5c039aac5128ac237ff866a63593fc22bb4eef22291a3b7829cbb46a9350e88755e81c5e5d3bbabebb4c590e10c5818f6ab2dd15402 SHA512 05ae3e528f415a78e0ffc64be34835f3dd432ec387fccbbe18dadd73b4d2684b749c782e70c291830021c4ab10e6716fe25079e489929e54eef32fb4866a45dc
diff --git a/dev-python/beartype/beartype-0.12.0.ebuild b/dev-python/beartype/beartype-0.12.0.ebuild
deleted file mode 100644
index b5b5c8c7f555..000000000000
--- a/dev-python/beartype/beartype-0.12.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Unbearably fast runtime type checking in pure Python"
-HOMEPAGE="
- https://pypi.org/project/beartype/
- https://github.com/beartype/beartype
-"
-SRC_URI="
- https://github.com/beartype/beartype/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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
-)
diff --git a/dev-python/beartype/beartype-0.17.2.ebuild b/dev-python/beartype/beartype-0.17.2.ebuild
new file mode 100644
index 000000000000..cf8363a1d705
--- /dev/null
+++ b/dev-python/beartype/beartype-0.17.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=( 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/beartype/beartype-0.18.0.ebuild b/dev-python/beartype/beartype-0.18.0.ebuild
new file mode 100644
index 000000000000..8337b30a5732
--- /dev/null
+++ b/dev-python/beartype/beartype-0.18.0.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/beartype/beartype-0.18.2.ebuild b/dev-python/beartype/beartype-0.18.2.ebuild
new file mode 100644
index 000000000000..8337b30a5732
--- /dev/null
+++ b/dev-python/beartype/beartype-0.18.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=( 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/beartype/beartype-0.18.3.ebuild b/dev-python/beartype/beartype-0.18.3.ebuild
new file mode 100644
index 000000000000..8337b30a5732
--- /dev/null
+++ b/dev-python/beartype/beartype-0.18.3.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 c417a2b0a8dc..ac78ef0aa60f 100644
--- a/dev-python/beautifulsoup4/Manifest
+++ b/dev-python/beautifulsoup4/Manifest
@@ -1 +1 @@
-DIST beautifulsoup4-4.11.1.tar.gz 517113 BLAKE2B bc0cc8dbb1bffca2d3441a274147f201b79447f2147f7b4c329f05f6d230f9986eebd3709199d0b3c7dba8c15e4ce42e9dc75e290a2bfdfdae643f5dfe07e767 SHA512 7446be07cd55f23def929e6491f0d74a940cf50206ed520b8ae7b9d57bd19ecf6aa821f446ca4f26f1e08b43fcc71fb397886f51a3f0ec691f9e53dfdc7a0cf8
+DIST beautifulsoup4-4.12.3.tar.gz 581181 BLAKE2B dac85b2d56ad1d2faf040def2141cb7a7ca68def7fc48fab18e11c23878795fcecfdd43058e70229e014e23e67f56a55160aa4ba08bab4b3d955bd10a07c8168 SHA512 b5b6cc9f64a97fa52b9a2ee1265aa215db476e705d3d79e49301de7e8d36c56c96924cb440eec0715f7ec75c5ddf4c1ade9d6cef7cdc9bf9e37125ac6eb50837
diff --git a/dev-python/beautifulsoup4/beautifulsoup4-4.11.1.ebuild b/dev-python/beautifulsoup4/beautifulsoup4-4.11.1.ebuild
deleted file mode 100644
index 6168507d30bd..000000000000
--- a/dev-python/beautifulsoup4/beautifulsoup4-4.11.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Pythonic idioms for iterating, searching, and modifying an HTML/XML parse tree"
-HOMEPAGE="https://www.crummy.com/software/BeautifulSoup/bs4/"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.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/soupsieve[${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..f4bc6d694e2c
--- /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..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/
+ 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/beniget-0.4.1-r1.ebuild b/dev-python/beniget/beniget-0.4.1-r1.ebuild
index e60c6108fde4..2724ad10c0f4 100644
--- a/dev-python/beniget/beniget-0.4.1-r1.ebuild
+++ b/dev-python/beniget/beniget-0.4.1-r1.ebuild
@@ -3,22 +3,31 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+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/"
+ https://github.com/serge-sans-paille/beniget/
+"
SRC_URI="
https://github.com/serge-sans-paille/beniget/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz"
+ -> ${P}.gh.tar.gz
+"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ =dev-python/gast-0.5*[${PYTHON_USEDEP}]
+"
-RDEPEND="=dev-python/gast-0.5*[${PYTHON_USEDEP}]"
+distutils_enable_tests unittest
-distutils_enable_tests setup.py
+python_test() {
+ eunittest -s tests -p '*.py'
+}
diff --git a/dev-python/berkeleydb/Manifest b/dev-python/berkeleydb/Manifest
deleted file mode 100644
index af28b42c39bd..000000000000
--- a/dev-python/berkeleydb/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST berkeleydb-18.1.5.tar.xz 138488 BLAKE2B 1131509f30316469cfed30abdbd672ab73ef7dfc957e16935d04066b4a2efeb3c777ae4f70f821a29f4d8b8b51d649998735eb412639cc52997c9ee4a98c51db SHA512 c7a51e96cf32b74188b0cb4ed1d8b87436b30dc4929ba22180677ffb5eacd455a67eb5a231c814fc46ccc4c6a5da2f41876a343228969eab988bb0766d40a751
diff --git a/dev-python/berkeleydb/berkeleydb-18.1.5.ebuild b/dev-python/berkeleydb/berkeleydb-18.1.5.ebuild
deleted file mode 100644
index fc5d886754b3..000000000000
--- a/dev-python/berkeleydb/berkeleydb-18.1.5.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-PYTHON_REQ_USE="threads(+)"
-DISTUTILS_IN_SOURCE_BUILD=1
-inherit db-use flag-o-matic distutils-r1
-
-# Tests aren't included in PyPi tarballs, so just manually clone from upstream
-# at https://hg.jcea.es/pybsddb/ and prepare out tarball
-
-DESCRIPTION="Python bindings for Oracle Berkeley DB"
-HOMEPAGE="https://www.jcea.es/programacion/pybsddb.htm https://pypi.org/project/berkeleydb/"
-SRC_URI="https://dev.gentoo.org/~arthurzam/distfiles/dev-python/${PN}/${P}.tar.xz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
-
-RDEPEND="
- || (
- sys-libs/db:6.2
- sys-libs/db:5.3
- sys-libs/db:4.8
- )"
-DEPEND="${RDEPEND}"
-
-python_prepare_all() {
- # This list should be kept in sync with setup3.py.
- if [[ -z ${DB_VER} ]]; then
- for DB_VER in 6.2 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 setup3.py || die
-
- # rename to bypass name conflict with builtin test module
- mv test.py test3.py || die
-
- # Adjust test3.py to look in build/lib.
- sed -e "s/'lib.%s' % PLAT_SPEC/'lib'/" -i 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
-
- if use ia64; then
- # bug #814179
- append-flags -fno-optimize-sibling-calls
- fi
-}
-
-python_test() {
- "${EPYTHON}" test3.py -vv || die "Testing failed with ${EPYTHON}"
-}
diff --git a/dev-python/berkeleydb/metadata.xml b/dev-python/berkeleydb/metadata.xml
deleted file mode 100644
index 13dbb5909e0a..000000000000
--- a/dev-python/berkeleydb/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="person">
- <email>arthurzam@gentoo.org</email>
- <name>Arthur Zamarin</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">berkeleydb</remote-id>
- </upstream>
-</pkgmetadata>
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
new file mode 100644
index 000000000000..476a51cbc648
--- /dev/null
+++ b/dev-python/betamax-matchers/betamax-matchers-0.4.0-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 group of experimental matchers for Betamax"
+HOMEPAGE="
+ https://github.com/betamaxpy/betamax_matchers/
+ https://pypi.org/project/betamax-matchers/
+"
+SRC_URI="
+ https://github.com/betamaxpy/betamax_matchers/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/${P/-/_}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/betamax-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-toolbelt-0.4.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/betamax-matchers/betamax-matchers-0.4.0.ebuild b/dev-python/betamax-matchers/betamax-matchers-0.4.0.ebuild
deleted file mode 100644
index 2b98c63498ac..000000000000
--- a/dev-python/betamax-matchers/betamax-matchers-0.4.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A group of experimental matchers for Betamax"
-HOMEPAGE="https://github.com/betamaxpy/betamax_matchers"
-SRC_URI="
- https://github.com/betamaxpy/betamax_matchers/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${P/-/_}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/betamax-0.3.2[${PYTHON_USEDEP}]
- >=dev-python/requests-toolbelt-0.4.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/betamax-matchers/metadata.xml b/dev-python/betamax-matchers/metadata.xml
index 1c30c7b3c582..7e3bb5cf9304 100644
--- a/dev-python/betamax-matchers/metadata.xml
+++ b/dev-python/betamax-matchers/metadata.xml
@@ -8,6 +8,7 @@
<email>python@gentoo.org</email>
</maintainer>
<upstream>
+ <remote-id type="github">betamaxpy/betamax_matchers</remote-id>
<remote-id type="pypi">betamax-matchers</remote-id>
</upstream>
</pkgmetadata>
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-r1.ebuild b/dev-python/betamax/betamax-0.8.1-r1.ebuild
deleted file mode 100644
index 7768aab10907..000000000000
--- a/dev-python/betamax/betamax-0.8.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=( python3_{9..11} pypy3 )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-DESCRIPTION="python-requests HTTP exchanges recorder"
-HOMEPAGE="
- https://github.com/betamaxpy/betamax/
- https://pypi.org/project/betamax/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.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/requests[${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..b669857f9f9f
--- /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..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"
+
+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/betamax/metadata.xml b/dev-python/betamax/metadata.xml
index 63209eaf0f89..e0a83bb62561 100644
--- a/dev-python/betamax/metadata.xml
+++ b/dev-python/betamax/metadata.xml
@@ -6,6 +6,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">betamaxpy/betamax</remote-id>
<remote-id type="pypi">betamax</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/bibtexparser/Manifest b/dev-python/bibtexparser/Manifest
index 07239be70e26..26ee0e990245 100644
--- a/dev-python/bibtexparser/Manifest
+++ b/dev-python/bibtexparser/Manifest
@@ -1 +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 6bc62157716c..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_{9..11} )
-
-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
new file mode 100644
index 000000000000..6a85cbc2b4b7
--- /dev/null
+++ b/dev-python/bibtexparser/bibtexparser-1.4.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/binaryornot/Manifest b/dev-python/binaryornot/Manifest
index 9e37c8c0ebdb..e37ca0fcbdb4 100644
--- a/dev-python/binaryornot/Manifest
+++ b/dev-python/binaryornot/Manifest
@@ -1 +1 @@
-DIST binaryornot-0.4.4.r1.tar.gz 371054 BLAKE2B 4a70e22eba51a266987308e8d1b4571ace5760f945920194a1a61f4336f33dcb655c4f0b1f760aa3502834d29a1a64ac62657e5d73eac8f1d7d02edf71db8af9 SHA512 379e71b41824b9389ea02c64223e26c57694d07b749c197e3a6b9f10558c8d502e9b93a13ae6c3a4bca49064ffc650ce822073dc312fb06e50e06b8a3f04f419
+DIST binaryornot-0.4.4.tar.gz 371054 BLAKE2B 4a70e22eba51a266987308e8d1b4571ace5760f945920194a1a61f4336f33dcb655c4f0b1f760aa3502834d29a1a64ac62657e5d73eac8f1d7d02edf71db8af9 SHA512 379e71b41824b9389ea02c64223e26c57694d07b749c197e3a6b9f10558c8d502e9b93a13ae6c3a4bca49064ffc650ce822073dc312fb06e50e06b8a3f04f419
diff --git a/dev-python/binaryornot/binaryornot-0.4.4-r2.ebuild b/dev-python/binaryornot/binaryornot-0.4.4-r2.ebuild
deleted file mode 100644
index a07543960284..000000000000
--- a/dev-python/binaryornot/binaryornot-0.4.4-r2.ebuild
+++ /dev/null
@@ -1,29 +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="Ultra-lightweight pure Python package to guess whether a file is binary or text"
-HOMEPAGE="https://github.com/audreyfeldroy/binaryornot"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz -> ${P}.r1.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~riscv x86"
-
-RDEPEND=">=dev-python/chardet-3.0.2[${PYTHON_USEDEP}]"
-BDEPEND="test? ( dev-python/hypothesis[${PYTHON_USEDEP}] )"
-
-DOCS=( README.rst HISTORY.rst CONTRIBUTING.rst )
-
-PATCHES=(
- # https://github.com/audreyr/binaryornot/commit/38dee57986c6679d9936a1da6f6c8182da3734f8
- "${FILESDIR}"/${P}-tests.patch
-)
-
-distutils_enable_tests unittest
-distutils_enable_sphinx docs
diff --git a/dev-python/binaryornot/binaryornot-0.4.4-r3.ebuild b/dev-python/binaryornot/binaryornot-0.4.4-r3.ebuild
new file mode 100644
index 000000000000..95551cbc16aa
--- /dev/null
+++ b/dev-python/binaryornot/binaryornot-0.4.4-r3.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 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="Ultra-lightweight pure Python package to guess whether a file is binary or text"
+HOMEPAGE="
+ https://github.com/binaryornot/binaryornot
+ https://pypi.org/project/binaryornot/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/chardet-3.0.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( README.rst HISTORY.rst CONTRIBUTING.rst )
+
+PATCHES=(
+ # https://github.com/audreyr/binaryornot/commit/38dee57986c6679d9936a1da6f6c8182da3734f8
+ "${FILESDIR}"/${P}-tests.patch
+)
+
+distutils_enable_tests unittest
+distutils_enable_sphinx docs
diff --git a/dev-python/binaryornot/metadata.xml b/dev-python/binaryornot/metadata.xml
index 829f66a51517..9adc295faf30 100644
--- a/dev-python/binaryornot/metadata.xml
+++ b/dev-python/binaryornot/metadata.xml
@@ -7,7 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="github">audreyfeldroy/binaryornot</remote-id>
+ <remote-id type="github">binaryornot/binaryornot</remote-id>
<remote-id type="pypi">binaryornot</remote-id>
</upstream>
</pkgmetadata>
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..39510f7e824c
--- /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..12} )
+
+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..6623abb2ffdb
--- /dev/null
+++ b/dev-python/bincopy/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <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 9ffb72759da8..09be655b3ee4 100644
--- a/dev-python/bitarray/Manifest
+++ b/dev-python/bitarray/Manifest
@@ -1,3 +1 @@
-DIST bitarray-2.6.0.tar.gz 102780 BLAKE2B aaabaa2e59f54970087224a569e793705d8753901b0fc93e9a40a0ae2466940768e8f547fe25b32c0194893bf5baa77851bcf1608d3f18d9b1d5c11f70579dec SHA512 c4deeee54af884dc9200ffe80a7788db64478383f1210ab7e3aa2adf94809d2e38ae817bf11611f49373b12ebfe23cbe5287786da08475cf9761fd8345c554d7
-DIST bitarray-2.6.1.tar.gz 103605 BLAKE2B 3946f66330378010251465fc839dcf73f345f0993c3ddb99f53bb7aadc8616bacdb2dea3b48bedb3cf22145f4bf13b7f5a49d9e96f8371c0d0fcdbf967e18732 SHA512 3ed53e6d98c12b5dc2b6bd9d444846a5ca36d94402462e009da431cd39b06571df9d2de3c4c4c3f3ab883c42b6254edb5e1bb41b4374e33b7df46e0cc1720e3f
-DIST bitarray-2.6.2.tar.gz 103565 BLAKE2B 07aef624bc7d36e0631082688f9803f7fb3d4c2fcb9d8ac7af0d207e56f8229c1e6a7e6ac7c0639d88b55f6d27f697cd6e4ece5cd0768d2624ac94eedabb0c60 SHA512 21a10fcc174b3e705551a6cfcf6e1b4ccb899c9d9a69e273e3c49528bcc5d889eac0dc3dbffc1f55fa561a091f8d11f3246035499cb9168192a03c6af034bd82
+DIST bitarray-2.9.2.tar.gz 132825 BLAKE2B dcd574f5273a876e8010513a433fbf657a0cdb37899b470ec4ba07d64af075a6d1660390e6dc040361537d115d4dc2abb9e21aa26601b5d8d9511a40408f7fc4 SHA512 fe7ea6fa35de53a0cbd1042cf7a596080690b94771d160b6659f085c969d29d8f816ffda14d3b3a16fb398573410cfdb53183704cf846e94af942b6dad9708fb
diff --git a/dev-python/bitarray/bitarray-2.6.0.ebuild b/dev-python/bitarray/bitarray-2.6.0.ebuild
deleted file mode 100644
index 1c38b679c12e..000000000000
--- a/dev-python/bitarray/bitarray-2.6.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Efficient arrays of booleans -- C extension"
-HOMEPAGE="
- https://github.com/ilanschnell/bitarray/
- https://pypi.org/project/bitarray/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="PSF-2"
-KEYWORDS="amd64 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.6.1.ebuild b/dev-python/bitarray/bitarray-2.6.1.ebuild
deleted file mode 100644
index 3f58f0209420..000000000000
--- a/dev-python/bitarray/bitarray-2.6.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Efficient arrays of booleans -- C extension"
-HOMEPAGE="
- https://github.com/ilanschnell/bitarray/
- https://pypi.org/project/bitarray/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="PSF-2"
-KEYWORDS="~amd64 ~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.6.2.ebuild b/dev-python/bitarray/bitarray-2.6.2.ebuild
deleted file mode 100644
index 3f58f0209420..000000000000
--- a/dev-python/bitarray/bitarray-2.6.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Efficient arrays of booleans -- C extension"
-HOMEPAGE="
- https://github.com/ilanschnell/bitarray/
- https://pypi.org/project/bitarray/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="PSF-2"
-KEYWORDS="~amd64 ~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..a667d90d5991
--- /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..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/bitstring/Manifest b/dev-python/bitstring/Manifest
index da64d2dfa855..b39bf8442961 100644
--- a/dev-python/bitstring/Manifest
+++ b/dev-python/bitstring/Manifest
@@ -1 +1 @@
-DIST bitstring-3.1.9.tar.gz 408443 BLAKE2B 747ce06fc33681cbe63d706c2dace5ebce314aea1ba45f8a5a9d65f849bcf253fa9354e39fd80731af4845993e418f27232ede47c940367b8cb425867ffee8c9 SHA512 6dc9c8d683e4415dfd685153b350bd5462117c49c7d8fcd9b2a066f927d82bb2bfae1cc5df543dd38c5e65b93d453ad13d2937f9523b77b007b1234b24ba7be1
+DIST bitstring-4.1.4.tar.gz 232014 BLAKE2B fad74a1a2931504b44c7d95c4e88b058c17ee189ab7b4ec6987d1284c273329b7850cd1aff8e93eb6badf7d52284db006f1f1118ee5f871694f2bd5b4b10e449 SHA512 e05d983ac340565b193c4b4d5f7f5fceea3ba68f04c348ab42cd1d783ac64e1b1adb0ce9bcaac20335137f103d51df198421c7cfee1e5c1ad9f3c9b89b77b679
diff --git a/dev-python/bitstring/bitstring-3.1.9.ebuild b/dev-python/bitstring/bitstring-3.1.9.ebuild
deleted file mode 100644
index ec6f82467f7f..000000000000
--- a/dev-python/bitstring/bitstring-3.1.9.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="A pure Python module for creation and analysis of binary data"
-HOMEPAGE="https://github.com/scott-griffiths/bitstring"
-SRC_URI="https://github.com/scott-griffiths/${PN}/archive/${P}.tar.gz"
-S=${WORKDIR}/${PN}-${P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-
-distutils_enable_tests unittest
-
-DOCS=( README.rst release_notes.txt )
-
-src_test() {
- cd test || die
- distutils-r1_src_test
-}
diff --git a/dev-python/bitstring/bitstring-4.1.4.ebuild b/dev-python/bitstring/bitstring-4.1.4.ebuild
new file mode 100644
index 000000000000..25395ebcd238
--- /dev/null
+++ b/dev-python/bitstring/bitstring-4.1.4.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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/black/Manifest b/dev-python/black/Manifest
index 7d6d97dc16fc..bc0d8c307599 100644
--- a/dev-python/black/Manifest
+++ b/dev-python/black/Manifest
@@ -1 +1,2 @@
-DIST black-22.12.0.gh.tar.gz 1182329 BLAKE2B fa7461b296e278a9d0945816fe88b933794e1302bc6e5fc2d2d48c94dcf50826471962351d1acc12da804ff7fa434efd8a8dca874dac91c8e36092ac50752669 SHA512 a89acd3c0f0d446e21695e9d7059a6417f8101bca32b22018d974cb08d6f3c9e4dbc3aab0a12091618ca860fbf9b0a53d4f2729311f65ca72f50a71629b60ac8
+DIST black-24.3.0.tar.gz 634292 BLAKE2B 9a853a0943ba081ecb7a4c22913b060607ac47fb90b70a9645358d681f3eab55707ad6fe9ad9928ba0d39a8adf5dfde0168598a8abcc24b823b407287cefaf82 SHA512 57e3b651009578f1d15b6e9ffb49d24be80885b2cf7ad48a68407862778ac2099d119e7ba6d58ddea4fc7fc21345435a7572a970baf882f763d9347868d5504b
+DIST black-24.4.0.tar.gz 635902 BLAKE2B 2821c0f4674524d3457fb8cbf1f1224d9c7e76abdbb1e47bcd4d488ff560a417b3ad57223318b28951c92c59d13c4a2894a323865a2be2859e7b7e891c54064c SHA512 3f9150faa36413ffff3a65f9f55b33a6b69b3abec5bf649bfc0662a92faa41edc76e90151e27a74f04bc3defc0687c898d54b2f137d16d13ea46e86670aa7a98
diff --git a/dev-python/black/black-22.12.0.ebuild b/dev-python/black/black-22.12.0.ebuild
deleted file mode 100644
index ebfa5284ab79..000000000000
--- a/dev-python/black/black-22.12.0.ebuild
+++ /dev/null
@@ -1,54 +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_{9..11} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="The uncompromising Python code formatter"
-HOMEPAGE="
- https://black.readthedocs.io/en/stable/
- https://github.com/psf/black/
- https://pypi.org/project/black/
-"
-SRC_URI="
- https://github.com/psf/black/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/click-8.0.0[${PYTHON_USEDEP}]
- >=dev-python/mypy_extensions-0.4.3[${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.8 3.9 3.10)
- $(python_gen_cond_dep '
- >=dev-python/typing-extensions-3.10.0.0[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-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
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-pkg_postinst() {
- optfeature "blackd - HTTP API for black" "dev-python/aiohttp dev-python/aiohttp-cors"
-}
diff --git a/dev-python/black/black-24.3.0.ebuild b/dev-python/black/black-24.3.0.ebuild
new file mode 100644
index 000000000000..1b370ca6b917
--- /dev/null
+++ b/dev-python/black/black-24.3.0.ebuild
@@ -0,0 +1,48 @@
+# 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 )
+
+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}]
+ )
+"
+
+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.0.ebuild b/dev-python/black/black-24.4.0.ebuild
new file mode 100644
index 000000000000..bbf320447679
--- /dev/null
+++ b/dev-python/black/black-24.4.0.ebuild
@@ -0,0 +1,48 @@
+# 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 )
+
+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}]
+ )
+"
+
+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 860470324d40..000000000000
--- a/dev-python/blake3-py-c/blake3-py-c-0.3.3.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_{9..11} )
-
-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 987a1308474d..000000000000
--- a/dev-python/blake3-py/Manifest
+++ /dev/null
@@ -1,56 +0,0 @@
-DIST arrayref-0.3.6.crate 10035 BLAKE2B 88292fa4b3ad4fccd03772c2f0eca04cc13373fe094358bac57d7523c256d89f3087603e5bcb2a0b15d8b2ecd48e904a822b2cb800276a9c47ad6c6b660d9d34 SHA512 368341d00706c1250ff081b0d99c36c9af694a62ff4f4d8c837234340295771ca49c5439b24b6e1a4f2c3c5821764e98881dcb22d793f83de632fd5cb457671f
-DIST arrayvec-0.7.2.crate 29341 BLAKE2B eae9d3f494033ea2d837a6024cb24bd4574683ed1e76ac6be7f7c6b0d8ee65c0eaf03dbae7fea04cf0921299f69234ad91e1cf41342de86f554f74e287dd3ba1 SHA512 80cc6e55b6032f4882362813de970d3d99e600ada774b28ac6a24c9c8e018fda3b35c5750ac3a09fca6fb9496e2e3fe608b58d21b1b84685ebd170f567a0ecbc
-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.3.3.crate 159889 BLAKE2B f9e31fa7b7df04f1e41f5e8e3e1dd627e9dddce0160b5723fecc3ac6864536429207fd33f896b45e95869188dd6266bbac6eddba8298fcd4afd9749e9b96266c SHA512 653fa31b9959fc7cf1f63492d88df31c93c2e032ed9b349f816060c86b4bf0f9c4b63d1ba005d8dc843806ddb74c17c8228d2d0a5fe5747615f4f7cf3a4b42fe
-DIST blake3-py-0.3.3.gh.tar.gz 114409 BLAKE2B 7514697e2fe58623000dcf457ca5a197b98ca6606e5463b4afb455e36ada3a66865f297272f9e8cde49537442cf5491a7673d64696cba617e085222040b5af66 SHA512 155d8165792935176bf9484b42d6caa715b3c6ff36d266be4d8334fc17a2fdd4a85c5c2c3d53285f21166232a8e558fe9340a8db2bd98ef01d0358809ed28dfb
-DIST block-buffer-0.10.3.crate 10465 BLAKE2B 32f0089971bb759244b73a75bdbbeb2d24f0422e92ceb0ae0afe3c698e3fabb371112a2eba3dab16a3859420d492c0ac984bfbb25e59e0c31951501cc652aab7 SHA512 e29faab70f8f2965a58089728274ec34bc97d681526687868c9cb1a2c145db00717f97e77b79a04fa52bd76817d796e104b509cd2a3163085b214f8eb68ac04f
-DIST cc-1.0.78.crate 61375 BLAKE2B fd4765cf5ae0dc7018bc6b56298cd0fa9bf6fe23545e845670d98ce73baee55354e77c6d87cf047f10b074f3d742deca8b5631a250c69b347b4a1fc653965d43 SHA512 b85bec4c75cb1d1e252419052e9dd22b6892e54ea36195ff483a04f785b5b103e82b30b778459fd45324ffeb2463aa4f5696baeff2779c25ffe9f65eb99ae893
-DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST constant_time_eq-0.2.4.crate 9975 BLAKE2B 0b2af6c0ca9877732ae5cdecc9466e3226ff8b6513137bb3720c9f7106554f26af8b2fb9c136facf70d2c068c2291e57f70b7b9f4cc9e461499fdd1bc06ca3c5 SHA512 61f201f6d51b4c07607ea23701f340e6a204ff04073ee71b4102c2ef8119a2629d89cacb1fb86060a3eb7cd5efbe577d33e15a6e7b5c121d1abb519f95c3b79a
-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.13.crate 48313 BLAKE2B 6e548cd39fb400732dc179c5b7185555bdb8a367b5d3a27dcabe9ad36db6e9858604dee210fe487de8f9127fd6d0db1ef1fd04a1cc8cdcf34bedcf980c048555 SHA512 a4578e0e535f301b73f0332778e79b327bafea6afa43284317fccc49b410118360866a2dea8ac22f2977f309d07c663e5d95fbfa852ab795d414c170ee4e06bf
-DIST crossbeam-utils-0.8.14.crate 42127 BLAKE2B 3e31e6371e46aba6697501a34e1b737680dcb692c0d1ba7cc1ce7025ec70ee69f7595e3abd90fb52c11e42cb43fa5fae6103f97add35cf87b0a68ea83213d0d0 SHA512 fa00a57c41c9daa152f8a6c6f4d3c77986de1aa21585984adf577e244c2f121db014ba2beb92241590e1cf78710e77d9a703ce4a4d44d8854bc3e60690151393
-DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f
-DIST digest-0.10.6.crate 19527 BLAKE2B 402009105a6ac055be062769dd4f162aabb977b9afe29f451eeb3e6b5dd1a579c371c5ec996b9c1bdba3b4ded83830ed2e1934a0505480bffba1e0d16775a8f7 SHA512 21d3c1dc64e640300c51e8a009af464d6e3cd2b10aa67c87a038165c11409d6e5faad1967236724a9a4cab8fdd88826cac1db4798245fd53ac2ff1a9b2b68b76
-DIST either-1.8.0.crate 15992 BLAKE2B 5b9254d54ced1f23447cc78fca74f12085c37e3c2da441b30521819025ebb808e8cbd9cbcec811f8b3951030914c1736b8bda61744d1323af8c5b8b0a3ef3ee9 SHA512 5089b218af067b51ee39c085568a1a6f542e8f68b362207bd7126cbcd2b76783cd21cc1517a1d088ce4dad1714be03a3660f50e9498a0bb43a8676cd7ec490d2
-DIST generic-array-0.14.6.crate 15889 BLAKE2B 7beac5446f5da4d077598af43c238eb7e71a12b0b91e6be5dbfc1ca33dc21d128fc93c9c8b18caac4b88830c8c8a643f2033acaca1d9a9f3d95329d042276156 SHA512 254e6fb6658f083f26e022916795c9ebfac241b9df2d811aac8316b17e1375e1c5aa54d72f1bf6c2627a88484a7df4b14eca231c90578e9aa3d9997047fa0f20
-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.8.crate 13748 BLAKE2B 785203ebe8a6fae2a5c898d2c42264014e424c48fdf80a232069eafa207833d9613df499e60305e8ab5eeca9591e11e3305f4554eb28f208294ecc66bcd259bd SHA512 50f932fd16228e06f6049a685f1e0a8bb849fc1b8c0d72a1c68a9581efcb00dbb8534c7ee2421e2b9b3827402ee8dffb62a3858b5c5727aee4ba43fb3d50a9dc
-DIST libc-0.2.138.crate 609081 BLAKE2B 210aa9a7ba99d69533946fb06c2ac6ca0714b3d4c0c5a80096e188f849319dc5509b3b41ec56aff7d1ee899378be2197fe9f8dc921500b11ea6cdc8b3b15df45 SHA512 986ccf0fcd18dd124fa6d3d89c3c7cfeca1046270a6a1b5c4addcdbc7f7f36216cb74094836ce8e97a9e331b97ed893d57daf39e919d24b001c4789a022f7761
-DIST lock_api-0.4.9.crate 25685 BLAKE2B 8adf5c3cccebdf6aff6ec977f230cd2a208b0b188ef57deacbbc6019431f0ede1a760b2384ba3cb49c96b8a589dc56c0f46a6359b3e62277e7ae1a1c3f586fa3 SHA512 9215381d9bb6b80d217c73a900db43df043b3e939b5bd7a292a02e9ab911cf0eacd8f883d35bdf72b3a0e78df8f1bc3e843ca4c775294c7a7a03091dc1a74990
-DIST memoffset-0.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009 SHA512 11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f
-DIST memoffset-0.7.1.crate 8556 BLAKE2B 1ef270f1c8dba32e66cf47a1835f10c342024762c0e56953f16e82d575250028154054d4c42b1324c60f955a40fad3bbb1c5fced147c11c9a4ad62f6f0e948c3 SHA512 40ca3c4b1fb929bec75bfcde0135037f81a6c5aa80181bc7dd7bbcd9c0946288eea8d23fca95e296567ccb02155ed0f66c7c23644b5cb3e6d3932be9f9742157
-DIST num_cpus-1.15.0.crate 15680 BLAKE2B a4d98b29ad534de9bc262f58f615ec06bde5d5a2f5252f09b5a0a6ecb06a9daf9709ad9045eb08f7cb744d8a838854b9095aa73918e06624a84efbc11a9a5c1d SHA512 fd4772868def9460a6ee17ef6fc00b0bc74115eec891bb3fdb07ba5b5fe4057a2ac69eb31ba8beddbd3189c7be4545888e5724879f3a89132fbc9b32aa7bb10f
-DIST once_cell-1.16.0.crate 32120 BLAKE2B 59bfc8a44f1fec72442e3d34bf4be3a5af073f854f07b3618b2857c759dca4a0fa6ba358514ae28c25d745b01bb7b390ffe9ed6e296d163fd3dd67e49092b87a SHA512 bc199570ee43bde9245a2c4637ae738e370ce9988635c8342349ceb6fb158f376247b69f9ec4ea0e6d76b934decdc77a524299ebde96c0a2c2d29d9501b9a568
-DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
-DIST parking_lot_core-0.9.5.crate 32396 BLAKE2B f793c855ed49476510c200d20895cd7f62e93dcb4fcadeff5528a8564f43e5e8d45f3857bac355b765d09753b554cb9af308a9a95add518d3325434ac67a6ca7 SHA512 1c430ffabfd33e8396178615829f6f623edc34d30393658b4cfaa263f4ae6e4101a9850333d3b54af058dc499bc66240a18041f31e920d5bc866d6bf66809378
-DIST proc-macro2-1.0.49.crate 41977 BLAKE2B e31c81d3b836404bd2c28363eb0cf2637cb7fb1ff5fb39333158be2b40b15f6f8f582edaec51cabd32d7b215df39c08a9632208fe4da36fc435dc32a48483a6b SHA512 b490d5cbaa790163aaa49c1595e694dfaded61c59fc23f9b6d359f4b774ee6eb20ae8efc5f5ebd59c8ca75da85baad61c065451c1cde03b3b6148e2aaa2c9e1b
-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.23.crate 28058 BLAKE2B 81c483fa26b36b5c4dbe85b386a74f5bfeaa854a99c0d678374507613da916a60e3f5b14d4a4d295e1c9ef0413fa1f16447df8f19a9db8cb0485b7a5c327fdc1 SHA512 3bce6846dda94d285de15771549099e60df39c8395c498b372c90a240f77df31d6d9048127913ec1c7ed8f3a189470ade1db2bede406bb00fa715ea641ec87c2
-DIST rayon-1.6.1.crate 166330 BLAKE2B 5bbc439e0c88780b8d80cb36d4b4164e698a1189bd140e8c84d9f6a466023de0cd69a1f24c4217d595ae9af1f61aca6829461648152116c6bebeef0f0e686e50 SHA512 2e03585170e59f4388359817d67a43cd10a2244382615ae39bf84210db03a6dfec3b75d8a23800b8faaa31f45e8df4c44fbc343f02e18dd3dc0572c207791e73
-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 scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
-DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
-DIST subtle-2.4.1.crate 12630 BLAKE2B 05a90232bfdc2cf67522e2972bddcd8dc9a165b1d1cf775d0b1c8358fc7c4d0559b2b899126b6688b8ef77b8b7580b3b300f74a599a7ee77f99c064a3917693b SHA512 7fd8234b7ffa3ca7e473539cad958df0842186e1dd735905e0d4977564f40a5f2e18b58180fcbe52614a00964dc150bd9f6964500847ea658f22bffe030f5c6a
-DIST syn-1.0.107.crate 237539 BLAKE2B 5a65968806c72fedf69638661f827a0426b9e49c2f9a5e5208f986105f8facca2bdf241f92f74bde790e9a0dd68240d4827a345a939c087364360e19a5cbeff3 SHA512 58132adb76643521a6a9cbc0316431318ac25f8517bba3cbb98e7e28ed536f9e24f643e898fa21a2f74cc8c1aeafaecf9b4199b23048c7be8c0bab2fe3aa7623
-DIST target-lexicon-0.12.5.crate 23224 BLAKE2B b1d31ec4ca5a529882b76a6a6bc8bbf978cfe8d7c9da0227879898ce1f2180e4d43225360bb4b4a7e9f3229ad1f4297b57c77d285c471c9c724759b0e987f6f0 SHA512 6df675ab1ebab2ff2844c3dfdaf58de3c340868ad9cd7b8c0d63d4fc9fa25e78027643d34c19b4634913c5294de7b330fb5a100984df58e4c943b3ab21ebfaca
-DIST typenum-1.16.0.crate 42477 BLAKE2B acc6dcd4521493c438a8a3d997ab0456fdbff3db66aee9b81ba219714d47522c3ca8fe26f8ce84edfda416ff9a22747caf3ecc9cc4bcd1e7647ac351d5aef407 SHA512 93da3ed62573acbc9d5d31257fb72ae9cfc7d59e4040c1f32d93e8fec94795e1aa20a3bf76ddc64c4b383184306bb2a66e51fd61b64dd4ce46a1bca8238b57b2
-DIST unicode-ident-1.0.6.crate 42158 BLAKE2B 6e4ef61fcac69b4ccbf743a2c2f857a6ea9fcbac9b9890f5b7208cc0732c6892aa5889b3030e87c8c29ce4ce24ddb7adec6bcf47b7aefe9cb5d19f920f12cfbd SHA512 ee1dc78fe535f46bdaf3e19dd8dfc859bf3133d9271026cadf626a07ba586c39caca4e45d905156a6276cf852f9cebef196b2229c3ba4b5e2b26c956fd6cff86
-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-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
diff --git a/dev-python/blake3-py/blake3-py-0.3.3.ebuild b/dev-python/blake3-py/blake3-py-0.3.3.ebuild
deleted file mode 100644
index d2e6c176f737..000000000000
--- a/dev-python/blake3-py/blake3-py-0.3.3.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{9..11} )
-
-CRATES="
- arrayref-0.3.6
- arrayvec-0.7.2
- autocfg-1.1.0
- bitflags-1.3.2
- blake3-1.3.3
- block-buffer-0.10.3
- cc-1.0.78
- cfg-if-1.0.0
- constant_time_eq-0.2.4
- crossbeam-channel-0.5.6
- crossbeam-deque-0.8.2
- crossbeam-epoch-0.9.13
- crossbeam-utils-0.8.14
- crypto-common-0.1.6
- digest-0.10.6
- either-1.8.0
- generic-array-0.14.6
- hermit-abi-0.2.6
- hex-0.4.3
- indoc-1.0.8
- libc-0.2.138
- lock_api-0.4.9
- memoffset-0.6.5
- memoffset-0.7.1
- num_cpus-1.15.0
- once_cell-1.16.0
- parking_lot-0.12.1
- parking_lot_core-0.9.5
- proc-macro2-1.0.49
- pyo3-0.17.3
- pyo3-build-config-0.17.3
- pyo3-ffi-0.17.3
- pyo3-macros-0.17.3
- pyo3-macros-backend-0.17.3
- quote-1.0.23
- rayon-1.6.1
- rayon-core-1.10.1
- redox_syscall-0.2.16
- scopeguard-1.1.0
- smallvec-1.10.0
- subtle-2.4.1
- syn-1.0.107
- target-lexicon-0.12.5
- typenum-1.16.0
- unicode-ident-1.0.6
- unindent-0.1.11
- version_check-0.9.4
- 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="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..b2772f15cb9e
--- /dev/null
+++ b/dev-python/blake3/blake3-0.4.1.ebuild
@@ -0,0 +1,134 @@
+# 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..12} )
+
+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() {
+ # 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/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/Manifest b/dev-python/bleach/Manifest
index 77a6e9c7d92d..d01aa6e4e3a5 100644
--- a/dev-python/bleach/Manifest
+++ b/dev-python/bleach/Manifest
@@ -1,2 +1 @@
-DIST bleach-5.0.1.tar.gz 199642 BLAKE2B 8d06dd38e89b91bf48f3481b5337b8d9700d8cc88faf3a260898b2b8f15ecf5c5160f96bff2c5ce02f361b773b0ce9a51322d9836dcc99b7878921846e8da182 SHA512 6c8e80eaf6db6f0e6d9066f3443192f44c489e079945b6d11b11e7eb270ea865011019e05d43c7896262dc11ca168e697630d9da8dca9f5bb48f0e2161fda6c8
-DIST bleach-6.0.0.tar.gz 201298 BLAKE2B e4af5da351fdb63bc75b935f70f40434bd81c49cde4f584901397e5fd4ac4507d2e29eb283ff28a764018dbd795021e2edf1f43385ff8a2d7d8affd358fc0e31 SHA512 95900e4347c1f7d0aa5b2e8fbf43fac6410dd6bbbac988fb3f407a964d0aa1dc51fe3cf17459e6ce762a02b45bb3d20b539ca05727278d120aee9500cf0d208a
+DIST bleach-6.1.0.tar.gz 202119 BLAKE2B d2da448feabe61431b176092f713f6f85790c22d3869a8d94f5c9659e481fd4a0b8e230eb72687e4da8914956a8858a2a5f942169ae2324d7762c5e1f20cc0ef SHA512 d7c9e77decd5eb0aceb4b33ad7e213683354aa702508f332dd6be15a14010d3795c2115acbae964cbaeff3e74c15d35eb18268d8fd8286e2cd6ad1c0dc79a838
diff --git a/dev-python/bleach/bleach-5.0.1.ebuild b/dev-python/bleach/bleach-5.0.1.ebuild
deleted file mode 100644
index 42b516fd5ae9..000000000000
--- a/dev-python/bleach/bleach-5.0.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="An easy whitelist-based HTML-sanitizing tool"
-HOMEPAGE="
- https://github.com/mozilla/bleach/
- https://pypi.org/project/bleach/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/html5lib-1.0.1-r1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/bleach-4.1.0-py39.patch
-)
-
-src_prepare() {
- # unbundle unpatched broken html5lib
- rm -r bleach/_vendor || die
- sed -i -e 's:bleach\._vendor\.parse:urllib.parse:' \
- bleach/parse_shim.py || die
- sed -i -e 's:bleach\._vendor\.::' \
- bleach/html5lib_shim.py \
- bleach/sanitizer.py \
- tests/test_clean.py || die
- # indirect html5lib deps
- sed -i -e '/six/d' -e '/webencodings/d' setup.py || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/bleach/bleach-6.0.0.ebuild b/dev-python/bleach/bleach-6.0.0.ebuild
deleted file mode 100644
index 350261336111..000000000000
--- a/dev-python/bleach/bleach-6.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="An easy whitelist-based HTML-sanitizing tool"
-HOMEPAGE="
- https://github.com/mozilla/bleach/
- https://pypi.org/project/bleach/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/html5lib-1.0.1-r1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/bleach-6.0.0-py39.patch
-)
-
-src_prepare() {
- # unbundle unpatched broken html5lib
- rm -r bleach/_vendor || die
- sed -i -e 's:bleach\._vendor\.parse:urllib.parse:' \
- bleach/parse_shim.py || die
- sed -i -e 's:bleach\._vendor\.::' \
- bleach/html5lib_shim.py \
- bleach/sanitizer.py \
- tests/test_clean.py || die
- # indirect html5lib deps
- sed -i -e '/six/d' -e '/webencodings/d' setup.py || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/bleach/bleach-6.1.0.ebuild b/dev-python/bleach/bleach-6.1.0.ebuild
new file mode 100644
index 000000000000..ea40acfc772e
--- /dev/null
+++ b/dev-python/bleach/bleach-6.1.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2023 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 easy whitelist-based HTML-sanitizing tool"
+HOMEPAGE="
+ https://github.com/mozilla/bleach/
+ https://pypi.org/project/bleach/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/html5lib-1.0.1-r1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/bleach-6.0.0-py39.patch
+)
+
+EPYTEST_DESELECT=(
+ # this package is not really maintained anymore
+ 'tests/test_parse_shim.py::test_urlparse[\t :foo.com \n-expected8]'
+ 'tests/test_parse_shim.py::test_urlparse[ foo.com -expected9]'
+)
+
+src_prepare() {
+ # unbundle unpatched broken html5lib
+ rm -r bleach/_vendor || die
+ sed -i -e 's:bleach\._vendor\.parse:urllib.parse:' \
+ bleach/parse_shim.py || die
+ sed -i -e 's:bleach\._vendor\.::' \
+ bleach/html5lib_shim.py \
+ bleach/sanitizer.py \
+ tests/test_clean.py || die
+ # indirect html5lib deps
+ sed -i -e '/six/d' -e '/webencodings/d' setup.py || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/bleach/files/bleach-4.1.0-py39.patch b/dev-python/bleach/files/bleach-4.1.0-py39.patch
deleted file mode 100644
index 8460be601a23..000000000000
--- a/dev-python/bleach/files/bleach-4.1.0-py39.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/tests/test_clean.py b/tests/test_clean.py
-index 8f816f9..2be6f7b 100644
---- a/tests/test_clean.py
-+++ b/tests/test_clean.py
-@@ -525,31 +525,16 @@ def test_attributes_list():
- {"protocols": ["http"]},
- '<a href="example.com">valid</a>',
- ),
-- (
-- '<a href="example.com:8000">valid</a>',
-- {"protocols": ["http"]},
-- '<a href="example.com:8000">valid</a>',
-- ),
- (
- '<a href="localhost">valid</a>',
- {"protocols": ["http"]},
- '<a href="localhost">valid</a>',
- ),
-- (
-- '<a href="localhost:8000">valid</a>',
-- {"protocols": ["http"]},
-- '<a href="localhost:8000">valid</a>',
-- ),
- (
- '<a href="192.168.100.100">valid</a>',
- {"protocols": ["http"]},
- '<a href="192.168.100.100">valid</a>',
- ),
-- (
-- '<a href="192.168.100.100:8000">valid</a>',
-- {"protocols": ["http"]},
-- '<a href="192.168.100.100:8000">valid</a>',
-- ),
- pytest.param(
- *(
- '<a href="192.168.100.100:8000/foo#bar">valid</a>',
diff --git a/dev-python/blessed/Manifest b/dev-python/blessed/Manifest
index 1d16e20a98bf..496a65259fce 100644
--- a/dev-python/blessed/Manifest
+++ b/dev-python/blessed/Manifest
@@ -1 +1 @@
-DIST blessed-1.19.1.tar.gz 6653802 BLAKE2B 5755efde3c203ab21a8994e29c55cdaace1cca772c9cdee4343562bb8ee4f9ffdee97d9131646d8385ef7e46664d23723ba46a3807d85623d9512ca40c7c4002 SHA512 0d899c42d7c6246362081bdc5d7dd2fcb13209fe0cee7e5a4fa342bdaf16a5cc21ab7e402bc5287ab1239f7e3afb02381e0e57e2d6111b80fe3c52b92cfa0f84
+DIST blessed-1.20.0.tar.gz 6655612 BLAKE2B 10523940ac2fe528487f2d1d68d9f38782ec260f1f42735940219d37d4b4dbaef2fd4ca63d753780123d54ae39ab04652d2c6ba8f3323c621a2206b0a706f6e0 SHA512 8567ff1c55f68ad99c6c524edbf8ee57813d23d885dcb372767debc76bc2d75642c2b0491e1ed05460f023c28403b5dabb13769dea101a1c6e3156c82e0d0355
diff --git a/dev-python/blessed/blessed-1.19.1.ebuild b/dev-python/blessed/blessed-1.19.1.ebuild
deleted file mode 100644
index 299b8281d677..000000000000
--- a/dev-python/blessed/blessed-1.19.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=( pypy3 python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Library for making terminal apps using colors, keyboard input and positioning"
-HOMEPAGE="https://github.com/jquast/blessed"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="amd64 ~riscv x86"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/wcwidth[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs dev-python/sphinx_rtd_theme
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Skip those extensions as they don't have a Gentoo package
- # Remove calls to scripts that generate rst files because they
- # are not present in the tarball
- 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
-}
-
-python_test() {
- # COLORTERM must not be truecolor
- # See https://github.com/jquast/blessed/issues/162
- # Ignore coverage options
- COLORTERM= epytest --override-ini="addopts="
-}
diff --git a/dev-python/blessed/blessed-1.20.0.ebuild b/dev-python/blessed/blessed-1.20.0.ebuild
new file mode 100644
index 000000000000..c1cc50599f54
--- /dev/null
+++ b/dev-python/blessed/blessed-1.20.0.ebuild
@@ -0,0 +1,51 @@
+# 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 making terminal apps using colors, keyboard input and positioning"
+HOMEPAGE="
+ https://github.com/jquast/blessed/
+ https://pypi.org/project/blessed/
+"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Skip those extensions as they don't have a Gentoo package
+ # Remove calls to scripts that generate rst files because they
+ # are not present in the tarball
+ 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
+}
+
+python_test() {
+ # COLORTERM must not be truecolor
+ # See https://github.com/jquast/blessed/issues/162
+ # Ignore coverage options
+ COLORTERM= epytest --override-ini="addopts="
+}
diff --git a/dev-python/blinker/Manifest b/dev-python/blinker/Manifest
index 2430cba076d1..d10d51af8618 100644
--- a/dev-python/blinker/Manifest
+++ b/dev-python/blinker/Manifest
@@ -1 +1 @@
-DIST blinker-1.5.tar.gz 27022 BLAKE2B 1e80d73653318ec6e263c66b8d5d3433ff1dc05e08af03442d99d83a9823b728fee86e6e64864932aa4961b11d28bee8ad7d6f56be6dbebd6dac48e610cdb835 SHA512 b1880fdc974be63e16e2b826bdbc8ee161bc0234591b8b41deed937a1e1b9d0bf1fb697c8e94644de9cc1900aedd39d08cfc3e59fef51abec295552f96418722
+DIST blinker-1.7.0.tar.gz 28134 BLAKE2B afff064a79ae7ab9fcee46c7eb3f6557bd9149be0a10cddfd13f969649a7aa57cec727cc6a10c54af2f676b8dc9be69beaf6521b5764555ac3e97fda7b68f5f8 SHA512 b55dc104fd69bf9f682184202f9da7cb6925e7e863f38d5ad5b4b5988b2315aae02da6f4c9f0ec34238b8d5b9b6eec52b06258d93e14416cda3e2b718d9aa60c
diff --git a/dev-python/blinker/blinker-1.5.ebuild b/dev-python/blinker/blinker-1.5.ebuild
deleted file mode 100644
index 6b565d0d3671..000000000000
--- a/dev-python/blinker/blinker-1.5.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Fast, simple object-to-object and broadcast signaling"
-HOMEPAGE="
- https://github.com/pallets-eco/blinker/
- https://pypi.org/project/blinker/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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"
-IUSE="doc"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- use doc && HTML_DOCS=( docs/html/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/blinker/blinker-1.7.0.ebuild b/dev-python/blinker/blinker-1.7.0.ebuild
new file mode 100644
index 000000000000..c965ec466d37
--- /dev/null
+++ b/dev-python/blinker/blinker-1.7.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=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"
+
+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/blinker/metadata.xml b/dev-python/blinker/metadata.xml
index cd1ba4cba860..d8e036c563aa 100644
--- a/dev-python/blinker/metadata.xml
+++ b/dev-python/blinker/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">pallets-eco/blinker</remote-id>
<remote-id type="pypi">blinker</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/blockdiag/Manifest b/dev-python/blockdiag/Manifest
deleted file mode 100644
index 8834ebbe3e06..000000000000
--- a/dev-python/blockdiag/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST blockdiag-3.0.0.tar.gz 2694464 BLAKE2B 18887a48e0aa8293703e45746ee68c7c11accfaddf11d0d02af446c769404ce1666c2587b3e212cc48f4fb09bfa6169931c42a024adb739ce9223ccec862905a SHA512 e0e588941c5212a924068cc0b3953b670089e33c385ea8ce52fc54f5ca79414fb12217eba1052c5384c9f2fd81e79304639c9604cdc4a6464f7c221bb67ef267
diff --git a/dev-python/blockdiag/blockdiag-3.0.0.ebuild b/dev-python/blockdiag/blockdiag-3.0.0.ebuild
deleted file mode 100644
index 2baca47d8aa1..000000000000
--- a/dev-python/blockdiag/blockdiag-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
-
-PYTHON_COMPAT=( python3_{9..10} )
-DISTUTILS_USE_SETUPTOOLS="rdepend"
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Generate block-diagram image from text"
-HOMEPAGE="http://blockdiag.com/ https://pypi.org/project/blockdiag/ https://github.com/blockdiag/blockdiag/"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/funcparserlib-1.0.0_alpha0[${PYTHON_USEDEP}]
- >=dev-python/pillow-3.0.0[${PYTHON_USEDEP}]
- dev-python/webcolors[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/reportlab[${PYTHON_USEDEP}]
- dev-python/docutils[${PYTHON_USEDEP}]
- media-fonts/ja-ipafonts
- )
-"
-
-distutils_enable_tests --install nose
-
-python_prepare_all() {
- # disable tests requiring Internet access
- sed -e 's:test_app_cleans_up_images:_&:' \
- -i src/blockdiag/tests/test_command.py || die
- sed -e 's:ghostscript_not_found_test:_&:' \
- -i src/blockdiag/tests/test_generate_diagram.py || die
- rm src/blockdiag/tests/diagrams/node_icon.diag || die
-
- # By some reason it is needed - recheck on next bump
- touch src/blockdiag/tests/diagrams/invalid.txt || die
-
- distutils-r1_python_prepare_all
-}
-
-src_test() {
- ALL_TESTS=1 distutils-r1_src_test
-}
-
-pkg_postinst() {
- # TODO: Better descriptions!
- optfeature "PDF format" dev-python/reportlab
- optfeature "misc extra support" media-gfx/imagemagick
- optfeature "Ctypes-based simple MagickWand API binding for Python" dev-python/wand
-}
diff --git a/dev-python/blockdiag/metadata.xml b/dev-python/blockdiag/metadata.xml
deleted file mode 100644
index 4162bc28780e..000000000000
--- a/dev-python/blockdiag/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>i.tkomiya@gmail.com</email>
- <name>Takeshi Komiya</name>
- </maintainer>
- <remote-id type="pypi">blockdiag</remote-id>
- <remote-id type="github">blockdiag/blockdiag</remote-id>
- </upstream>
- <longdescription>blockdiag generate block-diagram image file from spec-text
- file. Additional functionality is available with <pkg>dev-python/reportlab</pkg>
- (pdf's), <pkg>media-gfx/imagemagick</pkg> and an imagemagic python bindings package
- named wand (available from pypi).
- </longdescription>
-</pkgmetadata>
diff --git a/dev-python/blosc/Manifest b/dev-python/blosc/Manifest
index 211b034fd612..afe7d36fd126 100644
--- a/dev-python/blosc/Manifest
+++ b/dev-python/blosc/Manifest
@@ -1,3 +1 @@
-DIST python-blosc-1.10.6.gh.tar.gz 1570504 BLAKE2B 44f444fa5050a6198e83649973fc82d6804eec50bf79c332ed6a974e417f2a58baf09480a9bb5c5b7abcef2a961cd7bc61f962c12db625b1a7c48799ace0b39a SHA512 e283b132ebb91e7ce362ec65a1d6760e3793046371ea545a9e842372084182bcc194c3a0e1cb20914de58554063995a238ea0a129214731689e8cd5f4203d3ed
-DIST python-blosc-1.11.0.gh.tar.gz 111589 BLAKE2B 6bc5dda4e40ceb9770dd5b6e6db1fced42e257475b220bcb530c8b291bf132f61013ece5934a7d47778fdac716fcea0e6d57b7543b1cc76ccd95201cad072bdd SHA512 94c6f470b9f6e8d1fec0e44709e84582cd595291dddcd07ea174665a6fc12e029c6f0c781c8e506e95d4f9ee9fc27cbbfb5bc2789f341df3e84f342626dcfdb0
DIST python-blosc-1.11.1.gh.tar.gz 111262 BLAKE2B cb348253a24258d2649ebc0604acbf936b8ccc2b28c42c69da2fee72ddf87eb17a24657bc5d3c0530193a60f482555ce4cc5d168a18d9c2d79a13410d40670bc SHA512 21f8a697a3a902860a6ed72233984cf00c464ec0ddde9842a0c24b1e8e5ec4dd57b872096445a873d162d7529cba5c3666ba2a3ee3f9b1b18107d9636011281c
diff --git a/dev-python/blosc/blosc-1.10.6.ebuild b/dev-python/blosc/blosc-1.10.6.ebuild
deleted file mode 100644
index 4d70e9f0f988..000000000000
--- a/dev-python/blosc/blosc-1.10.6.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=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}
-"
-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.0.ebuild b/dev-python/blosc/blosc-1.11.0.ebuild
deleted file mode 100644
index 9e9cebc73a2f..000000000000
--- a/dev-python/blosc/blosc-1.11.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_{9..11} )
-
-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.1.ebuild b/dev-python/blosc/blosc-1.11.1.ebuild
index 644947a8e496..a6135a6ca9c4 100644
--- a/dev-python/blosc/blosc-1.11.1.ebuild
+++ b/dev-python/blosc/blosc-1.11.1.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=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -23,7 +24,7 @@ S=${WORKDIR}/${MY_P}
SLOT="0"
LICENSE="BSD"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/blurb/blurb-1.1.0.ebuild b/dev-python/blurb/blurb-1.1.0.ebuild
index ad3f76d9d1e3..1495cb48e340 100644
--- a/dev-python/blurb/blurb-1.1.0.ebuild
+++ b/dev-python/blurb/blurb-1.1.0.ebuild
@@ -4,17 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Tool to create and manage NEWS blurbs for CPython"
-HOMEPAGE="https://github.com/python/core-workflow/tree/master/blurb"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/python/core-workflow/tree/master/blurb
+ https://pypi.org/project/blurb/
+"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
src_test() {
# Tests expect to be run from github repo, in which code is inside dir
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 c0316c6065c2..8e780c05c64d 100644
--- a/dev-python/boltons/Manifest
+++ b/dev-python/boltons/Manifest
@@ -1 +1,2 @@
-DIST boltons-21.0.0.gh.tar.gz 241010 BLAKE2B e8c7cba3aadc40fbf40b784c8060d7b4f9d89457a4416c8fe9c733c3a35cf292609b2cc4e43e20a1308add6b854c3e00cb55274328a14699b3c704b73c189318 SHA512 5f5d642ab8ce0bc26133f4bd5059071bc86ca8e6619ebac796d522a0e4c39b958176ccc9de9a56e0448b24bdcf569e73f51011d5a9fc875bdef12a363f106018
+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-21.0.0-r1.ebuild b/dev-python/boltons/boltons-21.0.0-r1.ebuild
deleted file mode 100644
index 3ac26c434ae9..000000000000
--- a/dev-python/boltons/boltons-21.0.0-r1.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=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Pure-python utilities in the same spirit as the standard library"
-HOMEPAGE="https://boltons.readthedocs.io/"
-SRC_URI="https://github.com/mahmoud/boltons/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/sphinx_rtd_theme
-
-DOCS=( CHANGELOG.md README.md TODO.rst )
-
-PATCHES=(
- "${FILESDIR}"/${P}-python3.10.patch
- "${FILESDIR}"/${P}-python3.11-tests.patch
-)
-
-EPYTEST_DESELECT=(
- # fails if there's any noise/differences in traceback text caused
- # by e.g. pytest-qt noise or python3.11 adding ^^^^^^ markers
- tests/test_tbutils.py::test_exception_info
-)
-
-python_test() {
- epytest -p no:django
-}
diff --git a/dev-python/boltons/boltons-23.1.1.ebuild b/dev-python/boltons/boltons-23.1.1.ebuild
new file mode 100644
index 000000000000..9543983a139a
--- /dev/null
+++ b/dev-python/boltons/boltons-23.1.1.ebuild
@@ -0,0 +1,28 @@
+# 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..79e6dc2482fa
--- /dev/null
+++ b/dev-python/boltons/boltons-24.0.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..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 )
+
+src_test() {
+ # tests break with pytest-qt, django, and likely more
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+
+ distutils-r1_src_test
+}
diff --git a/dev-python/boltons/files/boltons-21.0.0-python3.10.patch b/dev-python/boltons/files/boltons-21.0.0-python3.10.patch
deleted file mode 100644
index 2e9974a71c9e..000000000000
--- a/dev-python/boltons/files/boltons-21.0.0-python3.10.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-https://github.com/mahmoud/boltons/commit/270e974
-From: Mahmoud Hashemi <mahmoud@hatnote.com>
-Date: Sun, 10 Oct 2021 23:26:24 -0700
-Subject: [PATCH] address ecoutils import issue, fixes #294
---- a/boltons/ecoutils.py
-+++ b/boltons/ecoutils.py
-@@ -354,38 +354,53 @@ def get_profile(**kwargs):
- return ret
-
-
--_real_safe_repr = pprint._safe_repr
--
--
--def _fake_json_dumps(val, indent=2):
-- # never do this. this is a hack for Python 2.4. Python 2.5 added
-- # the json module for a reason.
-- def _fake_safe_repr(*a, **kw):
-- res, is_read, is_rec = _real_safe_repr(*a, **kw)
-- if res == 'None':
-- res = 'null'
-- if res == 'True':
-- res = 'true'
-- if res == 'False':
-- res = 'false'
-- if not (res.startswith("'") or res.startswith("u'")):
-- res = res
-- else:
-- if res.startswith('u'):
-- res = res[1:]
-+try:
-+ import json
-+
-+ def dumps(val, indent):
-+ if indent:
-+ return json.dumps(val, sort_keys=True, indent=indent)
-+ return json.dumps(val, sort_keys=True)
-+
-+except ImportError:
-+ _real_safe_repr = pprint._safe_repr
-+
-+ def _fake_json_dumps(val, indent=2):
-+ # never do this. this is a hack for Python 2.4. Python 2.5 added
-+ # the json module for a reason.
-+ def _fake_safe_repr(*a, **kw):
-+ res, is_read, is_rec = _real_safe_repr(*a, **kw)
-+ if res == 'None':
-+ res = 'null'
-+ if res == 'True':
-+ res = 'true'
-+ if res == 'False':
-+ res = 'false'
-+ if not (res.startswith("'") or res.startswith("u'")):
-+ res = res
-+ else:
-+ if res.startswith('u'):
-+ res = res[1:]
-
-- contents = res[1:-1]
-- contents = contents.replace('"', '').replace(r'\"', '')
-- res = '"' + contents + '"'
-- return res, is_read, is_rec
-+ contents = res[1:-1]
-+ contents = contents.replace('"', '').replace(r'\"', '')
-+ res = '"' + contents + '"'
-+ return res, is_read, is_rec
-
-- pprint._safe_repr = _fake_safe_repr
-- try:
-- ret = pprint.pformat(val, indent=indent)
-- finally:
-- pprint._safe_repr = _real_safe_repr
-+ pprint._safe_repr = _fake_safe_repr
-+ try:
-+ ret = pprint.pformat(val, indent=indent)
-+ finally:
-+ pprint._safe_repr = _real_safe_repr
-+
-+ return ret
-+
-+ def dumps(val, indent):
-+ ret = _fake_json_dumps(val, indent=indent)
-+ if not indent:
-+ ret = re.sub(r'\n\s*', ' ', ret)
-+ return ret
-
-- return ret
-
-
- def get_profile_json(indent=False):
-@@ -393,20 +408,6 @@ def get_profile_json(indent=False):
- indent = 2
- else:
- indent = 0
-- try:
-- import json
--
-- def dumps(val, indent):
-- if indent:
-- return json.dumps(val, sort_keys=True, indent=indent)
-- return json.dumps(val, sort_keys=True)
--
-- except ImportError:
-- def dumps(val, indent):
-- ret = _fake_json_dumps(val, indent=indent)
-- if not indent:
-- ret = re.sub(r'\n\s*', ' ', ret)
-- return ret
-
- data_dict = get_profile()
- return dumps(data_dict, indent)
diff --git a/dev-python/boltons/files/boltons-21.0.0-python3.11-tests.patch b/dev-python/boltons/files/boltons-21.0.0-python3.11-tests.patch
deleted file mode 100644
index a54b2a4d0cf1..000000000000
--- a/dev-python/boltons/files/boltons-21.0.0-python3.11-tests.patch
+++ /dev/null
@@ -1,7 +0,0 @@
-object.__getstate__ was added in 3.11 (bpo-26579) and the test is unaware
---- a/tests/test_dictutils.py
-+++ b/tests/test_dictutils.py
-@@ -476,2 +476,3 @@
- '__getitem__',
-+ '__getstate__',
- '__gt__',
diff --git a/dev-python/boolean-py/boolean-py-4.0.ebuild b/dev-python/boolean-py/boolean-py-4.0.ebuild
index 26b7c611124f..caf874666e42 100644
--- a/dev-python/boolean-py/boolean-py-4.0.ebuild
+++ b/dev-python/boolean-py/boolean-py-4.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -22,6 +22,6 @@ S=${WORKDIR}/${MY_P}
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv 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/booleanOperations/Manifest b/dev-python/booleanOperations/Manifest
deleted file mode 100644
index 00d95f0ac5cf..000000000000
--- a/dev-python/booleanOperations/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST booleanOperations-0.9.0.tar.gz 165127 BLAKE2B 9f72246afa46c414e3ff9ad23b86da9665a90180fc058ca278b82c1281e798d9d913e496995ca8d45ff948aff5da8a6de26706afdb5e538dee64d7ffe96c7324 SHA512 a63dec9c3a8008825538498b162130624b4d2b9ca64980a23d631601928c5fc6eebdc8f03f19094b7923b008bde6a87b5f21518cb33c8df3fcd41fd84a8ddde9
diff --git a/dev-python/booleanOperations/booleanOperations-0.9.0-r1.ebuild b/dev-python/booleanOperations/booleanOperations-0.9.0-r1.ebuild
deleted file mode 100644
index 4729ae2adec9..000000000000
--- a/dev-python/booleanOperations/booleanOperations-0.9.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Boolean operations on paths"
-HOMEPAGE="https://github.com/typemytype/booleanOperations"
-SRC_URI="https://github.com/typemytype/booleanOperations/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
-IUSE=""
-
-DEPEND=""
-BDEPEND=""
-RDEPEND="${DEPEND}
- >=dev-python/fonttools-4.0.2[${PYTHON_USEDEP}]
- >=dev-python/pyclipper-1.1.0_p3[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests setup.py
-
-# tests need fontPens, that is not packaged
-RESTRICT="test"
-
-src_prepare() {
- export SETUPTOOLS_SCM_PRETEND_VERSION="${PV}"
- distutils-r1_src_prepare
-}
diff --git a/dev-python/booleanOperations/metadata.xml b/dev-python/booleanOperations/metadata.xml
deleted file mode 100644
index 893b6639f47c..000000000000
--- a/dev-python/booleanOperations/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="person">
- <email>pacho@gentoo.org</email>
- <name>Pacho Ramos</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">booleanOperations</remote-id>
- </upstream>
-</pkgmetadata>
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 4044a5d7d063..000000000000
--- a/dev-python/boto/boto-2.49.0-r6.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
-
-PYTHON_COMPAT=( python3_{10..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-DESCRIPTION="Amazon Web Services API"
-HOMEPAGE="https://github.com/boto/boto https://pypi.org/project/boto/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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 9afd93c22169..a3ed73021adc 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,5 +1,6 @@
-DIST boto3-1.26.50.gh.tar.gz 589841 BLAKE2B 98808cc2811f6371152b75424abe7da24230beb9caa4fcb62c273c232998fa1bbd4195d47e173c181f6b77cd95c6d90e21dc6126d65a0ce5453244cc03a5a12f SHA512 d4a8fd68c7fa099009e491f697ce3089a7f9d54433d25aa76d2733facde82f62f3955efc8ea5156dabce9502a2912847d45f7e1ab5dc71c1db26ca5d2b4ae220
-DIST boto3-1.26.54.gh.tar.gz 592401 BLAKE2B 7fd5bb10cda2b27fc43a7efa65c4651d95c8ddb7c94b424847f21010f9d748398a9efc47118ed7d2d90369664dddd4903fb8c4e7bc3ba3f70643a565b426023f SHA512 86d315eba84d783d327d19b41a593f193d9b356a205f29a1589e43e43519aa6eedefc26e7b23234dade6ab0bbb309d8039b011d0ba766757be8eb7a57c22f49b
-DIST boto3-1.26.57.gh.tar.gz 593947 BLAKE2B 5a30f237d992bb766b3afaced8b9e01c792c857a02aee5ba589f0f03c4c8eace3b32920d1dd62554fbb85d14b7f96789590d4acbc764dd3c56208fa5bf2dea1d SHA512 112719584ad122373e5aa24ebb6ea5c87772cdab71f59274b2f2172d92c72ed6894645253e15e12a808a83e14b12d27fde8a9fe086ccc33b987166de3fe0984b
-DIST boto3-1.26.58.gh.tar.gz 594149 BLAKE2B 5bf0ec6a321826a6f7cc346e6051e6b4d99451d0222ccf9445a9f24f561dd1797333a05d44addf1bea9b2b7e18b952c5acfa9f51a5d275fc7b34c5e8c5ab4342 SHA512 16a68f232cfdfbd4c8c6368d520c5826150039f069819aaf608a2e8b03845739a8014c54ba1fb57eeba8ebe4c6ad8e3b135d2a6a4dccd9d41de98fa0b730142d
-DIST boto3-1.26.59.gh.tar.gz 594565 BLAKE2B 90c5fe950da7fabc46a4c34e0a77997cfc643273f6b3c1afed6caad3415486b25a6610c8fb9d3f3450b4f3b73e45cfec5d6b1f02666dbd2608944e2db81a955b SHA512 e4dff5978e41a9f4c29ef131d7b8c1f0ec625d9fc77a8cff9ce3c6d5a00d68e75b62da34b418252ddfeedf6302332edd8a30d88401ea393d0de3add64ab5cc40
+DIST boto3-1.34.74.gh.tar.gz 790202 BLAKE2B 4368db3e11d6bda6eee4ccde82bcc0c2c5a67448400ce0d29d221840360348ab1c7d3c8360ff3c91190ebccb30e187c6fc3ed72f29f1a1d1f883888a8cad12dc SHA512 977e1b9f8a9506bd040ff6a9a1df106294ff62a100cf5cb31aeaa363a4f3fe28cab71e4740028202829fac3023bf832bd4ac25b3474c2a5e107892c05b356e0c
+DIST boto3-1.34.79.gh.tar.gz 792796 BLAKE2B 97a4f8e6fc33bcfe2817ce353df8ff6354bc89c449e5e29833704e12513aa21129863164c51047b17c7f15a47f0ceb90c60a83071464283292089b2535e8fed9 SHA512 15161face918253eac06dfbeb67adb8ef5ed6902b2eed760feb9fdd3aee0e38da3511aa7d829914b6f80addff7feffae7d3645f7567643a37d3659001d7b6a1a
+DIST boto3-1.34.84.gh.tar.gz 796658 BLAKE2B 76ad7997f92167f1ed2f14a0a780a1a58b4a853ea132ca38797a228382ad8f55264dfaee99ebf6f8e2bea1848ec918f7b3b0943d0bb6a81b3b858e729b2e74c4 SHA512 55988d7ba69a46b986ed2cffd46b37a154baaa3a73ce62d9ee5b4b8b6f8987f714034ae4f3e59ed9907920216eaf8b18edea4c0fbac99037979b8b30e3b71133
+DIST boto3-1.34.85.gh.tar.gz 797539 BLAKE2B b958d009a7acdd541306f41f8708951ed1bf3d303d5e3b3453307415ddc8cf6f6d3c7ed464f350d1a36646729095b1684a865f5982d2ae9b3d7facf596c8b579 SHA512 91295f89896a705c3cbb941fa55e8d227b12dc28290ca15a31ebf60e936ea805233d7b14c6097c9757f6c7ff310159bcc1f2a2e46227d98b6d04adf9c6d44a33
+DIST boto3-1.34.86.gh.tar.gz 797728 BLAKE2B e0ff81aab27782e69e69dedf1ef227d6539f4253df6e9e7f0daa9d3d033a646c359df2a9aa49192350f43ba852384220379e794a3c89f368224bee28b292d371 SHA512 7303cbf0a49d2ec085e5a0798f658c799e1ffd02cf3387ab13ccc403c152009184ee71f73b07bcd6a166b686c530aadd8cd77644eb0c72b517910d2a332959fc
+DIST boto3-1.34.87.gh.tar.gz 798511 BLAKE2B d4bb92b25fcd6d2824ff27b89d66731d67e5a34034047501ecde18c6236821542b04d46b3bd6b9d2dcfe14939c114bf26208a8650e96336eb4aba3424154a4d5 SHA512 54c47eb5c1f118ca0a3db79fc3959e96658fabc2d2c98e728dfb8b6bb6f062bf765ac10bae22c12a2474ad36d75cef95774ffcb0fbcc4054f4d07b683235ec87
diff --git a/dev-python/boto3/boto3-1.26.50.ebuild b/dev-python/boto3/boto3-1.26.50.ebuild
deleted file mode 100644
index d6d605bdb0c6..000000000000
--- a/dev-python/boto3/boto3-1.26.50.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..11} )
-
-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.6.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs/source \
- 'dev-python/guzzle_sphinx_theme'
-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() {
- epytest tests/{functional,unit} -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/boto3/boto3-1.26.54.ebuild b/dev-python/boto3/boto3-1.26.54.ebuild
deleted file mode 100644
index 9523f65d5fb9..000000000000
--- a/dev-python/boto3/boto3-1.26.54.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..11} )
-
-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.6.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs/source \
- 'dev-python/guzzle_sphinx_theme'
-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() {
- epytest tests/{functional,unit} -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/boto3/boto3-1.26.57.ebuild b/dev-python/boto3/boto3-1.26.57.ebuild
deleted file mode 100644
index 9523f65d5fb9..000000000000
--- a/dev-python/boto3/boto3-1.26.57.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..11} )
-
-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.6.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs/source \
- 'dev-python/guzzle_sphinx_theme'
-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() {
- epytest tests/{functional,unit} -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/boto3/boto3-1.26.58.ebuild b/dev-python/boto3/boto3-1.26.58.ebuild
deleted file mode 100644
index 9523f65d5fb9..000000000000
--- a/dev-python/boto3/boto3-1.26.58.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..11} )
-
-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.6.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs/source \
- 'dev-python/guzzle_sphinx_theme'
-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() {
- epytest tests/{functional,unit} -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/boto3/boto3-1.26.59.ebuild b/dev-python/boto3/boto3-1.26.59.ebuild
deleted file mode 100644
index 9523f65d5fb9..000000000000
--- a/dev-python/boto3/boto3-1.26.59.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..11} )
-
-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.6.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs/source \
- 'dev-python/guzzle_sphinx_theme'
-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() {
- epytest tests/{functional,unit} -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/boto3/boto3-1.34.74.ebuild b/dev-python/boto3/boto3-1.34.74.ebuild
new file mode 100644
index 000000000000..2a35a5b9c0d0
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.74.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..12} )
+
+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}]
+"
+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.79.ebuild b/dev-python/boto3/boto3-1.34.79.ebuild
new file mode 100644
index 000000000000..2c733040b7a3
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.79.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..12} )
+
+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.84.ebuild b/dev-python/boto3/boto3-1.34.84.ebuild
new file mode 100644
index 000000000000..2c733040b7a3
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.84.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..12} )
+
+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.85.ebuild b/dev-python/boto3/boto3-1.34.85.ebuild
new file mode 100644
index 000000000000..2c733040b7a3
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.85.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..12} )
+
+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.86.ebuild b/dev-python/boto3/boto3-1.34.86.ebuild
new file mode 100644
index 000000000000..2c733040b7a3
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.86.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..12} )
+
+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.87.ebuild b/dev-python/boto3/boto3-1.34.87.ebuild
new file mode 100644
index 000000000000..2c733040b7a3
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.87.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..12} )
+
+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 ed743a9900ca..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_{9..11} )
-
-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.6.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs/source \
- 'dev-python/guzzle_sphinx_theme'
-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() {
- epytest tests/{functional,unit} -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 3b4ef1c636da..06ae6411b904 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,5 +1,6 @@
-DIST botocore-1.29.50.gh.tar.gz 11116392 BLAKE2B a9d12740ea927b6331b8593b9d7ae2af51feb4df740f8e9e260372d601791aebd699f569d6a3d6041f9c8ecb852a2493f872148aca5120a01c5773148e42a960 SHA512 3661a3b3a5bba8be0d14d24ec85d50fea0d2001721871be84c13396a8f7244797e24b6b1de46e8b9d903c76312f939b122c206ec4f8dcac0b76e8d77b59198cf
-DIST botocore-1.29.54.gh.tar.gz 11127081 BLAKE2B 7c2d11d968ca6a4d3b23b12c44cb8f050ac1848f75280c44bbb2f3567860204ed8615bd1596e02b8d0222f4d54c22a8559114365ec6a69e4a01a166a821d8c8a SHA512 4ba58c9b881ff95149ba1a5805453885208cdb68f197cc9a6c13cc9ca075e988ae33e4809f2970d9c48fa426e26c06d83686b8bbf4ff69d4a7cfe26ef3f903bf
-DIST botocore-1.29.57.gh.tar.gz 11132049 BLAKE2B 748a8b709cb6bff1a1bb38757ad68c31aa680589ed59e7c3f73b6563a5b9572ace96102ffda56643d33f0dee98f30f8443a431c7869ccfe54a311964ce781b5b SHA512 adbd760b8238b259bcc1eb3ba42cdb702b60eb6fece73a5bda5129a974826655157e702cef6a1114c2e3bd036b1cf22ebbead6e78bf88129fe68b02de1f38dae
-DIST botocore-1.29.58.gh.tar.gz 11135559 BLAKE2B 937b00f1a3c4e3ec818846549bc0cef391c86d3fee9bdd53285111e51c2c52145e7e904020511ed32f2247dd4f150f036f40feeac1a6f899781aff057f9a6d85 SHA512 5cfe5fb174cc14018cd2b7b7af15110665d7ca22f5ae827ba939ce12e71a45e9b5cab8d7ec656fa94c450d46c430a5541cd5bfe92d82da868424db4f8fa4fb2e
-DIST botocore-1.29.59.gh.tar.gz 11131182 BLAKE2B fa85e1f8dc3c366f7a7fb3e9b06dd298b1ad62be882891df3414289aa9e88bff72753690a1438e6040aefb7cafa1718a70c940e8cd2b4e743df44013b5748ef6 SHA512 9a4811b44c67652cacc899d1d84d4db1305cb60e73dd47d7f543b85ec37f921cab00a51d67b48ab6a215be8f7543e30c54585e0fb337085e1b75774b053c4bf3
+DIST botocore-1.34.74.gh.tar.gz 12820469 BLAKE2B e9d7a35e82aee30666952ea6f74d8d0f695efad2fd0da520b70fdd313cabf3aff6e67fa71543c630bcfb4b4f78f780321babaf118990d8136b79755beadd8a5a SHA512 f7d741bd86e249ae46a7f79828c8b63c66519f9ae203f1a14a17e126c22d9e3d94710f5f5992f057491d3f7e41c7ea180255e1f766dc3bdee96ddb2ac6e28312
+DIST botocore-1.34.79.gh.tar.gz 12882231 BLAKE2B 56d7d2a1046a164f4f64f375f608b8646e0f7c266b1c7ab37ff7141fd8d8d843ce2890b0a947f051956f61fb2cfc75c2eb3b3cf70305de4ba9ce2e18d8569ded SHA512 00717ad582e23e1c4f4d803eea2069224fc69c6e701d6b4a55d0d99806cebfb1e2c45c7eb65464b84e0cc63399a7b6235b90ba9245e27fe435eca6079b5c29aa
+DIST botocore-1.34.84.gh.tar.gz 12910232 BLAKE2B 3a9f9073e34d203f05ae44f9dc437f4d325084dbe858e59008a7b0c826c53d6e9a1911f6e9203aa476787878de88a1d8a9c1e26cedc3c34bebf6739c9bb10fce SHA512 247578e628e5ea57cfb956a10c0975d7a2caa24617e8572f90ca2a0286c75077a732328cb2dde34c937113d288c4a8a346adc074aae14dcebfa16c309d801a31
+DIST botocore-1.34.85.gh.tar.gz 12919998 BLAKE2B 3c23623bc37f2b2b725b3187faad5860b0e8fe6cd6295503ae2abf45e83a7393fa0613400052a668c7c2781f2ce76b8b1bc725a268020b45df62aaaef317e25c SHA512 797b097a99709d04d294f15ea89039567ceecea1ce16439eda31a659cc2b195d2aca79b9b1be264285f917569127b8ccdfe72d37b174d67fb562dbcf0ba081c0
+DIST botocore-1.34.86.gh.tar.gz 12921497 BLAKE2B c1ef844adcfffa3a2d03a237ee988efbf57271b907b0aa77300ba063952c3c5861f144fc766f6735be79d7e302bdc9c951566ca6a54f925269de535902e436d3 SHA512 7f9049b89e4635b313f60cb376a33363f841118516d740f3e0476b435ee46760a188c78e144500f7c2da8ec50974b1d584a389adf47445ec545729f571455ac9
+DIST botocore-1.34.87.gh.tar.gz 12927328 BLAKE2B 038ce036aff8c4fdc5da1caf71f119e1bbdc1c0418964550c102bf24ef19b198fb03e5e051e170ff61e6d8e29a556eb8cbc32071beab04889e282e3a87f9a5bb SHA512 d8869210fd83213085135e382860a2cd1ac3f31448bbbd8ba08c89e8b862a67e90659127f23633d8b6ab9dff928a658ad05990ec3b771c31cf97b8ede380dd0d
diff --git a/dev-python/botocore/botocore-1.29.50.ebuild b/dev-python/botocore/botocore-1.29.50.ebuild
deleted file mode 100644
index 5afa7a9459c5..000000000000
--- a/dev-python/botocore/botocore-1.29.50.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..11} )
-
-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_sphinx docs/source \
- 'dev-python/guzzle_sphinx_theme'
-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
- # fails on unrelated warnings
- tests/unit/test_client.py::TestAutoGeneratedClient::test_BOTO_DISABLE_COMMONNAME
- tests/unit/test_client.py::TestClientErrors::test_BOTO_DISABLE_COMMONNAME
- # TODO
- tests/functional/test_credentials.py::SSOSessionTest::test_token_chosen_from_provider
- )
-
- epytest tests/{functional,unit} -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/botocore/botocore-1.29.54.ebuild b/dev-python/botocore/botocore-1.29.54.ebuild
deleted file mode 100644
index 0f4daaa48e81..000000000000
--- a/dev-python/botocore/botocore-1.29.54.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..11} )
-
-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_sphinx docs/source \
- 'dev-python/guzzle_sphinx_theme'
-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
- # fails on unrelated warnings
- tests/unit/test_client.py::TestAutoGeneratedClient::test_BOTO_DISABLE_COMMONNAME
- tests/unit/test_client.py::TestClientErrors::test_BOTO_DISABLE_COMMONNAME
- # TODO
- tests/functional/test_credentials.py::SSOSessionTest::test_token_chosen_from_provider
- )
-
- epytest tests/{functional,unit} -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/botocore/botocore-1.29.57.ebuild b/dev-python/botocore/botocore-1.29.57.ebuild
deleted file mode 100644
index 0f4daaa48e81..000000000000
--- a/dev-python/botocore/botocore-1.29.57.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..11} )
-
-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_sphinx docs/source \
- 'dev-python/guzzle_sphinx_theme'
-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
- # fails on unrelated warnings
- tests/unit/test_client.py::TestAutoGeneratedClient::test_BOTO_DISABLE_COMMONNAME
- tests/unit/test_client.py::TestClientErrors::test_BOTO_DISABLE_COMMONNAME
- # TODO
- tests/functional/test_credentials.py::SSOSessionTest::test_token_chosen_from_provider
- )
-
- epytest tests/{functional,unit} -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/botocore/botocore-1.29.58.ebuild b/dev-python/botocore/botocore-1.29.58.ebuild
deleted file mode 100644
index 0f4daaa48e81..000000000000
--- a/dev-python/botocore/botocore-1.29.58.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..11} )
-
-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_sphinx docs/source \
- 'dev-python/guzzle_sphinx_theme'
-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
- # fails on unrelated warnings
- tests/unit/test_client.py::TestAutoGeneratedClient::test_BOTO_DISABLE_COMMONNAME
- tests/unit/test_client.py::TestClientErrors::test_BOTO_DISABLE_COMMONNAME
- # TODO
- tests/functional/test_credentials.py::SSOSessionTest::test_token_chosen_from_provider
- )
-
- epytest tests/{functional,unit} -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/botocore/botocore-1.29.59.ebuild b/dev-python/botocore/botocore-1.29.59.ebuild
deleted file mode 100644
index 0f4daaa48e81..000000000000
--- a/dev-python/botocore/botocore-1.29.59.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..11} )
-
-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_sphinx docs/source \
- 'dev-python/guzzle_sphinx_theme'
-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
- # fails on unrelated warnings
- tests/unit/test_client.py::TestAutoGeneratedClient::test_BOTO_DISABLE_COMMONNAME
- tests/unit/test_client.py::TestClientErrors::test_BOTO_DISABLE_COMMONNAME
- # TODO
- tests/functional/test_credentials.py::SSOSessionTest::test_token_chosen_from_provider
- )
-
- epytest tests/{functional,unit} -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/botocore/botocore-1.34.74.ebuild b/dev-python/botocore/botocore-1.34.74.ebuild
new file mode 100644
index 000000000000..7a44b043295f
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.74.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=( 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/
+"
+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
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/botocore-1.34.79.ebuild b/dev-python/botocore/botocore-1.34.79.ebuild
new file mode 100644
index 000000000000..ba6cd2a5d2a2
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.79.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=( 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/
+"
+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
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/botocore-1.34.84.ebuild b/dev-python/botocore/botocore-1.34.84.ebuild
new file mode 100644
index 000000000000..ba6cd2a5d2a2
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.84.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=( 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/
+"
+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
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/botocore-1.34.85.ebuild b/dev-python/botocore/botocore-1.34.85.ebuild
new file mode 100644
index 000000000000..ba6cd2a5d2a2
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.85.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=( 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/
+"
+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
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/botocore-1.34.86.ebuild b/dev-python/botocore/botocore-1.34.86.ebuild
new file mode 100644
index 000000000000..ba6cd2a5d2a2
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.86.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=( 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/
+"
+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
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/botocore-1.34.87.ebuild b/dev-python/botocore/botocore-1.34.87.ebuild
new file mode 100644
index 000000000000..ba6cd2a5d2a2
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.87.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=( 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/
+"
+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
+ )
+
+ 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 20a7f216860d..000000000000
--- a/dev-python/botocore/botocore-9999.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="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_sphinx docs/source \
- 'dev-python/guzzle_sphinx_theme'
-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
- # fails on unrelated warnings
- tests/unit/test_client.py::TestAutoGeneratedClient::test_BOTO_DISABLE_COMMONNAME
- tests/unit/test_client.py::TestClientErrors::test_BOTO_DISABLE_COMMONNAME
- )
-
- epytest tests/{functional,unit} -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/bottle/Manifest b/dev-python/bottle/Manifest
index a4d5566e86b3..f3903aaa686c 100644
--- a/dev-python/bottle/Manifest
+++ b/dev-python/bottle/Manifest
@@ -1 +1 @@
-DIST bottle-0.12.23.tar.gz 73965 BLAKE2B ccd3dc3aad5c4c8b6899f55f03550cf9178e51788c27ece9808e1cff92693cc09dab145be16f814d29dae02ce53374a0470b2c4b032bc66a0ec2b1a11ec5ca44 SHA512 0550aa95680dd79d9c63c5de854845377183c86015893d9ee4e67126eca201582ef79d40ff0d1cbe79fe8a250118a775c63102475e337e18cfc1a65afe18f62a
+DIST bottle-0.12.25.tar.gz 74231 BLAKE2B 2856d94e1525f21e272d70ca3101188ea65417179342d7b3e971c5d1a3be77265e4197e5d29764a5739adbd984883ed121524f29e6a5933b8681e2c34b511a57 SHA512 14b8ed1ffd58f9667d451872ccf73a6f4bf8f7ffb9329f55314f90c770630cfe3f9956f786bcc7fd5f67fde22d14961952969af405912ebe71f019ca6599c975
diff --git a/dev-python/bottle/bottle-0.12.23.ebuild b/dev-python/bottle/bottle-0.12.23.ebuild
deleted file mode 100644
index 6df16fca5725..000000000000
--- a/dev-python/bottle/bottle-0.12.23.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 optfeature
-
-DESCRIPTION="A fast and simple micro-framework for small web-applications"
-HOMEPAGE="
- https://bottlepy.org/
- https://github.com/bottlepy/bottle/
- https://pypi.org/project/bottle/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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/mako[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-python_prepare_all() {
- sed -e '/scripts/d' -i setup.py || die
-
- # Remove test file requiring connection to network
- rm test/test_server.py || die
- distutils-r1_python_prepare_all
-}
-
-pkg_postinst() {
- optfeature "Templating support" dev-python/mako
- elog "Due to problems with bottle.py being in /usr/bin (see bug #474874)"
- elog "we do as most other distros and do not install the script anymore."
- elog "If you do want/have to call it directly rather than through your app,"
- elog "please use the following instead:"
- elog ' `python -m bottle`'
-}
diff --git a/dev-python/bottle/bottle-0.12.25-r1.ebuild b/dev-python/bottle/bottle-0.12.25-r1.ebuild
new file mode 100644
index 000000000000..6c0982822759
--- /dev/null
+++ b/dev-python/bottle/bottle-0.12.25-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 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="A fast and simple micro-framework for small web-applications"
+HOMEPAGE="
+ https://bottlepy.org/
+ https://github.com/bottlepy/bottle/
+ https://pypi.org/project/bottle/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ test? (
+ dev-python/mako[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ # https://github.com/bottlepy/bottle/issues/1422
+ "${FILESDIR}/${P}-py312.patch"
+)
+
+distutils_enable_tests unittest
+
+python_prepare_all() {
+ sed -e '/scripts/d' -i setup.py || die
+
+ # Remove test file requiring connection to network
+ rm test/test_server.py || die
+ distutils-r1_python_prepare_all
+}
+
+pkg_postinst() {
+ optfeature "Templating support" dev-python/mako
+ elog "Due to problems with bottle.py being in /usr/bin (see bug #474874)"
+ elog "we do as most other distros and do not install the script anymore."
+ elog "If you do want/have to call it directly rather than through your app,"
+ elog "please use the following instead:"
+ elog ' `python -m bottle`'
+}
diff --git a/dev-python/bottle/files/bottle-0.12.25-py312.patch b/dev-python/bottle/files/bottle-0.12.25-py312.patch
new file mode 100644
index 000000000000..717463841af5
--- /dev/null
+++ b/dev-python/bottle/files/bottle-0.12.25-py312.patch
@@ -0,0 +1,35 @@
+From ca6762c559c5e71e0dff71dc97eb4c6b3ed9bbcd Mon Sep 17 00:00:00 2001
+From: Marcel Hellkamp <marc@gsites.de>
+Date: Sun, 12 Jun 2022 15:15:35 +0200
+Subject: [PATCH] Fix #1378: Module loader should move from find_mdoule to
+ find_spec.
+
+---
+ bottle.py | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/bottle.py b/bottle.py
+index 8e7e3d7..63e55cf 100755
+--- a/bottle.py
++++ b/bottle.py
+@@ -2068,10 +2068,15 @@ class _ImportRedirect(object):
+ })
+ sys.meta_path.append(self)
+
++ def find_spec(self, fullname, path, target=None):
++ if '.' not in fullname: return
++ if fullname.rsplit('.', 1)[0] != self.name: return
++ from importlib.util import spec_from_loader
++ return spec_from_loader(fullname, self)
++
+ def find_module(self, fullname, path=None):
+ if '.' not in fullname: return
+- packname = fullname.rsplit('.', 1)[0]
+- if packname != self.name: return
++ if fullname.rsplit('.', 1)[0] != self.name: return
+ return self
+
+ def load_module(self, fullname):
+--
+2.40.1
+
diff --git a/dev-python/bottleneck/Manifest b/dev-python/bottleneck/Manifest
index 315fda104cfa..4626db60907c 100644
--- a/dev-python/bottleneck/Manifest
+++ b/dev-python/bottleneck/Manifest
@@ -1,2 +1 @@
-DIST bottleneck-1.3.5.gh.tar.gz 118989 BLAKE2B 5b9338a77cb3f0253348f45e641dca9fce11b50fb632e697272203870dd604730c08f1adc94ebf9c6c21f551e3f06b5492bcb036d6f40eaec8853d08ca298873 SHA512 9a0f224337fd9d5c741a1e469197be26923eaffb143eddfe0969128ddc233c799da6a5f2ba4ef22f6267cf93e7f748c140fbb16f57149ad327c47fe87ffc3346
-DIST bottleneck-1.3.6.gh.tar.gz 119180 BLAKE2B 8ba4ccb260731b1583eb62249fa0bdf8d25b96c978f5ff91003aaf965b0f5f5d000fb2a049f70e86266ebeb6e748cadd8e7d0ccafad1ed1a50f6aba18452c97a SHA512 0c0af2ee5ca77f86f855800748a4ce4c0fe85f9da445aeeaaffabdcdc0e2c47b18c5590b208cb8aed52d4ec4a1aa9c023588d11d1c5aa581e2c00d3d4c1ba73c
+DIST Bottleneck-1.3.8.tar.gz 103252 BLAKE2B 1e520e33eaa86b7328d469a8de2f0cacedb401f9dab3686cad40132caa23e77055b71e630fadda9305f3d416e8958e9762053e6d46afba4cf15489db77418b67 SHA512 951a927ce368643e2ccb5154c05381ce9ff17bc703c0bcd85eab547e345601ad82eb1dc85fa16d667753bf3dc9d0296025984dae463a0153944a85a085331a8e
diff --git a/dev-python/bottleneck/bottleneck-1.3.5-r1.ebuild b/dev-python/bottleneck/bottleneck-1.3.5-r1.ebuild
deleted file mode 100644
index 340803ba62a9..000000000000
--- a/dev-python/bottleneck/bottleneck-1.3.5-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="Fast NumPy array functions written in C"
-HOMEPAGE="
- https://github.com/pydata/bottleneck/
- https://pypi.org/project/Bottleneck/
-"
-SRC_URI="
- https://github.com/pydata/bottleneck/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="
- >=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() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- epytest
-}
diff --git a/dev-python/bottleneck/bottleneck-1.3.6.ebuild b/dev-python/bottleneck/bottleneck-1.3.6.ebuild
deleted file mode 100644
index e256737dfd03..000000000000
--- a/dev-python/bottleneck/bottleneck-1.3.6.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="Fast NumPy array functions written in C"
-HOMEPAGE="
- https://github.com/pydata/bottleneck/
- https://pypi.org/project/Bottleneck/
-"
-SRC_URI="
- https://github.com/pydata/bottleneck/archive/refs/tags/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="
- >=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() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- epytest
-}
diff --git a/dev-python/bottleneck/bottleneck-1.3.8.ebuild b/dev-python/bottleneck/bottleneck-1.3.8.ebuild
new file mode 100644
index 000000000000..d0c36fd55989
--- /dev/null
+++ b/dev-python/bottleneck/bottleneck-1.3.8.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
+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 ~loong ppc 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() {
+ rm -rf bottleneck || die
+ epytest --pyargs bottleneck
+}
diff --git a/dev-python/bpython/Manifest b/dev-python/bpython/Manifest
index 329bde0743c6..a92edc89a76d 100644
--- a/dev-python/bpython/Manifest
+++ b/dev-python/bpython/Manifest
@@ -1,2 +1 @@
-DIST bpython-0.23.tar.gz 222241 BLAKE2B eae70242323534dacada4d3d181ec4fba5fd384dc124bec7f28db887d2f1fb5b49ec6bc169d4a93db9de88dee82d714d502f2b2b1de5d9d01073f7504430cc23 SHA512 b25b68a690b838fef0c5dbb05565db4373ebb3611278b9f94db792ef25a43f59e3e9b7ac1ad0f571ae442948748b6c5e28888c6aa0f592cdf8499223cfded217
DIST bpython-0.24.tar.gz 222879 BLAKE2B d74276c2da25e4c9f4440af3c26bd69b08baa3f6f8ae04f55ace2a159c5d839711b6f969dcaae831bc680273bc6f4f8e7f9297751534ae14d76fb06e6bc4be48 SHA512 f95e853ad5aaba476cf0bcc197ae1d322af4a458637f8445372b54b75d315d3caae7a3f8b7d8c6d1bd2c4307c36b21cf320b22c367990bd0b9bfbf42a5e02267
diff --git a/dev-python/bpython/bpython-0.23-r1.ebuild b/dev-python/bpython/bpython-0.23-r1.ebuild
deleted file mode 100644
index 15e026aa65c0..000000000000
--- a/dev-python/bpython/bpython-0.23-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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Syntax highlighting and autocompletion for the Python interpreter"
-HOMEPAGE="
- https://www.bpython-interpreter.org/
- https://github.com/bpython/bpython/
- https://pypi.org/project/bpython/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="clipboard +jedi watch"
-KEYWORDS="amd64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/curtsies-0.4.0[${PYTHON_USEDEP}]
- dev-python/cwcwidth[${PYTHON_USEDEP}]
- dev-python/greenlet[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/pyxdg[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- clipboard? ( dev-python/pyperclip[${PYTHON_USEDEP}] )
- jedi? ( dev-python/jedi[${PYTHON_USEDEP}] )
- watch? ( dev-python/watchdog[${PYTHON_USEDEP}] )
-"
-# sphinx is used implicitly to build manpages
-BDEPEND="
- dev-python/sphinx[${PYTHON_USEDEP}]
-"
-
-DOCS=( AUTHORS.rst CHANGELOG.rst )
-
-distutils_enable_sphinx doc/sphinx/source --no-autodoc
-distutils_enable_tests unittest
diff --git a/dev-python/bpython/bpython-0.24.ebuild b/dev-python/bpython/bpython-0.24.ebuild
index 60873f7c0ec7..7d9e77da6a36 100644
--- a/dev-python/bpython/bpython-0.24.ebuild
+++ b/dev-python/bpython/bpython-0.24.ebuild
@@ -4,9 +4,9 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Syntax highlighting and autocompletion for the Python interpreter"
HOMEPAGE="
@@ -14,13 +14,13 @@ HOMEPAGE="
https://github.com/bpython/bpython/
https://pypi.org/project/bpython/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
IUSE="clipboard +jedi watch"
-KEYWORDS="~amd64 ~riscv ~x86"
+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/Manifest b/dev-python/bracex/Manifest
index 4ca10df673c8..b763e1a5dffe 100644
--- a/dev-python/bracex/Manifest
+++ b/dev-python/bracex/Manifest
@@ -1 +1 @@
-DIST bracex-2.3_p1.tar.gz 27541 BLAKE2B a9e33e01f014c6b784b059a76da338a708a24ff88787c98c0916a6d13ac5497a1f4f14d711cab8bde1281a9968db68bdc8fdfbc23a531ef6c89adfa9974492b1 SHA512 3c5a8a81adb78c9d3d40b57328a6a47b3257bb0072be2685c8049cf8a91501993ce470dfd394a61d0a0fdcd082405b204e5e3e0666018978b5aa820b0d74b631
+DIST bracex-2.4.tar.gz 26588 BLAKE2B 99a3a846c1b427e11fd9fe05389d20c81126c5f9a23cb86961265fb1ea4ec51a48e1afa5e40f569b52533732784b00f2b504637efd4d19286a4bb603b1db76cd SHA512 14e520aad81b65df5047374b1920c7202bc62d4524fba4ae82ca7e92e18ae4e0f5d6a184fd772da0cafc3e891f45bab53ad31f6b444d914c3469969b33fa1a28
diff --git a/dev-python/bracex/bracex-2.3_p1.ebuild b/dev-python/bracex/bracex-2.3_p1.ebuild
deleted file mode 100644
index a97a596ba98d..000000000000
--- a/dev-python/bracex/bracex-2.3_p1.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=hatchling
-
-DOCS_BUILDER="mkdocs"
-DOCS_DEPEND="
- dev-python/mkdocs-git-revision-date-localized-plugin
- dev-python/mkdocs-material
- dev-python/mkdocs-minify-plugin
- dev-python/mkdocs_pymdownx_material_extras
- dev-python/pyspelling
-"
-
-inherit distutils-r1 docs
-
-MY_PV="${PV%_p1}.post1"
-
-DESCRIPTION="Bash style brace expansion for Python"
-HOMEPAGE="
- https://github.com/facelessuser/bracex/
- https://pypi.org/project/bracex/
-"
-SRC_URI="
- https://github.com/facelessuser/${PN}/archive/${MY_PV}.tar.gz
- -> ${P}.tar.gz
-"
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
-
-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/bracex/bracex-2.4.ebuild b/dev-python/bracex/bracex-2.4.ebuild
new file mode 100644
index 000000000000..ba2c1ddcb655
--- /dev/null
+++ b/dev-python/bracex/bracex-2.4.ebuild
@@ -0,0 +1,49 @@
+# 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-git-revision-date-localized-plugin
+ dev-python/mkdocs-material
+ dev-python/mkdocs-minify-plugin
+ dev-python/mkdocs-pymdownx-material-extras
+ dev-python/pyspelling
+"
+
+inherit distutils-r1 docs pypi
+
+DESCRIPTION="Bash style brace expansion for Python"
+HOMEPAGE="
+ https://github.com/facelessuser/bracex/
+ https://pypi.org/project/bracex/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+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/bracex/metadata.xml b/dev-python/bracex/metadata.xml
index b1ed97104dd1..66b69a2db45e 100644
--- a/dev-python/bracex/metadata.xml
+++ b/dev-python/bracex/metadata.xml
@@ -1,18 +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="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>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/braintree/Manifest b/dev-python/braintree/Manifest
index df5533297112..5d623f79cc86 100644
--- a/dev-python/braintree/Manifest
+++ b/dev-python/braintree/Manifest
@@ -1 +1,3 @@
-DIST braintree_python-4.18.1.gh.tar.gz 216743 BLAKE2B 715656ac712d6b79200c4453ca5ff35bf803ddaa04f57e174ebbc3f61776b3d373184ed82781349f0ea5205c8e7cedff701e6d254ff3b821be06b77c39352946 SHA512 7adb1f5e66113d663dc59cfc1df638c3bcdfc2f1ed46125b3e882ee48053e2ea07139f447cc4151dde6a7afb6986cb65d41f26a116d00a89e5f28d54409b9fcb
+DIST braintree_python-4.26.0.gh.tar.gz 227139 BLAKE2B c71201ebca497e6ba9a632b5b88e0b6eca37181cf96e380d01a195c67be8261237038aa7e5188752d337bf4c145a7305e23066216fdda564ccdbd3d3dc4ed8d3 SHA512 fabd2955bf23c269b13739d513310690103cf3cc3f65406bf7027192354cfbe9e8b9aa974acd2d0a32a0c66addcd8452d40abfa64ba6333bf5eadd65781845e0
+DIST braintree_python-4.27.0.gh.tar.gz 227120 BLAKE2B 6ef858f9970206ba1ca5db7cba534ac6f817e7580cd90953c731563a6bba81c77cf1ea0afd81344e77ddb2398a81c3b8784a7aa68bd1bcc7be62a9362cdf6482 SHA512 b0d8c3a30db70df6b1d1b0fa89ac9dfbe6e3d2b4d08b9aa72279274c49307db21cee3f5dcc8bae79a1b4a045159e8fffeef9aa7048437299b3d6553eba1a1e45
+DIST braintree_python-4.28.0.gh.tar.gz 227282 BLAKE2B cb811005eaecb380befa99a2721f421e1a1d43417afd2ab243cc83654b2823d50d40c8780a2406c415ec54d683925d45a4900e227a3fed2d6192db80bef92a4a SHA512 872195ed3183e248f6b9127ddcbfe62f5305141806f2af31cf62425d4a76184d8ef7eab5a346818db6fdcbbc01a03979662b379fe8f7f17571d84b127dc0e3f1
diff --git a/dev-python/braintree/braintree-4.18.1.ebuild b/dev-python/braintree/braintree-4.18.1.ebuild
deleted file mode 100644
index ba88647058bf..000000000000
--- a/dev-python/braintree/braintree-4.18.1.ebuild
+++ /dev/null
@@ -1,38 +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
-
-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/
-"
-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.26.0.ebuild b/dev-python/braintree/braintree-4.26.0.ebuild
new file mode 100644
index 000000000000..d3baae2bd1d1
--- /dev/null
+++ b/dev-python/braintree/braintree-4.26.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..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.27.0.ebuild b/dev-python/braintree/braintree-4.27.0.ebuild
new file mode 100644
index 000000000000..d3baae2bd1d1
--- /dev/null
+++ b/dev-python/braintree/braintree-4.27.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..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..d3baae2bd1d1
--- /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..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/breathe/Manifest b/dev-python/breathe/Manifest
index 615b4c282881..a14e4d4d735f 100644
--- a/dev-python/breathe/Manifest
+++ b/dev-python/breathe/Manifest
@@ -1 +1 @@
-DIST breathe-4.34.0.gh.tar.gz 206989 BLAKE2B 1c899165ae30de373f90c0fd0b3428d7f4d74e3f66720731c2d02bc2a8bd9c6e5bbd81909b8ab186304975f877d276ed0170c611105335032bee3b689cadef73 SHA512 7f3134575f1b8c4d7c96ebc735e33f656b5c6046de3fa2aee95d5e895fb33f0a83fb4b1c64dd69b9deca20b785868b42d6b1d5e39741500ff5f9d82bf3f130b4
+DIST breathe-4.35.0.gh.tar.gz 212932 BLAKE2B 9423cc99cd1dc45fa1c93f1e2adfe59be4f3398842d3c6f98ee7a17285e108de4eb88e149c4ee179fa1008e30b69c8fa4f3934506aa53892c2eb612fa7652ba3 SHA512 76e36fceb89c21e2c62471a37b856f8e7077f946ca8ebffdd068297d7d447ba4f42f8f9d91e231f7a181d7dba2cb8650479f35f8bef342184e5ccbd3dd951f91
diff --git a/dev-python/breathe/breathe-4.34.0.ebuild b/dev-python/breathe/breathe-4.34.0.ebuild
deleted file mode 100644
index f5520f4e516f..000000000000
--- a/dev-python/breathe/breathe-4.34.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_{9..11} )
-
-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
-
-PATCHES=(
- "${FILESDIR}"/${P}-sphinx-5.3.0.patch
-)
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..16719afdb406
--- /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..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-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/files/breathe-4.34.0-sphinx-5.3.0.patch b/dev-python/breathe/files/breathe-4.34.0-sphinx-5.3.0.patch
deleted file mode 100644
index 52c65b99ec4a..000000000000
--- a/dev-python/breathe/files/breathe-4.34.0-sphinx-5.3.0.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 877d88e5aecd1d39978a46fe7f3df35474d7cd8d Mon Sep 17 00:00:00 2001
-From: Daniel Garcia Moreno <daniel.garcia@suse.com>
-Date: Fri, 28 Oct 2022 08:45:33 +0200
-Subject: [PATCH] Fix tests for Sphinx 5.3.0
-
-Fix https://github.com/breathe-doc/breathe/issues/863
----
- tests/test_renderer.py | 12 +++++++++++-
- 1 file changed, 11 insertions(+), 1 deletion(-)
-
-diff --git a/tests/test_renderer.py b/tests/test_renderer.py
-index 1688981..a858c65 100644
---- a/tests/test_renderer.py
-+++ b/tests/test_renderer.py
-@@ -109,6 +109,12 @@ class WrappedCompoundDef(compounddefTypeSub, WrappedDoxygenNode):
- WrappedDoxygenNode.__init__(self, compounddefTypeSub, **kwargs)
-
-
-+class MockMemo:
-+ def __init__(self):
-+ self.title_styles = ""
-+ self.section_level = ""
-+
-+
- class MockState:
- def __init__(self, app):
- from breathe.project import ProjectInfoFactory
-@@ -123,7 +129,11 @@ class MockState:
- settings.env = env
- self.document = utils.new_document("", settings)
-
-- def nested_parse(self, content, content_offset, contentnode):
-+ # In sphinx 5.3.0 the method state.nested_parse is not called directly
-+ # so this memo object should exists here
-+ self.memo = MockMemo()
-+
-+ def nested_parse(self, content, content_offset, contentnode, match_titles=1):
- pass
-
-
---
-2.39.0
-
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/Manifest b/dev-python/brotlicffi/Manifest
index 09219d188fe0..8125c9ecdcb3 100644
--- a/dev-python/brotlicffi/Manifest
+++ b/dev-python/brotlicffi/Manifest
@@ -1,2 +1,3 @@
-DIST brotli-46c1a881b41bb638c76247558aa04b1591af3aa7.tar.gz 19840371 BLAKE2B b9a1c3c2e5b62bd63b392debe54bd1732ac1cb31f88500f0142108b453649d96901d9a03b6db98642cb9abaf9188c06d440f2b8bd3cf57fbbb52196a931f5079 SHA512 dc573c90491032a205f32f0ce9c93e95b06c70a3107caa9501e038a212226c37117d63709a29843367344bf7d18cf32d0c0578b11166387198e12b38b1522406
-DIST brotlicffi-1.0.9.2.gh.tar.gz 22714 BLAKE2B 463cff7aed04718d1c77e6b3477dbbdb40cf61f0e045a7759bf1e8656e3b07e7b9f3ff5c5356069e752d750774a6ab203588a4094d27ad7ab9ae80f091c6ea3a SHA512 3d200f606c9851f0049835b53dd1f117727786505b5887e246934f41a978d375e1fa5a078e0811f130c009931e41c51575bd9d55b602ee7b6daebe9759ed15d5
+DIST alice29.txt 152089 BLAKE2B ea900856d3ae0ed2fea1923e557824bd09583f7c1be25aa778a43812d945318e1d911e682e318861979b5a479765b34e15a926d257f883ff2fb0df418ebf9966 SHA512 d93d674d66b227d7b3f4e1b7c35b102c40800e728bff68c7821109e7db7adf2f0b76a67bc9bd53b0202ac8daa0b22145f004dbdc6b59a48a6c8c72061bf1989f
+DIST brotli-ed738e842d2fbdf2d6459e39267a633c4a9b2f5d.tar.gz 512305 BLAKE2B b646e4565386870443d006a97a13b295c2c66de448e501f809700c303bb3daf5e4f84a2dacec16c43a534879243e4cda9292072630f13d5f7ca54f2c4372e560 SHA512 f493e7f15ca2804ae8715e48bdc954680f527533e684ec3762a7d49d05890915194289ed948c8cce95644274e1dcab952dcfbc84c0108aaf79f35f20270ffe6a
+DIST brotlicffi-1.1.0.0.gh.tar.gz 22736 BLAKE2B 013eec22fcc83da838020c97c4610f80d011a47e6f2c6e35cc1fb062fc0990030349ec59597951003a15c5b4b373aeb91b3caec2a645bba2956e950727b7ae39 SHA512 5b53a2fb8a8a98720e1b9e52816954c2ac478dc31d174aca64b86b86aebb4ffa42e8811117a48ea6bde597846325326624f34178cb0bb1843670e8bdbc742c75
diff --git a/dev-python/brotlicffi/brotlicffi-1.0.9.2-r2.ebuild b/dev-python/brotlicffi/brotlicffi-1.0.9.2-r2.ebuild
deleted file mode 100644
index d4c35719b2a7..000000000000
--- a/dev-python/brotlicffi/brotlicffi-1.0.9.2-r2.ebuild
+++ /dev/null
@@ -1,62 +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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-# Commit of the Brotli library bundled within brotlipy.
-BROTLI_BUNDLED_COMMIT="46c1a881b41bb638c76247558aa04b1591af3aa7"
-
-DESCRIPTION="Python binding to the Brotli library"
-HOMEPAGE="
- https://github.com/python-hyper/brotlicffi/
- https://pypi.org/project/brotlicffi/
-"
-SRC_URI="
- https://github.com/python-hyper/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- test? (
- https://github.com/google/brotli/archive/${BROTLI_BUNDLED_COMMIT}.tar.gz
- -> brotli-${BROTLI_BUNDLED_COMMIT}.tar.gz
- )
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- app-arch/brotli:=
- $(python_gen_cond_dep '
- dev-python/cffi[${PYTHON_USEDEP}]
- ' 'python*')
-"
-DEPEND="
- ${RDEPEND}
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # incompatible with USE_SHARED_BROTLI=1
- test/test_compatibility.py::test_brotli_version
-)
-
-src_unpack() {
- default
- if use test; then
- mv "brotli-${BROTLI_BUNDLED_COMMIT}"/tests "${S}"/libbrotli/ || die
- fi
-}
-
-src_configure() {
- export USE_SHARED_BROTLI=1
-}
diff --git a/dev-python/brotlicffi/brotlicffi-1.1.0.0.ebuild b/dev-python/brotlicffi/brotlicffi-1.1.0.0.ebuild
new file mode 100644
index 000000000000..93e0af953bb0
--- /dev/null
+++ b/dev-python/brotlicffi/brotlicffi-1.1.0.0.ebuild
@@ -0,0 +1,66 @@
+# 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_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1
+
+# Commit of the Brotli library bundled within brotlipy.
+BROTLI_BUNDLED_COMMIT="ed738e842d2fbdf2d6459e39267a633c4a9b2f5d"
+
+DESCRIPTION="Python binding to the Brotli library"
+HOMEPAGE="
+ https://github.com/python-hyper/brotlicffi/
+ https://pypi.org/project/brotlicffi/
+"
+SRC_URI="
+ https://github.com/python-hyper/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/google/brotli/archive/${BROTLI_BUNDLED_COMMIT}.tar.gz
+ -> brotli-${BROTLI_BUNDLED_COMMIT}.tar.gz
+ https://github.com/google/brotli/raw/ed738e842d2fbdf2d6459e39267a633c4a9b2f5d/tests/testdata/alice29.txt
+ )
+"
+
+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="
+ app-arch/brotli:=
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # incompatible with USE_SHARED_BROTLI=1
+ test/test_compatibility.py::test_brotli_version
+)
+
+src_unpack() {
+ default
+ if use test; then
+ mv "brotli-${BROTLI_BUNDLED_COMMIT}"/tests "${S}"/libbrotli/ || die
+ # sigh, google and their stupid .gitattributes
+ cp "${DISTDIR}"/alice29.txt "${S}"/libbrotli/tests/testdata/ || die
+ fi
+}
+
+src_configure() {
+ export USE_SHARED_BROTLI=1
+}
diff --git a/dev-python/browser-cookie3/Manifest b/dev-python/browser-cookie3/Manifest
new file mode 100644
index 000000000000..1734b39d6a4b
--- /dev/null
+++ b/dev-python/browser-cookie3/Manifest
@@ -0,0 +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.18.1.ebuild b/dev-python/browser-cookie3/browser-cookie3-0.18.1.ebuild
new file mode 100644
index 000000000000..b3e06c61660a
--- /dev/null
+++ b/dev-python/browser-cookie3/browser-cookie3-0.18.1.ebuild
@@ -0,0 +1,34 @@
+# 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="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"
+
+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' __init__.py || die
+
+ distutils-r1_python_prepare_all
+}
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/browser-cookie3/metadata.xml b/dev-python/browser-cookie3/metadata.xml
new file mode 100644
index 000000000000..e5633c6d9603
--- /dev/null
+++ b/dev-python/browser-cookie3/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>voyageur@gentoo.org</email>
+ <name>Bernard Cafarelli</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">browser-cookie3</remote-id>
+ <remote-id type="github">borisbabic/browser_cookie3</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/brython/Manifest b/dev-python/brython/Manifest
index a8a571293d4f..ded94fb7a3c6 100644
--- a/dev-python/brython/Manifest
+++ b/dev-python/brython/Manifest
@@ -1,2 +1,3 @@
DIST brython-3.10.5.tar.gz 11106672 BLAKE2B 4219bdb99efd666e37ee08283e58f288e06dac52454931f72bcb4f3bf61a380fb1e01d724f49e598f6d7a95260609767d4536b5f04531939daaf93db6cdb23ad SHA512 7d2f50f94c9762d6587a9b0ed76805b14a5c2c89c0d27c7e181a3e3abdcdd28c9691fb80cd472f635f5bc6c36c884becd9a5625da4825d551b57b6b0779d3529
+DIST brython-3.11.2.gh.tar.gz 11827073 BLAKE2B d1f40eae0b42f1c7a4ea086de8d83baf23dafae9333faa25578e38d4dd34e80b471ae5ad73ce107fd26a014984f92ce2b6ef399e92da7c15b9a1374794d91011 SHA512 1f0d06ae6d6523fb8f99a4ff407783b677063e99f278e1a860a422535695d2f67d98d9ccea02968dd15a52998bd34620dd54f758d5f7f4a4668e9bc621680172
DIST brython-3.11.gh.tar.gz 11684005 BLAKE2B d2ec61082787bbb571fa3a7239bad4e5d633e20f392684c532477d23ab7480dc0c3cd30a837c32fae57c88fa1779afec71bc7adb63bb4abd8f6d2d78717d55ef SHA512 98ee9c8cf1b3f8103310cf08b639fcea6675d178aedde5f425d3b44eac74552e569a8abca8cb6935cfcfc43a009ea73abbc646557a2bda916e5328a8933bea0d
diff --git a/dev-python/brython/brython-3.11.2.ebuild b/dev-python/brython/brython-3.11.2.ebuild
new file mode 100644
index 000000000000..b069ff4db898
--- /dev/null
+++ b/dev-python/brython/brython-3.11.2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 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 webapp python-single-r1
+
+DESCRIPTION="Python 3 implementation for client-side web programming"
+HOMEPAGE="http://www.brython.info"
+SRC_URI="
+ https://github.com/${PN}-dev/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}"
+
+need_httpd_cgi
+
+pkg_setup() {
+ webapp_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_install() {
+ dodoc LICENCE.txt README.md
+ rm -v LICENCE.txt README.md bower.json .{git*,tra*} server.py || die
+
+ webapp_src_preinst
+
+ insinto "${MY_HTDOCSDIR}"
+ doins -r .
+
+ webapp_src_install
+}
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.ebuild b/dev-python/bsddb3/bsddb3-6.2.9.ebuild
deleted file mode 100644
index 16a2cdc47c16..000000000000
--- a/dev-python/bsddb3/bsddb3-6.2.9.ebuild
+++ /dev/null
@@ -1,66 +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} )
-PYTHON_REQ_USE="threads(+)"
-DISTUTILS_IN_SOURCE_BUILD=1
-inherit db-use distutils-r1
-
-DESCRIPTION="Python bindings for Berkeley DB"
-HOMEPAGE="https://www.jcea.es/programacion/pybsddb.htm https://pypi.org/project/bsddb3/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- 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.3:=
- || (
- sys-libs/db:6.2
- sys-libs/db:6.1
- sys-libs/db:5.3
- sys-libs/db:5.1
- sys-libs/db:4.8
- sys-libs/db:4.7
- )"
-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 6.2 6.1 5.3 5.1 4.8 4.7; 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
new file mode 100644
index 000000000000..8c584ff7f6ff
--- /dev/null
+++ b/dev-python/btrfs/Manifest
@@ -0,0 +1 @@
+DIST btrfs-13.gh.tar.gz 93110 BLAKE2B 286e5d1d9aa66ce5072f2fe144b2da6bbcde65dd90eb21efe1eb69b9aaa3230d76e8b8baffcfd269ce5d53e1004b5fc6c5546125bc1a5c26413ba8abc66f068a SHA512 5117b9c6542fe191eccbed56a15bb5d8eadc2d3c0edd986a3e1a33d0b63f58c3db5e7f6d234c43a83d1cc74eea3e106c5882a92926c3087601edc36e6672721f
diff --git a/dev-python/btrfs/btrfs-13.ebuild b/dev-python/btrfs/btrfs-13.ebuild
new file mode 100644
index 000000000000..e35218453bd2
--- /dev/null
+++ b/dev-python/btrfs/btrfs-13.ebuild
@@ -0,0 +1,39 @@
+# 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/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
new file mode 100644
index 000000000000..f74d1502aa66
--- /dev/null
+++ b/dev-python/btrfs/files/13-001-docs-do-not-monkey-patch-for-sphinx-4.patch
@@ -0,0 +1,146 @@
+
+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
new file mode 100644
index 000000000000..dcf81c7566de
--- /dev/null
+++ b/dev-python/btrfs/files/13-002-show_file_csum-fix-vaddr-computation.patch
@@ -0,0 +1,27 @@
+
+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
new file mode 100644
index 000000000000..24403089bd70
--- /dev/null
+++ b/dev-python/btrfs/files/13-003-ioctl-fix-documentation-error-in-FeatureFlags.patch
@@ -0,0 +1,21 @@
+
+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
new file mode 100644
index 000000000000..8e21581237bc
--- /dev/null
+++ b/dev-python/btrfs/files/13-004-add-Block-Group-Tree.patch
@@ -0,0 +1,110 @@
+
+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
new file mode 100644
index 000000000000..a6aae613a59d
--- /dev/null
+++ b/dev-python/btrfs/files/13-005-ctree-FileSystem-add-block_groups-function.patch
@@ -0,0 +1,58 @@
+
+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
new file mode 100644
index 000000000000..286282f73822
--- /dev/null
+++ b/dev-python/btrfs/files/13-006-btrfs-search-metadata-use-FileSystem-block_groups.patch
@@ -0,0 +1,30 @@
+
+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/btrfs/metadata.xml b/dev-python/btrfs/metadata.xml
new file mode 100644
index 000000000000..0167c381ec56
--- /dev/null
+++ b/dev-python/btrfs/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" proxied="yes">
+ <email>holger@applied-asynchrony.com</email>
+ <name>Holger Hoffstätte</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">knorrie/python-btrfs</remote-id>
+ <remote-id type="pypi">btrfs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/build/Manifest b/dev-python/build/Manifest
index ca93a47be7b2..75c88e83f845 100644
--- a/dev-python/build/Manifest
+++ b/dev-python/build/Manifest
@@ -1,2 +1,3 @@
-DIST build-0.10.0.gh.tar.gz 41509 BLAKE2B 0b1967af6fd0e47e8de5a6efcab879a37231b399965c4b52d9f952ed4fd64e9606b40f8e34ca18fb634ac5b42e3fa63995e6da292b10424f5ea0bd9fd49a46ca SHA512 e7ab783cc2b228e49c3dd15be7e25150924f26611994367b145cc2d43d7f89597c018cd4ca5cd8b31280d965421d314c80e4b97cf3e00f6cf73d80a3b081e7d1
-DIST build-0.9.0.gh.tar.gz 41012 BLAKE2B 764338ffab3b6ede66542195271b1b07d1cff71685ae88bcef8042ce0a93a3a95a80a8a2273ac6a1534d8416410c8af77fdd3fe52fdacb47b8a56a9857ba60a2 SHA512 d6ef229c8f3b348cc939af6bd9a0a521a25c3a5702a95da8ee36d7a1ad3f3e22e10b5c96495ff08a1328ab73f03feebc64e89ce165862cb295eff4360c79d642
+DIST build-1.1.1.gh.tar.gz 44605 BLAKE2B aa1d554d55007e8cb715981938bb8765230ae5ddc6c5bc29efeb52c0e18b6337a13c27f3389772a83cc0ecc9b7d3e889fbc305e91f1290424d7031a1782f683f SHA512 5fa64b07f2c22faca074d1447f5fcb12b7ad40e5fe897f034901d7932d8a9aa2c1dfa806d373503246255d7d9a2429b336384a980376f4ae7c810ae275b735da
+DIST build-1.2.0.gh.tar.gz 47350 BLAKE2B 874f4871d5b8c22ce1d93a840fd00315cfa3a93b01a44e3c8c3270d2dcb66455e2c44e757d0ae15a58a35ea4ee8679a797191523254c914150d801cf3c0a5fa8 SHA512 aaa4677f8eb04c2872dc0f64287e00cd0aa47b10d3bfd67a63c22db42caef8baae9996c3a6ced3a07cce4a54d6fd52a3f15d167f804f7f518d258aa5da68419c
+DIST build-1.2.1.gh.tar.gz 47394 BLAKE2B d38a138dee5065ff0faee453bdc608fc519bc4b4a3cec8b60cf4f745288f8238dd7e9334f75bdd67765037a62b220079ce924c6581f745eb3750e732b2184d48 SHA512 77003e16d3776c3a4be920251bf14650eea112b92d94116cb1893195b8e16aae57321206ae63267119247f2794f220c891b7d913e07a8258b313d34c07d54fe9
diff --git a/dev-python/build/build-0.10.0.ebuild b/dev-python/build/build-0.10.0.ebuild
deleted file mode 100644
index 43475e69cf9f..000000000000
--- a/dev-python/build/build-0.10.0.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=flit
-PYTHON_COMPAT=( python3_{9..11} 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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~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.{8..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]'
- # Internet
- tests/test_main.py::test_build_package
- tests/test_main.py::test_build_package_via_sdist
- tests/test_self_packaging.py::test_build_sdist
- tests/test_self_packaging.py::test_build_wheel
- 'tests/test_util.py::test_wheel_metadata[True]'
- tests/test_util.py::test_with_get_requires
- # we don't really have to test that fallback
- # (requires dev-python/toml that we'd like to lastrite eventually)
- tests/test_projectbuilder.py::test_toml_instead_of_tomli
- )
-
- epytest -p no:flaky -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/build/build-0.9.0.ebuild b/dev-python/build/build-0.9.0.ebuild
deleted file mode 100644
index 42499f2e7590..000000000000
--- a/dev-python/build/build-0.9.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} 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/pep517-0.9.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
- ' 3.8 3.9 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[${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_env.py::test_isolated_env_log
- tests/test_main.py::test_output_env_subprocess_error
- 'tests/test_main.py::test_output[via-sdist-isolation]'
- 'tests/test_main.py::test_output[wheel-direct-isolation]'
- # Internet
- tests/test_main.py::test_build_package
- tests/test_main.py::test_build_package_via_sdist
- tests/test_self_packaging.py::test_build_sdist
- tests/test_self_packaging.py::test_build_wheel
- 'tests/test_util.py::test_wheel_metadata[True]'
- tests/test_util.py::test_with_get_requires
- # we don't really have to test that fallback
- # (requires dev-python/toml that we'd like to lastrite eventually)
- tests/test_projectbuilder.py::test_toml_instead_of_tomli
- )
-
- epytest -p no:flaky -n "$(makeopts_jobs)" \
- -W"ignore:path is deprecated.:DeprecationWarning"
-}
diff --git a/dev-python/build/build-1.1.1.ebuild b/dev-python/build/build-1.1.1.ebuild
new file mode 100644
index 000000000000..e2ad8bca28ef
--- /dev/null
+++ b/dev-python/build/build-1.1.1.ebuild
@@ -0,0 +1,60 @@
+# 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 )
+
+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"
+
+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}]
+ )
+"
+
+EPYTEST_XDIST=1
+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]'
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -m "not network" -p pytest_mock -p rerunfailures
+}
diff --git a/dev-python/build/build-1.2.0.ebuild b/dev-python/build/build-1.2.0.ebuild
new file mode 100644
index 000000000000..92cc73481513
--- /dev/null
+++ b/dev-python/build/build-1.2.0.ebuild
@@ -0,0 +1,76 @@
+# 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 )
+
+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 ~m68k ~ppc64 ~sparc"
+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? (
+ >=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? (
+ !sparc? ( dev-python/uv )
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+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]'
+ # Internet
+ 'tests/test_main.py::test_verbose_output[False-0]'
+ 'tests/test_main.py::test_verbose_output[False-1]'
+ )
+
+ if ! has_version ">=dev-python/uv-0.1.18"; then
+ EPYTEST_DESELECT+=(
+ tests/test_env.py::test_external_uv_detection_success
+ 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
+ epytest -m "not network" -p pytest_mock -p rerunfailures
+}
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..dc10d3d3d4a2
--- /dev/null
+++ b/dev-python/build/build-1.2.1.ebuild
@@ -0,0 +1,77 @@
+# 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 )
+
+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 ~m68k ~ppc64 ~riscv ~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? (
+ >=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? (
+ !sparc? ( dev-python/uv )
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+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]'
+ # 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
+ epytest -m "not network" -p pytest_mock -p rerunfailures
+}
diff --git a/dev-python/cachecontrol/Manifest b/dev-python/cachecontrol/Manifest
index 7bb1c215429e..39f6e1b02ccc 100644
--- a/dev-python/cachecontrol/Manifest
+++ b/dev-python/cachecontrol/Manifest
@@ -1 +1 @@
-DIST cachecontrol-0.12.12.gh.tar.gz 41909 BLAKE2B 1b36424e692beba817b650dfc493b78e99a99c7e1f27a845751d1372a926ce4750096aa3c608ea6c499d2bbb60b5410e18d963aeff1a3228cc835af0bd68c081 SHA512 d7477da4c3b64da2c9bbc1e65ee0a389d4631abd2aa7d7f2bbc66f96888dc036e717f8e4042f2adcd75215bdedce8626f7f4cb67c117d43ca546114f0fabd65c
+DIST cachecontrol-0.14.0.tar.gz 28899 BLAKE2B 158d70333b8e5cbbee31db788c9737a92592c3c342d17e4e1ff4826759e3fe14eb855556f9363c122fbf3fd68ca43a78b34b3327260fe51a15b30dde01302508 SHA512 4bb43475d43a2b83f9196cf02af7a881ab37da3b481777f1ae6b24df0f7dab54629fcdf9e07b00e1226a7707f5c92b0473481ef7cbbcaa4275665a41487c903f
diff --git a/dev-python/cachecontrol/cachecontrol-0.12.12.ebuild b/dev-python/cachecontrol/cachecontrol-0.12.12.ebuild
deleted file mode 100644
index 4b04dc20f721..000000000000
--- a/dev-python/cachecontrol/cachecontrol-0.12.12.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="httplib2 caching for requests"
-HOMEPAGE="
- https://pypi.org/project/CacheControl/
- https://github.com/ionrock/cachecontrol/
-"
-SRC_URI="
- https://github.com/ionrock/cachecontrol/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 ~sparc x86"
-
-RDEPEND="
- >=dev-python/msgpack-0.5.2[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/cherrypy[${PYTHON_USEDEP}]
- dev-python/filelock[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e 's/setuptools.find_packages(/&exclude=["tests", "tests.*"]/' -i setup.py || die
- distutils-r1_src_prepare
-}
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..3bfa7b3b1e02
--- /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..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-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/cachecontrol/metadata.xml b/dev-python/cachecontrol/metadata.xml
index a98e88cd3529..fe6101713290 100644
--- a/dev-python/cachecontrol/metadata.xml
+++ b/dev-python/cachecontrol/metadata.xml
@@ -7,7 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="github">ionrock/cachecontrol</remote-id>
+ <remote-id type="github">psf/cachecontrol</remote-id>
<remote-id type="pypi">CacheControl</remote-id>
</upstream>
</pkgmetadata>
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
index 618e82103cf1..130e039c94ed 100644
--- a/dev-python/cached-property/cached-property-1.5.2-r1.ebuild
+++ b/dev-python/cached-property/cached-property-1.5.2-r1.ebuild
@@ -3,14 +3,14 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A cached-property for decorating methods in classes"
HOMEPAGE="https://github.com/pydanny/cached-property"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/cachelib/Manifest b/dev-python/cachelib/Manifest
index fc76c95699e4..056183421786 100644
--- a/dev-python/cachelib/Manifest
+++ b/dev-python/cachelib/Manifest
@@ -1,2 +1,2 @@
-DIST cachelib-0.10.1.gh.tar.gz 29232 BLAKE2B e5cdc9282741aac039a90943ba912274f227a93168656e757994781672ae73cba820d1b737c582716fa0711cf74572d2f81b0a495af6b006ff9138e0180c5758 SHA512 4366b6b0e1291cfd84de60927c61e127af7750b4f7437ba34dc6f5542997b01e3525ef628c7dc4325087fa60cb2e9633b1fd32fdc7d93ebe697333ca0e30355f
-DIST cachelib-0.9.0.gh.tar.gz 26407 BLAKE2B 8b1b6c725f5869fda4752db64ab4ee9ee9c748f0ed7e73cb5a9967d18d461cc29779a1e3dc18fcf4b9152f9586ed342fb97e75b4a9b7cb6f5efdeee02f8cf13e SHA512 53b214ba95b0e368e48ddc1e9f904497055e4c37deb0d1946419c3b294eb0e999ea690f2b79bd4801ad80201fb823927bc2024cc493006e20f623955850bba71
+DIST cachelib-0.12.0.gh.tar.gz 30768 BLAKE2B 5d147e63d0be58c7134f851cea79a002aa89b5364aec5c0e0906bfb9573578b094d71f361265b15eb519da897eed069d4aaeae1a8599176a95c074186018a713 SHA512 a35bfa9dfb6db8ae0e6fcdad86e5221d82144d5c0fcdb046b951d193f70f706712800b27c27825f8020314c521eb568131257ce0e20dc820cb3f7f8ffbf2650f
+DIST cachelib-0.13.0.gh.tar.gz 31116 BLAKE2B fcb5f065778533bbe9200c77f12d374a62111c5dc26e366c07ea0986bba138a97c56de0440dd3b4a5603b8700ec8035b65ebe95d48e4dcf60c03f78a2215f128 SHA512 6b58f3823d1169ca1e25a5accc7a51752e26c8e7f62b58a571b0de4d8792dd6c3eb3d3c60f3843653b7aaa17177a1d6d56e442ceb6b69a486d76511003ff97b2
diff --git a/dev-python/cachelib/cachelib-0.10.1.ebuild b/dev-python/cachelib/cachelib-0.10.1.ebuild
deleted file mode 100644
index 74784a2e4520..000000000000
--- a/dev-python/cachelib/cachelib-0.10.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
-PYTHON_COMPAT=( python3_{9..10} )
-
-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-py[${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.12.0.ebuild b/dev-python/cachelib/cachelib-0.12.0.ebuild
new file mode 100644
index 000000000000..0fb1ea9cefa5
--- /dev/null
+++ b/dev-python/cachelib/cachelib-0.12.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..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
+ # requires mongo test server
+ tests/test_mongodb_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..0262028d040d
--- /dev/null
+++ b/dev-python/cachelib/cachelib-0.13.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
+
+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
+ # requires mongo test server
+ tests/test_mongodb_cache.py
+)
diff --git a/dev-python/cachelib/cachelib-0.9.0.ebuild b/dev-python/cachelib/cachelib-0.9.0.ebuild
deleted file mode 100644
index eedabefc93fa..000000000000
--- a/dev-python/cachelib/cachelib-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=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
-
-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-py[${PYTHON_USEDEP}]
- net-misc/memcached
- www-servers/uwsgi[python,${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # bug #818523
- tests/test_redis_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 0b882de3b733..94f7b1d875a1 100644
--- a/dev-python/cachetools/Manifest
+++ b/dev-python/cachetools/Manifest
@@ -1,3 +1 @@
-DIST cachetools-5.2.0.tar.gz 27342 BLAKE2B 905986bca98996fbc74c74bc5710b429ae63b4bf6283a3910e83a92cac461ef4a0271b1691a694fe8ecacf38eeeb921d7345c9e015f1400705662081d5e29dbd SHA512 e12766aef1725091edcdd0ef3687b891242f711de069c0d0642680d61dcca79e645e6ecb5f2e22470f189aba59daa2b5a830dc76791256517368f8912a065eef
-DIST cachetools-5.2.1.tar.gz 27401 BLAKE2B 0923744627c83b3c8d5d657730bcb44efbcb211076edb09d4b93149d7ee6856724a818c84ffcc048184060543dfca45f0c136d126143553d461515adda956e10 SHA512 3d86f1ff07f048576d7f7dc44954a7a469ac982e670f9e2ebec6f2a13ae741c9c06b8334e345d81ef8b69ae069056ab715dbea81c9f6fde7a7ff8b283bd7dca4
-DIST cachetools-5.3.0.tar.gz 27935 BLAKE2B 6ef41ef383aebc1d65e2855c6ce2e62ea38163b44f9dca756482ee8f35bbee033b88a3d7d458ea970fafb062f8b202563d478ff3ccae376f424bc643c9dcbe1a SHA512 5f0be2e95b82de4866718744ba1712354b413441eb8978f0bcb3e32306b6671b8ed7fa238aa31bef4c3b97764347d12a375b058f5df51dc80b277bf2cef23e61
+DIST cachetools-5.3.3.tar.gz 26522 BLAKE2B 56eb1ab02fa50a7980d977d9a136c4c43b4981308c1c9fd5b2de596ce5fc79b2e3fbdefdade594fa3aa632eb5b26742f2afb7359dc87705d27389a8312247095 SHA512 ece7b1e54839aa8cae65a6164dc8dce6b1553c72ead551e1ae1d8a5e5ee937b952773504dc0d63c423521adfd20d6839bb3ea066dcbc6ab296649bd4ab8f7d83
diff --git a/dev-python/cachetools/cachetools-5.2.0.ebuild b/dev-python/cachetools/cachetools-5.2.0.ebuild
deleted file mode 100644
index 9095c525a04e..000000000000
--- a/dev-python/cachetools/cachetools-5.2.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Extensible memoizing collections and decorators"
-HOMEPAGE="
- https://github.com/tkem/cachetools/
- https://pypi.org/project/cachetools/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~riscv x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/cachetools/cachetools-5.2.1.ebuild b/dev-python/cachetools/cachetools-5.2.1.ebuild
deleted file mode 100644
index b2389ae9952f..000000000000
--- a/dev-python/cachetools/cachetools-5.2.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Extensible memoizing collections and decorators"
-HOMEPAGE="
- https://github.com/tkem/cachetools/
- https://pypi.org/project/cachetools/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/cachetools/cachetools-5.3.0.ebuild b/dev-python/cachetools/cachetools-5.3.0.ebuild
deleted file mode 100644
index b2389ae9952f..000000000000
--- a/dev-python/cachetools/cachetools-5.3.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Extensible memoizing collections and decorators"
-HOMEPAGE="
- https://github.com/tkem/cachetools/
- https://pypi.org/project/cachetools/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~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..3b4a467cded3
--- /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..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/cairocffi/Manifest b/dev-python/cairocffi/Manifest
index 867c329fbacf..2a442a821865 100644
--- a/dev-python/cairocffi/Manifest
+++ b/dev-python/cairocffi/Manifest
@@ -1,2 +1 @@
-DIST cairocffi-1.3.0.tar.gz 88784 BLAKE2B 022634825febd3d70a0115f0632e9b146719a2ab802583e0f57ebbd36c65c9e73f4547dbc5ea3651b8b38a043d519f000e908c34b77f3bf49e2ed5ded1a0ca02 SHA512 be459a5f4c1986cf339b7b15fdb7d3ac52476c8c31ff663b4708917ce8abd6fc66860d1966744b69aebf7aebca4415b32166df79505ad42f315ffd76d7163d7e
-DIST cairocffi-1.4.0.tar.gz 69851 BLAKE2B 8037d9bc619d2e96e655dc4682bb95a1e920d0b2188963088c1be21f2e157f7e791f3994f0ae7ecd338547baf2a65d03b175398bc1b3c92145ae6ea148420b5a SHA512 7ffdaf365c1251b202e2680a2f689ec6ea04c19eb75df38137624ffeb429ab61c6f54af450aec019b2570a4e91d2d701328109e4e0f5662a3b3b655ab53705ff
+DIST cairocffi-1.6.1.tar.gz 87436 BLAKE2B 54f7f3db31ab52aac6ebce1c830c4c0ff2f5ffde1f6a803bf8453b0ab3307414732c2e43b5b931ff77c9cbf6fe3229150e49254f13891f5e75e88eeef73970b9 SHA512 5489263b7e7e2aca7291860a90a6339d35e819cc03a9add47cd21b4ec0cb0274445c3e852ee3be127c42d8b5d9fcb98b02ff7eb66e3d9d243bd33527ce6ddf5c
diff --git a/dev-python/cairocffi/cairocffi-1.3.0.ebuild b/dev-python/cairocffi/cairocffi-1.3.0.ebuild
deleted file mode 100644
index f9e193dd3ca4..000000000000
--- a/dev-python/cairocffi/cairocffi-1.3.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_{9..11} )
-inherit distutils-r1 virtualx
-
-DESCRIPTION="CFFI-based drop-in replacement for Pycairo"
-HOMEPAGE="https://github.com/Kozea/cairocffi"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}]
- ' 'python*')
- >=dev-python/xcffib-0.3.2[${PYTHON_USEDEP}]
- x11-libs/cairo:0=[X,xcb(+)]
- x11-libs/gdk-pixbuf[jpeg]"
-BDEPEND="
- test? ( dev-python/numpy[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.8.0-tests.patch
-)
-
-src_prepare() {
- sed -i -e '/pytest-/d' -e '/addopts/d' setup.cfg || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- virtx pytest -vv --pyargs cairocffi
-}
diff --git a/dev-python/cairocffi/cairocffi-1.4.0.ebuild b/dev-python/cairocffi/cairocffi-1.4.0.ebuild
deleted file mode 100644
index d9172dc275ab..000000000000
--- a/dev-python/cairocffi/cairocffi-1.4.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 virtualx
-
-DESCRIPTION="CFFI-based drop-in replacement for Pycairo"
-HOMEPAGE="
- https://github.com/Kozea/cairocffi/
- https://pypi.org/project/cairocffi/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc ~x86"
-
-RDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}]
- ' 'python*')
- >=dev-python/xcffib-0.3.2[${PYTHON_USEDEP}]
- x11-libs/cairo:0=[X,xcb(+)]
- x11-libs/gdk-pixbuf[jpeg]
-"
-BDEPEND="
- 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
new file mode 100644
index 000000000000..a3ab01dd33ec
--- /dev/null
+++ b/dev-python/cairocffi/cairocffi-1.6.1.ebuild
@@ -0,0 +1,51 @@
+# 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/caldav/Manifest b/dev-python/caldav/Manifest
index e0073ecc3695..6e0ceb3cb393 100644
--- a/dev-python/caldav/Manifest
+++ b/dev-python/caldav/Manifest
@@ -1 +1 @@
-DIST caldav-1.0.1.gh.tar.gz 133071 BLAKE2B d7b9eb8015782bed5d32b7c34508cfcc1334d33cdfed99003cf45893b0a894d5a3187a2c98f886f97ffe8a64140a5a3826e1b3f57b58228a61d1ad4f9bf9f72a SHA512 ac816afd74f6fe34d82345a8b3a934fbe2c37af6a75cc8ef91cd87c8b8d147962ff05e701cd91480c1963d57967898129f923655d366820b689959b00f55659f
+DIST caldav-1.3.9.tar.gz 106392 BLAKE2B 6b7ca6b7be72b604f54663c5d2a79bc0a3b9874c791407fb7161357bad4cc5016249d0dd8278fb394ff3ce9bfa681f8e034710706faf2d1b4eb8345ac3ba110c SHA512 d368511b82d341406801ecca6aa371a2b4f5641eedba784fa869d76ebd1836991fb2d1cdc12d42feb1a55db73dfb5d80da7efebf95759fd7b6e122129a001ae3
diff --git a/dev-python/caldav/caldav-1.0.1-r1.ebuild b/dev-python/caldav/caldav-1.0.1-r1.ebuild
deleted file mode 100644
index 8277363660c9..000000000000
--- a/dev-python/caldav/caldav-1.0.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="CalDAV (RFC4791) client library for Python"
-HOMEPAGE="
- https://github.com/python-caldav/caldav/
- https://pypi.org/project/caldav/
-"
-SRC_URI="
- https://github.com/python-caldav/caldav/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="|| ( GPL-3 Apache-2.0 )"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/vobject[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/icalendar[${PYTHON_USEDEP}]
- dev-python/python-recurring-ical-events[${PYTHON_USEDEP}]
- dev-python/tzlocal[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- www-apps/radicale[${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..badd5aa55a31
--- /dev/null
+++ b/dev-python/caldav/caldav-1.3.9.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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/calver/calver-2022.06.26.ebuild b/dev-python/calver/calver-2022.06.26.ebuild
index dc9dd64e512c..b97f567d3127 100644
--- a/dev-python/calver/calver-2022.06.26.ebuild
+++ b/dev-python/calver/calver-2022.06.26.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64"
+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="
test? (
diff --git a/dev-python/cangjie/cangjie-1.3-r1.ebuild b/dev-python/cangjie/cangjie-1.3-r1.ebuild
index 46a884d11511..26af275effb7 100644
--- a/dev-python/cangjie/cangjie-1.3-r1.ebuild
+++ b/dev-python/cangjie/cangjie-1.3-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit autotools python-r1
DESCRIPTION="Python wrapper for libcangjie"
diff --git a/dev-python/canonicaljson/Manifest b/dev-python/canonicaljson/Manifest
index 46dfabe7e67f..c39d4699a4cd 100644
--- a/dev-python/canonicaljson/Manifest
+++ b/dev-python/canonicaljson/Manifest
@@ -1 +1 @@
-DIST canonicaljson-1.6.4.gh.tar.gz 10408 BLAKE2B 4d55bb90cd4bbd5e019ffd0d505651c99dc6b296e9c0a52582265438586890cd6b663116ba0b66807b7a665c54eea001e039ca86c2fef9175b72a318a11a79a7 SHA512 7be1300c17d51f917b1e81931f6d0dd681b1eef9b7f4e82ba3ae683609d74fd924eb3a832c8261611f556c190329748966bf15abe34bc1d22f2ecdf29372b560
+DIST canonicaljson-2.0.0.tar.gz 10716 BLAKE2B e310e9e8e0437f0e5cc69d2e258887582f8ff010a242102a331b5d09686d0785bec35b8c1fd44ed18f4ad381af1710bc5edf186602106ab0196f33f48474a909 SHA512 aa9bed50f8d0c7c32451ec5f701c8a8b7d1139eb41797842eea1a86e7d86a52ddec6b1e0254469aa3c92ed1fc462bec647580d60d96c38be7d8bd8ee641b51b7
diff --git a/dev-python/canonicaljson/canonicaljson-1.6.4.ebuild b/dev-python/canonicaljson/canonicaljson-1.6.4.ebuild
deleted file mode 100644
index 6441edec0649..000000000000
--- a/dev-python/canonicaljson/canonicaljson-1.6.4.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2022 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="Canonical JSON"
-HOMEPAGE="
- https://github.com/matrix-org/python-canonicaljson/
- https://pypi.org/project/canonicaljson/
-"
-SRC_URI="
- https://github.com/matrix-org/python-canonicaljson/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-S="${WORKDIR}/python-${P}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64"
-
-RDEPEND="
- dev-python/simplejson[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/canonicaljson/canonicaljson-2.0.0.ebuild b/dev-python/canonicaljson/canonicaljson-2.0.0.ebuild
new file mode 100644
index 000000000000..ca407cf92098
--- /dev/null
+++ b/dev-python/canonicaljson/canonicaljson-2.0.0.ebuild
@@ -0,0 +1,21 @@
+# 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="Canonical JSON"
+HOMEPAGE="
+ https://github.com/matrix-org/python-canonicaljson/
+ https://pypi.org/project/canonicaljson/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~ppc64"
+
+distutils_enable_tests unittest
diff --git a/dev-python/canonicaljson/metadata.xml b/dev-python/canonicaljson/metadata.xml
index 8b6246765573..26f564bd4430 100644
--- a/dev-python/canonicaljson/metadata.xml
+++ b/dev-python/canonicaljson/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>arkamar@atlas.cz</email>
+ <maintainer type="person">
+ <email>arkamar@gentoo.org</email>
<name>Petr Vaněk</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">canonicaljson</remote-id>
diff --git a/dev-python/capturer/capturer-3.0-r1.ebuild b/dev-python/capturer/capturer-3.0-r1.ebuild
index 22c95ef3bf14..94a6c42eec98 100644
--- a/dev-python/capturer/capturer-3.0-r1.ebuild
+++ b/dev-python/capturer/capturer-3.0-r1.ebuild
@@ -1,21 +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
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Easily capture stdout/stderr of the current process and subprocesses"
HOMEPAGE="https://capturer.readthedocs.io/en/latest/
https://pypi.org/project/capturer/
https://github.com/xolox/python-capturer"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="MIT"
-KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
RDEPEND="dev-python/humanfriendly[${PYTHON_USEDEP}]"
diff --git a/dev-python/carbon/carbon-1.1.10.ebuild b/dev-python/carbon/carbon-1.1.10.ebuild
index 0f19bccc7e83..72cc0318ec8d 100644
--- a/dev-python/carbon/carbon-1.1.10.ebuild
+++ b/dev-python/carbon/carbon-1.1.10.ebuild
@@ -6,11 +6,10 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Backend data caching and persistence daemon for Graphite"
HOMEPAGE="https://graphiteapp.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="Apache-2.0"
diff --git a/dev-python/casttube/casttube-0.2.1-r1.ebuild b/dev-python/casttube/casttube-0.2.1-r1.ebuild
new file mode 100644
index 000000000000..f9d30c9c98f3
--- /dev/null
+++ b/dev-python/casttube/casttube-0.2.1-r1.ebuild
@@ -0,0 +1,23 @@
+# 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..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="casttube provides a way to interact with the Youtube Chromecast api"
+HOMEPAGE="https://github.com/ur1katz/casttube"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="dev-python/requests[${PYTHON_USEDEP}]"
+
+src_prepare() {
+ sed -e '/data_files/d' -i setup.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/casttube/casttube-0.2.1.ebuild b/dev-python/casttube/casttube-0.2.1.ebuild
deleted file mode 100644
index 3be48593c8ee..000000000000
--- a/dev-python/casttube/casttube-0.2.1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="casttube provides a way to interact with the Youtube Chromecast api"
-HOMEPAGE="https://github.com/ur1katz/casttube"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="dev-python/requests[${PYTHON_USEDEP}]"
-
-src_prepare() {
- sed -e '/data_files/d' -i setup.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/casttube/metadata.xml b/dev-python/casttube/metadata.xml
index 097183384a45..90d7bda6e02c 100644
--- a/dev-python/casttube/metadata.xml
+++ b/dev-python/casttube/metadata.xml
@@ -8,7 +8,9 @@
<email>prometheanfire@gentoo.org</email>
<name>Matthew Thode</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">casttube</remote-id>
+ <remote-id type="github">ur1katz/casttube</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/cattrs/Manifest b/dev-python/cattrs/Manifest
index c7462bd373d9..9ea98d964c55 100644
--- a/dev-python/cattrs/Manifest
+++ b/dev-python/cattrs/Manifest
@@ -1 +1 @@
-DIST cattrs-22.2.0.gh.tar.gz 117001 BLAKE2B 34601cf48c582da2d9aa8d741a08919b5f06043bc6ba6b072d8b0934e90e781349b1325ced478ca0b42b50db1f7fe2a6d3cd16ac29609efd72c9aa894debfe9e SHA512 d198864402f56d4e9403c61ee3d9d109c5eac3350908afa1e244dbe31e4bc986271fcb4c72bde9cdaa9ee865c6a8b81de68ec0d51490ed658b410714e1fc550c
+DIST cattrs-23.2.3.gh.tar.gz 612120 BLAKE2B a227cc50cb23a76931562f17444fcfb4a5532cac74f80b478a8abb6d113cbb0a06c471c3ca7ee256f74640486464762f4a13387ccfc1cd144cfd1a9bfecddd8e SHA512 76a75ea0893bb1549dd5178436c4823ae5b918c16f0d8195203c48e894438ec792cee77698d783f7e43c07445c46a6041a309c3d3bbcadcff95d9c4079e3d622
diff --git a/dev-python/cattrs/cattrs-22.2.0.ebuild b/dev-python/cattrs/cattrs-22.2.0.ebuild
deleted file mode 100644
index 1f12097fec14..000000000000
--- a/dev-python/cattrs/cattrs-22.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_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
-
-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 x86"
-
-RDEPEND="
- >=dev-python/attrs-20.1.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/exceptiongroup[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
-"
-BDEPEND="
- test? (
- >=dev-python/hypothesis-6.54.5[${PYTHON_USEDEP}]
- >=dev-python/immutables-0.18[${PYTHON_USEDEP}]
- )
-"
-# test_preconf:
-# dev-python/bson[${PYTHON_USEDEP}]
-# dev-python/msgpack[${PYTHON_USEDEP}]
-# dev-python/orjson[${PYTHON_USEDEP}]
-# dev-python/pyyaml[${PYTHON_USEDEP}]
-# dev-python/tomlkit[${PYTHON_USEDEP}]
-# dev-python/ujson[${PYTHON_USEDEP}]
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e 's:--benchmark.*::' \
- -e '/addopts/d' \
- -i pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- # unpackaged deps, see above
- epytest tests --ignore tests/test_preconf.py
-}
diff --git a/dev-python/cattrs/cattrs-23.2.3.ebuild b/dev-python/cattrs/cattrs-23.2.3.ebuild
new file mode 100644
index 000000000000..aee6c6116b63
--- /dev/null
+++ b/dev-python/cattrs/cattrs-23.2.3.ebuild
@@ -0,0 +1,69 @@
+# 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/cbor/Manifest b/dev-python/cbor/Manifest
deleted file mode 100644
index 0909a13cb5db..000000000000
--- a/dev-python/cbor/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST cbor-1.0.0.gh.tar.gz 25541 BLAKE2B dc5491235fee79ad15a8b92aafef2a690a407dfb98792e88b2e87fa7c354277b997ac314dc38279168f50c52f922de4bfe330b860126d4c5b836c019b05a1aee SHA512 88471b1c9c9a4128a4098194e17a4322ea2a01624ae1ffa9c33e433da31a089c45f4b64472d36620797488a451c16771c213b2b9a9ab711232c6658da4cd310f
diff --git a/dev-python/cbor/cbor-1.0.0-r1.ebuild b/dev-python/cbor/cbor-1.0.0-r1.ebuild
deleted file mode 100644
index 8f27537c24c2..000000000000
--- a/dev-python/cbor/cbor-1.0.0-r1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-EGIT_COMMIT="b3af679e7cf3e12d50acb83c3c591fc5db9a658d"
-DESCRIPTION="RFC 7049 - Concise Binary Object Representation"
-HOMEPAGE="https://github.com/brianolson/cbor_py
- https://pypi.org/project/cbor/"
-SRC_URI="
- https://github.com/brianolson/cbor_py/archive/${EGIT_COMMIT}.tar.gz
- -> ${P}.gh.tar.gz"
-S=${WORKDIR}/cbor_py-${EGIT_COMMIT}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 x86 ~amd64-linux ~x86-linux"
-
-# upstream PR: https://github.com/brianolson/cbor_py/pull/19
-# upstream PR: https://github.com/brianolson/cbor_py/pull/11
-PATCHES=(
- "${FILESDIR}/cbor-1.0.0.zero-length-bytes.patch"
- "${FILESDIR}/cbor-1.0.0.Fix-broken-test_sortkeys.patch"
- "${FILESDIR}/cbor-1.0.0.Replace-deprecated-logger.warn.patch"
-)
-
-python_test() {
- "${EPYTHON}" cbor/tests/test_cbor.py || die "Testsuite failed under ${EPYTHON}"
- "${EPYTHON}" cbor/tests/test_objects.py || die "Testsuite failed under ${EPYTHON}"
- "${EPYTHON}" cbor/tests/test_usage.py || die "Testsuite failed under ${EPYTHON}"
- "${EPYTHON}" cbor/tests/test_vectors.py || die "Testsuite failed under ${EPYTHON}"
-}
diff --git a/dev-python/cbor/files/cbor-1.0.0.Fix-broken-test_sortkeys.patch b/dev-python/cbor/files/cbor-1.0.0.Fix-broken-test_sortkeys.patch
deleted file mode 100644
index e7867d12cc29..000000000000
--- a/dev-python/cbor/files/cbor-1.0.0.Fix-broken-test_sortkeys.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 348041c3ff7104ca5b30e518beb2d2b86bf7bd73 Mon Sep 17 00:00:00 2001
-From: Brian Dolbec <dolsen@gentoo.org>
-Date: Sun, 19 Jul 2020 16:31:42 -0700
-Subject: [PATCH] Fix issue #6 broken test_sortkeys()
-
-Newer python dictionaries are keeping the order the keys were added in.
-As a result since both lists were pre-sorted and identicle so the later
-test failed to find any differences causing the failure.
-This change introduces 3 entries that are out of sorted order for both
-the obytes and xbytes lists. This ensures a valid test of sorting.
----
- cbor/tests/test_cbor.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/cbor/tests/test_cbor.py b/cbor/tests/test_cbor.py
-index 78b3ddb..6ce068b 100644
---- a/cbor/tests/test_cbor.py
-+++ b/cbor/tests/test_cbor.py
-@@ -281,6 +281,10 @@ class XTestCBOR(object):
- xbytes = []
- for n in _range(2, 27):
- ob = {u'{:02x}'.format(x):x for x in _range(n)}
-+ # ensure some "ob" have unsorted key:value entries
-+ if n in [4, 6, 9]:
-+ ob.pop('01')
-+ ob["01"] = 1
- obytes.append(self.dumps(ob, sort_keys=True))
- xbytes.append(self.dumps(ob, sort_keys=False))
- allOGood = True
---- a/setup.py 2016-02-09 15:10:34.000000000 -0800
-+++ b/setup.py 2020-07-19 13:46:18.586936516 -0700
-@@ -75,7 +75,7 @@
- author='Brian Olson',
- author_email='bolson@bolson.org',
- url='https://bitbucket.org/bodhisnarkva/cbor',
-- packages=['cbor'],
-+ packages=['cbor', 'cbor/tests'],
- package_dir={'cbor':'cbor'},
- ext_modules=[
- Extension(
---
-libgit2 1.0.1
-
diff --git a/dev-python/cbor/files/cbor-1.0.0.Replace-deprecated-logger.warn.patch b/dev-python/cbor/files/cbor-1.0.0.Replace-deprecated-logger.warn.patch
deleted file mode 100644
index 66b712b0e40d..000000000000
--- a/dev-python/cbor/files/cbor-1.0.0.Replace-deprecated-logger.warn.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From eea2e6c35c0962ca559a96f37ab4eada126da5de Mon Sep 17 00:00:00 2001
-From: Brian Dolbec <dolsen@gentoo.org>
-Date: Sun, 19 Jul 2020 17:56:19 -0700
-Subject: [PATCH] Replace deprecated logger.warn() with logger.warning()
-
----
- cbor/tests/test_cbor.py | 4 ++--
- cbor/tests/test_usage.py | 10 +++++-----
- cbor/tests/test_vectors.py | 2 +-
- 4 files changed, 10 insertions(+), 10 deletions(-)
-
-diff --git a/cbor/tests/test_cbor.py b/cbor/tests/test_cbor.py
-index 78b3ddb..14ddf69 100644
---- a/cbor/tests/test_cbor.py
-+++ b/cbor/tests/test_cbor.py
-@@ -27,7 +27,7 @@ try:
- from cbor._cbor import load as cload
- except ImportError:
- # still test what we can without C fast mode
-- logger.warn('testing without C accelerated CBOR', exc_info=True)
-+ logger.warning('testing without C accelerated CBOR', exc_info=True)
- cdumps, cloads, cdump, cload = None, None, None, None
-
-
-@@ -62,7 +62,7 @@ class TestRoot(object):
- def testable(cls):
- ok = (cls._ld[0] is not None) and (cls._ld[1] is not None) and (cls._ld[3] is not None) and (cls._ld[4] is not None)
- if not ok:
-- logger.warn('non-testable case %s skipped', cls.__name__)
-+ logger.warning('non-testable case %s skipped', cls.__name__)
- return ok
-
- # Can't set class level function pointers, because then they expect a
-diff --git a/cbor/tests/test_usage.py b/cbor/tests/test_usage.py
-index d72f2e8..9d7e6a1 100644
---- a/cbor/tests/test_usage.py
-+++ b/cbor/tests/test_usage.py
-@@ -22,7 +22,7 @@ try:
- from cbor._cbor import load as cload
- except ImportError:
- # still test what we can without C fast mode
-- logger.warn('testing without C accelerated CBOR', exc_info=True)
-+ logger.warning('testing without C accelerated CBOR', exc_info=True)
- cdumps, cloads, cdump, cload = None, None, None, None
-
-
-@@ -48,7 +48,7 @@ class TestUsage(unittest.TestCase):
- repeatedly serialize, check that usage doesn't go up
- '''
- if cdumps is None:
-- logger.warn('no C dumps(), skipping test_dumps_usage')
-+ logger.warning('no C dumps(), skipping test_dumps_usage')
- return
- start_usage = resource.getrusage(resource.RUSAGE_SELF)
- usage_history = [start_usage]
-@@ -76,7 +76,7 @@ class TestUsage(unittest.TestCase):
- repeatedly serialize, check that usage doesn't go up
- '''
- if (cdumps is None) or (cloads is None):
-- logger.warn('no C fast CBOR, skipping test_loads_usage')
-+ logger.warning('no C fast CBOR, skipping test_loads_usage')
- return
- ## Just a string passes!
- #ob = 'sntaoheusnatoheusnaotehuasnoetuhaosentuhaoesnth'
-@@ -113,7 +113,7 @@ class TestUsage(unittest.TestCase):
- it, checking usage all along the way.
- '''
- if cdump is None:
-- logger.warn('no C dump(), skipping test_tempfile')
-+ logger.warning('no C dump(), skipping test_tempfile')
- return
- with tempfile.NamedTemporaryFile() as ntf:
- # first, write a bunch to temp file
-@@ -168,7 +168,7 @@ class TestUsage(unittest.TestCase):
- def test_stringio_usage(self):
- '''serialize data to StringIO, read it back'''
- if cdump is None:
-- logger.warn('no C dump(), skipping test_tempfile')
-+ logger.warning('no C dump(), skipping test_tempfile')
- return
-
- # warmup the rusage, allocate everything!
-diff --git a/cbor/tests/test_vectors.py b/cbor/tests/test_vectors.py
-index f4d8ca9..afed311 100644
---- a/cbor/tests/test_vectors.py
-+++ b/cbor/tests/test_vectors.py
-@@ -27,7 +27,7 @@ try:
- from cbor._cbor import loads as cloads
- except ImportError:
- # still test what we can without C fast mode
-- logger.warn('testing without C accelerated CBOR', exc_info=True)
-+ logger.warning('testing without C accelerated CBOR', exc_info=True)
- #cdumps, cloads = None, None
- cloads = None
- from cbor import Tag
---
-libgit2 1.0.1
-
diff --git a/dev-python/cbor/files/cbor-1.0.0.zero-length-bytes.patch b/dev-python/cbor/files/cbor-1.0.0.zero-length-bytes.patch
deleted file mode 100644
index f508b86a0668..000000000000
--- a/dev-python/cbor/files/cbor-1.0.0.zero-length-bytes.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/cbor/cbor.py 2020-07-19 13:24:39.497775767 -0700
-+++ b/cbor/cbor.py 2020-07-19 13:24:39.497775767 -0700
-@@ -260,6 +260,8 @@
- """
- if data is None:
- raise ValueError("got None for buffer to decode in loads")
-+ elif data == b'':
-+ raise ValueError("got zero length string loads")
- fp = StringIO(data)
- return _loads(fp)[0]
diff --git a/dev-python/cbor/metadata.xml b/dev-python/cbor/metadata.xml
deleted file mode 100644
index 314bf8c357fe..000000000000
--- a/dev-python/cbor/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>dolsen@gentoo.org</email>
- <name>Brian Dolbec</name>
- </maintainer>
- <upstream>
- <maintainer>
- <email>bolson@bolson.org</email>
- <name>Brian Olson</name>
- </maintainer>
- <remote-id type="pypi">cbor</remote-id>
- <remote-id type="github">brianolson/cbor_py</remote-id>
- </upstream>
- <longdescription>An implementation of RFC 7049 - Concise Binary Object
- Representation (CBOR). CBOR is comparable to JSON, has a superset of
- JSON's ability, but serializes to a binary format which is smaller and
- faster to generate and parse. The two primary functions are
- cbor.loads() and cbor.dumps(). This library includes a C implementation
- which runs 3-5 times faster than the Python standard library's
- C-accelerated implementanion of JSON. This is also includes a 100%
- Python implementation.
- </longdescription>
-</pkgmetadata>
diff --git a/dev-python/cbor2/Manifest b/dev-python/cbor2/Manifest
index 0827dd0e64bf..7cb9096822bc 100644
--- a/dev-python/cbor2/Manifest
+++ b/dev-python/cbor2/Manifest
@@ -1 +1,2 @@
-DIST cbor2-5.4.6.tar.gz 86909 BLAKE2B df24c786f32819f9a93a2db28536b78349db6185108188d0a20e7298ff8c083d1feb59110865b4e21190e0363b113201ccddaa0d36b49bd7bbacf9d5ee7695f4 SHA512 44fb3e2e2249c79b1454487670d53eb672ffae4c22374d2a2bb9e314ac15470e4e7913e4eb1981a8bd4d722e6827328dde7e57c5f0556843e951c4723ae5bd8e
+DIST cbor2-5.6.2.tar.gz 100016 BLAKE2B a0a71f40f39ba86c545e5f8462af74e17b6851d350f0c9831be2ac414216437021150d0d7ddb481d62454d5ff73b99ccda7ae0676fd6d53b7e3228616fa0042d SHA512 da98aaf17b17b50bdfc4dbecc1e88e70ed6e99f26e9eb4124de0e92ea2d63f827cee3da83c9aeba1af386cf5a7e95d76be30c79b0a8fde7d53ee8c203b2119b9
+DIST cbor2-5.6.3.tar.gz 100224 BLAKE2B bccdca4fb2659c201663897a27801b7ae040fecc1c734356d4e4859df94eb65ef122bdda68384670102ee40476135d0c781c9f966b7c2845babb2bbd9729bc78 SHA512 1ab6a88a95cde178b21a75275fb286038f15d2fbd752059f9fc6fdb64e23eca90f65f7e443cae4bdbb7f451378711b20963909136c06b3bb4f054d52a7a95207
diff --git a/dev-python/cbor2/cbor2-5.4.6.ebuild b/dev-python/cbor2/cbor2-5.4.6.ebuild
deleted file mode 100644
index e8d8e24d1372..000000000000
--- a/dev-python/cbor2/cbor2-5.4.6.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="Pure Python CBOR (de)serializer with extensive tag support"
-HOMEPAGE="
- https://github.com/agronholm/cbor2/
- https://pypi.org/project/cbor2/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~riscv x86"
-
-BDEPEND="
- >=dev-python/setuptools-61[${PYTHON_USEDEP}]
- >=dev-python/setuptools_scm-6.4[${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
-}
diff --git a/dev-python/cbor2/cbor2-5.6.2.ebuild b/dev-python/cbor2/cbor2-5.6.2.ebuild
new file mode 100644
index 000000000000..33573d3fc1ed
--- /dev/null
+++ b/dev-python/cbor2/cbor2-5.6.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_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.3.ebuild b/dev-python/cbor2/cbor2-5.6.3.ebuild
new file mode 100644
index 000000000000..4d83e1c675b4
--- /dev/null
+++ b/dev-python/cbor2/cbor2-5.6.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=( 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/metadata.xml b/dev-python/cbor2/metadata.xml
index 50a3d751d1f8..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>
@@ -17,6 +13,12 @@
<remote-id type="pypi">cbor2</remote-id>
<remote-id type="github">agronholm/cbor2</remote-id>
</upstream>
+ <use>
+ <flag name="native-extensions">
+ Compiles native "C" extensions (speedups, instead of using python
+ fallback code).
+ </flag>
+ </use>
<longdescription>This library provides encoding and decoding for the
Concise Binary Object Representation (CBOR) (RFC 7049) serialization format.
It is implemented in pure python with an optional C backend and is compatible
diff --git a/dev-python/cchardet/Manifest b/dev-python/cchardet/Manifest
index 0bcc88256498..a65142331148 100644
--- a/dev-python/cchardet/Manifest
+++ b/dev-python/cchardet/Manifest
@@ -1 +1 @@
-DIST cchardet-2.1.7.tar.gz 653617 BLAKE2B 0ca9becac01c67da191290c7de0dc52d5c8e6c2715f660811c8e67d9a06e74ac155a081de81af96ade74ccc4065093fc226f232a26f66236fafe9fc1b48a9c9e SHA512 43e663e30ec079b2a954862de5e8136a2e40f69e300d65eb4ce9d7ffa5d8c496dc7c0937b3306b4096cfad12a1d0617628f8f0115534ab6faf9eb39d2b3935a2
+DIST faust-cchardet-2.1.19.tar.gz 678871 BLAKE2B e87389ef602bc5e69ae2037aff1000b9caacfd91a44c5eb8fb2084d4ac33772eb8e480b05109ff83ebfcb2b9a57e215b4bc9cc5558f4f7e1a19b58dd1dfca8b5 SHA512 bd75ddf8b2e9891fe6ecdfd687a6903342a24b93f35a3d9a1b20da9abc77684e73840db73da97689636e3412e33da25b68cfafad114186681d0dec98880ffe95
diff --git a/dev-python/cchardet/cchardet-2.1.19.ebuild b/dev-python/cchardet/cchardet-2.1.19.ebuild
new file mode 100644
index 000000000000..12bec7243fe1
--- /dev/null
+++ b/dev-python/cchardet/cchardet-2.1.19.ebuild
@@ -0,0 +1,28 @@
+# 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
+PYPI_NO_NORMALIZE=1
+PYPI_PN=faust-cchardet
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="High speed universal character encoding detector"
+HOMEPAGE="
+ https://github.com/faust-streaming/cChardet/
+ https://pypi.org/project/faust-cchardet/
+"
+
+LICENSE="MPL-1.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/cchardet/cchardet-2.1.7-r1.ebuild b/dev-python/cchardet/cchardet-2.1.7-r1.ebuild
deleted file mode 100644
index a7ee4ba0a349..000000000000
--- a/dev-python/cchardet/cchardet-2.1.7-r1.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=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="High speed universal character encoding detector"
-HOMEPAGE="
- https://github.com/PyYoshi/cChardet
- https://pypi.org/project/cchardet/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MPL-1.1"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- # https://github.com/PyYoshi/cChardet/pull/78
- "${FILESDIR}/${P}-pytest.patch"
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/cchardet/cchardet-2.1.7.ebuild b/dev-python/cchardet/cchardet-2.1.7.ebuild
deleted file mode 100644
index 161f87f9cfe6..000000000000
--- a/dev-python/cchardet/cchardet-2.1.7.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="High speed universal character encoding detector"
-HOMEPAGE="https://github.com/PyYoshi/cChardet https://pypi.org/project/cchardet/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MPL-1.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- dev-python/nose[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- "${PYTHON}" setup.py nosetests || die "tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/cchardet/files/cchardet-2.1.7-pytest.patch b/dev-python/cchardet/files/cchardet-2.1.7-pytest.patch
deleted file mode 100644
index 11f38579c184..000000000000
--- a/dev-python/cchardet/files/cchardet-2.1.7-pytest.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-https://github.com/PyYoshi/cChardet/pull/78
-
-From: q0w <43147888+q0w@users.noreply.github.com>
-Date: Wed, 17 Nov 2021 14:50:41 +0300
-Subject: [PATCH 02/13] Use pytest
-
---- /dev/null
-+++ b/src/tests/cchardet_test.py
-@@ -0,0 +1,111 @@
-+import glob
-+import os
-+
-+import cchardet
-+
-+SKIP_LIST = [
-+ 'src/tests/testdata/ja/utf-16le.txt',
-+ 'src/tests/testdata/ja/utf-16be.txt',
-+ 'src/tests/testdata/es/iso-8859-15.txt',
-+ 'src/tests/testdata/da/iso-8859-1.txt',
-+ 'src/tests/testdata/he/iso-8859-8.txt'
-+]
-+
-+# Python can't decode encoding
-+SKIP_LIST_02 = [
-+ 'src/tests/testdata/vi/viscii.txt',
-+ 'src/tests/testdata/zh/euc-tw.txt'
-+]
-+SKIP_LIST_02.extend(SKIP_LIST)
-+
-+
-+def test_ascii():
-+ detected_encoding = cchardet.detect(b'abcdefghijklmnopqrstuvwxyz')
-+ assert 'ascii' == detected_encoding['encoding'].lower()
-+
-+
-+def test_detect():
-+ testfiles = glob.glob('src/tests/testdata/*/*.txt')
-+ for testfile in testfiles:
-+ if testfile.replace("\\", "/") in SKIP_LIST:
-+ continue
-+
-+ base = os.path.basename(testfile)
-+ expected_charset = os.path.splitext(base)[0]
-+ with open(testfile, 'rb') as f:
-+ msg = f.read()
-+ detected_encoding = cchardet.detect(msg)
-+ assert expected_charset.lower() == detected_encoding['encoding'].lower()
-+
-+
-+def test_detector():
-+ detector = cchardet.UniversalDetector()
-+ with open("src/tests/samples/wikipediaJa_One_Thousand_and_One_Nights_SJIS.txt", 'rb') as f:
-+ line = f.readline()
-+ while line:
-+ detector.feed(line)
-+ if detector.done:
-+ break
-+ line = f.readline()
-+ detector.close()
-+ detected_encoding = detector.result
-+ assert "shift_jis" == detected_encoding['encoding'].lower()
-+
-+
-+def test_github_issue_20():
-+ """
-+ https://github.com/PyYoshi/cChardet/issues/20
-+ """
-+ msg = b'\x8f'
-+
-+ cchardet.detect(msg)
-+
-+ detector = cchardet.UniversalDetector()
-+ detector.feed(msg)
-+ detector.close()
-+
-+
-+def test_decode():
-+ testfiles = glob.glob('src/tests/testdata/*/*.txt')
-+ for testfile in testfiles:
-+ if testfile.replace("\\", "/") in SKIP_LIST_02:
-+ continue
-+
-+ base = os.path.basename(testfile)
-+ expected_charset = os.path.splitext(base)[0]
-+ with open(testfile, 'rb') as f:
-+ msg = f.read()
-+ detected_encoding = cchardet.detect(msg)
-+ try:
-+ msg.decode(detected_encoding["encoding"])
-+ except LookupError as e:
-+ print("LookupError: { file=%s, encoding=%s }" % (
-+ testfile, detected_encoding["encoding"]))
-+ raise e
-+
-+
-+def test_utf8_with_bom():
-+ sample = b'\xEF\xBB\xBF'
-+ detected_encoding = cchardet.detect(sample)
-+ assert "utf-8-sig" == detected_encoding['encoding'].lower()
-+
-+
-+def test_null_bytes():
-+ sample = b'ABC\x00\x80\x81'
-+ detected_encoding = cchardet.detect(sample)
-+
-+ assert detected_encoding['encoding'] is None
-+
-+# def test_iso8859_2_csv(self):
-+# testfile = 'tests/samples/iso8859-2.csv'
-+# with open(testfile, 'rb') as f:
-+# msg = f.read()
-+# detected_encoding = cchardet.detect(msg)
-+# eq_(
-+# "iso8859-2",
-+# detected_encoding['encoding'].lower(),
-+# 'Expected %s, but got %s' % (
-+# "iso8859-2",
-+# detected_encoding['encoding'].lower()
-+# )
-+# )
diff --git a/dev-python/cchardet/metadata.xml b/dev-python/cchardet/metadata.xml
index 04994b4fd816..2cf31bd36ca7 100644
--- a/dev-python/cchardet/metadata.xml
+++ b/dev-python/cchardet/metadata.xml
@@ -4,8 +4,12 @@
<maintainer type="person">
<email>zmedico@gentoo.org</email>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<upstream>
- <remote-id type="pypi">cchardet</remote-id>
- <remote-id type="github">PyYoshi/cChardet</remote-id>
+ <remote-id type="pypi">faust-cchardet</remote-id>
+ <remote-id type="github">faust-streaming/cChardet</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/cerberus/Manifest b/dev-python/cerberus/Manifest
index 47e18720ce95..9b2665fefda9 100644
--- a/dev-python/cerberus/Manifest
+++ b/dev-python/cerberus/Manifest
@@ -1,2 +1 @@
-DIST cerberus-1.3.2.tar.gz 149344 BLAKE2B ce65f3c4c612f87562c28f913cac95c1c7af9b2dfa72955bce3f0e0459e4ff9024a126ceea4587e2c72cf606be2a249046a090a2e2d5e908bfe4b700ba5e9b92 SHA512 e9cfef5a936783eb0576afd3d23397dab38d8c88b6b43f98de0ad7e20739e5ff983eaf4ac769206adb7fe9692c651583f6a5f2bab263b81b8de96f45707c84fb
-DIST cerberus-1.3.4.tar.gz 926258 BLAKE2B 6fabfcf32e26ee7f4881b64ce9c3098a27949d95fd0998e09b7adcc3b834033f904a07b6e9b2cadea218b952142f6c2bc6051d8c208a14d6e8172a0c3823c38b SHA512 c816b426ed1b32367d1e8f1c26d6ddd4b49c6578540e688baf693e3094a05800f645cfe879be6378c1e9be9899cad7bc2ad1ed9844d6762d2ef6e0cc54a7476a
+DIST cerberus-1.3.5.gh.tar.gz 921848 BLAKE2B 1f7f1c6804702dea6ab31c3e278a4d769c80c898e786aa7c7f7df0bc212edf07c4026c5dd6adf7ecdcacfd596ec33c3493ec26c3de68bd8254fce56e6532fff7 SHA512 eaa91f229a009770a1750a51e82c34f06dffeebca7af7cafd5ba3a8529502326dd20af1ed7a60fd5e5ed28edb4b974712b1493aa1e330097a8e36ad70c5e4f23
diff --git a/dev-python/cerberus/cerberus-1.3.2.ebuild b/dev-python/cerberus/cerberus-1.3.2.ebuild
deleted file mode 100644
index 80fd61fd3005..000000000000
--- a/dev-python/cerberus/cerberus-1.3.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-
-inherit distutils-r1
-
-DESCRIPTION="A lightweight and extensible data-validation library for Python"
-HOMEPAGE="https://docs.python-cerberus.org/"
-SRC_URI="https://github.com/pyeve/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="amd64 ~riscv"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.3.2_no-pytest-runner.patch
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/cerberus/cerberus-1.3.4-r1.ebuild b/dev-python/cerberus/cerberus-1.3.4-r1.ebuild
deleted file mode 100644
index f5f460665874..000000000000
--- a/dev-python/cerberus/cerberus-1.3.4-r1.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A lightweight and extensible data-validation library for Python"
-HOMEPAGE="
- https://docs.python-cerberus.org/
- https://github.com/pyeve/cerberus/
- https://pypi.org/project/Cerberus/
-"
-SRC_URI="
- https://github.com/pyeve/cerberus/archive/${PV}.tar.gz -> ${P}.tar.gz
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.3.2_no-pytest-runner.patch
- "${FILESDIR}"/${PN}-1.3.4-raw_docstrings.patch
-)
-
-# Require currently unpackaged pytest-benchmark, more useful to developers than to end users.
-EPYTEST_DESELECT=(
- cerberus/benchmarks/
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/cerberus/cerberus-1.3.5.ebuild b/dev-python/cerberus/cerberus-1.3.5.ebuild
new file mode 100644
index 000000000000..7cad11fd81a6
--- /dev/null
+++ b/dev-python/cerberus/cerberus-1.3.5.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 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 lightweight and extensible data-validation library for Python"
+HOMEPAGE="
+ https://docs.python-cerberus.org/
+ https://github.com/pyeve/cerberus/
+ https://pypi.org/project/Cerberus/
+"
+SRC_URI="
+ https://github.com/pyeve/cerberus/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3.4-raw_docstrings.patch
+)
+
+EPYTEST_DESELECT=(
+ # Require currently unpackaged pytest-benchmark, more useful
+ # to developers than to end users.
+ cerberus/benchmarks/
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/cerberus/files/cerberus-1.3.2_no-pytest-runner.patch b/dev-python/cerberus/files/cerberus-1.3.2_no-pytest-runner.patch
deleted file mode 100644
index b9216385d64c..000000000000
--- a/dev-python/cerberus/files/cerberus-1.3.2_no-pytest-runner.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/setup.py
-+++ b/setup.py
-@@ -11,9 +11,7 @@
- LONG_DESCRIPTION = open("README.rst").read()
- VERSION = "1.3.2"
-
--setup_requires = (
-- ["pytest-runner"] if any(x in sys.argv for x in ("pytest", "test", "ptr")) else []
--)
-+setup_requires = []
-
-
- setup(
diff --git a/dev-python/certifi/certifi-3021.3.16-r3.ebuild b/dev-python/certifi/certifi-3021.3.16-r3.ebuild
deleted file mode 100644
index 16b427fc6efb..000000000000
--- a/dev-python/certifi/certifi-3021.3.16-r3.ebuild
+++ /dev/null
@@ -1,55 +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_{9..11} 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/tiran/certifi-system-store/
- https://pypi.org/project/certifi-system-store/
-"
-SRC_URI="
- https://github.com/tiran/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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- app-misc/ca-certificates
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-use-importlib.patch
-)
-
-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
-}
-
-python_compile() {
- distutils-r1_python_compile
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- local distinfo=( certifi_system_store*.dist-info )
- [[ -d ${distinfo} ]] || die
- ln -v -s "${distinfo}" "${distinfo/_system_store}" || die
-}
diff --git a/dev-python/certifi/certifi-3021.3.16-r4.ebuild b/dev-python/certifi/certifi-3021.3.16-r4.ebuild
new file mode 100644
index 000000000000..797d38ddf0e6
--- /dev/null
+++ b/dev-python/certifi/certifi-3021.3.16-r4.ebuild
@@ -0,0 +1,54 @@
+# 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
+
+MY_P=certifi-system-store-${PV}
+DESCRIPTION="A certifi hack to use system trust store on Linux/FreeBSD"
+HOMEPAGE="
+ https://github.com/tiran/certifi-system-store/
+ https://pypi.org/project/certifi-system-store/
+"
+SRC_URI="
+ https://github.com/tiran/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
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-use-importlib.patch
+)
+
+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
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ local distinfo=( certifi_system_store*.dist-info )
+ [[ -d ${distinfo} ]] || die
+ ln -v -s "${distinfo}" "${distinfo/_system_store}" || die
+}
diff --git a/dev-python/cffi/Manifest b/dev-python/cffi/Manifest
index 9418f03e5512..de8f69ee1c67 100644
--- a/dev-python/cffi/Manifest
+++ b/dev-python/cffi/Manifest
@@ -1 +1 @@
-DIST cffi-1.15.1.tar.gz 508501 BLAKE2B accc317385d9af7dbed3397afde63fbab63bfc935376d951802055c63796863ed102a940f192789924480b9b16751c8cf3d21caf9b262c479c61ffc977aac83c SHA512 e99cafcb029076abc29e435b490fa0573ee2856f4051b7ca8a5b38cd125d56dd9dae8b189f59ceb3d728a675da8ee83239e09e19f8b0feeddea4b186ab5173a5
+DIST cffi-1.16.0.tar.gz 512873 BLAKE2B 9e8d107b3124a072e559c4a536b54a172e90f9fe51d8184dacc2914a8ffa84f2682eee9c90401325dfb0f36f3f8ea0456afc93e2b85a4fef5f07ae4475e0a76b SHA512 fd2588115092202aa9289c9d4e0a0b3e264b5e9ec1dc192950f31aeb412fd9f9d4e5c96a3f9c6762987b58ccc1e229f2012ddda89211797104df672d8ed51152
diff --git a/dev-python/cffi/cffi-1.15.1.ebuild b/dev-python/cffi/cffi-1.15.1.ebuild
deleted file mode 100644
index 991b7f56bec3..000000000000
--- a/dev-python/cffi/cffi-1.15.1.ebuild
+++ /dev/null
@@ -1,65 +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
-# DO NOT ADD pypy to PYTHON_COMPAT
-# pypy bundles a modified version of cffi. Use python_gen_cond_dep instead.
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 toolchain-funcs
-
-DESCRIPTION="Foreign Function Interface for Python calling C code"
-HOMEPAGE="
- https://cffi.readthedocs.io/
- https://pypi.org/project/cffi/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-DEPEND="
- dev-libs/libffi:=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/pycparser[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
-
-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 c testing
-}
diff --git a/dev-python/cffi/cffi-1.16.0.ebuild b/dev-python/cffi/cffi-1.16.0.ebuild
new file mode 100644
index 000000000000..a44630dcd7d5
--- /dev/null
+++ b/dev-python/cffi/cffi-1.16.0.ebuild
@@ -0,0 +1,72 @@
+# 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
+
+# py3.12 support is experimental, expect problems in revdeps
+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..12} )
+
+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/cffi/metadata.xml b/dev-python/cffi/metadata.xml
index 0919203c19f9..6480813148bc 100644
--- a/dev-python/cffi/metadata.xml
+++ b/dev-python/cffi/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="pypi">cffi</remote-id>
+ <remote-id type="github">python-cffi/cffi</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/cfgv/Manifest b/dev-python/cfgv/Manifest
index 2fb0532f1969..c237ccf74090 100644
--- a/dev-python/cfgv/Manifest
+++ b/dev-python/cfgv/Manifest
@@ -1 +1 @@
-DIST cfgv-3.3.1.tar.gz 10395 BLAKE2B 8727a9886334a1fe59aeb0554c4c53139ae7e1f66534102c67f005d66dc1f78cff5e5534468a10b85df645f7e8a2fc72ca6ca2e448d09cb7636d08e8b3843113 SHA512 59c358bab9f2b32a1ac6eb72bba67b76e8368e0cf78c32228a6add200a0205f698aa80d9bd1b1e8701fb699b9599c88a240f76e2c91a602a0c292a67693e6857
+DIST cfgv-3.4.0.gh.tar.gz 10334 BLAKE2B fa84c7307e32e9f19d2ec0c806afc0d54f4a5f7767d2f4f755d73bafa80425513717160e722752fb41cfbfcb8c1cb11bd363ac41e99265c19dd18166b24d6d64 SHA512 7d3939bb99bc446f30774cad8f0ddeb1ff867e63d19e4178e5c5281b8f4300c08375936170b8ab0278b040439f59d0276b0c8924f02cd410e73037fb4729af57
diff --git a/dev-python/cfgv/cfgv-3.3.1.ebuild b/dev-python/cfgv/cfgv-3.3.1.ebuild
deleted file mode 100644
index 2382510600c9..000000000000
--- a/dev-python/cfgv/cfgv-3.3.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Validate configuration and produce human-readable error messages"
-HOMEPAGE="https://github.com/asottile/cfgv"
-SRC_URI="https://github.com/asottile/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~hppa ~ppc ~ppc64 ~riscv x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/cfgv/cfgv-3.4.0.ebuild b/dev-python/cfgv/cfgv-3.4.0.ebuild
new file mode 100644
index 000000000000..e9f8f86712c3
--- /dev/null
+++ b/dev-python/cfgv/cfgv-3.4.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Validate configuration and produce human-readable error messages"
+HOMEPAGE="
+ https://github.com/asottile/cfgv/
+ https://pypi.org/project/cfgv/
+"
+SRC_URI="
+ https://github.com/asottile/cfgv/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~hppa ~ppc ~ppc64 ~riscv x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index 1ceb4d8178e3..d4340aec779e 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -1,2 +1,3 @@
-DIST cfn-lint-0.72.10.gh.tar.gz 3252485 BLAKE2B 34290170b4620f2f094d96ebb41cb9e5afb84fb2a0b26826cfa92cf8f73ad7e15d3ab0d38ce3ac81477f389480b36edcea26bfcb5246de8b1a5ea93b6b60ca3d SHA512 2ae9cb11956ba431c7282c3813c3f00cb4a3599a0d73f521f3880ed1f916cf0fb447a889db2ae44748be810b1e95a7709d18ac18f27b4dd3e762fa7bfd499d13
-DIST cfn-lint-0.72.9.gh.tar.gz 3239001 BLAKE2B 935d07e58d12a7b95bb589523a9ef49c9f508386d58384e7b391442ef02e304e583d687fce0f8faf892049525d6e621670061ab96a124229de7fc94df3e3533e SHA512 bf83e4146d4f2951e670c07a3a0bb3ab212881af9687c16244cade18bac101468c35532516731f66a80708312a9ee33bc531be9a6b7fab671bf54d596886a523
+DIST cfn-lint-0.86.1.tar.gz 3865324 BLAKE2B b5b31d12dde1e0d5d3f8da42cf22bb6cc7c2a6b87f12edc3bdbaed5b51da013f24c58ce4cb2a6e0a412ba153b15f6ac46cce194f9617bd493041d922025ba067 SHA512 b396b68a93782e018b0690dc33430d4f013d597f78e66218af3058fd97c766e4c36ab5d78a0b620b0838b55e6197bef66580f1c3cd98320ddd29ec1ff91bd6c2
+DIST cfn-lint-0.86.2.tar.gz 3918328 BLAKE2B c46528a4de5ae26554a5c7099ac87c7b5984bd3b7c602f87991b441b7678442202f9a669814b356efe8dbf9287e7f911ccf6641bb738d0900a9e059915ee536e SHA512 a7f7ce49ea2acfa5c32057ae01c1ed4cf8b9e8caee854ee91a6631b200c289e9cf2169d918fe997ad44f0ab21507894e5d6c5f18a06f563373384da003a139f4
+DIST cfn_lint-0.86.3.tar.gz 3909137 BLAKE2B 8fa9e895c444935e655e64b123c0506216640905da4cd133c01ff996fdbccfe02c61f0aa3c96bfc3153084219ded432670cb1482c59c286094c7eade6c548c94 SHA512 a2b93339ad2ed89773c84370953a03c55d09ab421ce2cc4f40d08df7a4fa810a1041c4925a376e4a742be987d4021085a8bc96c56bd65a519f57104dc2c93f62
diff --git a/dev-python/cfn-lint/cfn-lint-0.72.10.ebuild b/dev-python/cfn-lint/cfn-lint-0.72.10.ebuild
deleted file mode 100644
index eeb94f75e137..000000000000
--- a/dev-python/cfn-lint/cfn-lint-0.72.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
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="CloudFormation Linter"
-HOMEPAGE="
- https://github.com/aws-cloudformation/cfn-lint/
- https://pypi.org/project/cfn-lint/
-"
-SRC_URI="
- https://github.com/aws-cloudformation/cfn-lint/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/aws-sam-translator-1.56.0[${PYTHON_USEDEP}]
- dev-python/jsonpatch[${PYTHON_USEDEP}]
- >=dev-python/jschema_to_python-1.2.3[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- dev-python/junit-xml[${PYTHON_USEDEP}]
- dev-python/networkx[${PYTHON_USEDEP}]
- >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
- >=dev-python/requests-2.15.0[${PYTHON_USEDEP}]
- >=dev-python/sarif_om-1.0.4[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-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_2
- test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
-)
-
-src_prepare() {
- # unpin the deps
- sed -e 's:~=[0-9.]*::' -i setup.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/cfn-lint/cfn-lint-0.72.9.ebuild b/dev-python/cfn-lint/cfn-lint-0.72.9.ebuild
deleted file mode 100644
index 80be21e51ad3..000000000000
--- a/dev-python/cfn-lint/cfn-lint-0.72.9.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..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="CloudFormation Linter"
-HOMEPAGE="
- https://github.com/aws-cloudformation/cfn-lint/
- https://pypi.org/project/cfn-lint/
-"
-SRC_URI="
- https://github.com/aws-cloudformation/cfn-lint/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/aws-sam-translator-1.56.0[${PYTHON_USEDEP}]
- dev-python/jsonpatch[${PYTHON_USEDEP}]
- >=dev-python/jschema_to_python-1.2.3[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- dev-python/junit-xml[${PYTHON_USEDEP}]
- dev-python/networkx[${PYTHON_USEDEP}]
- >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
- >=dev-python/requests-2.15.0[${PYTHON_USEDEP}]
- >=dev-python/sarif_om-1.0.4[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-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_2
- test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
-)
-
-src_prepare() {
- # unpin the deps
- sed -e 's:~=[0-9.]*::' -i setup.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/cfn-lint/cfn-lint-0.86.1.ebuild b/dev-python/cfn-lint/cfn-lint-0.86.1.ebuild
new file mode 100644
index 000000000000..a84c212491e0
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-0.86.1.ebuild
@@ -0,0 +1,65 @@
+# 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="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.86.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-0.86.2.ebuild b/dev-python/cfn-lint/cfn-lint-0.86.2.ebuild
new file mode 100644
index 000000000000..1ace14e6286b
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-0.86.2.ebuild
@@ -0,0 +1,65 @@
+# 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="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.86.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-0.86.3.ebuild b/dev-python/cfn-lint/cfn-lint-0.86.3.ebuild
new file mode 100644
index 000000000000..ccd32235036e
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-0.86.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=( 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 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.87.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/cftime/Manifest b/dev-python/cftime/Manifest
index 85a5a1f0c0dc..9b14f2bfdfea 100644
--- a/dev-python/cftime/Manifest
+++ b/dev-python/cftime/Manifest
@@ -1 +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
diff --git a/dev-python/cftime/cftime-1.6.2.ebuild b/dev-python/cftime/cftime-1.6.2.ebuild
deleted file mode 100644
index e1a492c8996e..000000000000
--- a/dev-python/cftime/cftime-1.6.2.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_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Time-handling functionality from netcdf4-python"
-HOMEPAGE="https://pypi.org/project/cftime/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.26.2[${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.3.ebuild b/dev-python/cftime/cftime-1.6.3.ebuild
new file mode 100644
index 000000000000..f2632ffc3ecb
--- /dev/null
+++ b/dev-python/cftime/cftime-1.6.3.ebuild
@@ -0,0 +1,39 @@
+# 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/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 56258a1c2c22..d9f831354ec1 100644
--- a/dev-python/chameleon/Manifest
+++ b/dev-python/chameleon/Manifest
@@ -1,2 +1,3 @@
-DIST chameleon-3.10.1.gh.tar.gz 137135 BLAKE2B c11520792a833bccc0997ea82e7876e309905ac0cdfd8701c4d83eee7befe1d152787f27b076df15c4ba299d2702ac6a262dc193d1ee7f6d44398e57af73772e SHA512 e79b261ce6f480358191ff3d23af325c0559e9c0b6be8b2c44d4bb3869fb7e09fa759906933d9b4d6f7107779f19bb225170add73ec3205ddf73b9bdb1bcfb9a
-DIST chameleon-3.10.2.gh.tar.gz 137228 BLAKE2B a25aa7fc4b9b77afb5f108d515f06c24a01cc52da1630b7db7bc86571ca5635b276ddf5ec800cb9f9ed26f88c1e5bcae89a3b92c391d61814bd104e24ec3f6c9 SHA512 a00de545812d25fbaab86a0252b81d47a7e6a6460c6874ab536e6e65a4b56301cd54a31c390c4503453bd4e04863f83e3eec381f69e87b8bb7046943e0a24493
+DIST Chameleon-4.5.2.tar.gz 178964 BLAKE2B e7225fe77aa9af65fba16aa91857993a7f9e6682b52f650bcca0c8cd78f621fc2a4c71defe9f8067c5912fdc2fcbaeff42aa08815299c1478d184cad7d0dafee SHA512 34077680ff8d185db863278f4191d551b9710824e8d6b6a6dcd8c4abeadc87f926227181a6f5a1d594ea39a99f56627999969230f5231083f6ae61ace8684955
+DIST Chameleon-4.5.3.tar.gz 180148 BLAKE2B 952602d4dbee6adcab2eb2fec012ae150014d66e7fb03376da3b9aafd6a129e2727e8b22f50ad23c4e920833243baf79f4b8eb4dadec9ac46be4d3502a239a21 SHA512 60914af16e946db85bda205c6c2a21d82123015239279355c127f33260a774daa4e27cd6d7603444c4f630f4b10d00e65e19d9558cdcf9cc751b593f72aede3d
+DIST Chameleon-4.5.4.tar.gz 180464 BLAKE2B cb77a1a928e67b029038f7e2704f077cc45e2baf79dfb30bdf460d0f940cb8fb30f5e42ef5b977a6c33e070b229ede1b53268d30a5d2f165607db8f03179f061 SHA512 476ecc902e252eca6de0552f4526666eaccd305f973d2cf6035c209174152c27d7dce8f4e8a21b9507a3609c38215446bfaa7203865c6151d02922893422e160
diff --git a/dev-python/chameleon/chameleon-3.10.1.ebuild b/dev-python/chameleon/chameleon-3.10.1.ebuild
deleted file mode 100644
index 4537bdf3011a..000000000000
--- a/dev-python/chameleon/chameleon-3.10.1.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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Fast HTML/XML template compiler for Python"
-HOMEPAGE="
- https://github.com/malthe/chameleon/
- https://pypi.org/project/Chameleon/
-"
-SRC_URI="
- https://github.com/malthe/chameleon/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="repoze"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-distutils_enable_tests unittest
-
-src_test() {
- cd src || die
- distutils-r1_src_test
-}
diff --git a/dev-python/chameleon/chameleon-3.10.2.ebuild b/dev-python/chameleon/chameleon-3.10.2.ebuild
deleted file mode 100644
index 44c4eae35948..000000000000
--- a/dev-python/chameleon/chameleon-3.10.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Fast HTML/XML template compiler for Python"
-HOMEPAGE="
- https://github.com/malthe/chameleon/
- https://pypi.org/project/Chameleon/
-"
-SRC_URI="
- https://github.com/malthe/chameleon/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="repoze"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-distutils_enable_tests unittest
-
-src_test() {
- cd src || die
- distutils-r1_src_test
-}
diff --git a/dev-python/chameleon/chameleon-4.5.2.ebuild b/dev-python/chameleon/chameleon-4.5.2.ebuild
new file mode 100644
index 000000000000..7fa2a2be9ac7
--- /dev/null
+++ b/dev-python/chameleon/chameleon-4.5.2.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..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 pytest
diff --git a/dev-python/chameleon/chameleon-4.5.3.ebuild b/dev-python/chameleon/chameleon-4.5.3.ebuild
new file mode 100644
index 000000000000..1286310121b6
--- /dev/null
+++ b/dev-python/chameleon/chameleon-4.5.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=${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 pytest
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..1286310121b6
--- /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..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 pytest
diff --git a/dev-python/characteristic/characteristic-14.3.0-r4.ebuild b/dev-python/characteristic/characteristic-14.3.0-r4.ebuild
index e394f90fb04f..8dd92edf61d6 100644
--- a/dev-python/characteristic/characteristic-14.3.0-r4.ebuild
+++ b/dev-python/characteristic/characteristic-14.3.0-r4.ebuild
@@ -4,9 +4,9 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Python attributes without the boilerplate"
HOMEPAGE="
@@ -14,7 +14,6 @@ HOMEPAGE="
https://github.com/hynek/characteristic/
https://pypi.org/project/characteristic/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/chardet/Manifest b/dev-python/chardet/Manifest
index b84aae600933..41980181b329 100644
--- a/dev-python/chardet/Manifest
+++ b/dev-python/chardet/Manifest
@@ -1 +1 @@
-DIST chardet-5.1.0.gh.tar.gz 2067545 BLAKE2B 92fd916884ecd562a3ad51c58848430d1b5acad0841a410f316be4346e4c2198e5c27ce5af8639a06d6472ece6807dd2618f4a50760e77925c994d13619d290e SHA512 531888329979d229f3e966a428d14feb4612df5b71e3dff3ee3358ecbc964af95370e4c03aacecea0941d11840a16b2b12814ea8af977ff81a5abbec41d983cd
+DIST chardet-5.2.0.gh.tar.gz 2067352 BLAKE2B e9b960bad6ad7e9933f0fcd6e445bdefdd795f6150bf96e59714bfb9bd0cf63adeba80b608a1890f07be81565c160977fa96140984720407d93b0919eeb71a8b SHA512 3c6614882b251e53322eb75fdd01c3d7664c5f611bbfc1480fa10d57f02906b4be42a8b7ff4d3bdc00465340a2ca46b31f1f0d25f64d4f69df0ac0876e71e87f
diff --git a/dev-python/chardet/chardet-5.1.0.ebuild b/dev-python/chardet/chardet-5.1.0.ebuild
deleted file mode 100644
index 6d915c06e2c7..000000000000
--- a/dev-python/chardet/chardet-5.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Universal encoding detector"
-HOMEPAGE="
- https://github.com/chardet/chardet/
- https://pypi.org/project/chardet/
-"
-SRC_URI="
- https://github.com/chardet/chardet/archive/${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 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # super flaky test
- # https://github.com/chardet/chardet/issues/256
- test.py::test_detect_all_and_detect_one_should_agree
-)
diff --git a/dev-python/chardet/chardet-5.2.0.ebuild b/dev-python/chardet/chardet-5.2.0.ebuild
new file mode 100644
index 000000000000..d10fec43fffb
--- /dev/null
+++ b/dev-python/chardet/chardet-5.2.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2023 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="Universal encoding detector"
+HOMEPAGE="
+ https://github.com/chardet/chardet/
+ https://pypi.org/project/chardet/
+"
+SRC_URI="
+ https://github.com/chardet/chardet/archive/${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 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # super flaky test
+ # https://github.com/chardet/chardet/issues/256
+ test.py::test_detect_all_and_detect_one_should_agree
+)
diff --git a/dev-python/charset-normalizer/Manifest b/dev-python/charset-normalizer/Manifest
new file mode 100644
index 000000000000..2daedf7adbb7
--- /dev/null
+++ b/dev-python/charset-normalizer/Manifest
@@ -0,0 +1 @@
+DIST charset-normalizer-3.3.2.tar.gz 104809 BLAKE2B dbc3271794c7d73ee0d2ccbc5cdc3aa56181ac1331b69bd72928a20cb464f64fc190fd5f627b1deab4bba4a3c62144272e4b1368d2020707522bcae10c8a9607 SHA512 227dd9496e080310b3262fe0ffc32b5ebed16e5b3a294877555c0b04dee0cb073a2a0a4fa8dbad3029703ffaf1857acf24d9b87ca74d75fa2f0ba8fd3413e9c4
diff --git a/dev-python/charset-normalizer/charset-normalizer-3.3.2.ebuild b/dev-python/charset-normalizer/charset-normalizer-3.3.2.ebuild
new file mode 100644
index 000000000000..d768b5c4343d
--- /dev/null
+++ b/dev-python/charset-normalizer/charset-normalizer-3.3.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2022-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
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="The Real First Universal Charset Detector"
+HOMEPAGE="
+ https://pypi.org/project/charset-normalizer/
+ https://github.com/Ousret/charset_normalizer/
+"
+
+LICENSE="MIT"
+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
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts=
+}
diff --git a/dev-python/charset_normalizer/metadata.xml b/dev-python/charset-normalizer/metadata.xml
index a2eef9f00815..a2eef9f00815 100644
--- a/dev-python/charset_normalizer/metadata.xml
+++ b/dev-python/charset-normalizer/metadata.xml
diff --git a/dev-python/charset_normalizer/Manifest b/dev-python/charset_normalizer/Manifest
deleted file mode 100644
index f9fb6b20746a..000000000000
--- a/dev-python/charset_normalizer/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST charset_normalizer-3.0.1.gh.tar.gz 89120 BLAKE2B ce46758a0e188c2c3370e8cadcf35430e62fc7abb158d4c6c86b4a93a75b30fbff10b584ebaaf9489c47bdcfe9ad3b04d0fe3e474b03b89700364b676caf4e0f SHA512 9c78713b17e9e8d10b2ac8de26b8481dd039aab98eb990d0788f82c354afc8290040da1aa07faed6f90590fed098e793fdf2aa257825222e44571c1810f263ec
diff --git a/dev-python/charset_normalizer/charset_normalizer-3.0.1.ebuild b/dev-python/charset_normalizer/charset_normalizer-3.0.1.ebuild
deleted file mode 100644
index 663a9253b2c6..000000000000
--- a/dev-python/charset_normalizer/charset_normalizer-3.0.1.ebuild
+++ /dev/null
@@ -1,31 +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=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="The Real First Universal Charset Detector"
-HOMEPAGE="
- https://pypi.org/project/charset-normalizer/
- https://github.com/Ousret/charset_normalizer/
-"
-SRC_URI="
- https://github.com/Ousret/charset_normalizer/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
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -o addopts=
-}
diff --git a/dev-python/chart-studio/Manifest b/dev-python/chart-studio/Manifest
index dc46b9a16cbf..967b53769804 100644
--- a/dev-python/chart-studio/Manifest
+++ b/dev-python/chart-studio/Manifest
@@ -1 +1 @@
-DIST chart-studio-1.1.0.tar.gz 51680 BLAKE2B 02aeb188dae3c1ff73faea891b0a9bef775ecac58e79ec4a43f2c0e0ca1ad71f5ba0cd93bd35779e7358b9495549915e23acb2817cb7ecd3becd4afccec71077 SHA512 1ee049b79df9e5f781cf279f03df718597ef4c0cc0dc02975a16b5a8f34f9330636453868f54e12e9ec8484a23c3481dc6a367995b359e1a4c2363860a962256
+DIST plotly.py-5.13.0.gh.tar.gz 30683340 BLAKE2B 0e2c5638c766e5da6e2067d7be270576afed984b45deec0955fa10698d37bd082f3ebc568a8290c17554c672ef9e31cee81b0fae18b9f3249591fe62510ce5fd SHA512 c874b46ac43520519951aad55f93bfcfe03910873fd273f283fe16ae2a4150cfa35104be422c21b65785c77f468f084847278f76bce3d9179cc2a339809c42e3
diff --git a/dev-python/chart-studio/chart-studio-1.1.0-r1.ebuild b/dev-python/chart-studio/chart-studio-1.1.0-r1.ebuild
deleted file mode 100644
index d2b1c6934990..000000000000
--- a/dev-python/chart-studio/chart-studio-1.1.0-r1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_10 )
-
-inherit distutils-r1
-
-DESCRIPTION="Browser-based graphing library for Python"
-HOMEPAGE="https://plot.ly/python/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/plotly[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/retrying[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
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
new file mode 100644
index 000000000000..860784c70a14
--- /dev/null
+++ b/dev-python/chart-studio/chart-studio-1.1.0-r2.ebuild
@@ -0,0 +1,55 @@
+# 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
+
+PLOTLY_PV="5.13.0"
+
+DESCRIPTION="Browser-based graphing library for Python"
+HOMEPAGE="https://plotly.com/python/"
+SRC_URI="https://github.com/plotly/plotly.py/archive/refs/tags/v${PLOTLY_PV}.tar.gz -> plotly.py-${PLOTLY_PV}.gh.tar.gz"
+S="${WORKDIR}/plotly.py-${PLOTLY_PV}/packages/python/${PN}"
+# PyPI tarball does not include the tests, sources are in the same repo as plotly.
+
+PROPERTIES="test_network"
+RESTRICT="test"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/plotly[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/retrying[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # URL is somehow wrong
+ "chart_studio/tests/test_core/test_tools/test_get_embed.py::test_get_valid_embed"
+ "chart_studio/tests/test_core/test_tools/test_get_embed.py::TestGetEmbed::test_get_embed_url_with_share_key"
+ "chart_studio/tests/test_optional/test_matplotlylib/test_plot_mpl.py::PlotMPLTest::test_update"
+ "chart_studio/tests/test_plot_ly/test_spectacle_presentation/test_spectacle_presentation.py::TestPresentation::test_expected_pres"
+)
+
+# There are sphinx docs but we are missing a bunch of dependencies.
+# distutils_enable_sphinx ../../../doc/apidoc
+distutils_enable_tests pytest
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 159c50dcdc34..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_{9..11} )
-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 e848f2352855..f92c41d0b7ab 100644
--- a/dev-python/cheetah3/Manifest
+++ b/dev-python/cheetah3/Manifest
@@ -1 +1 @@
-DIST cheetah3-3.2.6.post2.tar.gz 316291 BLAKE2B d5dfaa958bc0cc41097d4a75abfe092d51379efd644daa01caac6ba1b789c21334a662904166b6069a0204e302c1d9e7bea74aa9f11082b9c8fce1c1c509f888 SHA512 b10d2569ce92181029b8f95d23602ec7b002400c8fdf4f6bb095ff40201154b97418fec19c9920f2f212f545633571aa32dc50a16a9ba81a9427303ca7938f29
+DIST cheetah3-3.3.1.gh.tar.gz 315007 BLAKE2B 627cb435db1cf274861a29b993f49457c1ba4147b6e1514b5d5961a2fd565c39ff9cae3bcd9665379c5206dc2cef98a6bf159781e664d75d87fa8c4244ec4e43 SHA512 057d3772390076157a0e09e6b5e60ad0ec3b1669aa62741bcfd314f846bba091884d361382d6399e73bce06aaf49366ee3cbeb040c6f5b3e00423eefd440c300
diff --git a/dev-python/cheetah3/cheetah3-3.2.6_p2.ebuild b/dev-python/cheetah3/cheetah3-3.2.6_p2.ebuild
deleted file mode 100644
index d40d485e41b3..000000000000
--- a/dev-python/cheetah3/cheetah3-3.2.6_p2.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_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${P/_p/.post}
-DESCRIPTION="Python-powered template engine and code generator"
-HOMEPAGE="https://cheetahtemplate.org/ https://pypi.org/project/Cheetah3/"
-SRC_URI="
- https://github.com/CheetahTemplate3/${PN}/archive/${PV/_p/.post}.tar.gz
- -> ${MY_P}.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-KEYWORDS="amd64 arm arm64 ~loong ~riscv x86"
-SLOT="0"
-
-RDEPEND="
- dev-python/markdown[${PYTHON_USEDEP}]
- !dev-python/cheetah
-"
-BDEPEND="${RDEPEND}"
-
-DOCS=( ANNOUNCE.rst README.rst TODO )
-
-python_prepare_all() {
- # Disable broken tests.
- sed -i -e "/Unicode/d" -i Cheetah/Tests/Test.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- "${EPYTHON}" Cheetah/Tests/Test.py || die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/cheetah3/cheetah3-3.3.1.ebuild b/dev-python/cheetah3/cheetah3-3.3.1.ebuild
new file mode 100644
index 000000000000..2fb8748e3d85
--- /dev/null
+++ b/dev-python/cheetah3/cheetah3-3.3.1.ebuild
@@ -0,0 +1,44 @@
+# 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/cheroot/Manifest b/dev-python/cheroot/Manifest
index e520c631ec3d..ccec99c932d8 100644
--- a/dev-python/cheroot/Manifest
+++ b/dev-python/cheroot/Manifest
@@ -1 +1 @@
-DIST cheroot-9.0.0.tar.gz 152562 BLAKE2B 5f5dd172cfc8fdd1318b22fc27060444a34343b6b83bbda4bd40c16d7cb0568c356f5fd14b0a7cdc74895d6707077ec54fcae54fb29b0d16a7c06e2cd36b1ee7 SHA512 86ea0dd2cb4cde25f86b489b1d0bb27e3e7c1ba5449759ccecaae689cdcb349b968fd0c8fb8bc8273deff5e32a078bf40f4342f0c5a1f53bb8d2b968f44a453b
+DIST cheroot-10.0.0.tar.gz 148461 BLAKE2B d6a07878b03529be0d7ebefc91096f89b437374f9ede1db357a286bc199403798d35e9695dc1251d5045b6febc37940986693d9b36c89968ac3147ec68a481ea SHA512 02e32e52a596463cbb9874a800dbcdc5680dd7d9dfa95ca6e73c81f9248a488087c514ae70cdba94fe9df1f5d3ab1c68efcb720561cbeb7b667109fe5962f85b
diff --git a/dev-python/cheroot/cheroot-10.0.0.ebuild b/dev-python/cheroot/cheroot-10.0.0.ebuild
new file mode 100644
index 000000000000..9431c10fa7df
--- /dev/null
+++ b/dev-python/cheroot/cheroot-10.0.0.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2023 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-9.0.0.ebuild b/dev-python/cheroot/cheroot-9.0.0.ebuild
deleted file mode 100644
index ba1f15d7d74d..000000000000
--- a/dev-python/cheroot/cheroot-9.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="High-performance, pure-Python HTTP server used by CherryPy"
-HOMEPAGE="
- https://cherrypy.dev/
- https://pypi.org/project/cheroot/
- https://github.com/cherrypy/cheroot/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/six-1.11.0[${PYTHON_USEDEP}]
- >=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/cherrypy/Manifest b/dev-python/cherrypy/Manifest
index 888526929922..bf2c0f9f6cf3 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.9.0.tar.gz 631900 BLAKE2B 5bc0d4315f6b9300ba8fc122858554a6b6476f78ac1fb31b1635707488a4a300e359d2e368dde9996c202a8f42100ef09e298fb923f955e92d7906ed970d2ba9 SHA512 ed2beacedd3417214f45e59567f2a1faf5964745a545360db2f61251a39f50f2a833745832a2c900673029d98062f7e1813db6c342585f8d2bbae0be423edb3a
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 e41cd56ba3ee..000000000000
--- a/dev-python/cherrypy/cherrypy-18.8.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_PN="CherryPy"
-MY_P=${MY_PN}-${PV}
-DESCRIPTION="CherryPy is a pythonic, object-oriented HTTP framework"
-HOMEPAGE="
- https://cherrypy.dev/
- https://github.com/cherrypy/cherrypy/
- https://pypi.org/project/CherryPy/
-"
-SRC_URI="mirror://pypi/${MY_PN::1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~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() {
- 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.9.0.ebuild b/dev-python/cherrypy/cherrypy-18.9.0.ebuild
new file mode 100644
index 000000000000..d365b629a712
--- /dev/null
+++ b/dev-python/cherrypy/cherrypy-18.9.0.ebuild
@@ -0,0 +1,67 @@
+# 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() {
+ 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/metadata.xml b/dev-python/cherrypy/metadata.xml
index 8903904e0b9a..1f0f0521f499 100644
--- a/dev-python/cherrypy/metadata.xml
+++ b/dev-python/cherrypy/metadata.xml
@@ -7,6 +7,8 @@
</maintainer>
<stabilize-allarches/>
<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 44815498bd07..926b5b6dbf00 100644
--- a/dev-python/chump/chump-1.6.0-r2.ebuild
+++ b/dev-python/chump/chump-1.6.0-r2.ebuild
@@ -6,11 +6,10 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( pypy3 python3_{9..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="API wrapper for Pushover"
HOMEPAGE="https://github.com/karanlyons/chump"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
diff --git a/dev-python/citeproc-py/Manifest b/dev-python/citeproc-py/Manifest
deleted file mode 100644
index f226fa1ed986..000000000000
--- a/dev-python/citeproc-py/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST citeproc-py-0.6.0.tar.gz 140624 BLAKE2B 169129c6be29a5a5c4678ccc2e2dd0b9ef58248ae66339ac32c6fab887058c7bbd2884d2ce959ce52287a622be4abded7e1ab06cae9c0952be47352671f951c4 SHA512 901a62c59189a652b589e4aa12e489f72f5ea40db1349fcdc0e4ffd6f5be8d364dccdc23cfab1a9003fbc672d75c5bdf06c74b9b5e1fcfb2c12e84df39fe1fb1
-DIST citeproc-py-test-suite-c3db429ab7c6b9b9ccaaa6d3c6bb9e503f0d7b11.tar.gz 990340 BLAKE2B acf02bec956765d0bea794a96ce7b86104c98aa4c0f8620dbfaeb7f16f37fe07e5b45883c04a1c639fad9098e3733339c90deaf8cdd794fadb8db1456972d16b SHA512 8653ea8968fa108c0814f43744f6e569a0a32cf4e82addec667f75a28b9c1fd9c7714c0c75a85e0d6f7f579e554494925ba4ab05e21e4dcb6b727d00b6a16df7
diff --git a/dev-python/citeproc-py/citeproc-py-0.6.0.ebuild b/dev-python/citeproc-py/citeproc-py-0.6.0.ebuild
deleted file mode 100644
index fc213ba3c5d8..000000000000
--- a/dev-python/citeproc-py/citeproc-py-0.6.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-# Keep synced with tests/citeproc-test.py
-TEST_SUITE_COMMIT="c3db429ab7c6b9b9ccaaa6d3c6bb9e503f0d7b11"
-
-inherit distutils-r1
-
-DESCRIPTION="Yet another Python CSL Processor"
-HOMEPAGE="https://pypi.org/project/citeproc-py/"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- test? (
- https://github.com/citation-style-language/test-suite/archive/${TEST_SUITE_COMMIT}.tar.gz -> ${PN}-test-suite-${TEST_SUITE_COMMIT}.tar.gz
- )"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND=">=app-text/rnc2rng-2.6.3[${PYTHON_USEDEP}]"
-RDEPEND="dev-python/lxml[${PYTHON_USEDEP}]"
-
-PATCHES=( "${FILESDIR}/stop_test_from_accessing_git-${PV}.patch" )
-
-distutils_enable_tests nose
-
-src_prepare() {
- default
-
- if use test ; then
- mv "${WORKDIR}/test-suite-${TEST_SUITE_COMMIT}" "${S}/tests/test-suite" || die
- fi
-}
-
-python_test() {
- nosetests -v --ignore-files=citeproc-test.py || die "Tests failed with ${EPYTHON}"
- ${EPYTHON} tests/citeproc-test.py -vs || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/citeproc-py/files/stop_test_from_accessing_git-0.6.0.patch b/dev-python/citeproc-py/files/stop_test_from_accessing_git-0.6.0.patch
deleted file mode 100644
index e04ff1be1b87..000000000000
--- a/dev-python/citeproc-py/files/stop_test_from_accessing_git-0.6.0.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/tests/citeproc-test.py b/tests/citeproc-test.py
-index 11bd47d..8934700 100644
---- a/tests/citeproc-test.py
-+++ b/tests/citeproc-test.py
-@@ -288,7 +288,7 @@ if __name__ == '__main__':
- glob_pattern = '*'
- run_all_tests = True
-
-- test_repo_has_updates = clone_test_suite()
-+ test_repo_has_updates = False
-
- # import the text fixture parser included with citeproc-test
- try: # Python 3.3+
diff --git a/dev-python/citeproc-py/metadata.xml b/dev-python/citeproc-py/metadata.xml
deleted file mode 100644
index 38432292de71..000000000000
--- a/dev-python/citeproc-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="person">
- <email>alexxy@gentoo.org</email>
- <name>Alexey Shvetsov</name>
- </maintainer>
- <upstream>
- <remote-id type="github">brechtm/citeproc-py</remote-id>
- <remote-id type="pypi">citeproc-py</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/cjkwrap/cjkwrap-2.2-r2.ebuild b/dev-python/cjkwrap/cjkwrap-2.2-r2.ebuild
index 8d55afebb79a..c02bd2be4850 100644
--- a/dev-python/cjkwrap/cjkwrap-2.2-r2.ebuild
+++ b/dev-python/cjkwrap/cjkwrap-2.2-r2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
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 4037ff77248d..6dab866d637b 100644
--- a/dev-python/clang-python/Manifest
+++ b/dev-python/clang-python/Manifest
@@ -1,7 +1,13 @@
-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-12735916bd3a63aa9f316af8eebfe9420cfec489.tar.gz 208645973 BLAKE2B 4a64dcaa15cb592634eceb384ecfc11173dbf0285402c32be2b8056374bb8ecef8fa1055fbe353a0836c84b75736cc05f3a14428bc431c18362cfaa7bf96a50a SHA512 ee42f7db322c84dfae3c67ffcfff2ee8d56d6bd4a0412b6bd4f8952ac1da4d57d18fa38011fe514631363b4cc143327be887792dd2e9562942261c99e655d948
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-46d5a57801bc37e5ebb1a4d6b2acc0fa99c01e8d.tar.gz 180436731 BLAKE2B 51c30c3f11dd55a225b8ebe4ded752ce9e8eb58751e7458c29901dbdd3673f94892d337d111d696e779e3f7ef0bca6c7d79709e2072a4bf3a001d8813125d571 SHA512 ebbe0f8becac39d63433dcc3de474c40f1215fc8faab94fa2ba869d28e66b27e4fe088377bd7ae64575a6d7b07017b88bf92e5488a3185a753e647d8da352bbf
-DIST llvm-project-6dc85bd3fde7df2999fda07e9e9f2e83d52c6125.tar.gz 175208511 BLAKE2B cf87cf7e9bf7c74aab8ccda0f153369cb81798047fdd48025c3c7030857b128babbaafb667385a5c8e9916e16038b14fee39f1623d329471e73c39c2f2d7bbfa SHA512 e6dc0cacd6c079be8a00364e4c244782d764d9a8d514d65f9078427cb4a0c1663ff88761bfbc1e955a1a990451439110497c2cb7af7f56b2c91f2e9db4389894
-DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
+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.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-18.1.3.src.tar.xz 132049300 BLAKE2B 0681177cfe6a65f5cf11942381078388e8f5d9d5a4bb50b040e4c10a3898e7311ff379fcca008e82e4bef225792a38eb77f722c972725b9251a0fda29d8d7ecc SHA512 b8b8a00c560bc7d4c4b5d533b92dbd52f2c0254f0acf687e787e8b7fa780cd5d96f6e9709356d2c406c0b36b186dee4de6b1bc1928a97de0bda863fa873e0783
+DIST llvm-project-18.1.3.src.tar.xz.sig 566 BLAKE2B dcecf41346cc864c6e5bedd3a7db3db4f32a68534364d2537a15ca7e4e2f2d35a22722385ac556d2a4ac48ab37567566094f223534e696299f98040e702146d0 SHA512 b7e50779841891e9ed9de5ed917c5be3209a52a5d98c67a032509ae8fad8a2a882bf619c66d2ee45bb53dfb03d750cb94dc4b2750ec2a8edb0465700d5bc657c
+DIST llvm-project-18.1.4.src.tar.xz 132054668 BLAKE2B 94bbad3b185fd07cbace4eff79aba80fbdd5e072739250e3927fe1848bcf3f8d355eb1f384e57306707eb702acc7ab01b732590735be7950221607664d04b0a6 SHA512 b1b214ae91f3705d8ea345547ad53f1e5d7d884c1eb6958bc41c14ac4b3e407771ccc2b693686ff103c8232c2c3942731d6db9a9cb4f735e6c6a0674739d0b29
+DIST llvm-project-18.1.4.src.tar.xz.sig 566 BLAKE2B b74fd219d7bcdf197b4e711cfbb25c40e9d8d2c7341de0215d8c31f330f396e9c166ff63513829cdc9cef349f08238f66a4dc949fa97958a7af496abae369eaa SHA512 4f456edf4fb454815acaef6855b1a0991f229810a32e9369af83388e37f0ef8964308e1e93bd6216024cdd67e86caaadc8d5794467857cc6fe561c9fa6ca7386
+DIST llvm-project-a8b0ecd2605ff23f495a8af64e06c35f86834e54.tar.gz 208451583 BLAKE2B 3f8557637b9d10ed924cfec0b3e83d85996417df24b317cac55740aa199ef97cf7560fe634debd1dbfc7c9fc25aa2b2643fccaecc4c866481dc57b11eba1d02f SHA512 1f4bf5a8a59582af426ad13cc828e1e482c5c831ed5a4bb0da419ed3cf67e5e485fd36074603ad22328e35be44b8ccd2d92d1382bc7a228fdf38d458a2321e07
+DIST llvm-project-ee284d2da0720dc21191d6f545504cbfcf5dcbcf.tar.gz 208883034 BLAKE2B e37c9f1a6a4d0caa9a3091f979dd09f509d458f8b7b30286c77dd2385aea748b7aac6dd488c79573f82feb655aa321717bd2fb46bba4a12b388b52064f6e13bf SHA512 1335ade87cd2accc47ac47ed2ab302999e375808b158b6c9d31fac9059cbb992d2bdaaadf1fd9a1b37268c1123d43346ea4d150894d6d2e6f80ba790b65b93b1
diff --git a/dev-python/clang-python/clang-python-13.0.1.ebuild b/dev-python/clang-python/clang-python-13.0.1.ebuild
deleted file mode 100644
index 7333e21631cb..000000000000
--- a/dev-python/clang-python/clang-python-13.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
-
-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"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-RESTRICT="!test? ( test )"
-
-# The module is opening libclang.so directly, and doing some blasphemy
-# on top of it.
-RDEPEND="
- >=sys-devel/clang-${PV}:*
- !sys-devel/llvm:0[clang(-),python(-)]
- !sys-devel/clang:0[python(-)]
- ${PYTHON_DEPS}"
-DEPEND="${RDEPEND}"
-
-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-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-16.0.0.9999.ebuild b/dev-python/clang-python/clang-python-16.0.0.9999.ebuild
deleted file mode 100644
index 5ec556a2ca20..000000000000
--- a/dev-python/clang-python/clang-python-16.0.0.9999.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_{9..11} )
-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=""
-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-16.0.0_pre20230107.ebuild b/dev-python/clang-python/clang-python-16.0.0_pre20230107.ebuild
deleted file mode 100644
index 5ec556a2ca20..000000000000
--- a/dev-python/clang-python/clang-python-16.0.0_pre20230107.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_{9..11} )
-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=""
-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-16.0.0_pre20230127.ebuild b/dev-python/clang-python/clang-python-16.0.0_pre20230127.ebuild
deleted file mode 100644
index 5ec556a2ca20..000000000000
--- a/dev-python/clang-python/clang-python-16.0.0_pre20230127.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_{9..11} )
-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=""
-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-16.0.6.ebuild b/dev-python/clang-python/clang-python-16.0.6.ebuild
new file mode 100644
index 000000000000..5b9951526538
--- /dev/null
+++ b/dev-python/clang-python/clang-python-16.0.6.ebuild
@@ -0,0 +1,54 @@
+# 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.0.9999.ebuild b/dev-python/clang-python/clang-python-17.0.0.9999.ebuild
deleted file mode 100644
index 5ec556a2ca20..000000000000
--- a/dev-python/clang-python/clang-python-17.0.0.9999.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_{9..11} )
-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=""
-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
new file mode 100644
index 000000000000..7762bfd83fe4
--- /dev/null
+++ b/dev-python/clang-python/clang-python-17.0.6.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..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-18.1.3.ebuild b/dev-python/clang-python/clang-python-18.1.3.ebuild
new file mode 100644
index 000000000000..92a6321a504f
--- /dev/null
+++ b/dev-python/clang-python/clang-python-18.1.3.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..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-18.1.4.ebuild b/dev-python/clang-python/clang-python-18.1.4.ebuild
new file mode 100644
index 000000000000..92a6321a504f
--- /dev/null
+++ b/dev-python/clang-python/clang-python-18.1.4.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..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-19.0.0.9999.ebuild b/dev-python/clang-python/clang-python-19.0.0.9999.ebuild
new file mode 100644
index 000000000000..bef9bf6fddbd
--- /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..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-19.0.0_pre20240330.ebuild b/dev-python/clang-python/clang-python-19.0.0_pre20240330.ebuild
new file mode 100644
index 000000000000..bef9bf6fddbd
--- /dev/null
+++ b/dev-python/clang-python/clang-python-19.0.0_pre20240330.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..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-19.0.0_pre20240404.ebuild b/dev-python/clang-python/clang-python-19.0.0_pre20240404.ebuild
new file mode 100644
index 000000000000..bef9bf6fddbd
--- /dev/null
+++ b/dev-python/clang-python/clang-python-19.0.0_pre20240404.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..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-19.0.0_pre20240410.ebuild b/dev-python/clang-python/clang-python-19.0.0_pre20240410.ebuild
new file mode 100644
index 000000000000..bef9bf6fddbd
--- /dev/null
+++ b/dev-python/clang-python/clang-python-19.0.0_pre20240410.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..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/cleo/Manifest b/dev-python/cleo/Manifest
index 4145345ead73..96e21f71bf3f 100644
--- a/dev-python/cleo/Manifest
+++ b/dev-python/cleo/Manifest
@@ -1 +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.ebuild b/dev-python/cleo/cleo-2.0.1.ebuild
deleted file mode 100644
index 361ee2b718fc..000000000000
--- a/dev-python/cleo/cleo-2.0.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=poetry
-PYTHON_COMPAT=( python3_{9..11} )
-
-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 ~ppc64 ~x86"
-
-RDEPEND="
- dev-python/crashtest[${PYTHON_USEDEP}]
- dev-python/rapidfuzz[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-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
new file mode 100644
index 000000000000..af689974b7e7
--- /dev/null
+++ b/dev-python/cleo/cleo-2.1.0.ebuild
@@ -0,0 +1,57 @@
+# 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="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="~alpha amd64 arm arm64 ~hppa ~ia64 ~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 EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ tests/ui/test_exception_trace.py::test_render_debug_better_error_message_recursion_error
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_mock
+ epytest
+}
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
new file mode 100644
index 000000000000..0a477f86c822
--- /dev/null
+++ b/dev-python/cli-helpers/Manifest
@@ -0,0 +1 @@
+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.1.ebuild b/dev-python/cli-helpers/cli-helpers-2.3.1.ebuild
new file mode 100644
index 000000000000..9b0423e7e484
--- /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..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.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
new file mode 100644
index 000000000000..ca6c8d7902ca
--- /dev/null
+++ b/dev-python/cli-helpers/cli-helpers-9999.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 git-r3
+
+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/
+"
+EGIT_REPO_URI="https://github.com/dbcli/cli_helpers.git"
+
+LICENSE="BSD"
+SLOT="0"
+
+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/metadata.xml b/dev-python/cli-helpers/metadata.xml
new file mode 100644
index 000000000000..d18fff347fc2
--- /dev/null
+++ b/dev-python/cli-helpers/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">dbcli/cli_helpers</remote-id>
+ <remote-id type="pypi">cli-helpers</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cli_helpers/Manifest b/dev-python/cli_helpers/Manifest
deleted file mode 100644
index 4499213caf40..000000000000
--- a/dev-python/cli_helpers/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST cli_helpers-2.3.0.gh.tar.gz 34374 BLAKE2B 83978ee17aec8a02173460cf5d5c42751d4745c63a1f83c8fafdd55fcfb31e04d02a61f90db4a4fe8ba2049167306b06e1389db15230558a646589e3834745de SHA512 ee5f2adbca54c62c2f40be4c7b418760d12f331737a65bafdb8209989fc866f35d6c2ea1b9b0a12add6ed3fa576a84a2c8f62a2f3babf58706660f7d7eb8eb57
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 73bbfd5a2e0f..000000000000
--- a/dev-python/cli_helpers/cli_helpers-2.3.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_{9..11} )
-
-inherit distutils-r1
-
-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
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 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-9999.ebuild b/dev-python/cli_helpers/cli_helpers-9999.ebuild
deleted file mode 100644
index 320ae429076d..000000000000
--- a/dev-python/cli_helpers/cli_helpers-9999.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 git-r3
-
-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/
-"
-EGIT_REPO_URI="https://github.com/dbcli/${PN}.git"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS=""
-
-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/metadata.xml b/dev-python/cli_helpers/metadata.xml
deleted file mode 100644
index 35fb84a1bb89..000000000000
--- a/dev-python/cli_helpers/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>grknight@gentoo.org</email>
- <name>Brian Evans</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- </maintainer>
- <upstream>
- <remote-id type="github">dbcli/cli_helpers</remote-id>
- <remote-id type="pypi">cli-helpers</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/click-default-group/Manifest b/dev-python/click-default-group/Manifest
index 7817f0f91f5e..97373988e8fd 100644
--- a/dev-python/click-default-group/Manifest
+++ b/dev-python/click-default-group/Manifest
@@ -1 +1 @@
-DIST click-default-group-1.2.2.gh.tar.gz 4753 BLAKE2B 919e3921ef3c6723b92cab8433032237af4e5583084badb6cc53d82971d81aa910ae6553deefea2ac46067d2618bb8f6d2003f0b2c4ced04acc5b46588012614 SHA512 6f296d154813e0c3dbf8e435c4c1b4394f51a000320c5585aeb78b81f30fe15bd27a8aad0fdbb71fccb88dc3083682519f1dd06572c8d5c35639fb9c3acf73fa
+DIST click-default-group-1.2.4.gh.tar.gz 4816 BLAKE2B 06954c374c1fcdf6163b476ec9888c563493b3c6d6395cab4b7191cae335519262a5082f587752c1968c4108edd20bb87c55bde8100c8cad90b2c1d433fa7469 SHA512 0239e703421e693399e8e54e4a6bdc4a74e6f16307f008ee742788ce3e8040f633de2b1bf12997a5c448b70cb55f77ccd4f42c5b4abe3b6a05df18908daf61da
diff --git a/dev-python/click-default-group/click-default-group-1.2.2-r1.ebuild b/dev-python/click-default-group/click-default-group-1.2.2-r1.ebuild
deleted file mode 100644
index 3c8ab2e2b5ab..000000000000
--- a/dev-python/click-default-group/click-default-group-1.2.2-r1.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
-
-DESCRIPTION="Extends click. Group to invoke a command without explicit subcommand name"
-HOMEPAGE="https://github.com/click-contrib/click-default-group"
-SRC_URI="https://github.com/click-contrib/${PN}/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 ~x64-macos"
-
-RDEPEND="dev-python/click[${PYTHON_USEDEP}]"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.2.2-tests-click-8.patch
-)
-
-distutils_enable_tests pytest
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
new file mode 100644
index 000000000000..259619b6b43c
--- /dev/null
+++ b/dev-python/click-default-group/click-default-group-1.2.4.ebuild
@@ -0,0 +1,29 @@
+# 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="Extends click.Group to invoke a command without explicit subcommand name"
+HOMEPAGE="
+ https://github.com/click-contrib/click-default-group/
+ https://pypi.org/project/click-default-group/
+"
+SRC_URI="
+ https://github.com/click-contrib/click-default-group/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 ~x64-macos"
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/click-default-group/files/click-default-group-1.2.2-tests-click-8.patch b/dev-python/click-default-group/files/click-default-group-1.2.2-tests-click-8.patch
deleted file mode 100644
index e2612704116d..000000000000
--- a/dev-python/click-default-group/files/click-default-group-1.2.2-tests-click-8.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-https://github.com/click-contrib/click-default-group/pull/18
-https://github.com/click-contrib/click-default-group/issues/16
-
-From 9415c77d05cf7d16876e7d70a49a41a6189983b4 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= <dev@schuetz-co.de>
-Date: Sun, 20 Jun 2021 16:11:42 +0200
-Subject: [PATCH] make tests compatible with click 8
-
-It now outputs "No such option".
---- a/test.py
-+++ b/test.py
-@@ -30,7 +30,7 @@ def bar():
-
- def test_default_command_with_arguments():
- assert r.invoke(cli, ['--foo', 'foooo']).output == 'foooo\n'
-- assert 'no such option' in r.invoke(cli, ['-x']).output
-+ assert 'no such option' in r.invoke(cli, ['-x']).output.lower()
-
-
- def test_group_arguments():
-
diff --git a/dev-python/click-didyoumean/Manifest b/dev-python/click-didyoumean/Manifest
index 2bd708393f96..1bc368313149 100644
--- a/dev-python/click-didyoumean/Manifest
+++ b/dev-python/click-didyoumean/Manifest
@@ -1 +1,2 @@
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
index 5bfb9fd19242..54c8d611c563 100644
--- a/dev-python/click-didyoumean/click-didyoumean-0.3.0.ebuild
+++ b/dev-python/click-didyoumean/click-didyoumean-0.3.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
RDEPEND="
>=dev-python/click-7[${PYTHON_USEDEP}]
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..73c24f1d59aa
--- /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..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-help-colors/Manifest b/dev-python/click-help-colors/Manifest
index 8baf04840f9d..aaa51cbdf8d5 100644
--- a/dev-python/click-help-colors/Manifest
+++ b/dev-python/click-help-colors/Manifest
@@ -1 +1 @@
-DIST click-help-colors-0.9.1.gh.tar.gz 101042 BLAKE2B 0f40d6d15f8e0a4647212f57e071c49b66bcd2b3d7ef582bd7d8a14135e50028f3ceb07987b5b74a868d998c12886a711f40e1d85b541566c63dca39e43a907d SHA512 ac4ce56ab249f7b98f670a6624700109f20a7c666e006b891d5c9fd4977512a0c94d82f6b43915952179abc946899f85fa1d358cd3d59508ef341ba22d8fc745
+DIST click-help-colors-0.9.4.gh.tar.gz 131221 BLAKE2B cb6e5818eddf8ac757206b537053368be672382133bd6a1de65653b671c8780e991b437a31313740303b0e9d6d84eccb04b84577149311c3a27ad9fdaae4c5a4 SHA512 9dd7cc972834e4711cd9f3e957ab50aaa9e7c3e983a98d2d35603a548c85c9c3d3104f567cd13250eb621b67d138b7b94771216dc8323a281fe4fee51d7b752e
diff --git a/dev-python/click-help-colors/click-help-colors-0.9.1-r1.ebuild b/dev-python/click-help-colors/click-help-colors-0.9.1-r1.ebuild
deleted file mode 100644
index f348aa112921..000000000000
--- a/dev-python/click-help-colors/click-help-colors-0.9.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Colorization of help messages in Click"
-HOMEPAGE="https://github.com/click-contrib/click-help-colors"
-SRC_URI="
- https://github.com/click-contrib/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv"
-IUSE="examples"
-
-RDEPEND="dev-python/click[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- use examples && dodoc -r examples
- distutils-r1_python_install_all
-}
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
new file mode 100644
index 000000000000..98ffce385cf5
--- /dev/null
+++ b/dev-python/click-help-colors/click-help-colors-0.9.4.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Colorization of help messages in Click"
+HOMEPAGE="
+ https://github.com/click-contrib/click-help-colors/
+ https://pypi.org/project/click-help-colors/
+"
+SRC_URI="
+ https://github.com/click-contrib/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~riscv"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/click-contrib/click-help-colors/pull/25
+ # https://github.com/click-contrib/click-help-colors/pull/26
+ "${FILESDIR}/${P}-no-color.patch"
+)
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/click-help-colors/files/click-help-colors-0.9.4-no-color.patch b/dev-python/click-help-colors/files/click-help-colors-0.9.4-no-color.patch
new file mode 100644
index 000000000000..bc8ca134fb67
--- /dev/null
+++ b/dev-python/click-help-colors/files/click-help-colors-0.9.4-no-color.patch
@@ -0,0 +1,14 @@
+diff --git a/tests/conftest.py b/tests/conftest.py
+index 10482b8..25827a0 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -7,3 +7,9 @@ from click.testing import CliRunner
+ @pytest.fixture
+ def runner():
+ return CliRunner()
++
++
++@pytest.fixture(autouse=True)
++def clean_env(monkeypatch):
++ monkeypatch.delenv("FORCE_COLOR", raising=False)
++ monkeypatch.delenv("NO_COLOR", raising=False)
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 82cad77c5f6b..d3469fc7757f 100644
--- a/dev-python/click-log/click-log-0.4.0.ebuild
+++ b/dev-python/click-log/click-log-0.4.0.ebuild
@@ -4,16 +4,16 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Logging integration for Click"
HOMEPAGE="
https://github.com/click-contrib/click-log/
https://pypi.org/project/click-log/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
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
new file mode 100644
index 000000000000..b125e2eed0d4
--- /dev/null
+++ b/dev-python/click-plugins/click-plugins-1.1.1-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Module for click to enable registering CLI commands via entry points"
+HOMEPAGE="
+ https://github.com/click-contrib/click-plugins/
+ https://pypi.org/project/click-plugins/
+"
+
+LICENSE="BSD"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86"
+SLOT="0"
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/click-plugins/click-plugins-1.1.1.ebuild b/dev-python/click-plugins/click-plugins-1.1.1.ebuild
deleted file mode 100644
index 6aaa9c9feb9b..000000000000
--- a/dev-python/click-plugins/click-plugins-1.1.1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Module for click to enable registering CLI commands via setuptools entry-points"
-HOMEPAGE="https://github.com/click-contrib/click-plugins"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86"
-SLOT="0"
-
-RDEPEND="dev-python/click[${PYTHON_USEDEP}]"
-BDEPEND="test? ( ${RDEPEND} )"
-
-distutils_enable_tests pytest
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 3e317fdc7743..efae0ab8277d 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
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/click/Manifest b/dev-python/click/Manifest
index a1471fcfb1f5..25eb4215e1df 100644
--- a/dev-python/click/Manifest
+++ b/dev-python/click/Manifest
@@ -1 +1 @@
-DIST click-8.1.3.gh.tar.gz 333961 BLAKE2B ed80d9be1e5740f1e4af62e97cd78488dc99d59da4a6dc9c99fb62b08c32ca2b889e3678a2841052922d102d8ac83df19e3e2d0ff41c46387e695d3718c7702d SHA512 29194ee3877e013a2fe1037870522c5b5a78136ca60da9109f29312a3e52c767867f5eec2d90ca385cd0508f77555b9d6ad8f5141dc31900ddc9307a2207a818
+DIST click-8.1.7.gh.tar.gz 341625 BLAKE2B 11acc52c1138945e2588019811c88c4edf492fe7de44a17e9e5b60f0ca503c22f877ff42b3384b95cf207995d8cd7c8c3c90b47be2bf2b3f4efc0d03ab883405 SHA512 a1cb115b90193d78f94ec2a6af563b089820517e6e0e4b71ea3d6c68304444d16db3597358c62e1757d9d05449996b7168a220eecde6ab4991367fdb6e74096f
diff --git a/dev-python/click/click-8.1.3.ebuild b/dev-python/click/click-8.1.3.ebuild
deleted file mode 100644
index 69ba0fcb1a78..000000000000
--- a/dev-python/click/click-8.1.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python package for creating beautiful command line interfaces"
-HOMEPAGE="
- https://palletsprojects.com/p/click/
- https://github.com/pallets/click/
- https://pypi.org/project/click/
-"
-SRC_URI="
- https://github.com/pallets/${PN}/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 ~x64-macos"
-IUSE="examples"
-
-distutils_enable_sphinx docs \
- '>=dev-python/docutils-0.14' \
- dev-python/pallets-sphinx-themes \
- dev-python/sphinxcontrib-log_cabinet \
- dev-python/sphinx-issues \
- dev-python/sphinx-tabs
-distutils_enable_tests pytest
-
-python_install_all() {
- use examples && dodoc -r examples
- distutils-r1_python_install_all
-}
diff --git a/dev-python/click/click-8.1.7.ebuild b/dev-python/click/click-8.1.7.ebuild
new file mode 100644
index 000000000000..db27707518fa
--- /dev/null
+++ b/dev-python/click/click-8.1.7.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 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 package for creating beautiful command line interfaces"
+HOMEPAGE="
+ https://palletsprojects.com/p/click/
+ https://github.com/pallets/click/
+ https://pypi.org/project/click/
+"
+SRC_URI="
+ https://github.com/pallets/${PN}/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 ~x64-macos"
+IUSE="examples"
+
+distutils_enable_sphinx docs \
+ '>=dev-python/docutils-0.14' \
+ dev-python/pallets-sphinx-themes \
+ dev-python/sphinxcontrib-log-cabinet \
+ dev-python/sphinx-issues \
+ dev-python/sphinx-tabs
+distutils_enable_tests pytest
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cliff/Manifest b/dev-python/cliff/Manifest
index 9d0d7828331e..a884de01fe6c 100644
--- a/dev-python/cliff/Manifest
+++ b/dev-python/cliff/Manifest
@@ -1 +1 @@
-DIST cliff-4.1.0.tar.gz 82892 BLAKE2B 2d4da66ca6ba86c9f0f33fa36f637363a25ac0ea5c7a1561a4e682769e7ecc97525fca93fde0597062e8f23c4d3334fbf08a305f1c5bb15918e5752a45992d0e SHA512 4bab3404207d21cf8111a6dc1a0ece2c8da5d3bf5ee261b351b7b7ade73f162c4cea225be6fac7444ae95de70d3079e727086fd954fbf56b6d61fb1c7eb4c44a
+DIST cliff-4.6.0.tar.gz 83765 BLAKE2B a71ec00ac4525b960da4b40135477a3ed3fab8651c12b69af1a48ef19ae6e2eec37c8ab8f83ab23e0a948b002a7bfb152b677fd0ec313deb5e70ee5cb37fdd46 SHA512 59e887eddbdf695927e9ece46749f3f62557fd20bb24d7ff109f174a4ae4886cb3b44994903522c1d31c83b9f7f101f16604f6ffc4167ed6405e49a09f236dd0
diff --git a/dev-python/cliff/cliff-4.1.0.ebuild b/dev-python/cliff/cliff-4.1.0.ebuild
deleted file mode 100644
index bf1679cd321e..000000000000
--- a/dev-python/cliff/cliff-4.1.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="Command Line Interface Formulation Framework"
-HOMEPAGE="
- https://opendev.org/openstack/cliff/
- https://github.com/openstack/cliff/
- https://pypi.org/project/cliff/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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/stevedore-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.12.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-4.11.1[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-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.6.0.ebuild b/dev-python/cliff/cliff-4.6.0.ebuild
new file mode 100644
index 000000000000..c8436db6e065
--- /dev/null
+++ b/dev-python/cliff/cliff-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
+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/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[${PYTHON_USEDEP}]
+ 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/metadata.xml b/dev-python/cliff/metadata.xml
index 5742627c8671..d77f98508ed6 100644
--- a/dev-python/cliff/metadata.xml
+++ b/dev-python/cliff/metadata.xml
@@ -17,7 +17,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">cliff</remote-id>
- <remote-id type="github">dreamhost/cliff</remote-id>
<remote-id type="github">openstack/cliff</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/clikit/clikit-0.6.2-r1.ebuild b/dev-python/clikit/clikit-0.6.2-r1.ebuild
index 8ba0e60d33bf..6d946cc54a18 100644
--- a/dev-python/clikit/clikit-0.6.2-r1.ebuild
+++ b/dev-python/clikit/clikit-0.6.2-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~x86"
RDEPEND="
dev-python/pastel[${PYTHON_USEDEP}]
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/Manifest b/dev-python/clint/Manifest
index abac9651a495..ac577e93e7d7 100644
--- a/dev-python/clint/Manifest
+++ b/dev-python/clint/Manifest
@@ -1,2 +1 @@
DIST clint-0.5.1.gh.tar.gz 81140 BLAKE2B 5b42e7d46321f0416d3ffb51edf66c53476d3e4a211e971f36cab54a412f6b0f0ec26486c2b95871956ab09e7e4adf68e8329dd7e9e3c7ed1adb3f8a0dd2a728 SHA512 3ad8bfc587acb1322c7d7c3e73756a07c98f3b4215a3d4dc409b5a2067bc70dce2dd98d19250b8122b319b7bcf5e2859251de2829780345de06f93b35447c4e8
-DIST clint-0.5.1.tar.gz 81140 BLAKE2B 5b42e7d46321f0416d3ffb51edf66c53476d3e4a211e971f36cab54a412f6b0f0ec26486c2b95871956ab09e7e4adf68e8329dd7e9e3c7ed1adb3f8a0dd2a728 SHA512 3ad8bfc587acb1322c7d7c3e73756a07c98f3b4215a3d4dc409b5a2067bc70dce2dd98d19250b8122b319b7bcf5e2859251de2829780345de06f93b35447c4e8
diff --git a/dev-python/clint/clint-0.5.1-r3.ebuild b/dev-python/clint/clint-0.5.1-r3.ebuild
deleted file mode 100644
index 0712cbaa94a6..000000000000
--- a/dev-python/clint/clint-0.5.1-r3.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python Command-line Application Tools"
-HOMEPAGE="https://github.com/kennethreitz-archive/clint"
-SRC_URI="https://github.com/kennethreitz-archive/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 ~x86"
-IUSE="examples"
-
-# https://github.com/kennethreitz-archive/clint/pull/180
-PATCHES=( "${FILESDIR}/${P}-disable-args-dependency.patch" )
-
-distutils_enable_sphinx docs --no-autodoc
-distutils_enable_tests pytest
-
-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/clint/clint-0.5.1-r4.ebuild b/dev-python/clint/clint-0.5.1-r4.ebuild
index 8d86e7295979..99459869f5f3 100644
--- a/dev-python/clint/clint-0.5.1-r4.ebuild
+++ b/dev-python/clint/clint-0.5.1-r4.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -17,7 +17,7 @@ SRC_URI="
LICENSE="ISC"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 arm64 ~ppc64 ~x86"
IUSE="examples"
# https://github.com/kennethreitz-archive/clint/pull/180
diff --git a/dev-python/clint/metadata.xml b/dev-python/clint/metadata.xml
index 1c3b8611df80..12e7c2cadd9b 100644
--- a/dev-python/clint/metadata.xml
+++ b/dev-python/clint/metadata.xml
@@ -2,6 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!--maintainer-needed-->
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">kennethreitz-archive/clint</remote-id>
<remote-id type="pypi">clint</remote-id>
diff --git a/dev-python/cloudpickle/Manifest b/dev-python/cloudpickle/Manifest
index f2376179a742..77f4b21b8440 100644
--- a/dev-python/cloudpickle/Manifest
+++ b/dev-python/cloudpickle/Manifest
@@ -1,2 +1 @@
-DIST cloudpickle-2.2.0.tar.gz 59630 BLAKE2B f1a7b1c8fca6978701354fd1c72273de3591e7ada08ebee04cbaf59d6b20ef4503342a52a521c9c4d86e023694df3e87b7f8f19170fd8e6c2adef2f0526dfdc8 SHA512 c3f7860bb6cb3ff2acb5657fad96dcc9e26870b8728333e0099086e27907009cff95069581df42e7cff6b05929d91341bb87c307bf6aa23bd54e6fe7d66ef657
-DIST cloudpickle-2.2.1.tar.gz 60800 BLAKE2B a89fb7b53665ddb328235d00f6b7a311815d740eedfef65552c6b782bc8339ed96bcca98eb28ff1dd6205270a44c90de22acd47df9304c11644bbf0956ff3e25 SHA512 a0174a382d531180704a90a4da4f83e1d1c90ebf4ad181778bed073763bf43104b7049ced12abc360948343d105a4390cb514585a1b493217a53a5b2c45cfde6
+DIST cloudpickle-3.0.0.gh.tar.gz 59519 BLAKE2B 6d5c7b98990bb4d59ffc4e75efe109814430c8b73753d630b169ce0c455e5d5105782a314d4921b5051d458758980c954b8a84cf79a9534c9a382a8066d03c27 SHA512 e091cc0de2489c06e020fac2852d25f7fd832036a2b2c4c34f0cda0c642a1c65413fc0f21dc51fec75803e7c7da37f26f613620150acd9ab4aa2bb7b1eaabb79
diff --git a/dev-python/cloudpickle/cloudpickle-2.2.0.ebuild b/dev-python/cloudpickle/cloudpickle-2.2.0.ebuild
deleted file mode 100644
index 5bca6216cc67..000000000000
--- a/dev-python/cloudpickle/cloudpickle-2.2.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Extended pickling support for Python objects"
-HOMEPAGE="
- https://github.com/cloudpipe/cloudpickle/
- https://pypi.org/project/cloudpickle/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.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"
-
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTHONPATH=${PYTHONPATH}:tests/cloudpickle_testpkg
- # -s unbreaks some tests
- # https://github.com/cloudpipe/cloudpickle/issues/252
- epytest -s
-}
diff --git a/dev-python/cloudpickle/cloudpickle-2.2.1.ebuild b/dev-python/cloudpickle/cloudpickle-2.2.1.ebuild
deleted file mode 100644
index 09d4e4f83e85..000000000000
--- a/dev-python/cloudpickle/cloudpickle-2.2.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Extended pickling support for Python objects"
-HOMEPAGE="
- https://github.com/cloudpipe/cloudpickle/
- https://pypi.org/project/cloudpickle/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.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"
-
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTHONPATH=${PYTHONPATH}:tests/cloudpickle_testpkg
- # -s unbreaks some tests
- # https://github.com/cloudpipe/cloudpickle/issues/252
- epytest -s
-}
diff --git a/dev-python/cloudpickle/cloudpickle-3.0.0.ebuild b/dev-python/cloudpickle/cloudpickle-3.0.0.ebuild
new file mode 100644
index 000000000000..f840b4424579
--- /dev/null
+++ b/dev-python/cloudpickle/cloudpickle-3.0.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=flit
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Extended pickling support for Python objects"
+HOMEPAGE="
+ https://github.com/cloudpipe/cloudpickle/
+ https://pypi.org/project/cloudpickle/
+"
+SRC_URI="
+ https://github.com/cloudpipe/cloudpickle/archive/v${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 ~arm64-macos ~x64-macos"
+
+BDEPEND="
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+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
+ epytest -s
+}
diff --git a/dev-python/cloudscraper/Manifest b/dev-python/cloudscraper/Manifest
index 6dc989dc36df..44677a7dc0d6 100644
--- a/dev-python/cloudscraper/Manifest
+++ b/dev-python/cloudscraper/Manifest
@@ -1 +1 @@
-DIST cloudscraper-1.2.68.gh.tar.gz 111952 BLAKE2B 69e896ad704ce776594fb89714bb75316ebff1b03387cba8575be6d60b496d18556690cfad109c2fa55c72ce3d91dcd21a21467a2d9820c579fea7482b688800 SHA512 42fa90127c6348c52a8327728683719966ae69c7b945cb9b485907e89e3b29b8053d31cd9cd4326e71ffd4c33e0fce20dd3d0e046fab62d89110eb4510535ad9
+DIST cloudscraper-1.2.69.gh.tar.gz 112198 BLAKE2B ea7325353aa9c4bfaca1834a1f9fdb2201cee1946a990d059540500e58322899469a48d847b6d7688b8f671bf4bbe762d1f61ed080587f3a553771ba8e9c2a93 SHA512 9da8d3d42117768a0a38843448248e3a124c864aaa76d62125d3a1dad8ea4f1921954e6efaa2eb9b40c283d6889c15c0c33378db7008155e46ccb5ae219c11d6
diff --git a/dev-python/cloudscraper/cloudscraper-1.2.68.ebuild b/dev-python/cloudscraper/cloudscraper-1.2.68.ebuild
deleted file mode 100644
index f252f862824d..000000000000
--- a/dev-python/cloudscraper/cloudscraper-1.2.68.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..10} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="A Python module to bypass Cloudflare's anti-bot page"
-HOMEPAGE="
- https://github.com/VeNoMouS/cloudscraper/
- https://pypi.org/project/cloudscraper/
-"
-SRC_URI="
- https://github.com/VeNoMouS/cloudscraper/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="AGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64"
-
-RDEPEND="
- dev-python/pyparsing[${PYTHON_USEDEP}]
- dev-python/requests-toolbelt[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/js2py[${PYTHON_USEDEP}]
- dev-python/pytest-forked[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- net-libs/nodejs
- )
-"
-
-# These tests fail for no understanadble reason
-EPYTEST_DESELECT=(
- "tests/test_cloudscraper.py::TestCloudScraper::test_bad_interpreter_js_challenge1_16_05_2020"
- "tests/test_cloudscraper.py::TestCloudScraper::test_bad_solve_js_challenge1_16_05_2020"
- "tests/test_cloudscraper.py::TestCloudScraper::test_Captcha_challenge_12_12_2019"
- "tests/test_cloudscraper.py::TestCloudScraper::test_reCaptcha_providers"
-)
-
-distutils_enable_tests pytest
-
-pkg_postinst() {
- optfeature "brotli decompresssion support" "dev-python/brotlipy"
-
- optfeature "js2py interpreter support" "dev-python/js2py"
- optfeature "node.js interpreter support" "net-libs/nodejs"
-}
diff --git a/dev-python/cloudscraper/cloudscraper-1.2.69.ebuild b/dev-python/cloudscraper/cloudscraper-1.2.69.ebuild
new file mode 100644
index 000000000000..c6b4af03b2b6
--- /dev/null
+++ b/dev-python/cloudscraper/cloudscraper-1.2.69.ebuild
@@ -0,0 +1,55 @@
+# Copyright 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="A Python module to bypass Cloudflare's anti-bot page"
+HOMEPAGE="
+ https://github.com/VeNoMouS/cloudscraper/
+ https://pypi.org/project/cloudscraper/
+"
+SRC_URI="
+ https://github.com/VeNoMouS/cloudscraper/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+RDEPEND="
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ dev-python/requests-toolbelt[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/js2py[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ net-libs/nodejs
+ )
+"
+
+# These tests fail for no understanadble reason
+EPYTEST_DESELECT=(
+ "tests/test_cloudscraper.py::TestCloudScraper::test_bad_interpreter_js_challenge1_16_05_2020"
+ "tests/test_cloudscraper.py::TestCloudScraper::test_bad_solve_js_challenge1_16_05_2020"
+ "tests/test_cloudscraper.py::TestCloudScraper::test_Captcha_challenge_12_12_2019"
+ "tests/test_cloudscraper.py::TestCloudScraper::test_reCaptcha_providers"
+)
+
+distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature "brotli decompresssion support" "dev-python/brotlipy"
+
+ optfeature "js2py interpreter support" "dev-python/js2py"
+ optfeature "node.js interpreter support" "net-libs/nodejs"
+}
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..b3a9bcf26c64
--- /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/Manifest b/dev-python/cmd2/Manifest
index 3a5bb7f8ca2a..24377043fca7 100644
--- a/dev-python/cmd2/Manifest
+++ b/dev-python/cmd2/Manifest
@@ -1,2 +1 @@
-DIST cmd2-2.4.2.tar.gz 677598 BLAKE2B 38b767e70d42125639578a906a6bd0ac737ee1e3be2951b122f91a1a2bfe366ea23db2d7d7350842b667aca7614a3520057f689cb1c253d1c4b11e164c2ee4a1 SHA512 d70d264671db2783526c589199ff74cc70d53a4fbaa1d78636a508dbf8216aefab17f5764bf25b2b86e9c1413e0e61977819fbb0dec59d3209195df522d3fa5f
DIST cmd2-2.4.3.tar.gz 678661 BLAKE2B 806fbd6abc26737032dd6330ebabc1e5308e9082f9c98002845a54f1458d314feb476e4d491892e74cde16f5043c57495426ad50aaf3e7e8d0d938f0388db6e2 SHA512 1d440752262f38a742069e636373884edcc49c17ba17b21b24015cfe559b4df36b45ac9489f2f643897fbd38f54b8e6120daf07ef25d2f209af8a4ac8e4c0085
diff --git a/dev-python/cmd2/cmd2-2.4.2.ebuild b/dev-python/cmd2/cmd2-2.4.2.ebuild
deleted file mode 100644
index 3d5dbb93fa95..000000000000
--- a/dev-python/cmd2/cmd2-2.4.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_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Extra features for standard library's cmd module"
-HOMEPAGE="
- https://github.com/python-cmd2/cmd2/
- https://pypi.org/project/cmd2/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/attrs[${PYTHON_USEDEP}]
- >=dev-python/colorama-0.3.7[${PYTHON_USEDEP}]
- >=dev-python/pyperclip-1.6[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/wcwidth[${PYTHON_USEDEP}]
-"
-# pyperclip uses clipboard backends in the following preference order:
-# pygtk, xclip, xsel, klipper, qtpy, pyqt5, pyqt4.
-# klipper is known to be broken in Xvfb, and therefore causes test
-# failures. to avoid them, we must ensure that one of the backends
-# preferred to it is available (i.e. xclip or xsel).
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- || (
- x11-misc/xclip
- x11-misc/xsel
- )
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
- sed -i -e '/--cov/d' setup.cfg || die
-}
-
-src_test() {
- # tests rely on very specific text wrapping...
- local -x COLUMNS=80
- virtx distutils-r1_src_test
-}
-
-python_test() {
- epytest -p no:pytest-qt || die
-}
diff --git a/dev-python/cmd2/cmd2-2.4.3.ebuild b/dev-python/cmd2/cmd2-2.4.3.ebuild
index aa52347efcf8..f953f66e3566 100644
--- a/dev-python/cmd2/cmd2-2.4.3.ebuild
+++ b/dev-python/cmd2/cmd2-2.4.3.ebuild
@@ -4,20 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1 virtualx
+inherit distutils-r1 virtualx pypi
DESCRIPTION="Extra features for standard library's cmd module"
HOMEPAGE="
https://github.com/python-cmd2/cmd2/
https://pypi.org/project/cmd2/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="
dev-python/attrs[${PYTHON_USEDEP}]
@@ -32,7 +31,7 @@ RDEPEND="
# failures. to avoid them, we must ensure that one of the backends
# preferred to it is available (i.e. xclip or xsel).
BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
test? (
dev-python/pytest-mock[${PYTHON_USEDEP}]
|| (
diff --git a/dev-python/collective-checkdocs/Manifest b/dev-python/collective-checkdocs/Manifest
deleted file mode 100644
index 349664c16ce0..000000000000
--- a/dev-python/collective-checkdocs/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST collective.checkdocs-0.2.zip 10865 BLAKE2B bb6013564f5763d75639c2e17d01dfc8a3ccf2a47e59bad388738c4e31a37ec7f7e247ea2847f304771b0ad80d0dfd78cdf048d2dd4deda0a6a5f5ad307522a8 SHA512 c234a365d3e89cebd467a42f98be256e8e24e42c88e5aee71556d165deb8d7d54d4b515fa6fdf70bd24e7727e083f3b6fb061aa304fa7a72de7e8612ad2fc2a2
diff --git a/dev-python/collective-checkdocs/collective-checkdocs-0.2-r1.ebuild b/dev-python/collective-checkdocs/collective-checkdocs-0.2-r1.ebuild
deleted file mode 100644
index 4960ba53e8d0..000000000000
--- a/dev-python/collective-checkdocs/collective-checkdocs-0.2-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=7
-
-PYTHON_COMPAT=( pypy3 python3_{9..10} )
-# TODO: revert to rdepend once this is merged:
-# https://github.com/collective/collective.checkdocs/pull/11
-DISTUTILS_USE_SETUPTOOLS=manual
-
-inherit distutils-r1
-
-MY_PN="${PN/-/.}"
-DESCRIPTION="Distutils command to view/validate packages's rst text long_descriptions"
-HOMEPAGE="https://github.com/collective/collective.checkdocs"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.zip"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-LICENSE="GPL-2" # until https://github.com/collective/collective.checkdocs/issues/8 is fixed
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/docutils[${PYTHON_USEDEP}]
-"
-BDEPEND="
- app-arch/unzip
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
-
-python_install_all() {
- distutils-r1_python_install_all
- find "${D}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/collective-checkdocs/metadata.xml b/dev-python/collective-checkdocs/metadata.xml
deleted file mode 100644
index fdbf24b19747..000000000000
--- a/dev-python/collective-checkdocs/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>
- </maintainer>
- <maintainer type="person">
- <email>prometheanfire@gentoo.org</email>
- <name>Matthew Thode</name>
- </maintainer>
- <longdescription lang="en">
- collective.checkdocs adds new distutils commands checkdocs and showdocs to validate restructured text in long_description field of Python eggs. This package aims to make Python egg help page publishing and editing easier.
- </longdescription>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">collective.checkdocs</remote-id>
- <remote-id type="github">collective/collective.checkdocs</remote-id>
- <bugs-to>https://github.com/collective/collective.checkdocs/issues</bugs-to>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/colorama/colorama-0.4.6.ebuild b/dev-python/colorama/colorama-0.4.6.ebuild
index ab5414bb1e7d..751fdfcdc4c9 100644
--- a/dev-python/colorama/colorama-0.4.6.ebuild
+++ b/dev-python/colorama/colorama-0.4.6.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -23,12 +23,6 @@ SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="examples"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
distutils_enable_tests pytest
python_install_all() {
diff --git a/dev-python/colorclass/colorclass-2.2.2-r1.ebuild b/dev-python/colorclass/colorclass-2.2.2-r1.ebuild
index f4e1849763ac..21cd49822e56 100644
--- a/dev-python/colorclass/colorclass-2.2.2-r1.ebuild
+++ b/dev-python/colorclass/colorclass-2.2.2-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
BDEPEND="
test? (
diff --git a/dev-python/colored-traceback/Manifest b/dev-python/colored-traceback/Manifest
new file mode 100644
index 000000000000..5f9e6ef0eece
--- /dev/null
+++ b/dev-python/colored-traceback/Manifest
@@ -0,0 +1 @@
+DIST colored-traceback-0.3.0.tar.gz 3837 BLAKE2B bf79942de0d0791b567dce21609be87319da11596b90e67018ee74069ea63b072b73778283112f9f52270fef046220eff355993d38f84ecd80d895da0401a010 SHA512 013d779df231295319c29a48fe81a5ddfd1b77b1734dedf630a914bdf0ea89e19a8ec028ae40c55125209e748f4027a74d04ec816f6c6d3c21aca52d2dd58e37
diff --git a/dev-python/colored-traceback/colored-traceback-0.3.0.ebuild b/dev-python/colored-traceback/colored-traceback-0.3.0.ebuild
new file mode 100644
index 000000000000..4e6a99a384c1
--- /dev/null
+++ b/dev-python/colored-traceback/colored-traceback-0.3.0.ebuild
@@ -0,0 +1,19 @@
+# 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="Automatically color Python's uncaught exception tracebacks"
+HOMEPAGE="https://github.com/staticshock/colored-traceback.py"
+
+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
new file mode 100644
index 000000000000..2c1fd78f31a0
--- /dev/null
+++ b/dev-python/colored-traceback/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="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>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">staticshock/colored-traceback.py</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
index 694622a16404..a7f88b2d71c3 100644
--- a/dev-python/coloredlogs/coloredlogs-15.0.1-r1.ebuild
+++ b/dev-python/coloredlogs/coloredlogs-15.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
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Colored stream handler for the logging module"
HOMEPAGE="
@@ -13,11 +13,10 @@ HOMEPAGE="
https://github.com/xolox/python-coloredlogs
https://coloredlogs.readthedocs.io/en/latest/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
RDEPEND="
>=dev-python/humanfriendly-9.1[${PYTHON_USEDEP}]"
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..cc1761288e91
--- /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..12} 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 c6b0ae5dcd4e..73beec9a0512 100644
--- a/dev-python/colorlog/Manifest
+++ b/dev-python/colorlog/Manifest
@@ -1 +1 @@
-DIST colorlog-6.7.0.tar.gz 29920 BLAKE2B b4240f3fd17b17ead968293e54d5f4e589515d333a6cdf157a6d913c7457deff67d320ee87270ce05b853616134901c8ac47c4a542ef74158e1174d92de00b3c SHA512 19b3c04beb8ac26d3db69f78bc1e7db40288c95ba7edc7c1d2495d592262dea9a1bf91e42dce0e575341eb2a572f0050866970f23d3be8c5adae518c4115787d
+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 e56afc8edbc6..000000000000
--- a/dev-python/colorlog/colorlog-6.7.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_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Log formatting with colors"
-HOMEPAGE="https://pypi.org/project/colorlog/
- https://github.com/borntyping/python-colorlog"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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..2dd37dd75470
--- /dev/null
+++ b/dev-python/colorlog/colorlog-6.8.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..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/colorspacious/Manifest b/dev-python/colorspacious/Manifest
deleted file mode 100644
index 27c7031168ad..000000000000
--- a/dev-python/colorspacious/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST colorspacious-1.1.2.tar.gz 688573 BLAKE2B 85b4c24a0d0ce42817060be9dfeaa00f1775f656590cc76fd5c0ce0f929b165cd1239b33a54d7d5a4969ecf7240c3b9c3fdf067ab8282052768f4f8ad6f04a02 SHA512 a5c212c82f4a8eb1561f3ff86effeb0c1edb80fca3657dc62336c56de3c8810c44288022223a6089f9eb2cad8d3bcd9c8222014c106b8915c0c6d8b7df0c353a
diff --git a/dev-python/colorspacious/colorspacious-1.1.2.ebuild b/dev-python/colorspacious/colorspacious-1.1.2.ebuild
deleted file mode 100644
index 0c8f0b4ad612..000000000000
--- a/dev-python/colorspacious/colorspacious-1.1.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Powerful, accurate, and easy-to-use Python library for colorspace conversions"
-HOMEPAGE="https://colorspacious.readthedocs.org/en/latest/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ppc64 x86"
-
-RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
-
-distutils_enable_tests nose
-
-python_test() {
- nosetests -v --all-modules || die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/colorspacious/metadata.xml b/dev-python/colorspacious/metadata.xml
deleted file mode 100644
index 11970e18817f..000000000000
--- a/dev-python/colorspacious/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">colorspacious</remote-id>
- <remote-id type="github">njsmith/colorspacious</remote-id>
- </upstream>
-</pkgmetadata>
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..9f86129855e5
--- /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..12} )
+
+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 01e2c47b68f5..000000000000
--- a/dev-python/colour/colour-0.1.5.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="Python color representations manipulation library"
-HOMEPAGE="https://github.com/vaab/colour/"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-KEYWORDS="amd64 ~x86"
-
-LICENSE="GPL-3+"
-SLOT="0"
-
-PATCHES=( "${FILESDIR}"/${PN}-setup.patch )
-
-src_prepare() {
- rm setup.cfg || die
-
- distutils-r1_src_prepare
-}
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 8a2c5e105b09..0380e0940bc0 100644
--- a/dev-python/comm/Manifest
+++ b/dev-python/comm/Manifest
@@ -1 +1 @@
-DIST comm-0.1.2.gh.tar.gz 5382 BLAKE2B 698cd4823c86d5e589c6bfa1e99d534fc05c34d9c12ea417c0702f6e5b1397db9e334a78fcc445e59b55e4693e5460cb980357c7e299f01db8df3d0bdb2b6ddc SHA512 9cec9909676edc0c8abf41e6d90f83a6ebfa88266023b3b5fd9c1ffe3fe16ba324b68ab92e788bfa01d5304d5de6e6dc96c7238973f3b39f8c77fa5165df8379
+DIST comm-0.2.2.gh.tar.gz 9983 BLAKE2B aedbd55751cbf58b2e7adad5e59af1aa1479e653bb7b62f811686a30630682edfd6fe82e18ed14d9f7a4b875e2596fba375eb34493f3d29eeeb6ca1b7bdd7c71 SHA512 a37999859894186cb52f50835459dd6c3aced256ed1c6319660c98ad9e423f4ab1fd86545f68c82fbbbd74dcec70359566307cecbc3610d806084a33fae9e693
diff --git a/dev-python/comm/comm-0.1.2.ebuild b/dev-python/comm/comm-0.1.2.ebuild
deleted file mode 100644
index 84c686fc4064..000000000000
--- a/dev-python/comm/comm-0.1.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-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/
-"
-SRC_URI="
- https://github.com/ipython/comm/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/traitlets-5.3[${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..a7c992fe2d3f
--- /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..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/commentjson/commentjson-0.9.0-r2.ebuild b/dev-python/commentjson/commentjson-0.9.0-r2.ebuild
index 810c080baf44..6ebede96a2b3 100644
--- a/dev-python/commentjson/commentjson-0.9.0-r2.ebuild
+++ b/dev-python/commentjson/commentjson-0.9.0-r2.ebuild
@@ -4,7 +4,7 @@
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/commonmark/commonmark-0.9.1-r1.ebuild b/dev-python/commonmark/commonmark-0.9.1-r1.ebuild
index 62de3a6cf374..9b9d6837b501 100644
--- a/dev-python/commonmark/commonmark-0.9.1-r1.ebuild
+++ b/dev-python/commonmark/commonmark-0.9.1-r1.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Python parser for the CommonMark Markdown spec"
HOMEPAGE="
https://pypi.org/project/commonmark/
https://github.com/readthedocs/commonmark.py/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/configclass/configclass-0.2.0-r1.ebuild b/dev-python/configclass/configclass-0.2.0-r1.ebuild
new file mode 100644
index 000000000000..2740af66df37
--- /dev/null
+++ b/dev-python/configclass/configclass-0.2.0-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 to class to hold configuration values"
+HOMEPAGE="
+ https://github.com/schettino72/configclass/
+ https://pypi.org/project/configclass/
+"
+SRC_URI="
+ https://github.com/schettino72/configclass/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/mergedict-0.2.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/configclass/configclass-0.2.0.ebuild b/dev-python/configclass/configclass-0.2.0.ebuild
deleted file mode 100644
index a9b81b8d96cf..000000000000
--- a/dev-python/configclass/configclass-0.2.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=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python to class to hold configuration values"
-HOMEPAGE="https://github.com/schettino72/configclass/"
-SRC_URI="https://github.com/schettino72/configclass/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-RDEPEND=">=dev-python/mergedict-0.2.0[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/configobj/Manifest b/dev-python/configobj/Manifest
index a66999359b64..737c0496a495 100644
--- a/dev-python/configobj/Manifest
+++ b/dev-python/configobj/Manifest
@@ -1,2 +1 @@
-DIST configobj-5.0.6.gh.tar.gz 143664 BLAKE2B b554d0aec903aecb55387a0164cd6f8d442e9fc1ab231ce7f7123e7a5041e07a86f5f7bf70492ca93fcdc1bd3caa5b855c427f060842e3b4a7524afbcc417a76 SHA512 326eb86e362f281ebf07abcb1cf7616abb270c482eafe842371cda8708245ca5e8262f1644b7164664ecc10e9004ed061c9de18cd233a657d4697dbc3ba3c59d
DIST configobj-5.0.8.gh.tar.gz 99071 BLAKE2B 61fb8622f3771f56f3a67511ce0eee11b9022a47a6a48858fafad966dd7fb18387d18dc0c32984bec064c2b03a7c72570248a967bf428f871c5b8ba4353a71e7 SHA512 26cdfec9f4d7adbab579191b29e6642f4f2a6fc73353f877565b76682d6087748f466f9cbb82fccfb2d409bace29c377c2276848179f5cb396e6ff1375c8edf2
diff --git a/dev-python/configobj/configobj-5.0.6-r2.ebuild b/dev-python/configobj/configobj-5.0.6-r2.ebuild
deleted file mode 100644
index 944ed672f97a..000000000000
--- a/dev-python/configobj/configobj-5.0.6-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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple config file reader and writer"
-HOMEPAGE="http://www.voidspace.org.uk/python/configobj.html https://pypi.org/project/configobj/"
-SRC_URI="https://github.com/DiffSK/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-
-PATCHES=( "${FILESDIR}/${P}-fix-py2-tests.patch" )
-
-distutils_enable_tests pytest
diff --git a/dev-python/configobj/configobj-5.0.8.ebuild b/dev-python/configobj/configobj-5.0.8.ebuild
index fbc9ac3cae0a..d3b2b5960179 100644
--- a/dev-python/configobj/configobj-5.0.8.ebuild
+++ b/dev-python/configobj/configobj-5.0.8.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
RDEPEND="
dev-python/six[${PYTHON_USEDEP}]
diff --git a/dev-python/configobj/files/configobj-5.0.6-fix-py2-tests.patch b/dev-python/configobj/files/configobj-5.0.6-fix-py2-tests.patch
deleted file mode 100644
index 49576b4f43e7..000000000000
--- a/dev-python/configobj/files/configobj-5.0.6-fix-py2-tests.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff --git a/tests/test_validate.py b/tests/test_validate.py
-index bffb0dc..c7d57d3 100644
---- a/tests/test_validate.py
-+++ b/tests/test_validate.py
-@@ -2,7 +2,7 @@
-
- from configobj import ConfigObj
- import pytest
--from validate import Validator, VdtValueTooSmallError
-+from validate import Validator, VdtValueTooSmallError, dottedQuadToNum
-
-
- class TestBasic(object):
-@@ -161,3 +161,26 @@ class TestBasic(object):
- 'test3': 3,
- 'test4': 6.0
- }}}
-+
-+
-+class TestDottedQuadToNum(object):
-+
-+ def test_stripped(self):
-+ assert dottedQuadToNum('192.0.2.0') == 3221225984
-+ assert dottedQuadToNum('192.0.2.1 ') == 3221225985
-+ assert dottedQuadToNum(' 192.0.2.2') == 3221225986
-+ assert dottedQuadToNum('\t\t192.0.2.3\n') == 3221225987
-+ with pytest.raises(ValueError) as excinfo:
-+ dottedQuadToNum('192. 0. 2. 4')
-+ assert str(excinfo.value) == 'Not a good dotted-quad IP: 192. 0. 2. 4'
-+
-+ def test_boundaries(self):
-+ assert dottedQuadToNum('0.0.0.0') == 0
-+ assert dottedQuadToNum('255.255.255.255') == 4294967295
-+ with pytest.raises(ValueError) as excinfo:
-+ dottedQuadToNum('255.255.255.256')
-+ assert str(excinfo.value) == (
-+ 'Not a good dotted-quad IP: 255.255.255.256')
-+ with pytest.raises(ValueError) as excinfo:
-+ dottedQuadToNum('-1')
-+ assert str(excinfo.value) == 'Not a good dotted-quad IP: -1'
diff --git a/dev-python/configshell-fb/Manifest b/dev-python/configshell-fb/Manifest
index 13fc21a18c1e..4b2c0a5102ae 100644
--- a/dev-python/configshell-fb/Manifest
+++ b/dev-python/configshell-fb/Manifest
@@ -1 +1 @@
-DIST configshell-fb-1.1.29.tar.gz 55036 BLAKE2B 4a9a8f2573b43a9c8ddbda837e831c96b221f4499acb1aeeb990a7b1050c5572e9b745857ac9d1de4089d1758dd1284d0555da524def80e0a1caac18bb43a921 SHA512 0d7663cf58431c8b0be5618e5ef454838489e11a3074e5bd63145c3ea965065e37f1a41b5775363a35498a4d5dd86ad5453feb58dd74853cd77ae196b44c658e
+DIST configshell-fb-1.1.30.gh.tar.gz 33179 BLAKE2B 8664ec42727fb9bd41600c2844b9b59423c21040e6efc201f40b54abf6d788fa5237d38e2795d0d19706303d99e7ea859b399fd5f122cb04effc643a33b264ac SHA512 b3189130ac047fe28ea987391591b7886f7234864d455a8423d1d65b02a514511e2a32dce1429a6b71cedbc0b7cb6e6e10f29d240b746d222c285f0baa6b46b0
diff --git a/dev-python/configshell-fb/configshell-fb-1.1.29.ebuild b/dev-python/configshell-fb/configshell-fb-1.1.29.ebuild
deleted file mode 100644
index f0dda5939ec2..000000000000
--- a/dev-python/configshell-fb/configshell-fb-1.1.29.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="A Python library for building configuration shells"
-HOMEPAGE="https://github.com/open-iscsi/configshell-fb"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
-
-RDEPEND="dev-python/pyparsing[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/urwid[${PYTHON_USEDEP}]"
diff --git a/dev-python/configshell-fb/configshell-fb-1.1.30.ebuild b/dev-python/configshell-fb/configshell-fb-1.1.30.ebuild
new file mode 100644
index 000000000000..0265aec51357
--- /dev/null
+++ b/dev-python/configshell-fb/configshell-fb-1.1.30.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 library for building configuration shells"
+HOMEPAGE="
+ https://github.com/open-iscsi/configshell-fb/
+ https://pypi.org/project/configshell-fb/
+"
+SRC_URI="
+ https://github.com/open-iscsi/configshell-fb/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+
+RDEPEND="
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/urwid[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ "${EPYTHON}" examples/myshell || die "Test failed with ${EPYTHON}"
+}
diff --git a/dev-python/configshell-fb/metadata.xml b/dev-python/configshell-fb/metadata.xml
index 43d40de7baa2..847c135cf482 100644
--- a/dev-python/configshell-fb/metadata.xml
+++ b/dev-python/configshell-fb/metadata.xml
@@ -1,23 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
-<stabilize-allarches/>
-<longdescription lang="en">
- configshell-fb is a Python library that provides a framework
- for building simple but nice CLI-based applications.
-</longdescription>
-<upstream>
- <maintainer status="active">
- <email>mlombard@redhat.com</email>
- <name>Maurizio Lombardi</name>
- </maintainer>
- <maintainer>
- <email>agrover@redhat.com</email>
- <name>Andy Grover</name>
- </maintainer>
- <remote-id type="github">open-iscsi/configshell-fb</remote-id>
- <remote-id type="pypi">configshell-fb</remote-id>
- <bugs-to>https://github.com/open-iscsi/configshell-fb/issues</bugs-to>
-</upstream>
+ <!-- maintainer-needed -->
+ <stabilize-allarches/>
+ <longdescription lang="en">
+ configshell-fb is a Python library that provides a framework
+ for building simple but nice CLI-based applications.
+ </longdescription>
+ <upstream>
+ <maintainer status="active">
+ <email>mlombard@redhat.com</email>
+ <name>Maurizio Lombardi</name>
+ </maintainer>
+ <maintainer>
+ <email>agrover@redhat.com</email>
+ <name>Andy Grover</name>
+ </maintainer>
+ <remote-id type="github">open-iscsi/configshell-fb</remote-id>
+ <remote-id type="pypi">configshell-fb</remote-id>
+ <bugs-to>https://github.com/open-iscsi/configshell-fb/issues</bugs-to>
+ </upstream>
</pkgmetadata>
diff --git a/dev-python/configupdater/Manifest b/dev-python/configupdater/Manifest
index bf6848ce9030..948d6985eab5 100644
--- a/dev-python/configupdater/Manifest
+++ b/dev-python/configupdater/Manifest
@@ -1 +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 c59bbc9ec5a6..000000000000
--- a/dev-python/configupdater/configupdater-3.1.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=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-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"
-
-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
new file mode 100644
index 000000000000..b6b1b481d310
--- /dev/null
+++ b/dev-python/configupdater/configupdater-3.2.ebuild
@@ -0,0 +1,36 @@
+# 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="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/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..cc82b86b0e2e
--- /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..12} )
+
+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/confuse/Manifest b/dev-python/confuse/Manifest
index d697b03cbb94..fbcade75648d 100644
--- a/dev-python/confuse/Manifest
+++ b/dev-python/confuse/Manifest
@@ -1 +1 @@
-DIST confuse-2.0.0.gh.tar.gz 48269 BLAKE2B 58b96ab65da7b48236b798ad5546a72f0f74934c42525b26b44c0aad08ba4de385dbc2dd6915a4b570b1c4e59003e23119f0da80cf84b1bbc88abb9f72d4d8b1 SHA512 53732ef24903bc464f4cda0c9a2728814ff286c2e2a2150b4703b61f925d5bf77d75b98469a4fb92267caeec736e51d33285264f3fd8daa4adaaf23fa9511733
+DIST confuse-2.0.1.tar.gz 50872 BLAKE2B fc28d6109abec7a233ade85de35ba10264261eb37367fbfa7b6719399cedffc87da3c0bb563b8d9524551cf11ff679896e0a8cc123e08f5291c40d04ffcfe314 SHA512 fe9e17d3b321079290fa2c7db64cd5664db11f1277fe608cf5a1419254b83eee9bc169e34631a429ab1bf47779ea709156b8310a97e65fae32a20802b379fa76
diff --git a/dev-python/confuse/confuse-2.0.0.ebuild b/dev-python/confuse/confuse-2.0.0.ebuild
deleted file mode 100644
index 077d2cff31c5..000000000000
--- a/dev-python/confuse/confuse-2.0.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
-
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-DISTUTILS_USE_PEP517=flit
-
-inherit distutils-r1
-
-DESCRIPTION="Confuse is a configuration library for Python that uses YAML"
-HOMEPAGE="
- https://github.com/beetbox/confuse/
- https://pypi.org/project/confuse/
-"
-SRC_URI="
- https://github.com/beetbox/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-RDEPEND="
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
-distutils_enable_sphinx docs \
- 'dev-python/sphinx_rtd_theme'
diff --git a/dev-python/confuse/confuse-2.0.1.ebuild b/dev-python/confuse/confuse-2.0.1.ebuild
new file mode 100644
index 000000000000..bffe7b543011
--- /dev/null
+++ b/dev-python/confuse/confuse-2.0.1.ebuild
@@ -0,0 +1,27 @@
+# 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=flit
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Confuse is a configuration library for Python that uses YAML"
+HOMEPAGE="
+ https://github.com/beetbox/confuse/
+ https://pypi.org/project/confuse/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND="
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+distutils_enable_sphinx docs \
+ 'dev-python/sphinx-rtd-theme'
diff --git a/dev-python/cons/Manifest b/dev-python/cons/Manifest
index 939df9dd30a8..7c99c719009c 100644
--- a/dev-python/cons/Manifest
+++ b/dev-python/cons/Manifest
@@ -1 +1 @@
-DIST cons-0.4.5.gh.tar.gz 40318 BLAKE2B c01f195c4f29ffe42e08fba6b57806b96263f7ebbc1cc859b8d146cd94e257829506502f2bc81f5665f4caf3bb8725ec556b70b951ede2b8117ba50fdb4388e5 SHA512 fea3af6b7198760f36194793a32a87f17729877f75baca6fd9627c32c4602e640cf667bb106624e9d756aece57053974e90e32329de484619a14b3500bea26e7
+DIST cons-0.4.6.gh.tar.gz 40414 BLAKE2B 5d234ed77d44f0b892c3cc8fc4816a4cc1ca5cca36501adca8cbc84a48dff320c3ea45555aaa2203d1ed5072e74404e62184f000db393c155b008943990b7df3 SHA512 195a2e23a6ee37aba1cc34c0f26a2b55f86948c4a2eb5dab50b9b917bdee97bbb53562830c75184c8483260ba9bc9352d1430f99937aa29156cbf3ce2fb0254b
diff --git a/dev-python/cons/cons-0.4.5.ebuild b/dev-python/cons/cons-0.4.5.ebuild
deleted file mode 100644
index 4298e88a8bbc..000000000000
--- a/dev-python/cons/cons-0.4.5.ebuild
+++ /dev/null
@@ -1,26 +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="Implementation of Lisp/Scheme-like cons in Python"
-HOMEPAGE="
- https://pypi.org/project/cons/
- https://github.com/pythological/python-cons/
-"
-SRC_URI="
- https://github.com/pythological/python-cons/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/python-${P}"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-RDEPEND="dev-python/logical-unification[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/cons/cons-0.4.6.ebuild b/dev-python/cons/cons-0.4.6.ebuild
new file mode 100644
index 000000000000..a4a1e8a6f194
--- /dev/null
+++ b/dev-python/cons/cons-0.4.6.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_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Implementation of Lisp/Scheme-like cons in Python"
+HOMEPAGE="
+ https://pypi.org/project/cons/
+ https://github.com/pythological/python-cons/
+"
+SRC_URI="
+ https://github.com/pythological/python-cons/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/python-${P}"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86"
+
+RDEPEND="
+ dev-python/logical-unification[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
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 97253e8bcc17..aa5b9a17052c 100644
--- a/dev-python/constantly/Manifest
+++ b/dev-python/constantly/Manifest
@@ -1 +1 @@
-DIST constantly-15.1.0.gh.tar.gz 40635 BLAKE2B d400336901f7df7b1535a0e46fe092a2542546964ea144014210e8be3807aabfe8e8370e94f426061a0c3a6257ee66a6ceb963b159717def7e047405368d910e SHA512 eeaa74552fe8e01c40566ac3c8b3d41085f800863ac516e30fe1242f40d3401e4e872279149776f29d3ba78a7a16337a794ad26230efab4dd1847d42bffa81ce
+DIST constantly-23.10.4.gh.tar.gz 31245 BLAKE2B ebf2c9ea343cc20f8b2f32f0a95e5d10ecbafed5e74b456d4f3ce7e5abb0d0c02ccc41a734d1b04dc79d0d5957474fd317758f062be9a0240d8450dde159d1d0 SHA512 465dfc2ae857a956d91d6ae3eadabcde02905c2761ef51dca4d28c7ca47aa11757c773cac2aa082936be4e85f2aa8fac31840d209cdf9d871e73db836cb2e9a5
diff --git a/dev-python/constantly/constantly-15.1.0-r2.ebuild b/dev-python/constantly/constantly-15.1.0-r2.ebuild
deleted file mode 100644
index f6bfe52b5aad..000000000000
--- a/dev-python/constantly/constantly-15.1.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Symbolic constants in Python"
-HOMEPAGE="https://github.com/twisted/constantly https://pypi.org/project/constantly/"
-SRC_URI="https://github.com/twisted/constantly/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 ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? ( dev-python/twisted[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_tests setup.py
diff --git a/dev-python/constantly/constantly-23.10.4.ebuild b/dev-python/constantly/constantly-23.10.4.ebuild
new file mode 100644
index 000000000000..810c092d6b47
--- /dev/null
+++ b/dev-python/constantly/constantly-23.10.4.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 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="Symbolic constants in Python"
+HOMEPAGE="
+ https://github.com/twisted/constantly/
+ https://pypi.org/project/constantly/
+"
+SRC_URI="
+ https://github.com/twisted/constantly/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 ~x64-macos"
+
+BDEPEND="
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ test? ( dev-python/twisted[${PYTHON_USEDEP}] )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/construct/Manifest b/dev-python/construct/Manifest
index 4b506f194ae9..41804c38ca03 100644
--- a/dev-python/construct/Manifest
+++ b/dev-python/construct/Manifest
@@ -1 +1 @@
-DIST construct-2.10.68.tar.gz 1190512 BLAKE2B b41e5b3b62cd1568c78ac4975b0d66e7a7ad4489e97031d3e866ff8eb98eea4eb387041dce15210304c608e0c419548cddea3557c2f53d52ecbcf6eb5be67749 SHA512 2388751323b16b69a06457c4862e7d1334580c201050734f150ab4437e2066ed18ff5323f7d81b8bb93124ae0f57a2ae91d7c64ffefc6e0369d6e625b7fef4eb
+DIST construct-2.10.70.gh.tar.gz 1196623 BLAKE2B 98206e9fbf65c208172cfc4ac983c636fe022a51891a9d8f784c87656d2143f97fd7ec108cc24ca857a589479fe5ca17beb8db245c300d5bb90fdfd2859e5801 SHA512 1c4fe99d36266bf68f4876fdaea5b7cbbb2ea202b73cf4b54f92b443cd753200aec52a15ff97001c9e040b3c16ecc8dd444bbac26f7860100087e430beab1f81
diff --git a/dev-python/construct/construct-2.10.68.ebuild b/dev-python/construct/construct-2.10.68.ebuild
deleted file mode 100644
index 6b813997bc99..000000000000
--- a/dev-python/construct/construct-2.10.68.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="A powerful declarative parser for binary data"
-HOMEPAGE="https://construct.readthedocs.io/en/latest/ https://pypi.org/project/construct/"
-SRC_URI="https://github.com/construct/construct/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-BDEPEND="
- test? (
- dev-python/arrow[${PYTHON_USEDEP}]
- dev-python/cloudpickle[${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
new file mode 100644
index 000000000000..c21fb48b82dc
--- /dev/null
+++ b/dev-python/construct/construct-2.10.70.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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
+)
diff --git a/dev-python/contourpy/Manifest b/dev-python/contourpy/Manifest
index 001b8dee6fd6..25fde2b430b3 100644
--- a/dev-python/contourpy/Manifest
+++ b/dev-python/contourpy/Manifest
@@ -1,2 +1,2 @@
-DIST contourpy-1.0.6.gh.tar.gz 12154065 BLAKE2B d0a621e10bc465a0ed4a20136e813435bb4d79bdd39b64d60676bb794430f2ce15b247e13e163e8e2f89c69ea6a5880dc8f3c8a49750c15e7bcb554aeefcbac1 SHA512 3b6301b414758d588015b745be723642554459df14277aa2eb2def7b5194e0a2b73b73ce8409bc40cda34095e13984d7a2dbc1f3a1dcf272766df92d1de1b5ef
-DIST contourpy-1.0.7.gh.tar.gz 13357940 BLAKE2B 740214d68eb95c2d80dfb4008fbf82ae1bbd7135476a7f1a45863e2fd88331c959e80dd56afde67789e95325fe4613a6404c24d4deafebacfabbdebc0b199dfe SHA512 64edcfc911b3d7af9b422058d1f595c05d64f7fca8511ea199d30fa52854aee53a7c7dd95e2f47964f57e7764ce6b7b05c8ccee5ed0309eb5daa822d488ce0ff
+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.0.6.ebuild b/dev-python/contourpy/contourpy-1.0.6.ebuild
deleted file mode 100644
index f05ea26574ed..000000000000
--- a/dev-python/contourpy/contourpy-1.0.6.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_{9..11} )
-
-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"
-
-RDEPEND="
- >=dev-python/numpy-1.16[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.6[${PYTHON_USEDEP}]
- test? (
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- # linters
- tests/test_codebase.py
- )
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # threaded algorithms are known to be broken
- # https://github.com/contourpy/contourpy/issues/163
- epytest -k "not threaded and not threads"
-}
diff --git a/dev-python/contourpy/contourpy-1.0.7.ebuild b/dev-python/contourpy/contourpy-1.0.7.ebuild
deleted file mode 100644
index 971782c00ffe..000000000000
--- a/dev-python/contourpy/contourpy-1.0.7.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_{9..11} )
-
-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"
-
-RDEPEND="
- >=dev-python/numpy-1.16[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.6[${PYTHON_USEDEP}]
- test? (
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- # linters
- tests/test_codebase.py
- )
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # threaded algorithms are known to be broken
- # https://github.com/contourpy/contourpy/issues/163
- epytest -k "not threaded and not threads"
-}
diff --git a/dev-python/contourpy/contourpy-1.2.0.ebuild b/dev-python/contourpy/contourpy-1.2.0.ebuild
new file mode 100644
index 000000000000..ef0133a68c28
--- /dev/null
+++ b/dev-python/contourpy/contourpy-1.2.0.ebuild
@@ -0,0 +1,57 @@
+# 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..ad2ce4bb078e
--- /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..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.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
new file mode 100644
index 000000000000..c25a1807dcd4
--- /dev/null
+++ b/dev-python/contourpy/files/contourpy-1.2.0-unicore.patch
@@ -0,0 +1,83 @@
+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
new file mode 100644
index 000000000000..21c10c107e81
--- /dev/null
+++ b/dev-python/conway-polynomials/Manifest
@@ -0,0 +1 @@
+DIST conway-polynomials-0.9.tar.gz 245106 BLAKE2B 3b44b337151428a18f8fc01bfa92ffe4019d2427242efed3a9edec93e2054f706ad3735505a5d90382a1c4c8e9846080de1d34538f053ba2ccda88e91fcc5fc6 SHA512 15f0dcd69f2ffb78f4f4a7d8e11ac0e37fb23bea124778b24a4bff228a00f2f09e830e49225f0b574869f88e9c90e9114921e240eb462c10071c124d04fe90a2
diff --git a/dev-python/conway-polynomials/conway-polynomials-0.9.ebuild b/dev-python/conway-polynomials/conway-polynomials-0.9.ebuild
new file mode 100644
index 000000000000..918c6ae7d317
--- /dev/null
+++ b/dev-python/conway-polynomials/conway-polynomials-0.9.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_{10..12} )
+
+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/metadata.xml b/dev-python/conway-polynomials/metadata.xml
new file mode 100644
index 000000000000..5a991710505e
--- /dev/null
+++ b/dev-python/conway-polynomials/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ </maintainer>
+
+ <maintainer type="person" proxied="yes">
+ <email>frp.bissey@gmail.com</email>
+ <name>François Bissey</name>
+ </maintainer>
+
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+
+ <maintainer type="project">
+ <email>sci-mathematics@gentoo.org</email>
+ <name>Gentoo Mathematics Project</name>
+ </maintainer>
+
+ <upstream>
+ <remote-id type="pypi">conway-polynomials</remote-id>
+ <remote-id type="github">sagemath/conway-polynomials</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cookies/cookies-2.2.1-r2.ebuild b/dev-python/cookies/cookies-2.2.1-r2.ebuild
index 9f532ce000d9..183cbb721c21 100644
--- a/dev-python/cookies/cookies-2.2.1-r2.ebuild
+++ b/dev-python/cookies/cookies-2.2.1-r2.ebuild
@@ -4,12 +4,11 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+inherit distutils-r1 pypi
DESCRIPTION="Friendlier RFC 6265-compliant cookie parser/renderer"
HOMEPAGE="https://gitlab.com/sashahart/cookies"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/cookies/metadata.xml b/dev-python/cookies/metadata.xml
index 7ff355639eca..6812d9471d82 100644
--- a/dev-python/cookies/metadata.xml
+++ b/dev-python/cookies/metadata.xml
@@ -8,5 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">cookies</remote-id>
+ <remote-id type="gitlab">sashahart/cookies</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/coreapi/Manifest b/dev-python/coreapi/Manifest
deleted file mode 100644
index e04cc791180c..000000000000
--- a/dev-python/coreapi/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST core-api-python-client-2.3.3.tar.gz 37470 BLAKE2B ce3f88e1608715eec06a50fa5df4cd331e90509d0b7e9ab275ccfb4b3b5216115539b7fcd70af64794f0ae50a5084873d2dbbd38c85cb8be3f319d6880f5993e SHA512 aeae3ace84c0ce61552236b83db28e47492f5ac17a0e216e1a8eeddaf67270b94127f7a40f8a37cc5051abe097555adfd690a7e6c8801524ca77c916bd451ab8
diff --git a/dev-python/coreapi/coreapi-2.3.3-r2.ebuild b/dev-python/coreapi/coreapi-2.3.3-r2.ebuild
deleted file mode 100644
index 92e60e4e0d3e..000000000000
--- a/dev-python/coreapi/coreapi-2.3.3-r2.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=python-client-${PV}
-DESCRIPTION="Python client library for Core API"
-HOMEPAGE="https://github.com/core-api/python-client"
-SRC_URI="
- https://github.com/core-api/python-client/archive/${PV}.tar.gz
- -> core-api-${MY_P}.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/coreschema[${PYTHON_USEDEP}]
- dev-python/itypes[${PYTHON_USEDEP}]
- dev-python/uritemplate[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/coreapi/metadata.xml b/dev-python/coreapi/metadata.xml
deleted file mode 100644
index b7a3f678e1c9..000000000000
--- a/dev-python/coreapi/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">coreapi</remote-id>
- <remote-id type="github">core-api/python-client</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/coreschema/Manifest b/dev-python/coreschema/Manifest
deleted file mode 100644
index dde371908d51..000000000000
--- a/dev-python/coreschema/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-coreschema-0.0.4.tar.gz 21905 BLAKE2B 1afe09038761809fa0e12d13fb89884760d4aff325a4bbdac104c03648856f8d50b562fc00a8509fcc75f962918f33d89017fae0a6d0335def4d6b77ee9aacd9 SHA512 28badbae07284fb4dbd3f01f613edda1202902115fb166bd95bbac549d398c9e02548b473524d3b530a42319a99d7e55e92bf54269827a9812249cfb285670c3
diff --git a/dev-python/coreschema/coreschema-0.0.4-r1.ebuild b/dev-python/coreschema/coreschema-0.0.4-r1.ebuild
deleted file mode 100644
index eacba3357678..000000000000
--- a/dev-python/coreschema/coreschema-0.0.4-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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P=python-${P}
-DESCRIPTION="Core Schema"
-HOMEPAGE="https://github.com/core-api/python-coreschema"
-SRC_URI="
- https://github.com/core-api/python-coreschema/archive/${PV}.tar.gz
- -> ${MY_P}.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/jinja[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/coreschema/metadata.xml b/dev-python/coreschema/metadata.xml
deleted file mode 100644
index c0fed93d27e7..000000000000
--- a/dev-python/coreschema/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">coreschema</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/cov-core/Manifest b/dev-python/cov-core/Manifest
deleted file mode 100644
index f85649084cb3..000000000000
--- a/dev-python/cov-core/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST cov-core-1.15.0.tar.gz 5890 BLAKE2B bddab94ae47ba19ecdee5aae0198d9086a423673362ac64f0885f773bd8b8ab3f4d6abf1203ee901e272161dfb4b64168f2aa5f2d0f4426ea279d6d7251e921e SHA512 1b962a6a7253c1f6530248f3a71058e7709ee5cca274166807f040163c9cc240e9e85e42820063476c1c0f6dfca81d45277738663ed818fe715b30db151ace16
diff --git a/dev-python/cov-core/cov-core-1.15.0-r3.ebuild b/dev-python/cov-core/cov-core-1.15.0-r3.ebuild
deleted file mode 100644
index f845057763d9..000000000000
--- a/dev-python/cov-core/cov-core-1.15.0-r3.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} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="plugin core for use by pytest-cov, nose-cov and nose2-cov"
-HOMEPAGE="https://github.com/schlamar/cov-core"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND=">=dev-python/coverage-3.6[${PYTHON_USEDEP}]"
-
-python_install() {
- [[ ${EPYTHON} == pypy* ]] && addpredict "$(python_get_sitedir)/init_cov_core.pth"
- distutils-r1_python_install
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- find "${D}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/cov-core/metadata.xml b/dev-python/cov-core/metadata.xml
deleted file mode 100644
index 83f44b373d30..000000000000
--- a/dev-python/cov-core/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>chutzpah@gentoo.org</email>
- <name>Patrick McLean</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">cov-core</remote-id>
- <remote-id type="github">schlamar/cov-core</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/coverage/Manifest b/dev-python/coverage/Manifest
index 8f2b198a3039..606347d6e845 100644
--- a/dev-python/coverage/Manifest
+++ b/dev-python/coverage/Manifest
@@ -1,2 +1 @@
-DIST coverage-7.0.5.tar.gz 796171 BLAKE2B 87ecffd87c2465607bf1fd330296e84e174953d7696ee0ef3046f6555f54634cfc643ada2a03971685021a5cf59191d75a0bddbc83f736e11a2516c684b0f0d9 SHA512 d199d710cdfac5c6cde79224b4a27d6b88a0e0c504eff7ad5700e9fb1f5cc8e1e9359dcc12f6c447a7ee6cd680feeb89f70ad68574a739c55a6d09b22017df06
-DIST coverage-7.1.0.tar.gz 809785 BLAKE2B 3720aee79ecfdd6aa652b5198bad4d6b5827a85f1d58986eec51bab1e72800dac28eb0ebbeb15d547ef03694ca1397bec47c37a9233dc34b2d3d2a6a22a48274 SHA512 80920b337391e47f1e631ba8a892792b6d2c72e753ddf403222c6ad527637699889f29cfee40721949e5eeb6e7977f319635c44d79f58e7e19676d1165dfdde2
+DIST coverage-7.4.4.tar.gz 783727 BLAKE2B e7d7af92ddcb3d7b5857cc83d8e14bb16ea2bde720eba63b082d35358934047ef7285ac70a6cd8fcb4720a9ddea5c22cf4cb14404ac2800794c49650ff5a1dd4 SHA512 26d4715ce69556ca12d1b65db5f21807c08733810b4398750280184812ebfb698e7b424b9e30f55e7524323861a22d4581db0524e9e285ca858132359fd24d28
diff --git a/dev-python/coverage/coverage-7.0.5.ebuild b/dev-python/coverage/coverage-7.0.5.ebuild
deleted file mode 100644
index f45105fbf16b..000000000000
--- a/dev-python/coverage/coverage-7.0.5.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_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+),sqlite(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Code coverage measurement for Python"
-HOMEPAGE="
- https://coverage.readthedocs.io/en/latest/
- https://github.com/nedbat/coveragepy/
- https://pypi.org/project/coverage/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.{8..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::' setup.cfg || 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_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.1.0.ebuild b/dev-python/coverage/coverage-7.1.0.ebuild
deleted file mode 100644
index 07c1d5505c42..000000000000
--- a/dev-python/coverage/coverage-7.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+),sqlite(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Code coverage measurement for Python"
-HOMEPAGE="
- https://coverage.readthedocs.io/en/latest/
- https://github.com/nedbat/coveragepy/
- https://pypi.org/project/coverage/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.{8..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::' setup.cfg || 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_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.4.4.ebuild b/dev-python/coverage/coverage-7.4.4.ebuild
new file mode 100644
index 000000000000..7e8f13a6c388
--- /dev/null
+++ b/dev-python/coverage/coverage-7.4.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..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_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 4adffed54306..7d88ad5c165b 100644
--- a/dev-python/cppy/cppy-1.2.1-r1.ebuild
+++ b/dev-python/cppy/cppy-1.2.1-r1.ebuild
@@ -4,17 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="C++ header library which makes it easier to write Python extension modules"
-HOMEPAGE="https://pypi.org/project/cppy/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/nucleic/cppy/
+ https://pypi.org/project/cppy/
+"
LICENSE="BSD"
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 ~arm64-macos ~x64-macos"
# bug #836765 for setuptools >= dep
BDEPEND=">=dev-python/setuptools-61.2[${PYTHON_USEDEP}]"
diff --git a/dev-python/cppy/metadata.xml b/dev-python/cppy/metadata.xml
index fa1d2568c335..a4ad36fb55fb 100644
--- a/dev-python/cppy/metadata.xml
+++ b/dev-python/cppy/metadata.xml
@@ -9,6 +9,7 @@
A small C++ header library which makes it easier to write Python extension modules. The primary feature is a PyObject smart pointer which automatically handles reference counting and provides convenience methods for performing common object operations.
</longdescription>
<upstream>
+ <remote-id type="github">nucleic/cppy</remote-id>
<remote-id type="pypi">cppy</remote-id>
</upstream>
</pkgmetadata>
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..f5ee8c61b442
--- /dev/null
+++ b/dev-python/cramjam/cramjam-2.8.3.ebuild
@@ -0,0 +1,206 @@
+# 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..12} )
+
+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 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
+}
+
+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 8bb76b8b94ce..8cee0b49029a 100644
--- a/dev-python/crashtest/crashtest-0.4.1.ebuild
+++ b/dev-python/crashtest/crashtest-0.4.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -20,6 +20,6 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
distutils_enable_tests pytest
diff --git a/dev-python/crc32c/Manifest b/dev-python/crc32c/Manifest
new file mode 100644
index 000000000000..1bbb68b67268
--- /dev/null
+++ b/dev-python/crc32c/Manifest
@@ -0,0 +1 @@
+DIST crc32c-2.4.tar.gz 38272 BLAKE2B 1273f62794bd646e983737d922c4e1320a4519856b1cedf2d1d1f9b1e47fc767e248b6e00ada48e8f245e47fc18619327e9a8cfa5d88a0569c467ca6147a1974 SHA512 d747dee42184ff025dd6fd7334b65e5caba4066a055943a783b951d09e09339694072ea552aa95579f03a85a7bdb2eb4a8d12dc9a17f0f83d84c0fde534b36cb
diff --git a/dev-python/crc32c/crc32c-2.4.ebuild b/dev-python/crc32c/crc32c-2.4.ebuild
new file mode 100644
index 000000000000..ebd1dabaa90d
--- /dev/null
+++ b/dev-python/crc32c/crc32c-2.4.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..12} )
+
+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 ~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/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 b2168118a1b5..902177adf57e 100644
--- a/dev-python/crcmod/crcmod-1.7-r5.ebuild
+++ b/dev-python/crcmod/crcmod-1.7-r5.ebuild
@@ -3,8 +3,9 @@
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/crispy-bootstrap3/Manifest b/dev-python/crispy-bootstrap3/Manifest
new file mode 100644
index 000000000000..5d5b4b260332
--- /dev/null
+++ b/dev-python/crispy-bootstrap3/Manifest
@@ -0,0 +1 @@
+DIST crispy-bootstrap3-2024.1.gh.tar.gz 26766 BLAKE2B 40a90ab97755e72a5e46dfcb7a2763bf21acbb5bb53117c92fa419bcc52d2faf46e189d0b00003c09d1c0d835979a137299f3b7b3a503548efc38e4507415791 SHA512 d647da99f0939e3221130a10ca44eb122be2d7796c0f2d29b4c9c4c8948f8cad788a7218bb59b2ccf032298cc7be177a222e14a924c3f543a77eba73699f0c0e
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..b9ad81d871d8
--- /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..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/metadata.xml b/dev-python/crispy-bootstrap3/metadata.xml
new file mode 100644
index 000000000000..987136b6c888
--- /dev/null
+++ b/dev-python/crispy-bootstrap3/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>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">crispy-bootstrap3</remote-id>
+ <remote-id type="github">django-crispy-forms/crispy-bootstrap3</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/crispy-bootstrap4/Manifest b/dev-python/crispy-bootstrap4/Manifest
new file mode 100644
index 000000000000..834baab14ce7
--- /dev/null
+++ b/dev-python/crispy-bootstrap4/Manifest
@@ -0,0 +1,2 @@
+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-2023.1.ebuild b/dev-python/crispy-bootstrap4/crispy-bootstrap4-2023.1.ebuild
new file mode 100644
index 000000000000..91cf18b22f0e
--- /dev/null
+++ b/dev-python/crispy-bootstrap4/crispy-bootstrap4-2023.1.ebuild
@@ -0,0 +1,35 @@
+# 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..4f779d097fda
--- /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..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/metadata.xml b/dev-python/crispy-bootstrap4/metadata.xml
new file mode 100644
index 000000000000..d64ea15e9cf2
--- /dev/null
+++ b/dev-python/crispy-bootstrap4/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>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">crispy-bootstrap4</remote-id>
+ <remote-id type="github">django-crispy-forms/crispy-bootstrap4</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/crispy-bootstrap5/Manifest b/dev-python/crispy-bootstrap5/Manifest
new file mode 100644
index 000000000000..9768d1f0ba90
--- /dev/null
+++ b/dev-python/crispy-bootstrap5/Manifest
@@ -0,0 +1 @@
+DIST crispy-bootstrap5-2024.2.gh.tar.gz 33509 BLAKE2B 4a1eec0cea4ee2b0fcbdd8aec6b4595a7b981b0502113d5154585702cc20d9c80cf28fd06db8085dd561c154e13fa493ee88bc3a9c0e619684ab56fce1376d70 SHA512 08c0e35caff14c53976283a383da5a8115a64b42a5a0797089c2528f3e2c0e03eb0826f48c1991bdbbd183afc486c0a238c73e782a76eac1d003e5760ddd852e
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..ccc2aa04abb8
--- /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..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/metadata.xml b/dev-python/crispy-bootstrap5/metadata.xml
new file mode 100644
index 000000000000..4883d99a164b
--- /dev/null
+++ b/dev-python/crispy-bootstrap5/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>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">crispy-bootstrap5</remote-id>
+ <remote-id type="github">django-crispy-forms/crispy-bootstrap5</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/croniter/Manifest b/dev-python/croniter/Manifest
index 923fbd06296f..c0d46608e67d 100644
--- a/dev-python/croniter/Manifest
+++ b/dev-python/croniter/Manifest
@@ -1 +1 @@
-DIST croniter-1.3.8.tar.gz 38982 BLAKE2B 2b28c7e4e991e9525f073a00ba3b346144ed6d353e95509c1fac47ddf56c645edaaa3927f8ca6615a94d37cd6926c26cd1514a25520a48b39c3028ef79ac0337 SHA512 c0216aedd594f07a9e2fef0f8f4406ad2037f1d4543f9414598e0f2ef81a61615554b1f779ce4e75d36cd5e80def3a29ee57e88c15d5d70da06ac2b861ead5cf
+DIST croniter-2.0.3.tar.gz 43274 BLAKE2B 30efe8767d6705518a1f7f605f63ad0e114eb6fc0e5f8677aaed5627ff7c3f3923fb0858fe27c167146b494950a8dfe9b8c8b14a89cc47a715ea4528fffaac98 SHA512 28c6596dad10ffb0c8a682d959505713c3ac3188034c5f7d1771772805b57363a66a213f36b90b1208d897b35da5c8805c6f7e4744ff511e0c5b6da686bd7dbe
diff --git a/dev-python/croniter/croniter-1.3.8.ebuild b/dev-python/croniter/croniter-1.3.8.ebuild
deleted file mode 100644
index f76de12b2554..000000000000
--- a/dev-python/croniter/croniter-1.3.8.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
-
-DESCRIPTION="Python module to provide iteration for datetime object"
-HOMEPAGE="
- https://github.com/kiorky/croniter/
- https://pypi.org/project/croniter/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/python-dateutil[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/tzlocal[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/croniter/croniter-2.0.3.ebuild b/dev-python/croniter/croniter-2.0.3.ebuild
new file mode 100644
index 000000000000..42ebaaf9cb4b
--- /dev/null
+++ b/dev-python/croniter/croniter-2.0.3.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 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 800024cc8fca..8207fd6a659c 100644
--- a/dev-python/cryptography/Manifest
+++ b/dev-python/cryptography/Manifest
@@ -1,93 +1,113 @@
DIST Inflector-0.11.4.crate 17438 BLAKE2B eaf0c7f983b3186e9bc89353021a10592f2877e46585bd50b96db9b087343d1199c7b6cf3fa53cd274fb6d33de025a904b8aa31a7ac9599ae3689ecdbcec34cd SHA512 f1f6463e033b6d3c16c51dc1e1a3f5569954308b95b59058294b7f9310919bbda797e99e6a07529071bb83f0688867a243997d33795a7136b0af73977004296e
DIST aliasable-0.1.3.crate 6169 BLAKE2B c23840c7f1df86109e004aa1929d7355bd815c69ce8c5a316c9e2810851b7faf91c7480924d67cf83520e94b86dc0cc1b90b0dcc84b446a15ba5cccc1bae95ca SHA512 a60e4280335638b36a72e51514843229fdd0cc89cb670fcf159f882a687c04ecbddcc52a1dcc3cbe8647e5308af3939037934a157facdddcc4834dcd3cb16dc8
-DIST android_system_properties-0.1.5.crate 5243 BLAKE2B 86f68ec3bdabf8c6ec47881d794970f08a9eefc7417fc8a2bf4fe9faf9bdd2a2024a94adb0cbf96673409f5fbbd4d0111a1ac371339e7a90a277b6cd5003524e SHA512 b09f51339f9772c0e2e4241b36cf51573c6b96b19ffc1fbbc94b1c1d1d2fdfe8eac3134af54174a675ab05d18ef4f6bcb2c7fcc20114bbeef6e17e3692202191
-DIST asn1-0.12.2.crate 33145 BLAKE2B 713282beccfef91b7213907a7cc505c618004616ce47c0cd92925526dffb2fba3553eb920a7428e65aabd433ae20ee3e2d16066f2e7e73eb063e9bfa769ef65f SHA512 5483bf701de379ce0d755d53880f49786794d3eb69a9f93abf557d49d76d75b6196f4b6b4d3c26e1ba49f63ac78e4d82927914452f26d33858f1d177bfcbba57
-DIST asn1-0.13.0.crate 34487 BLAKE2B d35a9b51efc1f1e4166180850d9564eaf6685a1df9d700cdbad03696a49b5629efa0c0d89b1966d4617be8751c797223f8595da4bc4e2788a3828c57e965ab27 SHA512 1c060d380176fcc0a6d95a41f099b70382798a5bd4f6ccf1cc07d725a56eb3e741df084d15d86903ef6a6099c19a54e08bcb35f736d5de239a637c5670e4eda3
-DIST asn1_derive-0.12.2.crate 4914 BLAKE2B 42df556593a730cda26d6b7e46b91e80366de9689b13cd137e1c5d9537b24baa8020b4b6d2d55540a98953e50924d9b60eaacfa8eabc1d1c36f5ca3dcfc2abf5 SHA512 70c56d2088b3b3f956b74c6e71bea3e0d1d7ae36b4144b3d1c065a2bae872113961776ed149ee8ca5eaf2a9ecc291e73988b4737bb0385c2bf7bb3e42972a268
-DIST asn1_derive-0.13.0.crate 5824 BLAKE2B f5157c9dd9bf19eb7c0f67cafe676c4b8be9fdd8a4e0f50c81458b5b59c8fca2b48eaad421b4298bbc313ede74e5e32f4e61b5a2a06022a03fa3ea628eb1f009 SHA512 232ac5cbecd03170482a5b27c4a1accac18c4487cfc280e8977a8cbaaf18536cc278dc36e4af245ce3b1ac79b514b1b4fb5cf53d43a31a46570e67d6ba998983
+DIST asn1-0.15.2.crate 34002 BLAKE2B 9b6bb21474474747b15c6df8895a68560e511a29795768a58d22142efaa70cdfee808c5edfd4b32ac2ea196f6e0f1e89595a8faf501a32d7c4743feea8f10375 SHA512 3584849573a6d29400565edea5254b5efc16d4b521d3f6d80602ffb6880a6be1fe2ced4eecf8422107d7d9c3c12c2d6cfa4ec4dcae20cb80f9b6b83ba8760f29
+DIST asn1-0.15.5.crate 34375 BLAKE2B c794bc89b21ed3543082873d065a22f72a1d3f422217bce2980b44ffab1584ecf7ee23808346794c1dd9eb1f413332b8a5fee5f2ba8d626f6200e6a0492b39ea SHA512 28ab871b4e011a91da38db4900b1fd907ef894b0eabc98d354f9288ae1564a3122b19748dcd49879a3e294d9e7dfe3b4b2b49ed0b0eeb723aac4567b2c0481bf
+DIST asn1_derive-0.15.2.crate 6096 BLAKE2B 99a0f922363634472b774b7139366ba658d14b6868dd64cbe5f796e461c660e9746f9e883c50d0f4fc3914c975496e775c1698069b47ee986cdd87aec7daf6aa SHA512 3ea2585f9cacd5bf903e225614fc13f76fecd7e4bb00191e634a2ec838ab726c55056c95a00cb5d268b430d100570a3095c808b089af4ab8871a6055468cc20d
+DIST asn1_derive-0.15.5.crate 6095 BLAKE2B 0b8b14796253b7ef29e0baada2ffaf363e69686bd8fa5760ed7cbba5299fb2c4cc1944e66cf559b0e136b0e8c436d63f823f143bf8d200c36ce36e3e9e6fe87a SHA512 6649cda49844db520b49a31cad671743842f22188cd1104eee29d1e59db2474c821bad8b00bcfb5491ff7117aff6e6c11e05186c17b02e63088c1d09f623b5dc
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.13.1.crate 61002 BLAKE2B 3b3a5b26e2ef18e9b4f1ede72b1bd160a1494751878e8441d463f8a514e6cb9ac859231536989e19fb1261fd864617fe31440df1b5855a0ec625521fc6fcef91 SHA512 1eb76aff9a84057f2ccb7082e9c57b015c2d71a28173089b02e7aacd09a7d311bedf0a943529611ada29f8d7b536d7ae4de256d98eee8450003a3a9a652bda4b
+DIST base64-0.21.7.crate 82576 BLAKE2B 25cc8761c14220981ff4ed332058f6179948080cbfa2b225ec1d1602e4af14cd470c969e8b7049117e6fc51a5a24e06b1d27bab844486ecb76409d12e0581d5d SHA512 c6986d88dd9aa081d914f35b4174be4ba874848657ac4b5e63b9b45af765d973289c548ccb5a01584edfc0d8d79ff5be25b51365295d6e7a311bd7f0ae3c0cb9
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
-DIST bumpalo-3.10.0.crate 78915 BLAKE2B 94515190837765b47feaf94946c7e4da5b84e6faf7975bd5452bd9388d34e51c84315b80bc15b37c7f4ea8b4aaa0112707cdfc82d0651eeb8b63d2e7bd247660 SHA512 60c686534588524250ea7cb43510dba69d24999769b719127ee07f6015530ac2c5778d9b93477ab075bfc15c13e3ef9adc29ac24059067ac32e109347cd509f8
-DIST cc-1.0.78.crate 61375 BLAKE2B fd4765cf5ae0dc7018bc6b56298cd0fa9bf6fe23545e845670d98ce73baee55354e77c6d87cf047f10b074f3d742deca8b5631a250c69b347b4a1fc653965d43 SHA512 b85bec4c75cb1d1e252419052e9dd22b6892e54ea36195ff483a04f785b5b103e82b30b778459fd45324ffeb2463aa4f5696baeff2779c25ffe9f65eb99ae893
+DIST bitflags-2.4.1.crate 37043 BLAKE2B f61c45b142265e9c2944c7054e01704de47510735e9ee5351cd02b98676cc4eb42d68b1fc4849ad5f54654617a74f20cb533b4207c2fe76516b724ba9318b414 SHA512 d3fd7abc95acc1cb5bf16d6acc12dbb8eadd250f069268df13c2e8dc3d5f5c15a929cd17ca931c77393b64dce0516ef8674c469789ed32d78e315b5faada062b
+DIST bitflags-2.4.2.crate 42602 BLAKE2B 768d4ca52aca73d8acf2f494a66957ed2603eefd5a04332ed0880d230c2cc6ef3bfdc0792fa6f288a0eb132913dbb256793e580bc34f4a40e8200e1fbafe97a9 SHA512 ef4c20e6e78a2ecee97e17189b7100a504d8176c7c15d7f17d62157a116d66f83f8b2bba472a4acf02cd3edbd94b20a7047af918c3f3b371e2e04f7474be0214
+DIST cc-1.0.79.crate 62624 BLAKE2B b3cbed3bd6fcac1c6ea258ec96cd107f859947a35dc89c3dc8f314741b0f668e61518f896ec32ce10c9a7eb20dd350bc177a71810d53ebea59fda062ed9d27db SHA512 cbf0a25f3a23fc540e9d638fabc23f761f1c240ebb4814e761e90437d71fc559cd155768ab9e78fc192220d8a605c66c3af342ed736b719181656170b98d7bf5
+DIST cc-1.0.83.crate 68343 BLAKE2B 33245b33fa845ea2f36da36e3830ec835f937e4319865b357ee9d5ea29a0f9f8392eadb38bf1d95e3c15ed201e561acaa87aedcef744f8db3dabff87a96c7f02 SHA512 742a248c3a7547bb220a0b9c97b67a831fab9b4ac21daa08c85a3966b9fe576088def33e16132fcabec9a2828a6fc437088bb045bfc98b2cea829df6742565a7
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST chrono-0.4.22.crate 185570 BLAKE2B 10dfae2fe871a9910bf885b78aaf3e9ed1bcb87a40962d781c8ea407a945b837c665c2bb4e3d0562ac63d9e7bd5012804434642ee6f5c80e22bc816d4331f1b0 SHA512 de856679ec16afe035176b22125a00ced532d49c8babac0a88fa5f6e4a3d9e526a34ee8bf51639653fc313a5703a202b1be013aa16fdd72a505151d7aafa7c44
-DIST chrono-0.4.23.crate 187259 BLAKE2B b4a7cfb8d1921d396c9e2bf350e6c61d04480a78c170d153e525ff581e8298936583744b6c59769774fdb8ad433269d01ad792f967da96e6c19d33460de937f9 SHA512 697a78ee83eaf38d83011bdf2086b3149b830d3d270e8414828b98ed2426063df43ac6eb4324f2dd694662afb86e6e4f005dee6116dfdd97adaebedefffd43fa
-DIST codespan-reporting-0.11.1.crate 48963 BLAKE2B 39deb717a853ffbe3585e20a67fd7a75b62e2d796a66b5004876501fd7476acde9f126804f2ef6220ebab66821a3ccf058d544d689a2705eae44285f34b510cb SHA512 0869789f5c50d3523d3ee16a8fe64756498a13704efbe82bb0845eaa87c7b6b1d075b3b6b80567cd9fce6cb09c5179e9c07e485fd17ce56c8139ade0f8bc6844
-DIST core-foundation-sys-0.8.3.crate 17519 BLAKE2B 4ac3d9ab16753dd995abe82f158d460d0d22184ab55d260e73b20305cffe4e03427dabfe0c8be968b6c3ecd348be2e17154ded7c9bbd5a95334ff266fe83bbf7 SHA512 a3ba3184cef65dafe8318c4db7e59eb2749dcde7b2370ad20272b0735ded0032daf2de3fd0cf55eb48448a335f5b81e8e745f2a647f9a43bb85946ce714bfd82
-DIST cryptography-38.0.4.tar.gz 599786 BLAKE2B cd6ef7e671dfdf36a5b9ee253307bf069e4c87d5a3a0110cff70f50c17cbe99997d7c9e78678b26a59e7f781076c53934be1d37c52605953c06913cbe2faa3cc SHA512 2dcf3cb8208a5905b930482ce87ac56b77fda0eb02387492f0d6be9df67dc5967c93ec9a2127f83dbea1a9a3d39f1adc98497b020ad654d4afdeb67d2323afa9
-DIST cryptography-39.0.0.tar.gz 603406 BLAKE2B bd36fb786a12cee965ac42c2eaec214f7f261d6a8652a4859819577c8c079673730608e3f61c059ab65489e50bbcfb3ba7bbcd2a8f9e4169e844f3c497411b9a SHA512 bac0268ca0b6a12adc2d2a1f4ec047aad0643afa021d43574f189187a6a6802bc79e9329afd77a950b158040c85137da4cdee1973f4bb89815ad2203fa969393
-DIST cryptography_vectors-38.0.4.tar.gz 35273825 BLAKE2B 8bd39caeaa6c1d90320def07e4855995d15cfcf7a422b7491765efc5e88ddbfcfea5c27ed52a48c1ae10f041d8129ef40720fb7b45b26e576230596fcc23f4e1 SHA512 04972f13ff0217e1d8827381fafeb5071f3009d34378e60805ef1f05fefd850a0904a60caef4fc95ce396de01925a3e42443db174508627ed010ef839e97c644
-DIST cryptography_vectors-39.0.0.tar.gz 35275931 BLAKE2B b0783fd41cf6920dda2715c8f02d49eff6b093f73efc08a6b8f31c0b4cbd64bf262a9407f956df918093d84897a9d221c25ff0c8a568768dc902f052982f86e0 SHA512 3030e9ef1a1b33c8229b9123b71193baec11020da9110cc9adb6e8f069ede5bff5d228bb258be1537399c641f242674d1fabd0c99694936cd36342a61efd0581
-DIST cxx-1.0.85.crate 589916 BLAKE2B 3be165b6d8c5ccaa7e5ec3d456c1bc2aeb95e2dc7890feb1ebeb2d25b2887b1b023afdccda08862a13928a8f379200c46fcaf88ecc111d9dbb3bbc5dde63f88d SHA512 bf9386f58ea007bcc7171af713e944459a6b219ddbe88813f16df5e274ab85418be23dd7bdaee7964108e9a4a1698365de67362d5504c80bee726f1151166f5c
-DIST cxx-build-1.0.85.crate 84820 BLAKE2B 6dd01e251776f33cbb11b4ef6a9d77db7c476e6184f942d0a5fca5505c5fc2463bc03edcf8f08597238898b92df1c53ba330e9c3b4e63a106136445fcf202584 SHA512 3ef75dc28bed9c1c9cea5dbd7b396f8e88a5fe288e19d1aa1f96add32830236b2414fe33ed7b06566759298cf0130d6b82d2049ba9bf362c95413ce8481f2bf2
-DIST cxxbridge-flags-1.0.85.crate 5635 BLAKE2B 5d365e5a6e2ef5bdde5f223f5ab726e0667aedcecdc2a2f1ec961d9c199c291dfcf94ed4ca6a2ea9056073c8519839cad7d5b49f7c8022bf96b96186f19874a2 SHA512 186a08d40469bfc8fcf801bd766e89e72d160a7b28ce465b3e8a39b4f38d7c17bc373e9bd8f5e50c758be7755ac450d532aa88c7c20d908c3905106bd8cac05c
-DIST cxxbridge-macro-1.0.85.crate 59873 BLAKE2B f44f7b48da2b08b2a678742001c4bb02dd35a78de91db11165589a4dd1e90db5484dc3bcc3599689afd5866fcb944b6a3031b17a69ec6867c0547b0df004eedf SHA512 7e3e93c5698ff1f6d0a5a40beebb3bac603f3c157afa639f1c5191895680b7d9b2d17494f9b5fa195ff8d42066387a85c166ea28b33415a4a0aff9820d31985e
-DIST iana-time-zone-0.1.47.crate 16974 BLAKE2B 841e380fd81def3eb5af424215c36caa9b48adf2368d9da57dd562ea4f806fc5ed1abd0c118eebb532264eb3ab5d8670049cfe20eada40cad7bef4718245c968 SHA512 c1817555149f05ae45f7e54046b79c732f80f5af382680d626dd3e970167092cdc176b259941d3c1533518bef511a92ed24c3aa538897e9d082984684d99f55b
-DIST iana-time-zone-0.1.53.crate 20176 BLAKE2B 842c3c2a9f5b753363668af5162edb6f2734a51fa6c6fc8bafc3981f5f287451258f5ab31d5ea6c2a1df75934233849bba8dde4ee5aa9fcc456fbafa93d8b51b SHA512 a3f899fe9ebc7501bd22e75b2df34c3b26ad5a53afbff4fa552672d0185d8a291736c48ac2fa76dab36a6621e689b5584a2d7bd0334055994bb21077765aa7cb
-DIST iana-time-zone-haiku-0.1.1.crate 7200 BLAKE2B 9e748694423cadd6edebc1daef2aa4126904f5597202874d68066a15580cade77f48f1e6f2a77e17c7de0fae5204ef1262ad5b6f30bd95f4faec77748aa2ae0a SHA512 daa7570aaf5a07c990b07fdc2153b63d947598ed35aa9c35c4773772a6c67997143b120a18ff4c7c13474d296e81a92975ebf5b9aa9d204c1820e9629cb2e369
-DIST indoc-0.3.6.crate 9663 BLAKE2B ca7a1f4d3cbedbee0ba0a3f19c4b3352ff90927eef744b7e4f1d60855d4dc4265202972e81e0fc06d1222d8d5fb322efc4ef669af7396b251248a1e45c91def2 SHA512 e900aa3b001df0fdbf1f543d8b679af317e85a1f95e26fc556213f2826a4f6c82d8c4f3f82de435e3591f8bc14e78eb22668d901dcbe2287f46740e0291afacd
-DIST indoc-impl-0.3.6.crate 7933 BLAKE2B 93e232e360e8f02943ef9a9cabf16bc863d792d8096b8d9a13a07f0b7b396db590abf83b5444f082317059dad7578ffae974dbc8a7e56fbdbab817b7d2534725 SHA512 18406587ee56a09dd2062cee456af697efa903343de42c0ff618a64ddf2bf7efed5da02e7220fed2636c555a6ae18059018f5c3c9b44ba8d3e5a34ea5b53c806
-DIST instant-0.1.12.crate 6128 BLAKE2B 728923f757c1ee4e4a7afb90e460eed81392068961240a538e5c6468e15a0b6491f590fb5f6cc46e6d78901ca232351f65abb9f2f230d8f4983c5e58c4011902 SHA512 fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407
-DIST js-sys-0.3.59.crate 78849 BLAKE2B 2dd42294717ddf922f4d329b3da1acefe1e34c5d9c735132752bab183ea186a879a8218d201238146c20374e724f9219d2c28dca8c530105a18eca81ba86fe39 SHA512 317a0cbce8ccad741dfac48a09e326460bda68a58225bd8d2eb50ff50a7355016c399660e996b328bdbb77d12bc5107d4c2908b11441183f3b3d2f45eedbfd00
-DIST js-sys-0.3.60.crate 79257 BLAKE2B 714facdab00d567d074de4a25b69487400c23194d0f58ca784159483f9e02289acadce084b1514d8816cc9e0597800de82a5298b071b7df19a24df93541f23c1 SHA512 543dfd444539fad27bafcbbf112366f53d4ccf4bc63f8bb17820d818c3e1804656697ed6268a793f383ddf6b6227f7e9b3a11fb6fbb24e10732fdbd971801665
-DIST libc-0.2.132.crate 595317 BLAKE2B 1b1ae80e034d94468befcafd4bae4c41f29424cbf3770b827dd1d7099cd2364db62cf2e7343da5010e230a47fbd91d320b162f7b54fa3955fd195b6976c3fb45 SHA512 48340dd173ed4d487f6504f4c32cb3c13dac8ad4da95469c8dd79386a7564d258a9ca42ccf1b174154717bafc1d3551b87c8fe35f7e4e062c8e33da9259fec50
-DIST libc-0.2.139.crate 638983 BLAKE2B e92b296cf8c916e10e859722ed75f4790401662ff7aa2fe8ed84ef9b94a00538768be33c272f0881e42da887c8c43e1fd44d061343386216492a76fe5d308598 SHA512 ff5fae517c49c382dee9b1d7479b65b0a818780453e5c00c416847d02f42186e2fcf19a8a8dc5e9cc2611300690c6ad324f9c0f0e8172e913a1b781fb7c0b5b4
-DIST link-cplusplus-1.0.8.crate 7674 BLAKE2B cbb93184d9deadd4912f6e03dfb7bb9d37f01b6d8d47dc9744724c848f297adb9cafb1599c2bbaffbff336f883e9a24c3cb4f11745ec4716a9a2c8cfa05f6305 SHA512 690afe063eb9726faa03443bfd01789a559aa10ded4bb3714ef7b13095005c817ad019fcc62b5f7b286c974a81e387ca3342d238e60ed7ab237c3628383a661e
-DIST lock_api-0.4.8.crate 25677 BLAKE2B 2d7fd36e83dbd345889d043e4566b35737b6929092a7ad313b2e09b606b2b4a562ad6b8e1fb5371c086c3d226ca585f08dc34e6205b402a1b96569348ae1e96f SHA512 2dd90be33a732cb8111b522cf65fbf37926ab3121c4dba20dbf66403805575ee597d90d776807c13be1a48ddc5920a691ef78dce734adc6a26b52d4ad44b9785
+DIST cryptography-41.0.7.tar.gz 630892 BLAKE2B a2786c999b8a3fa9e413a330eeaf1076574b8f49a91a91887a7976e7260aa4bd6c25354ff4656917c9e729cd12fc457ff708d904449d03b665965f775f8b7aaf SHA512 c678da6dfc02d84ca9a26bc42844da8ba356f5dc839fefa0b63636c99107b18415b5970d721b72075fc0f8aefc3785dbf143327ceb7f4ebd075df41291b63219
+DIST cryptography-42.0.0.tar.gz 671860 BLAKE2B 40452225cac2937603000a496fd95ea0734a6d055c44a4d385aff22cf943133e5a06c1efd4e401f4b43b56eb4c87af33b8b99d1aebd84e6768217887fd12a3bb SHA512 96a9eab6b23ed8a0789742e824429646ac6a038047dcc3ec092955b1308843d1686b012f7e12c64d8c40308049be98bbdb1af233e83c60b388a30035e50bb58d
+DIST cryptography-42.0.1.tar.gz 672364 BLAKE2B 5e83c2dff17dc1ae03ca339766c91b28205694d73c9f2a08a169c4e41d63262a7f0180e0f4b92afd2a59d3226576b761c901341bdd4f2568111cfd9e6ffd3063 SHA512 978f21bb14dd15ab559af4c85cbc5c98b2ad047bedc980307d7fc91816ee50ace4b1259dac083eb03f03ce12db1eaae171405e33348ac3affd58c140b986dfbd
+DIST cryptography-42.0.2.tar.gz 672761 BLAKE2B 9c97305adebb88127cc6e2e44affee6c9703638abb1b09e34da424a617aa9eaddd8498a2452711af998dbe7818a6148392be78106104d01f2106d8de2b65ac97 SHA512 100f604884cfe5335369d48eeb1d28ccd822f13ddd13c007f4a265c887362bda2b88646328ca570c9969897bd838df6c1f6b7fe4abaf36e82cdb93358694b12c
+DIST cryptography-42.0.3.tar.gz 669589 BLAKE2B 328c297a989f96d10e92c92d5b84e147512498be7ad205b2f36fcdb6234b4c77ac7f20f3ba8f74d05a573e2eacc68e315a97fbc429b87b5da625d4cf359773bd SHA512 d3733d08afea1cb3ad5a01f241ea7f58aaf38334cd25e2b7f64686ffd697f20ec30133931af7fe6a439ba0cb365d63ea6ec0512c627b768891f9e82c15dc0cdd
+DIST cryptography-42.0.4.tar.gz 670311 BLAKE2B 9dc906048bf3be1b457a528cebf8d947ef9088ac5bdcae18b43359412c793fa25fe66a1032d118d0a64924e20065e449977ace3027e508cb383381dd175119ce SHA512 e949672bbe5347c994e1217767c45b4a302830074ed404b65fdad5166f415c4d4c597c1b928eba3a61b338438a178c32302e001ffd6a2c34bbb51ba79ae2e938
+DIST cryptography-42.0.5.tar.gz 671025 BLAKE2B 0eb4b6722ffcbd8b1107afeff23ad72de8199b82923e82412176601aeda8eaf0fe53485ad0fb504be0e5d1898a4006d4bc2ecf5a406f818a69120df382d2ee87 SHA512 5524fd230b55580a2c647a0a78197a783e201fdfa8b3177b72c6d7b689afd76a689e4fe3593120d3adb7ee5cc4adf9211e8deedc8fab355e9ed70076db09f68b
+DIST cryptography_vectors-41.0.7.tar.gz 35288159 BLAKE2B ef2e82f42bb4964a256e875bf3b7bcca549df11839893ac3b8d909d05308360bb0696774fd89bd8951bf4f13aaf752a7700bfde78e68cce450ffaf5117182958 SHA512 05a96cc8d1e3653e62c6822f202f6c25157b2a11bcc42fa8a9462ac1844c295147ed5f49315f0b297c689e244cf13d02948ff5e57c21a487f0210f87518c913f
+DIST cryptography_vectors-42.0.0.tar.gz 35277565 BLAKE2B a770b13244633dc155f21c9179440d4f5d393c71801e44e374e38c183055b842f127090160fab6ba44748e68b2004c0d128980b89b1ae760e6148ba4784fecce SHA512 2d7a633ddf6b81bc3098a54dc61b801e7ea8117424d02db2b9baeb2a2a6da734e07b64f24f924fbf1ae45d65ce2f34db8cc76b1bfaed9dab00a69ef0332245e1
+DIST cryptography_vectors-42.0.1.tar.gz 35277715 BLAKE2B a1996ddd91eb5986c6ea72a3a163506ac60522eb459ce36b90ade44045d662ecbc6e2c2875a0437371885968524c43829e02bcbc094e6a1cb5ade5b743114cb4 SHA512 b7d4503f182e29d1d33bcd5ad2f4327a8deb3e11c640c843eab3b870780b7285323fa044f98dd052101e4926b2bbbbecdf5de00858df8fbedc25e7c69912b335
+DIST cryptography_vectors-42.0.2.tar.gz 35277730 BLAKE2B 63e2d1b707b66e13f8aecefeebe1474118f05fcc017635b4fe91bfbd73ac43db2923375a75e0725eb35fb37d4facc2e2dadef771c84563d08d13e85fd90c0dfe SHA512 8ebc90e26b1398c5315061f621c3364e0b1759ccedcc566e6420e730f7df65763741e2cb26a87f4004964f4fb57703be2009fc5443266e0bfd9b5620ced9d04d
+DIST cryptography_vectors-42.0.3.tar.gz 35277759 BLAKE2B 4474fca84de99b025a8aa8c7414f5ead4c2c7e8098b80689229c133a8422b1aff034bcb54fcd840d9090230649ce26b52c10c1d4fb35e3ad7ec888952c809fb7 SHA512 35d0220b564c384458c0844c66d80f49af763e728ca59658964ebefcf0433197a72be0a896ce6007b183b761c49200a7b6bba3b84bc13390336ca2875e04f7f4
+DIST cryptography_vectors-42.0.4.tar.gz 35277611 BLAKE2B 84c998730505b5ac355b548cdd25dde876e43fc7fcb11feb5714ab9e21314d1a1fb519ba46ca5986e3f3522434a96a7803e7dcb6f303a61bb1fa2f8bab341ad1 SHA512 a1f324a43b0041733bb18f9e0b371ae7aab0786a0d5166ccde622946d5ee68c143a5b92a4c50bd8649b5b71962399994ec506250cdf6e691cd259d93f9910662
+DIST cryptography_vectors-42.0.5.tar.gz 35277812 BLAKE2B 3511f90a90816dbf48fb588e24e432844b51f9b969f03bf9f01e7cba55a8b7fc1aebf66409e137ccee14279535b366c54e1b3af6af026812cdfe92c3137106ec SHA512 38af39f8cb869af630d4b75d7a62ba9778fd59ceee2858504655d9065a82d2365644c9ab301c90f3ebd9f32f2e04867650b6d392c1f2b6880e3bb0c216e6a419
+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 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 libc-0.2.144.crate 682092 BLAKE2B 1f699cb880a65baf9210527789abb35fe8be9565828d061e12b5c76330e21babab67b21e9a44be6a706f643f3c8b98503a3b40482183188b49f33f96a2489a68 SHA512 576da68e3845a7149f64bee425529ffec4bbb8df0272790182e49c8bad5b9744de21ffb5c1206753b57b7fe45af02c6c429e16522b72a77e5262482d64df5692
+DIST libc-0.2.152.crate 740278 BLAKE2B 8eecde477063207d77b6894d6f9194c8dd10e55b69585e3d66296eaa0b9d3f6e2d033e667207182bf4c3cf31f6d38820c9187b2006f4b5ebee898adafb4b2751 SHA512 1722f6f52077efab90026aae3d10306f8c38ebba95366593c3c1adf707fae121ab450064ad9e8be5a667caf6af0b90fad4d1ca1009db0f2220093c44e33c4b5c
+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 log-0.4.17.crate 38028 BLAKE2B b46be3719fc0a53e50b1f342762e188587e9f1ceb692c72473ce2663edfb8253742d30024e68c1444780ab7fc0e2d5b0601b8ea7228dc3405a9342a57548e605 SHA512 2477d88db42b1d92c30708d88823212e236f613b3465e85eb425f83f8d16fadfaf0352f06c2999a1852102edd2f6ffb10ecb539d8a3b6c48f552a25622ccffa2
-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 once_cell-1.14.0.crate 31614 BLAKE2B b9ac8f889c86d4160ee026fca20b5135aa7bd60e8bfaf23946d003bcf0b666929a4da5859d874449d15b6ba0ec4c26e98273d020be50184b9d44ae90b8608175 SHA512 81531f06f32854e1794555e10ccd6ee2b6913bfefdd9eed52dd44a02e799fa6371cdf102cc67bc70d581a0cc4abb7dd16c9c12ede6df4ff38b20dc5908bad186
-DIST ouroboros-0.15.4.crate 11179 BLAKE2B cdfb5a915809b4a68802e5d340d4eb47c0354ab64c350c222841b8a19a405e4b06addb376bebf86334d45bdff8a7b2c810c368d8c89c6ba6e0cea3d55b10a1ae SHA512 54569ce6e3800735993a886a1bb2d24b52db5dff16fa3409c7238047c5f012fe977f040ae3d6e9e2226ef468ad6da61418c21bb1cea7484ef57425c9f5c8361e
-DIST ouroboros-0.15.5.crate 11252 BLAKE2B 0a692641892669294642faca8b8aeef91a156627712f375ef31648c505fcf82b9a17da916761f186db12440547eeb5bc568c75236d042856d0d99c0f3c2142a8 SHA512 ba0680b720d0e889afaa5ad0cd30e48e4bf88ab8cb31070fcf22457c8a87c57406bcf4a63b18e2b735de35967c34b1390c35e68e97216f63a5c26071c1d8a9f4
-DIST ouroboros_macro-0.15.4.crate 20732 BLAKE2B 1bf9c02d72e1e558d3bad2505e5ecc401068ea12d177983b151c8d30de9fbf5a9d3f5229a845c2a1d68c501d60acd234e25b6b2d649ee049e13ecc7cfa6ebf1d SHA512 0eb485ace3643b20c4017b53dc33523fa38a1a43b7d19ff8eea2ad3cc9d46584d7fee2536531aeaf2d60c48155241415eba6aec627c15bd3b50d73cbd39ac765
-DIST ouroboros_macro-0.15.5.crate 20731 BLAKE2B 4de7233f7ea20b71974b1a163071b3c9da070af78e1cf39dade2cdd35bdb117b060b08c590a8350f51dda93bc9e536d67c27aec233e20dc2128acddb154eb328 SHA512 117b6cb2b33ddee68d17834926d80d3da360f41a13d552f6d41bb0691e738675afb580b8e26e03861105777c990e2ed92abd1ea9275b367ff11a73af6b7c0fac
-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 parking_lot_core-0.8.6.crate 32567 BLAKE2B 9943244f813879ab85eae0b9a6bd8f8f0070fe190bc43148a832b217ad546bc97e58707a3987072965a79ae8bc2fa839aebac272f2de00993b8ac1ca0c5fc5ef SHA512 906241f8e2d71784d572fb78978c9550b19af9c4e32fe3b2da751287806d0faeba61f5bd36f7aab026970b2bffaaa1f62ddc10c64dc348eae61bf7b51297ef80
-DIST paste-0.1.18.crate 12259 BLAKE2B ed72b93a27166b0989743c2528d4a41f4b87ffdd0c588557d11a5f37f85d5b8f03ced86150af6209f9fa8d0f6efee705769b26a2f4dc3363f35cc3ac12c0e6ad SHA512 a4d9c75f6f358d6c86eb0a66cdf22eedec180db37358ca2870a992e215d5b389b7991837d8f2769742ac1b093674cb4352ef9d6754a249253472fbcb3a81c001
-DIST paste-impl-0.1.18.crate 9451 BLAKE2B e465c4c7eef44d02eb1b61b5290090513607b452f4adc11487947b7047ddc44905d7a02df827feb2142f0e74583afdd9648c1c66086f10e1bd861b663200bf8c SHA512 c635efee46cb251b76ee9427432f81a0d944cdf1d0a95693d824c6085e7dea7e1e3f48c692ae27946f69e4e78d8080220058acf98e5c8a78482007349f8a7a4b
-DIST pem-1.1.0.crate 10805 BLAKE2B 3f7d9e22e7ac100ad7d17bc3abfd9822f485499fc1b9bc2a676572b1ed81eaf257d51e6b5b5b4d8fa04379497d57cf50360914a198ca9b2aacf63b8859bac8fe SHA512 16cebd4a3381313dc827e289fc39f8650b89d6348383a672671323ed6afc4f661d1c363a5c32005f2b6ff75b1bf85dd8bfa3817ffd8453be52c9bee0e43d6d66
+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.17.2.crate 33335 BLAKE2B 8f1bf825fd618fa1070c3497264085bd354c9b470aab08663179cf2eacd1778b6dde0c54247aa5c8091be97c40d3da20e56dd92981318a0c0ce85d41c3a740d0 SHA512 8a00338f5aabe766fe5cd741cafd8c2ff544d60d081e5706b0965db6c86e00cc7b5fa0f73d8aa54cd1f4506a0858de589ceb4bd32afa7046dd3a1fbcf52b69d7
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
+DIST openssl-0.10.60.crate 265736 BLAKE2B a5a2386470baa5bfecfd9bf32a9965babf1c222e6e35d8652846ac342f75dc6ff022d8344350adcbd42d3313cde3831664fa9e65affb8e3825d58d4a8f5b7418 SHA512 4341098b55136862b2206091e740801c165c42f30404e4224c9d5cf3e68b5b6b26f5c4c383495a4b5b6baef232fa698f80136b0c3e86dbc9d411d3bde0d59616
+DIST openssl-0.10.63.crate 270890 BLAKE2B 0571a214347f823c9079c1f6d204c62469235ced63cbfdb8494427aed8069f45bbb26b81d1edbddb3602c0bffd54d1ca96204aef8cb85aec041edf45d89889db SHA512 47baa5f2e34b622dff0cd475dbbf6772adf48abbcec5be1cbcafe2beb9060ae46a3d873896ee4b5d864da0b132f0efd956596c49f2afc650a44cff6af001aa56
+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 openssl-sys-0.9.99.crate 68158 BLAKE2B 59995535bc24f0ca67ea204193aee4114f88538bbd74ade7c22bc2ea1b0d7e41a79118b6d22917bd1e305a43c16f8aea095c635d27a56fc0481a2baa3092dfa3 SHA512 b91197583135c22d34814e6382dc4ad4be9c3905c979addee8688dbc52ce627815e719b9d0b365195335d4d665eaa79a406f89e4c19cef73988938d51fe2f4ee
+DIST ouroboros-0.15.6.crate 11257 BLAKE2B f7f8758a7456e4561279fbc88d0bf994bf97e93f9d42d2a3476d959d40a85d2d8f7910e36f96824cb0316193d42efeab608767ada00bde6803bf193405f51233 SHA512 ba777f29b26b1a934d7bcf5f456e2e6485dabfe7b8a25160b34feea438e1e7649fb45cb62d83cb1ba9262564b7b877d84f9c9419d877669b65869bed2df9c02c
+DIST ouroboros_macro-0.15.6.crate 20751 BLAKE2B 79f78d819a5db2ba58dcdf3cd06d95570a71ba51b9ea6b55f19a975dd5aca5f3774697ae7ff009d42734add9e37e7b7380eabcabd31d14c37e09b029c32c24f2 SHA512 c79a7b9598a6048d392899707c3d0b942ed3a695803cf74620352f857341b04816fa1172bca6a5a5262a335e47c8a26786e67a3341f456fbefc335d056296bef
+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.9.crate 32445 BLAKE2B 811d8de671bf6e0911cf0df7dcaee4fb03a3b223173a3bb8cee65a28724eeb7bac87f62aa7b1df5ea3fc93af3cee3ef30b83d06c6773d6b856a7e6fa5fa197ea SHA512 7f0df70f9f1ca8d3da0b9dcc96e49daf05d95c3a995289266b5333f68818d686d32b0c733dfe3a0f62da78fa45caa843a963923b2d0c80899c33413dc749c032
+DIST pem-1.1.1.crate 11352 BLAKE2B 2f21e56ab3e1c55aeab08a2d60b3e83b9b9520ed611de394141d65beaebb42b80505983b442edfb49902147b6e8672dbdda2c51faba07487cb37f2f1000c8676 SHA512 a61105cf968db35c0136e2da5575f1f2eefeb1849e15152d6d6bbaeedec8aaa6ed7e6fd86892a4094bfae2495065b090263b760ebf4ccbe131f536963d985bd2
+DIST pem-3.0.3.crate 13035 BLAKE2B a9a5b7f9860ad9ee7b355e54c7e885126790e5298715234cc8247ceef8b997311bd1f916d113358cdfb22cbaa3fdae2ed4e3ee139bb1eb969185dbf468148c86 SHA512 7bc100eb0494ef2a86fcc4ba67c328d0cd791718f0c4eb67e66ac998d13e5624dfb6a1919862f684052bf61c7169c5065bde23b30640fe56651cf377fa573b30
+DIST pkg-config-0.3.27.crate 18838 BLAKE2B 1295eb4f08751b3663cb2c7c2753f29bf2ccd80f4e5856909fe10b6f006c37fb9672c9518b9b416546469faa18821512673a66543c0bd1e848bddabc456d0a90 SHA512 41e9b8d4fce6b8244c2ac8566318a001b481bd42a182f1a832c81ce93c6a023e18af03aa3500b134c30195219d35080433bdba69b2594e9665081debfbb4533a
+DIST pkg-config-0.3.29.crate 20563 BLAKE2B ed0559b0073890911fb47742743b2586123bf9e9b594aa0d5b2c419c6768cd37e25b546c21077ea6cc02823a679b302aeaaca6c7fcaf9aeec615dd08f53a1f6f SHA512 bac7dafc0e10bef40e427c1fc0271d1a26acb2f5b1cf7cc7a128f4d4f1f3110529e45057b71cea7b0f6ddff26945fe08962285ddeb22b54639e44a2e43af698f
+DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
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-macro-hack-0.5.19.crate 15556 BLAKE2B 98c22fc3e5f5fa8b6f44d15de42b6ffcc82ba3f98a07ffa48bcbc5d3abcfca6af136c5d0d8c7f1ca34261ed8f8c9c17a394231f97a4c342c81aa7f8b9e74b203 SHA512 9e4cbec41056438287f5b23086264c86e2f0cdc193064006556736377b2954229de13a585149b9995002c9aee3334ee2a80ae4afdcc96cabe7ed2bf718476952
-DIST proc-macro-hack-0.5.20+deprecated.crate 15045 BLAKE2B fb7b9fa57ad64f2920e801482bfccc762bb7b2c8c1db7da32f393c7b47414fab37234c8a408a4ca9d7072a541df22b07775fc509f76f352fb6be9fe822f84dfd SHA512 278e786f8e0c93e346de900666b3d55d366324167a2e5e553565870c4444bfe661cf8c151a29cbd3176a4905ec49d69cffb81ae1e4a129f30404f930972c4b43
-DIST proc-macro2-1.0.43.crate 41512 BLAKE2B da0577094cb0b8b419f3160bab6342f97865b01337be4cd7a344d4dea98fc2f8905dd05a56427792379f59565a25f8e16cfe4a37edb3bf77bf2e703f27953fdb SHA512 3139c668dbf593afeb77b970c77edc70f7b46b42d80f1d0e30773dedb14ab98c9eeca0dc953bc940610954860fbce663174ea6c270b8711db45aef4d57f3b910
-DIST proc-macro2-1.0.49.crate 41977 BLAKE2B e31c81d3b836404bd2c28363eb0cf2637cb7fb1ff5fb39333158be2b40b15f6f8f582edaec51cabd32d7b215df39c08a9632208fe4da36fc435dc32a48483a6b SHA512 b490d5cbaa790163aaa49c1595e694dfaded61c59fc23f9b6d359f4b774ee6eb20ae8efc5f5ebd59c8ca75da85baad61c065451c1cde03b3b6148e2aaa2c9e1b
-DIST pyo3-0.15.2.crate 371382 BLAKE2B 79b813eca0818bf79e0e1c118c952219f16f1fe22a0ab1aaaac0499a5048ebbc27326bdd2d96054e410ef116866250464aa4e4d8e91bb733f915f77536bf0f05 SHA512 81595bf2b5d2b3a4e79750f0779c142fe7c3e7185f9ffa68a83fce30062ae6812d7af71bee425206552c95839ad7473408f658ff936d4a1f58fd1ac922822582
-DIST pyo3-build-config-0.15.2.crate 22235 BLAKE2B 35355ee30242b7e95426920e7f108fd7f32aa86f2949bb388139ed84ac0a8da2adbc05a5ecaf3beb89525d0c7a4e25ca8e33e9f35e324cbd970f6b4dbe5fbfdf SHA512 e05e68bc54bc7287d3fb037251767dcbcb512e3cae29948507deb7e0ca18ec4d7fd5d598f1dca1a595b6edcd5395fb443189fe56724e67ef68422bf050b10324
-DIST pyo3-macros-0.15.2.crate 7596 BLAKE2B f8ab6ba53354705617ad88a2db693e38596d563f14e5481141b913595f367cf43fdb438c077c89b22a60fb0cccba7d67e79f9528af25c626ec7d8ba2c2ae3825 SHA512 4a40fae4362aa811996d9ff94ff7bfb645396eccffe13fbfc1fff70ada80db56f1a03630cadffca4ff6e156f04c052e82e059d72541d720abbf0ab18f2a7057e
-DIST pyo3-macros-backend-0.15.2.crate 46112 BLAKE2B f3efd72d375f709efca7366f702837222b3bde498a89750a9184437ac495cab031f12f83a062329ea3907e264ec0782523656e15cbe3eb03bc0535fe438a3e4d SHA512 5c3be99d863764376c3f66de304de8b36548cd99fae8ac40c548b3d467b6bdfcd683c53b4cd1aba26b1730c6b9214c36b1723a5d1299265734e67ea791918c82
-DIST quote-1.0.21.crate 28030 BLAKE2B 547344ba9272874f5fbb4bd27a69ef5be99823e10e1318afe71971b18f37e9c73d54168f16efb82c53a332e4874c80a82ea951fb2c85fad50cdfe783622b79fc SHA512 0728eb4df7e1f7c4d32ab08c901c2c969db8eb46b03bcec3e4956a4f6b360939d32abc6b6ebd7a31058e8e9b69c3d995a24cb484f93656f05b4ee963be1c74fc
-DIST quote-1.0.23.crate 28058 BLAKE2B 81c483fa26b36b5c4dbe85b386a74f5bfeaa854a99c0d678374507613da916a60e3f5b14d4a4d295e1c9ef0413fa1f16447df8f19a9db8cb0485b7a5c327fdc1 SHA512 3bce6846dda94d285de15771549099e60df39c8395c498b372c90a240f77df31d6d9048127913ec1c7ed8f3a189470ade1db2bede406bb00fa715ea641ec87c2
+DIST proc-macro2-1.0.64.crate 44848 BLAKE2B 4422122d9299eff3bfbb4507c4a117fef7c0906cab5a680933d482b7f9b49480bcb9c8172b412e70bf87dd0737b8532e90c310bf083f144292cc72190059ba3b SHA512 884fd14ff23c19420692e35a38f88bb6a766a09da105759cd958c315b9360a2c49cfe61ceaa3122307d44040195ec9dffb12b6d0ce224fbac5d3701621a12b04
+DIST proc-macro2-1.0.78.crate 47158 BLAKE2B c56a24fce3faca9e04db7965cab552d2a976c3764df0a84179b5a89d1230ab355c777a82b4c982e3945414f1f0478473a88821dd176c32d6de394d73a26adb9a SHA512 11956fe03a2e77a925cdff2c3c8bc8804dffab4fa1de963a128fa23f4189976fd2e2102bd346b92c33524beae320b71dadaa5213695a3ec638404196e14fa769
+DIST pyo3-0.18.3.crate 420236 BLAKE2B bc00a825a67ed3590b31d3ea6bd77f6c4c927c0355d9d03ce64ca44e36ae3e29ab4d891bf2d94ca074b3bf858e077c516dc64e4620f875fe1e8fbffb5c9db1ec SHA512 39f044a19a42a5e2f46049431fbe3fe10c14d12a4741cc789b42de7cbf448bcbded7fe38a0f124d994ff9bcd3d95a19305dbfdc7462331fda3e6686cc4289be5
+DIST pyo3-0.20.2.crate 434326 BLAKE2B 3114fd6f3fb8ae7d1b35c9d2ac5ba6a49c5ac911ee3a5b941c5063263ca7cce47fa4b4f7ec34cbfe3083f3d1303fd7f061639fba833a04fedb9d5098f5784028 SHA512 cc5151a116179157046ec92677e5a72318b4cdb13a7d7e3bb83778739b5758040e5020f667dd83554a66b758581a08f5de05eb38e7b339813cec85e0712e6355
+DIST pyo3-0.20.3.crate 434673 BLAKE2B 1dcb881fd1fe5c76e9b4951f4d95fcd1daa1845c226a4ab1db4283cabe67bda822ff03e3cc85d797fe4665a1614229e7406dea65ec5e99ce4aac96b973a7f55d SHA512 77cce558fa60bbd8d9981ff5e62fdfa9bac94bd650b287fbf14ac93ef1c326c8ae7fda82d744e3582df03cab8adf490e0f2752fabd9ae3de044e7d80984e0350
+DIST pyo3-build-config-0.18.3.crate 29137 BLAKE2B 5fa645b64f50a078f38cc10a27ed52bd7e7aadd8a069c05ec2963f0b7c869b94d29eddda97cc31d200cf749ab8e2cd9cd1ea00e75620287e9187745ae0e100a5 SHA512 7ccad5f245e84895e147389f05270f32d12f81aba46bcd0dc184b8d62af2ea579efc50383502efda40601c981c4dbcf911aa7d8192364caa2e177ad939062cdb
+DIST pyo3-build-config-0.20.2.crate 30029 BLAKE2B 846eb95d1417a658763417a2750dca1c55201105a3978d61b1db5e3962680ede188f8285dd7deec778ea9860d43e40513b88f5a54f0b1881b08416760bdbbedf SHA512 9dbc669ec69d38716c3909fa8f3b6c5be13c717b20bfd5dd11edab59b8eb35247d7996acd260fec88f92eb3e71248c86e9b40c1a700827889e2990bba20ecddf
+DIST pyo3-build-config-0.20.3.crate 30060 BLAKE2B ef122b0b7d840d5362928bac76e1299b333775ec5c49a3bf23a19eccec074917931356bbf719c6d700999941bb6a396948ee7f8761e685c8e9251af07ba0cadc SHA512 70685415bba443787dabb9c61ca3702aefbcacb0705471b496b4f01efe34291735321d91243355b4be9aed8b243e393c09fb65556f1b926ac7f22f64560bd927
+DIST pyo3-ffi-0.18.3.crate 64474 BLAKE2B 32bedfb4c7d88e539e958af0dd48af311934a817282a01f860af7cd824fa1e3825c505463b78cda57541bea8ccbbedacdc0f67bef686e6775fab3787c26c6d2c SHA512 55240c7824ad1e5c69e05a31ec03e2064290c89c4c98f06c3ebc38c311a10b1690571c977a103790ddcc9623ac42fbf525fb028e910baedb9acafe39fd6e4a82
+DIST pyo3-ffi-0.20.2.crate 64601 BLAKE2B cf1141ad34a13dcb46de0d1e15dda192ca41a7441bfc92a9295861876dcc690d1d5d6d39dafa51cd70c4627353efa91563eaefee8c39f655d12818003f9524da SHA512 ee6386b6fdb80689d104f9cd5229f02e1893d00a52be710bd36882c47305abbe24ef2f3cdef8200fddc0bb97e29001fa3a2fd9d3d2673ecd9a104a070420d01e
+DIST pyo3-ffi-0.20.3.crate 65024 BLAKE2B 33e79a02c7ab85f4767e02a39d8553ddc015c80d13bea674885ad8a18d89bd90f866cc39d81ecbf56270ebe87d29bca48f635c4e73ec99df02ce425f1427cb31 SHA512 3d1ced58e243be7cee4a3ca831dc08a1631fcd511c707dd3bada87d7662807dea2d88393d76e56ff19a6d1c2804d93b5b6b7b5efd36b9c275d66fa1bb1bfc384
+DIST pyo3-macros-0.18.3.crate 7175 BLAKE2B 424cda4d0d75c7d4df6aeab0a475fc744039c9a663215c633e62762083930eb6736348f431b6f00d11a093961433fb13fb4c9da8a18268d1904e933157255646 SHA512 2b643ec3451267e836076bd79d110826fa0a2407955543c8a6a46b0dd16c477eb3ad919d51b7beca90eca2938a59577b32e1e67169df67429fac4cfaae5bf5ab
+DIST pyo3-macros-0.20.2.crate 7925 BLAKE2B 00fc60becfa39bf452786d8a612247785f1737cc3e627700d0d144ab2efaadfb34ce8a8f46e932382a1ea99caebfe1946fbc517b5c26fadb0822ecaa8b2e9df0 SHA512 dd9ea9acda95dfc53689a4c26d8c2139f8a90a05ab06737037f19b8bccd5e52b0da5f297a29194b958f5f8b59cbb566b5f409b3f17a863eddf855ecb755d2719
+DIST pyo3-macros-0.20.3.crate 7920 BLAKE2B 0510accf51cd83390cbb7b6ba4ec9f4610e3dbb7448d1213994013487ae81bb087df1ba0076a3862e5ecfd172b7846f9439a2d86950a93b016aae565ced4f03b SHA512 454f3c0c054aa131ffe955e4be1af061005b9c81b4d80702827e19b983224c118dfea474da515d5fc2c79cfd3fa21204ed4af2d9e81427123e0a78bd246a23f8
+DIST pyo3-macros-backend-0.18.3.crate 48922 BLAKE2B 4937f6d9459c6651f85fd520e4783c051f28932192d02aba5711fbf0294ed617f5b0b35ebbac74f3e6048a3fd3b75028518ebadf1277eefaa501015a91269c77 SHA512 1e607e4925486e1a48748ef3163666910a06f9a4f4a2fd7eb6a6af87ea37b5b7edb9d3ab4958e6fe907a55c5f4bcb702a251d836dc3b57c4ab1c5d9248b8cd35
+DIST pyo3-macros-backend-0.20.2.crate 49710 BLAKE2B 711b18984e61219555df4b62667f7f376951c6cb47e6dd947fc24618b923c4f4f790eb1aba1901abea4761632cdb58cfa81cce91f33586da3022e6c7d126bc9f SHA512 c6ca2a2cdae8630fba3f8e4122e81b60ef2ef0905ad2a3fbcfae134456d5ca9e73690b61590e391f3b9d82c24725809f18544c5dfa0b36ffdb1914844fe65d3a
+DIST pyo3-macros-backend-0.20.3.crate 49797 BLAKE2B 59c55d482577ce105db3e19a1db794eaab8221d7de01197716b75d5d2602e0f27c86aaae527eae7098eafad311144550bd597efe8cd6560c82dc435021f3428f SHA512 e177ee0d6a538a555fbe9108e3e2c20102622b2c9b9696ae309189e5c4d068efad2132afd4a97d734ebabb4d7146980a26cb68dc05d5eb88f338be2ad0cd651f
+DIST quote-1.0.28.crate 28382 BLAKE2B 9fb16c3bb2a7fec3d8138ffec1f58277061f4a643c9051e1f6525f9e347ed9de41a3797eb3140a6dd828526eb4114c1f7ca562151dc933f338d64b175ed35d9f SHA512 846d718153f78cbae6dc714caa9413a5d5964bcc5e032f5c6c5356c62c33bf22635955ebdff0dede69ba1c9657387e65d61de7c537f6f56f8060721dfa52d735
+DIST quote-1.0.35.crate 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2
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 scratch-1.0.3.crate 8198 BLAKE2B 804af80d09da85a88221c7aed7740a25a327bece99eeda0d7adceb3e5111917b70fb4a4e4e39c83b041d57baad2e3582e877356d58386e05ccd65e0a5334f86d SHA512 8fb3c0d36adbcd915e3adad108e35665ddd6e5622b252833349f89448a620bac6eaf1c212ffc172ec015e5af46e5637901c3442083b17ed29a2bdd9c0c48d595
+DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
+DIST self_cell-1.0.3.crate 15147 BLAKE2B 9b53b0568dc4ce0c7372565eef14e593aa25e262d7501da6e4b8cd7807f5385977f9bd3563ed39a6fd4e07c824847d0c09a2a750024a800229c7a57ce5e8e325 SHA512 89a990f8a59cdbb99930ebbf9bb6566b77f03f1f551e49b207c865e7205541fd9f0342d284aca5f3d054a24520fd438b6c53baf48c43fa28dfbe8d79fe8c7e00
DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
-DIST smallvec-1.9.0.crate 28396 BLAKE2B b04100f0a8db9e7c34a425e665242772c9857c5a4c5f34468a3f1b14f669d5cd21de2d54dc5295a22f52032370e8e989fc61cea3f4e6574ccca5be639c645e74 SHA512 e7158393d4257564eeb8fa53a630fdfc13edb33f3c555e41606edcfdbe9189e5c59c25d255dd21d02d4abad1ab2931e21744ec6c2f91ad4db66f87e748a45e56
-DIST syn-1.0.107.crate 237539 BLAKE2B 5a65968806c72fedf69638661f827a0426b9e49c2f9a5e5208f986105f8facca2bdf241f92f74bde790e9a0dd68240d4827a345a939c087364360e19a5cbeff3 SHA512 58132adb76643521a6a9cbc0316431318ac25f8517bba3cbb98e7e28ed536f9e24f643e898fa21a2f74cc8c1aeafaecf9b4199b23048c7be8c0bab2fe3aa7623
-DIST syn-1.0.99.crate 236084 BLAKE2B 852493506271ee364ecb6e907fca55f18af9dc7ec4b4737e43e104d04064a37a2a59b31f5f780621785e44606d43e74adca5cf24c9ac1a8e186955c6b3e43b85 SHA512 47a9ec4d5e6702709c1069d1804d29880a1c5bbbed5a91c44e80eec657c62ceb223d6fbd942deef591463664766ae1997d154525f4e7a212bb84151418f40d10
-DIST termcolor-1.1.3.crate 17242 BLAKE2B 5aef69c0004081bd3cc4d531d13d63627cc02313868c0faab62358d13abfa7b4ba82f142c2801d25a6ae46ecbc8b7bdbeaa21c9105ea3b8950ab6a38cdb88513 SHA512 5838fcbfd70f300cb4b62aab50565db52074c56b152ccc8ac1173e4676c0d5a636271bf5a645a77da6e1d4edbf0091af2cd4dd6d73b85c3d198c760898c06f3a
-DIST unicode-ident-1.0.3.crate 35031 BLAKE2B d8d20829b97e7f1b9710feb6773cc5c4d25de6509772491e6f508a489285e32ec3a14ae689a1f1cd01ff5e2d4301b98579155535e03e240c8605b5737c9c5de5 SHA512 7ebdcfd7131a0e7a834f7e973b9cf813495259e0a0606539623d3f9bb51f9c6414908e71281d6a77397021e48d41c400a704c65990aaa8ca8d0a6095d9b3ed47
-DIST unicode-ident-1.0.6.crate 42158 BLAKE2B 6e4ef61fcac69b4ccbf743a2c2f857a6ea9fcbac9b9890f5b7208cc0732c6892aa5889b3030e87c8c29ce4ce24ddb7adec6bcf47b7aefe9cb5d19f920f12cfbd SHA512 ee1dc78fe535f46bdaf3e19dd8dfc859bf3133d9271026cadf626a07ba586c39caca4e45d905156a6276cf852f9cebef196b2229c3ba4b5e2b26c956fd6cff86
-DIST unicode-width-0.1.10.crate 18968 BLAKE2B 6174e307fd3ee290d0a5d1d31233baaa5315cdb73f19b8580718e9f9eb04cfd3aeaeb474af1e50c4b9fecc6fc777937dedc527c9dc9ed14ccf42af099e591f31 SHA512 9836a8d489d18ea1ecfe1957ed6d5da7dce825e138cd1848aef093fa8d2eb83fcf01eabb1a2446df4f5ede4e67316e9e81b5d58b59d4e8c5d67870e8fa5dca3b
-DIST unindent-0.1.10.crate 7703 BLAKE2B 75458d7f21ded1eca4bb3f7f55b2fa73bf92b2309316eca1b2ffaa0c9f8d7cd8c7851b96688f6597f4af6973f70e9053c2708c1228fa6a9784e41c778488c4b7 SHA512 46ff1a2c042972af2fe5958677b2fa5adf3b9edbb168bd66cc93baf9d1b128f583d9502b83f174b35866343b57a57c8a91a465eab267dddae919af24095bf6bd
+DIST smallvec-1.13.1.crate 34952 BLAKE2B e0dcf1d26883564cd4f5d20a588562404e193075b1ae011f7f7542009a9466e5df3ade7768e1a8feb8806774b2cee5f15d31779928f83714e7d4b6ed46af9ab9 SHA512 1259ef947400470b8c9e74c5582dbc1a49753aa46420883c1f7d66f320f67bebe733a15a23cd57ba461020fad4ff337a5b298de82754602a78f5e6cec969652d
+DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
+DIST syn-2.0.18.crate 240648 BLAKE2B 1e16f0936faf2656ee74cf9c75bdaec19589a4309d68b0cab37438061cfa29c66a1dcd624ad9247d63c85b3c1fdd8a484a65509d672cc6471f3c93f3ecce30d2 SHA512 2642eb35d52022c6d21bb893843beb9b737a267f620e1f5a6c9096d434fd1fab05fe007c8d8b6f1fe00a25007d6f55dbd4ec620b9f5c1154659bf34c246334dd
+DIST syn-2.0.48.crate 250566 BLAKE2B e46b0863af76c3116c84d01b654a9820b7edc51f75c9c5301a7967d12284f78da602409f34fc40524728350dc6b998a4d738f08b8868f95236b3e5d24c460580 SHA512 926c0ad55cc743df20f9166b6d71fd44421aeb1f073fd86b6ddb53e13cd508b539c0360ce64b07b65597bb14639c8f33acf7e60951e1e9128624517aa3aee325
+DIST target-lexicon-0.12.13.crate 25424 BLAKE2B 5fcac231c270a59b6589adb79c90cd3bb15ce024e3c5fa3fd267b3226e5514ce77387c57c86ca765b43ee593a55ec99fdc8fbfd464dc01afaa91ad10337b6278 SHA512 323331857bd3db9877a6c7304392e39d378439462ae4f6d6939c02d28914ecddec52696c94ceebfe8a0e7e93ce25c900099bb3922d7783643162e55c7a8769b7
+DIST target-lexicon-0.12.7.crate 24402 BLAKE2B 3715b15649566b9f26fe02aad818325a43b54512008e4ea9fcda9ea15a87b8f4baf4ffd7343fc12456c97d8a6b1e121158c4cb61997de0e2d24d1bce93d86850 SHA512 0f3cdbd7515141315934b6ca61c5666f3bf60e259711f68ed3c33468e2bd400cedf824db7158a80fa07e78cc7ac2a0a1eed2df199352176148e9df34b06511a2
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+DIST unicode-ident-1.0.9.crate 41978 BLAKE2B 4e78cefb4e7d7f173f1826a5ab6c8ffde386fea67cf3227bd22e6a6e65d3348dc53c9438e6bde9af06fb5e04b0beac866209d2426e7f04cd10b2435db85df7e3 SHA512 4d8cffe699c6f15ee82ab5f5a73421a6bb8b1a476237aefefa6e932c45c30683a4fb015f138bce99d7cb27a27fb7972909c828e77daef091da84ec162315625a
DIST unindent-0.1.11.crate 7700 BLAKE2B d4d1dde410c4194acb51f74f374cf11fa872e49fad8f5f24b596d72476403e5e312fedf7b0bcb1027384d53c8de565368d63c30eaf70a6e6cd958b82e5288ca3 SHA512 f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
+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 wasm-bindgen-0.2.82.crate 166376 BLAKE2B d42f24970c6d24331633230bb6d09338531b501c449b2297c9bfa52344c97cf9b965d70ebe81267e95105712d51e03b16c33de4d2ca43b57036845edd28bb983 SHA512 406b8c0388d6e6c5bc45158819fb57ee05d30a48c776c3e40490512f5f14c04f4da59d2a74d4ae00cbcc16146b0c921f554aebdc79ca9159c24c5dfd7e514b99
-DIST wasm-bindgen-0.2.83.crate 169618 BLAKE2B f6158596c80a0385bee0a05bd9cf0b3beee83a7958efb40244956b4fec2c83baa1a1b4605eb604f313db3508a7911c78f645acbb19f6fc93eef27e9f7f0ac109 SHA512 ec93d1334417d0329e113d5f2da7f16c0f1209d71e5cbd21a2dc9278d877e70ca2327ff7863b40505504883ed51d6bf20dda98c22ef44011a47c604a7b44e82d
-DIST wasm-bindgen-backend-0.2.82.crate 25764 BLAKE2B 29b7e2c49c9912bb84cdad7b803b9929a9e9a0d4fb65a04170a43241ebc49e40324bc1d59d6b71c2744632f245ade26518511f95a06b2969c75f476e721fef5e SHA512 07b3b45959c768b4aa9b12c287774036650e067998c18132a6ac56df735e0e647e998ee00cad8c27bff43efdb6d7d7a1778356dffc4c138af3b32e602b62e179
-DIST wasm-bindgen-backend-0.2.83.crate 25620 BLAKE2B 3cbba20a2f5344c0ed2791de7b04ee294746606289ba83a9c139b53b56edf31eab8d3b3802cec309d5395e2404bbd75b7fab5d748a9961b36906fabeb0e66493 SHA512 dd1b65733e4d0a198d61a5287bb75db3e03ef738d2c2dcd3ce3e873c27d41c90cfcbb775ad40b2a546190db8d7213e5866f8e3f9913c28fe4b43a49054bfea44
-DIST wasm-bindgen-macro-0.2.82.crate 11808 BLAKE2B 47b0ec5347e7baea0c417178372f5c9099808be917068f33d0129aaa5d1ce33b6b12e99c09a3248c28d2c355b21dea321f8857020cf0e9a3bdf2f7315663be1c SHA512 718f37425ab7c1e5e98149142f2dab98f1810d0af1c3047272421fa9f4081e1735c3a30b6a45f934d7d622d6f86fdd0cd4e1b7ac57803e20257da5fc28ee1ac9
-DIST wasm-bindgen-macro-0.2.83.crate 12075 BLAKE2B 3b358ba7c2a3563840f54f11170cde78044a8f087659daa7c784fa252f5dd4b7f6200eba425d95b568e50fd43c04c32a509994ddaf5248120feaa67586402150 SHA512 eb83e06f998e858cf25494c1d171984269e72db798147d4d1d8aeeb25ea7a35c5986b882011e131968621742ceecff976430856b4e8b7d7fd7f1237767cf01b4
-DIST wasm-bindgen-macro-support-0.2.82.crate 18529 BLAKE2B 677a339688f1df3da57dc57cda094d9e25fe2049d6a3734fb6ee340356289aa4df469b20944e3db1958a05af0ada4a1adae16d3713654b497491ff34dfe60daf SHA512 18c72aa0e5e324e646d8d6ab5da29f068d9c3b0e0c8f54eace2ff0b36b85625d017bcb69e0e958845171b2a7fff3122b22b9815a08ec93bf32c7b44b62d9f94a
-DIST wasm-bindgen-macro-support-0.2.83.crate 18530 BLAKE2B f305c9fc1f7bba5bee65a1c76fc2216c98aa306a072286e1ced048ab191f49e7e4436bf2f67d4c1fff558f59b2cef5e9b40e9e940268128ab1ebeb3c64696107 SHA512 804014c75ae5f8c1c7f0fad3f3209887fa346d74029e5f6e1830e44f7318719e65c4a643c71d87cf388f131fd370af40d536bbc15fc11c25b91cb785f56a908b
-DIST wasm-bindgen-shared-0.2.82.crate 7197 BLAKE2B a53647d302dc781ee4bb58dfde00d167800b62bc836903192edeae576c403c3bd9bd03021121572ab06970e3707cdb64a420e9f095564a84aa6415f708b8435c SHA512 58ef55f039f1e47047886d7ef617f20db616dd7790c74bca625a87b9e32600d82a9322730b9acf29a8cd22a82930c6ea6eb7e76b54cc653c9ce8cf2b43ca646a
-DIST wasm-bindgen-shared-0.2.83.crate 7194 BLAKE2B 4dd1cffea1edc98dcd4993bf6fdde8100fe00d1e97322ce8bc0bdefd0c659047c8c726e5da27b59fd7a6621c1e5385c18204e834c6c6fd1fb9de52f95b40e40d SHA512 2bfc1a068fa41a9ecacce7bda494fc0485c57ccb102c1d76c87a42e00ad30b944b0cb788642e8339d050a0e831ce8306844a77292ab9f79ed765b65cdb4765e7
-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.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.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
+DIST windows_aarch64_gnullvm-0.42.2.crate 364071 BLAKE2B 97c4e3b2a2dd3f936f9bfcdad23639c9c4c499eed220aec361d26d6013d798efa118e6b298f9cf841ac149d2ae5d58ca653731718450fcf2910bb5f6fa39159f SHA512 75cd7eb1def8ce9d0ff3d7468d2b1cc31cc76c08f981a2460c3d1eb09cff7100d7442863a3591621c1f5f3b3f4badf0b5c95285b6ed583e37283a8403f1095f1
+DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
+DIST windows_aarch64_msvc-0.42.2.crate 666981 BLAKE2B 9f3cc5592cdede08bcdc1e7c455325279e3b763d96942695e10dccf1dfc37a81c749b69a7d6de883d4c0fa6e8a0d2f578fe2a8d6c42ad8ef6282590bf8fc87b7 SHA512 d2dafa8c94d01c1b65ca1bd631d31f2ef842f1db7accb132ff78c3f8483221b991afd3391563e03dcec42bbc9cbdc0ebdab47b991d25af85b5ba2ac1bbf8db63
+DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
+DIST windows_i686_gnu-0.42.2.crate 736236 BLAKE2B 4ef0496462afc73d9d72af7e5da1e6d3506a92f8172930e88ae64ab97596ffd31c4f97fb969e9b677e30159c27f00a8e756deb006b630fb98ce83f03c8b762e2 SHA512 ad09d650a05cb91cb6b40f59025c023a4c286bc1194586697c506016df2b9b0d5b02606b81687bc634795a0d9a9b8a73e486599328ae09c853e8e5ba662fc59c
+DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
+DIST windows_i686_msvc-0.42.2.crate 724951 BLAKE2B b084286cd4927efd2889b149abf8a9fe9d3d777130db9e592982660dbf9a96a0f5e723ca121465787aa11877d2d29a5a7d7cf066cdc8fa7e90d7ca7dcb7677f1 SHA512 c1706fc36d4b157c020744a11b3eb5d7dfbf05a0b56775bc717e94b7fd725816b20154fdbcd69ac08dbfb8b8bbfa74fab72d7a9c10399aad6a1cc54cf597e804
+DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
+DIST windows_x86_64_gnu-0.42.2.crate 699373 BLAKE2B 01c70809d564b16b268656e47295e99c992d8f9839fac8a51338a0e7c3b9cdcd0429c456ca8c1c139a8c687ed7ed6c43a82250889d881aadaa65bd037223e0a6 SHA512 5767af3c86e717f93137a89d442230e6b60a649057edb3ab104b1f82c0bcd64fe089dcdf2f4fd486a799bece1ddb5f0449641536b678211945e749ae24f35c1f
+DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
+DIST windows_x86_64_gnullvm-0.42.2.crate 364068 BLAKE2B 64bc53e98eb3fc649c9b43a6e734de4e65088e41edacabd49f7afcc5dc6e1065c563ecfc682747dda05978dea2dba4f45c16fcc18c3b00684c3d93681e5a7deb SHA512 d39a8bc948110fe612d3f8d6628b3f0d56620df11d8a49e0fabb6c90389ad407582b3af10e4eab46c79b3d11d2e10753d73d9e55963fbeac085f41e9749bdba3
+DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
+DIST windows_x86_64_msvc-0.42.2.crate 666936 BLAKE2B bc3a456e7f8bc272f8978ec69506ec9d89f97b7582ebbe05d8bd57bdf8156ef62d0d2dc6137a97e81d54059d70db97a24af9a038adff357f5dfd28805d6193b5 SHA512 53a35f438903fceb59e36bd2ac331773fb8e6c8c5a6d984e79021761f91b3b4a23efe49d219667a4d0d23dcdbf906da9c24e74fb1cff93395b5c55ff524e3788
+DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
diff --git a/dev-python/cryptography/cryptography-38.0.4.ebuild b/dev-python/cryptography/cryptography-38.0.4.ebuild
deleted file mode 100644
index 7f8b8acbc2b2..000000000000
--- a/dev-python/cryptography/cryptography-38.0.4.ebuild
+++ /dev/null
@@ -1,143 +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_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-CRATES="
- Inflector-0.11.4
- aliasable-0.1.3
- android_system_properties-0.1.5
- asn1-0.12.2
- asn1_derive-0.12.2
- autocfg-1.1.0
- base64-0.13.0
- bitflags-1.3.2
- bumpalo-3.10.0
- cfg-if-1.0.0
- chrono-0.4.22
- core-foundation-sys-0.8.3
- iana-time-zone-0.1.47
- indoc-0.3.6
- indoc-impl-0.3.6
- instant-0.1.12
- js-sys-0.3.59
- libc-0.2.132
- lock_api-0.4.8
- log-0.4.17
- num-integer-0.1.45
- num-traits-0.2.15
- once_cell-1.14.0
- ouroboros-0.15.4
- ouroboros_macro-0.15.4
- parking_lot-0.11.2
- parking_lot_core-0.8.5
- paste-0.1.18
- paste-impl-0.1.18
- pem-1.1.0
- proc-macro-error-1.0.4
- proc-macro-error-attr-1.0.4
- proc-macro-hack-0.5.19
- proc-macro2-1.0.43
- pyo3-0.15.2
- pyo3-build-config-0.15.2
- pyo3-macros-0.15.2
- pyo3-macros-backend-0.15.2
- quote-1.0.21
- redox_syscall-0.2.16
- scopeguard-1.1.0
- smallvec-1.9.0
- syn-1.0.99
- unicode-ident-1.0.3
- unindent-0.1.10
- version_check-0.9.4
- wasm-bindgen-0.2.82
- wasm-bindgen-backend-0.2.82
- wasm-bindgen-macro-0.2.82
- wasm-bindgen-macro-support-0.2.82
- wasm-bindgen-shared-0.2.82
- winapi-0.3.9
- winapi-i686-pc-windows-gnu-0.4.0
- winapi-x86_64-pc-windows-gnu-0.4.0
-"
-
-inherit cargo distutils-r1 multiprocessing
-
-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="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- $(cargo_crate_uris ${CRATES})
- test? (
- mirror://pypi/c/cryptography_vectors/${VEC_P}.tar.gz
- )
-"
-
-LICENSE="|| ( Apache-2.0 BSD )"
-# Dependent crate licenses
-LICENSE+=" Apache-2.0 BSD-2 BSD MIT Unicode-DFS-2016"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 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}
-"
-BDEPEND="
- dev-python/setuptools-rust[${PYTHON_USEDEP}]
- 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() {
- sed -i -e 's:--benchmark-disable::' pyproject.toml || die
-
- default
-
- # 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_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-39.0.0.ebuild b/dev-python/cryptography/cryptography-39.0.0.ebuild
deleted file mode 100644
index e0625c84a9c7..000000000000
--- a/dev-python/cryptography/cryptography-39.0.0.ebuild
+++ /dev/null
@@ -1,155 +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_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-CRATES="
- Inflector-0.11.4
- aliasable-0.1.3
- android_system_properties-0.1.5
- asn1-0.13.0
- asn1_derive-0.13.0
- autocfg-1.1.0
- base64-0.13.1
- bitflags-1.3.2
- bumpalo-3.10.0
- cc-1.0.78
- cfg-if-1.0.0
- chrono-0.4.23
- codespan-reporting-0.11.1
- core-foundation-sys-0.8.3
- cxx-1.0.85
- cxx-build-1.0.85
- cxxbridge-flags-1.0.85
- cxxbridge-macro-1.0.85
- iana-time-zone-0.1.53
- iana-time-zone-haiku-0.1.1
- indoc-0.3.6
- indoc-impl-0.3.6
- instant-0.1.12
- js-sys-0.3.60
- libc-0.2.139
- link-cplusplus-1.0.8
- lock_api-0.4.9
- log-0.4.17
- num-integer-0.1.45
- num-traits-0.2.15
- once_cell-1.14.0
- ouroboros-0.15.5
- ouroboros_macro-0.15.5
- parking_lot-0.11.2
- parking_lot_core-0.8.6
- paste-0.1.18
- paste-impl-0.1.18
- pem-1.1.0
- proc-macro-error-1.0.4
- proc-macro-error-attr-1.0.4
- proc-macro-hack-0.5.20+deprecated
- proc-macro2-1.0.49
- pyo3-0.15.2
- pyo3-build-config-0.15.2
- pyo3-macros-0.15.2
- pyo3-macros-backend-0.15.2
- quote-1.0.23
- redox_syscall-0.2.16
- scopeguard-1.1.0
- scratch-1.0.3
- smallvec-1.10.0
- syn-1.0.107
- termcolor-1.1.3
- unicode-ident-1.0.6
- unicode-width-0.1.10
- unindent-0.1.11
- version_check-0.9.4
- wasm-bindgen-0.2.83
- wasm-bindgen-backend-0.2.83
- wasm-bindgen-macro-0.2.83
- wasm-bindgen-macro-support-0.2.83
- wasm-bindgen-shared-0.2.83
- winapi-0.3.9
- winapi-i686-pc-windows-gnu-0.4.0
- winapi-util-0.1.5
- winapi-x86_64-pc-windows-gnu-0.4.0
-"
-
-inherit cargo distutils-r1 multiprocessing
-
-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="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- $(cargo_crate_uris ${CRATES})
- test? (
- mirror://pypi/c/cryptography_vectors/${VEC_P}.tar.gz
- )
-"
-
-LICENSE="|| ( Apache-2.0 BSD ) PSF-2"
-# Dependent crate licenses
-LICENSE+=" Apache-2.0 BSD-2 BSD MIT Unicode-DFS-2016"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~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}
-"
-BDEPEND="
- dev-python/setuptools-rust[${PYTHON_USEDEP}]
- 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() {
- sed -i -e 's:--benchmark-disable::' pyproject.toml || die
-
- default
-
- # 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_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-41.0.7.ebuild b/dev-python/cryptography/cryptography-41.0.7.ebuild
new file mode 100644
index 000000000000..d7d6b997e135
--- /dev/null
+++ b/dev-python/cryptography/cryptography-41.0.7.ebuild
@@ -0,0 +1,153 @@
+# 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.0.ebuild b/dev-python/cryptography/cryptography-42.0.0.ebuild
new file mode 100644
index 000000000000..de93827364b9
--- /dev/null
+++ b/dev-python/cryptography/cryptography-42.0.0.ebuild
@@ -0,0 +1,146 @@
+# 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..12} 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.99
+ openssl@0.10.63
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ pem@3.0.3
+ pkg-config@0.3.29
+ 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
+ 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 ~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() {
+ 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.1.ebuild b/dev-python/cryptography/cryptography-42.0.1.ebuild
new file mode 100644
index 000000000000..de93827364b9
--- /dev/null
+++ b/dev-python/cryptography/cryptography-42.0.1.ebuild
@@ -0,0 +1,146 @@
+# 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..12} 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.99
+ openssl@0.10.63
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ pem@3.0.3
+ pkg-config@0.3.29
+ 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
+ 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 ~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() {
+ 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.2.ebuild b/dev-python/cryptography/cryptography-42.0.2.ebuild
new file mode 100644
index 000000000000..de93827364b9
--- /dev/null
+++ b/dev-python/cryptography/cryptography-42.0.2.ebuild
@@ -0,0 +1,146 @@
+# 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..12} 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.99
+ openssl@0.10.63
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ pem@3.0.3
+ pkg-config@0.3.29
+ 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
+ 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 ~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() {
+ 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.3.ebuild b/dev-python/cryptography/cryptography-42.0.3.ebuild
new file mode 100644
index 000000000000..de93827364b9
--- /dev/null
+++ b/dev-python/cryptography/cryptography-42.0.3.ebuild
@@ -0,0 +1,146 @@
+# 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..12} 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.99
+ openssl@0.10.63
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ pem@3.0.3
+ pkg-config@0.3.29
+ 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
+ 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 ~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() {
+ 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.4.ebuild b/dev-python/cryptography/cryptography-42.0.4.ebuild
new file mode 100644
index 000000000000..c2c8531e6c82
--- /dev/null
+++ b/dev-python/cryptography/cryptography-42.0.4.ebuild
@@ -0,0 +1,146 @@
+# 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..12} 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.99
+ openssl@0.10.63
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ pem@3.0.3
+ pkg-config@0.3.29
+ 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
+ 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 ~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() {
+ 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.5.ebuild b/dev-python/cryptography/cryptography-42.0.5.ebuild
new file mode 100644
index 000000000000..09234e5f5604
--- /dev/null
+++ b/dev-python/cryptography/cryptography-42.0.5.ebuild
@@ -0,0 +1,147 @@
+# 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..12} 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.99
+ openssl@0.10.63
+ 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 ~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() {
+ 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/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..73d1106fb4db
--- /dev/null
+++ b/dev-python/cson/cson-0.8-r4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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=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/Manifest b/dev-python/css-parser/Manifest
index 892b9b9ddc89..0d20783a1967 100644
--- a/dev-python/css-parser/Manifest
+++ b/dev-python/css-parser/Manifest
@@ -1 +1 @@
-DIST css-parser-1.0.8.tar.gz 349363 BLAKE2B 2e67d74422cf87e1c593793f6acc9089a745d020cba18c63c70bc2099f53aad95bd5de1def49a3f5ab7cbff7f91efb3a60b3d2d9f1efa55244d99770f0d7baec SHA512 1b22665a172b8a29e277217f39bac1512867dbd5acdfe37ddf078eab71452467adc3dcdac68e424df32cc204f3e55da45d31663f8e7aa143c0243818df32487a
+DIST css-parser-1.0.10.tar.gz 349673 BLAKE2B 30ba106620e488532d3cfbd84fc44b0bc15f1e98c7ca3db5a04476810f1bd7ff62c425a052e141a2f13d15e30bd8d1ad83bf769ccce256bef5b723560e230810 SHA512 1f339eb5771fb1ff2f2fc5dbcbe86f6ad09d0ae1abeca96194e6d3c0c4e385ae7366618f28d01010e764fa81d30aec7ccfcbeea2a084c8528be33812307149c8
diff --git a/dev-python/css-parser/css-parser-1.0.10.ebuild b/dev-python/css-parser/css-parser-1.0.10.ebuild
new file mode 100644
index 000000000000..86bd8ad935bf
--- /dev/null
+++ b/dev-python/css-parser/css-parser-1.0.10.ebuild
@@ -0,0 +1,28 @@
+# 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 CSS Cascading Style Sheets library (fork of cssutils)"
+HOMEPAGE="
+ https://github.com/ebook-utils/css-parser/
+ https://pypi.org/project/css-parser/
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86"
+
+BDEPEND="
+ test? (
+ dev-python/chardet[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/css-parser/css-parser-1.0.8.ebuild b/dev-python/css-parser/css-parser-1.0.8.ebuild
deleted file mode 100644
index de3c867741b3..000000000000
--- a/dev-python/css-parser/css-parser-1.0.8.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A CSS Cascading Style Sheets library (fork of cssutils)"
-HOMEPAGE="
- https://github.com/ebook-utils/css-parser/
- https://pypi.org/project/css-parser/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-BDEPEND="
- test? (
- dev-python/chardet[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/csscompressor/csscompressor-0.9.5-r1.ebuild b/dev-python/csscompressor/csscompressor-0.9.5-r1.ebuild
deleted file mode 100644
index 5a50b0e510a6..000000000000
--- a/dev-python/csscompressor/csscompressor-0.9.5-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
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A python port of YUI CSS Compressor"
-HOMEPAGE="
- https://github.com/sprymix/csscompressor
- https://pypi.org/project/csscompressor/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~riscv x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/csscompressor/csscompressor-0.9.5-r2.ebuild b/dev-python/csscompressor/csscompressor-0.9.5-r2.ebuild
new file mode 100644
index 000000000000..447d4596b355
--- /dev/null
+++ b/dev-python/csscompressor/csscompressor-0.9.5-r2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 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 python port of YUI CSS Compressor"
+HOMEPAGE="
+ https://github.com/sprymix/csscompressor
+ https://pypi.org/project/csscompressor/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/cssselect/cssselect-1.2.0.ebuild b/dev-python/cssselect/cssselect-1.2.0.ebuild
index 72e25b62b728..0f8742d158b6 100644
--- a/dev-python/cssselect/cssselect-1.2.0.ebuild
+++ b/dev-python/cssselect/cssselect-1.2.0.ebuild
@@ -4,7 +4,7 @@
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/cssselect2/cssselect2-0.7.0.ebuild b/dev-python/cssselect2/cssselect2-0.7.0.ebuild
index 197b8728e7eb..09797c2becf4 100644
--- a/dev-python/cssselect2/cssselect2-0.7.0.ebuild
+++ b/dev-python/cssselect2/cssselect2-0.7.0.ebuild
@@ -4,9 +4,9 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Parses CSS3 Selectors and translates them to XPath 1.0"
HOMEPAGE="
@@ -14,11 +14,10 @@ HOMEPAGE="
https://pypi.org/project/cssselect2/
https://github.com/Kozea/cssselect2/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
RDEPEND="
dev-python/tinycss2[${PYTHON_USEDEP}]
diff --git a/dev-python/cssutils/Manifest b/dev-python/cssutils/Manifest
index f49e6b30d29c..b4f1fa7094af 100644
--- a/dev-python/cssutils/Manifest
+++ b/dev-python/cssutils/Manifest
@@ -1 +1,2 @@
-DIST cssutils-2.6.0.tar.gz 723259 BLAKE2B 6548e87c78fe6b850b98989521c27cebd4170939517edca895c2787c1367e1c6dc94308355f7dd2e1dee7194f88bd025b72c801cd9b90f8a08ab244f6a4e890e SHA512 95ce26cc4816e7750fc0f1e0c4ac60f176e3c7b3ea1871440bf937d442e0f8626f9e4c75622c0ea3a84d68ceb4b768544e9642936beb87eff1b55117ce47b311
+DIST cssutils-2.10.2.tar.gz 723055 BLAKE2B 7064f1928bf8496bef8eccf4663f944ed79e5e8065808254d12b68f32e9c8f308724e652b24fa584af54a0976ff3ab2f2751a9102e0f31a5f4a8fabf8f417b23 SHA512 c678b6953b13e8a7ac7b2abbe0b8be26283973537089071828e618b359bcce27df636f382d8b0dc50b13962e0d2dffcce991a47f678954ec018849e57026446d
+DIST cssutils-2.9.0.tar.gz 723452 BLAKE2B fc3593dec7a61b1a23b346b5a77160248760a934f01e6135a6478eb1164333a910c6c3fb403e3e06c8c7c90214a7c30ddc481dc9623c26091d62c8d092d8cea3 SHA512 d13d53b3e4f133afb5b72faba1e41a95cf2b146efb075dd3b328fc424eccd371194e1e14fd9e607b207b5c7d473e64f1e4c63975173d8491fa8036a16dc94d38
diff --git a/dev-python/cssutils/cssutils-2.10.2.ebuild b/dev-python/cssutils/cssutils-2.10.2.ebuild
new file mode 100644
index 000000000000..eb9363ad1cdc
--- /dev/null
+++ b/dev-python/cssutils/cssutils-2.10.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=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/cssutils/cssutils-2.6.0.ebuild b/dev-python/cssutils/cssutils-2.6.0.ebuild
deleted file mode 100644
index ba17b9caaba8..000000000000
--- a/dev-python/cssutils/cssutils-2.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A CSS Cascading Style Sheets library"
-HOMEPAGE="
- https://pypi.org/project/cssutils/
- https://github.com/jaraco/cssutils/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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}]
- $(python_gen_cond_dep '
- dev-python/importlib_resources[${PYTHON_USEDEP}]
- ' 3.8)
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # network
- encutils/__init__.py::encutils
- cssutils/tests/test_parse.py::TestCSSParser::test_parseUrl
- examples/website.py::website.logging
-)
diff --git a/dev-python/cssutils/cssutils-2.9.0.ebuild b/dev-python/cssutils/cssutils-2.9.0.ebuild
new file mode 100644
index 000000000000..1b5c6baf636d
--- /dev/null
+++ b/dev-python/cssutils/cssutils-2.9.0.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..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
new file mode 100644
index 000000000000..3229b3e29c9f
--- /dev/null
+++ b/dev-python/cstruct/Manifest
@@ -0,0 +1 @@
+DIST python-cstruct-5.3.gh.tar.gz 38987 BLAKE2B 49fc1d7bc70faa1b437a82e22c5e187800dbaacd152685eae2defe3c6cf748ebe73910cf43066661b9f456261619a59c1ac546dc8ddc461bd1967bee6ffe7672 SHA512 71ad411c6733676c165c9724554a7c1b5f56921ac925020817d812b53b1dfcc9a30d794e8aa8da75bae144e3d659a7426034b5cced4262a699e4626e287b3790
diff --git a/dev-python/cstruct/cstruct-5.3.ebuild b/dev-python/cstruct/cstruct-5.3.ebuild
new file mode 100644
index 000000000000..424b9e8357a9
--- /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..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/python-cstruct/metadata.xml b/dev-python/cstruct/metadata.xml
index d1468dcb4ec3..d1468dcb4ec3 100644
--- a/dev-python/python-cstruct/metadata.xml
+++ b/dev-python/cstruct/metadata.xml
diff --git a/dev-python/csvkit/Manifest b/dev-python/csvkit/Manifest
index b6726f0807a3..42187e018ee4 100644
--- a/dev-python/csvkit/Manifest
+++ b/dev-python/csvkit/Manifest
@@ -1 +1,2 @@
-DIST csvkit-1.1.0.tar.gz 3791940 BLAKE2B 9ef69f1acde1cab9ed69ca62b8e94fc92207bba1967db17c4f2edbda7191d2783d075be004d5c6022d446921343938ed502812602b2ce1cb16c2c62b530a5027 SHA512 4cc9eb9c326bc38368149721777f0c14e89fa8e65b7553908120613ee233105a6ab324054382766c6838c1594960907373f59b33a285e92a62b6e6cd0f5f89b7
+DIST csvkit-1.4.0.tar.gz 3796472 BLAKE2B 4501a320ab9b8f9f5642ea3957caddb024301a3a299fce17876562973874bad8305ce5cb8e879c7269d7b57d54e97e70f315728b52605a1059705111192874ad SHA512 5363fe8380c6ad1e44961bd7781feecd6fd19802a1c30144a45bdac364980413be3ac37e564491aca72c33d8b8a08dd5b49cfe2217b02bb5f3083db75996d687
+DIST csvkit-1.5.0.tar.gz 3811034 BLAKE2B 4fd22d532803a520f9276e7f6be9068db4dba288582d85848143a6a5c70357a05450f7dcdc7a086949cd6568c62fa79546026a2a2aaa3e7f10985d0177c0a676 SHA512 e8e776419405a0e278f12440ba43e9f9c801673b54a6d2c0d3b543929f7a00fa30e9fc35697398127bdf73984453300ef5cde44355396b549d1a039e4e7c068e
diff --git a/dev-python/csvkit/csvkit-1.1.0.ebuild b/dev-python/csvkit/csvkit-1.1.0.ebuild
deleted file mode 100644
index 699081764e98..000000000000
--- a/dev-python/csvkit/csvkit-1.1.0.ebuild
+++ /dev/null
@@ -1,43 +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 suite of utilities for converting to and working with CSV"
-HOMEPAGE="
- https://github.com/wireservice/csvkit/
- https://pypi.org/project/csvkit/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-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.4.0.ebuild b/dev-python/csvkit/csvkit-1.4.0.ebuild
new file mode 100644
index 000000000000..fc3cd91b4609
--- /dev/null
+++ b/dev-python/csvkit/csvkit-1.4.0.ebuild
@@ -0,0 +1,44 @@
+# 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="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}]
+ )
+"
+
+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.5.0.ebuild b/dev-python/csvkit/csvkit-1.5.0.ebuild
new file mode 100644
index 000000000000..a5dbdb5eae39
--- /dev/null
+++ b/dev-python/csvkit/csvkit-1.5.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..12} )
+
+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/Manifest b/dev-python/curtsies/Manifest
index 5a78aa4d93f2..f8597afe82a3 100644
--- a/dev-python/curtsies/Manifest
+++ b/dev-python/curtsies/Manifest
@@ -1 +1 @@
-DIST curtsies-0.4.1.tar.gz 53583 BLAKE2B 311c538dfc782566fefeac5bc085fda57200f1d42118393aee1de89486100d9777d6b5c9de8d7dda9a8d3e8564b56cfeb2cde8d1ed638d5f791e24f37eff7a02 SHA512 f49c5874b0e0e4cf92b05ca979bed8608e5e4e4bebfc78f8558e8b32b06876e680fe4d6bb8723bb2050ab3eed0b5379d065c69a3007e6c399b4f60bd410fc947
+DIST curtsies-0.4.2.tar.gz 53559 BLAKE2B b1e6a0b736615c890a35fba0dae2914e51123976c884d253e61e2e4f04cff9398fa9668387b9503a064aa76664c339d5be000e8e172c23a82cafbf3b7523beb3 SHA512 0740b50001a65da7afcb634d99ab03612be0c379035bc15f591a70dc006b46476d38a1c4b107ff17a12d696ce127027c3e13763dfd16dc223628a27611e071e3
diff --git a/dev-python/curtsies/curtsies-0.4.1-r1.ebuild b/dev-python/curtsies/curtsies-0.4.1-r1.ebuild
deleted file mode 100644
index d9e16e287d91..000000000000
--- a/dev-python/curtsies/curtsies-0.4.1-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
-
-DESCRIPTION="Curses-like terminal wrapper, with colored strings"
-HOMEPAGE="
- https://github.com/bpython/curtsies/
- https://pypi.org/project/curtsies/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="amd64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/blessed-1.5[${PYTHON_USEDEP}]
- dev-python/cwcwidth[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pyte[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/curtsies/curtsies-0.4.2.ebuild b/dev-python/curtsies/curtsies-0.4.2.ebuild
new file mode 100644
index 000000000000..82216e9826e2
--- /dev/null
+++ b/dev-python/curtsies/curtsies-0.4.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Curses-like terminal wrapper, with colored strings"
+HOMEPAGE="
+ https://github.com/bpython/curtsies/
+ https://pypi.org/project/curtsies/
+"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="amd64 arm64 ~riscv x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/blessed-1.5[${PYTHON_USEDEP}]
+ dev-python/cwcwidth[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pyte[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/cvxopt/Manifest b/dev-python/cvxopt/Manifest
index e843c7e84c72..5f8d00a982e5 100644
--- a/dev-python/cvxopt/Manifest
+++ b/dev-python/cvxopt/Manifest
@@ -1 +1 @@
-DIST cvxopt-1.3.0.tar.gz 4120085 BLAKE2B f4cb23146897d3f4b24e0fc4d59bd89e2c5b49c83aecdbec02297abbea8a16ecab85a02e9c187debbf3a03cc62e4c46128acefbec2af7ea20558e7fa1d1c0bd0 SHA512 b719100abb0b049765963dc4ca9f646b508a319b5f8390aa7a0578056d32a32573e195c136ffb907a57135e337887d2256c9a0883e63dad966dab43cad0bf58a
+DIST cvxopt-1.3.2.gh.tar.gz 4095027 BLAKE2B ad4dfba1fe9c5be700ba61268e9d245355493c0334688b7a08bd4b5c4127da7a276cc660a1c1f4fe4df2359f9d2a8e3c4907d57d23c29d8caaf0329f6834cc30 SHA512 a6f9006b8b83445d781b1ba876e5ecefe724cf8666f47744b010e9c61fa1786dbd6233459a6e6a1a333ef9ac075d280076b2aeee3a2636d27541a615c5607b34
diff --git a/dev-python/cvxopt/cvxopt-1.3.0.ebuild b/dev-python/cvxopt/cvxopt-1.3.0.ebuild
deleted file mode 100644
index 69c258371d14..000000000000
--- a/dev-python/cvxopt/cvxopt-1.3.0.ebuild
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 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 toolchain-funcs
-
-DESCRIPTION="Python package for convex optimization"
-HOMEPAGE="
- https://cvxopt.org/
- https://github.com/cvxopt/cvxopt/
- https://pypi.org/project/cvxopt/
-"
-SRC_URI="
- https://github.com/${PN}/${PN}/archive/${PV}.tar.gz
- -> ${P}.tar.gz
-"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="+dsdp examples fftw +glpk gsl"
-
-DEPEND="
- virtual/blas
- virtual/lapack
- sci-libs/amd:0=
- sci-libs/cholmod:0=
- sci-libs/colamd:0=
- sci-libs/suitesparseconfig:0=
- sci-libs/umfpack:0=
- dsdp? ( sci-libs/dsdp:0= )
- fftw? ( sci-libs/fftw:3.0= )
- glpk? ( >=sci-mathematics/glpk-4.49:0= )
- gsl? ( sci-libs/gsl:0= )
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- virtual/pkgconfig
-"
-
-PATCHES=( "${FILESDIR}/cvxopt-1.3.0-versioneer-buildfix.patch" )
-
-distutils_enable_sphinx doc/source --no-autodoc
-distutils_enable_tests pytest
-
-# The BLAS_LIB and LAPACK_LIB variables (among others) in cvxopt's
-# setup.py are passed in as colon-delimited strings. So, for example,
-# if your blas "l" flags are "-lblas -lcblas", then cvxopt wants
-# "blas;cblas" for BLAS_LIB.
-#
-# The following function takes a flag type ("l", "L", or "I") as its
-# first argument and a list of packages as its remaining arguments. It
-# outputs a list of libraries, library paths, or include paths,
-# respectively, for the given packages, retrieved using pkg-config and
-# deduplicated, in the appropriate format.
-#
-cvxopt_output() {
- local FLAGNAME="${1}"
- shift
- local PACKAGES="${@}"
-
- local PKGCONFIG_MODE
- case "${FLAGNAME}" in
- l) PKGCONFIG_MODE="--libs-only-l";;
- L) PKGCONFIG_MODE="--libs-only-L";;
- I) PKGCONFIG_MODE="--cflags-only-I";;
- *) echo "invalid flag name: ${FLAGNAME}"; exit 1;;
- esac
-
- local CVXOPT_OUTPUT=""
- local PKGCONFIG_ITEM
- for PKGCONFIG_ITEM in $($(tc-getPKG_CONFIG) ${PKGCONFIG_MODE} ${PACKAGES})
- do
- # First strip off the leading "-l", "-L", or "-I", and replace
- # it with a semicolon...
- PKGCONFIG_ITEM=";${PKGCONFIG_ITEM#-${FLAGNAME}}"
-
- # Now check to see if this element is already present in the
- # list, and skip it if it is. This eliminates multiple entries
- # from winding up in the list when multiple package arguments are
- # passed to this function.
- if [[ "${CVXOPT_OUTPUT}" != "${CVXOPT_OUTPUT%${PKGCONFIG_ITEM}}" ]]
- then
- # It was already the last entry in the list, so skip it.
- continue
- elif [[ "${CVXOPT_OUTPUT}" != "${CVXOPT_OUTPUT%${PKGCONFIG_ITEM};*}" ]]
- then
- # It was an earlier entry in the list. These two cases are
- # separate to ensure that we can e.g. find ";m" at the end
- # of the list, but that we don't find ";metis" in the process.
- continue
- fi
-
- # It isn't in the list yet, so append it.
- CVXOPT_OUTPUT+="${PKGCONFIG_ITEM}"
- done
-
- # Strip the leading ";" from ";foo;bar" before output.
- echo "${CVXOPT_OUTPUT#;}"
-}
-
-python_prepare_all() {
- # Mandatory dependencies.
- export CVXOPT_BLAS_LIB="$(cvxopt_output l blas)"
- export CVXOPT_BLAS_LIB_DIR="${EPREFIX}/usr/$(get_libdir);$(cvxopt_output L blas)"
- export CVXOPT_LAPACK_LIB="$(cvxopt_output l lapack)"
- export CVXOPT_SUITESPARSE_LIB_DIR="${EPREFIX}/usr/$(get_libdir);$(cvxopt_output L umfpack cholmod amd colamd suitesparseconfig)"
-
- # Most of these CVXOPT_* variables can be blank or have "empty"
- # entries and the resulting command-line with e.g. "-L -L/some/path"
- # won't hurt anything. The INC_DIR variables, however, cause
- # problems, because at least gcc doesn't like a bare "-I". We
- # pre-populate these variable with something safe so that setup.py
- # doesn't look in the wrong place if pkg-config doesn't return any
- # extra -I directories. This is
- #
- # https://github.com/cvxopt/cvxopt/issues/167
- #
- CVXOPT_SUITESPARSE_INC_DIR="${EPREFIX}/usr/include"
- local SUITESPARSE_LOCAL_INCS="$(cvxopt_output I umfpack cholmod amd colamd suitesparseconfig)"
- if [[ -n "${SUITESPARSE_LOCAL_INCS}" ]]; then
- CVXOPT_SUITESPARSE_INC_DIR+=";${SUITESPARSE_LOCAL_INCS}"
- fi
- export CVXOPT_SUITESPARSE_INC_DIR
-
- # optional dependencies
- if use dsdp; then
- # no pkg-config file at the moment
- export CVXOPT_BUILD_DSDP=1
- export CVXOPT_DSDP_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
- export CVXOPT_DSDP_INC_DIR="${EPREFIX}/usr/include"
- fi
-
- if use fftw; then
- export CVXOPT_BUILD_FFTW=1
- export CVXOPT_FFTW_LIB_DIR="${EPREFIX}/usr/$(get_libdir);$(cvxopt_output L fftw3)"
- CVXOPT_FFTW_INC_DIR="${EPREFIX}/usr/include"
- FFTW_LOCAL_INCS="$(cvxopt_output I fftw3)"
- if [[ -n "${FFTW_LOCAL_INCS}" ]]; then
- CVXOPT_FFTW_INC_DIR+=";${FFTW_LOCAL_INCS}"
- fi
- export CVXOPT_FFTW_INC_DIR
- fi
-
- if use glpk; then
- # no pkg-config file at the moment
- export CVXOPT_BUILD_GLPK=1
- export CVXOPT_GLPK_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
- export CVXOPT_GLPK_INC_DIR="${EPREFIX}/usr/include"
- fi
-
- if use gsl; then
- export CVXOPT_BUILD_GSL=1
- export CVXOPT_GSL_LIB_DIR="${EPREFIX}/usr/$(get_libdir);$(cvxopt_output L gsl)"
- CVXOPT_GSL_INC_DIR="${EPREFIX}/usr/include"
- GSL_LOCAL_INCS="$(cvxopt_output I gsl)"
- if [[ -n "${GSL_LOCAL_INCS}" ]]; then
- CVXOPT_GSL_INC_DIR+=";${GSL_LOCAL_INCS}"
- fi
- export CVXOPT_GSL_INC_DIR
- fi
-
- distutils-r1_python_prepare_all
-}
-
-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/cvxopt/cvxopt-1.3.2.ebuild b/dev-python/cvxopt/cvxopt-1.3.2.ebuild
new file mode 100644
index 000000000000..97cde1fd196c
--- /dev/null
+++ b/dev-python/cvxopt/cvxopt-1.3.2.ebuild
@@ -0,0 +1,180 @@
+# 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
+
+DESCRIPTION="Python package for convex optimization"
+HOMEPAGE="
+ https://cvxopt.org/
+ https://github.com/cvxopt/cvxopt/
+ https://pypi.org/project/cvxopt/
+"
+# no sdist, as of 1.3.1
+SRC_URI="
+ https://github.com/${PN}/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+dsdp examples fftw +glpk gsl"
+
+DEPEND="
+ virtual/blas
+ virtual/lapack
+ sci-libs/amd:0=
+ sci-libs/cholmod:0=
+ sci-libs/colamd:0=
+ sci-libs/suitesparseconfig:0=
+ sci-libs/umfpack:0=
+ dsdp? ( sci-libs/dsdp:0= )
+ fftw? ( sci-libs/fftw:3.0= )
+ glpk? ( >=sci-mathematics/glpk-4.49:0= )
+ gsl? ( sci-libs/gsl:0= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+"
+
+distutils_enable_sphinx doc/source \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+# The BLAS_LIB and LAPACK_LIB variables (among others) in cvxopt's
+# setup.py are passed in as colon-delimited strings. So, for example,
+# if your blas "l" flags are "-lblas -lcblas", then cvxopt wants
+# "blas;cblas" for BLAS_LIB.
+#
+# The following function takes a flag type ("l", "L", or "I") as its
+# first argument and a list of packages as its remaining arguments. It
+# outputs a list of libraries, library paths, or include paths,
+# respectively, for the given packages, retrieved using pkg-config and
+# deduplicated, in the appropriate format.
+#
+cvxopt_output() {
+ local FLAGNAME="${1}"
+ shift
+ local PACKAGES="${@}"
+
+ local PKGCONFIG_MODE
+ case "${FLAGNAME}" in
+ l) PKGCONFIG_MODE="--libs-only-l";;
+ L) PKGCONFIG_MODE="--libs-only-L";;
+ I) PKGCONFIG_MODE="--cflags-only-I";;
+ *) echo "invalid flag name: ${FLAGNAME}"; exit 1;;
+ esac
+
+ local CVXOPT_OUTPUT=""
+ local PKGCONFIG_ITEM
+ for PKGCONFIG_ITEM in $($(tc-getPKG_CONFIG) ${PKGCONFIG_MODE} ${PACKAGES})
+ do
+ # First strip off the leading "-l", "-L", or "-I", and replace
+ # it with a semicolon...
+ PKGCONFIG_ITEM=";${PKGCONFIG_ITEM#-${FLAGNAME}}"
+
+ # Now check to see if this element is already present in the
+ # list, and skip it if it is. This eliminates multiple entries
+ # from winding up in the list when multiple package arguments are
+ # passed to this function.
+ if [[ "${CVXOPT_OUTPUT}" != "${CVXOPT_OUTPUT%${PKGCONFIG_ITEM}}" ]]
+ then
+ # It was already the last entry in the list, so skip it.
+ continue
+ elif [[ "${CVXOPT_OUTPUT}" != "${CVXOPT_OUTPUT%${PKGCONFIG_ITEM};*}" ]]
+ then
+ # It was an earlier entry in the list. These two cases are
+ # separate to ensure that we can e.g. find ";m" at the end
+ # of the list, but that we don't find ";metis" in the process.
+ continue
+ fi
+
+ # It isn't in the list yet, so append it.
+ CVXOPT_OUTPUT+="${PKGCONFIG_ITEM}"
+ done
+
+ # Strip the leading ";" from ";foo;bar" before output.
+ echo "${CVXOPT_OUTPUT#;}"
+}
+
+src_configure() {
+ # Mandatory dependencies.
+ export CVXOPT_BLAS_LIB="$(cvxopt_output l blas)"
+ export CVXOPT_BLAS_LIB_DIR="${EPREFIX}/usr/$(get_libdir);$(cvxopt_output L blas)"
+ export CVXOPT_LAPACK_LIB="$(cvxopt_output l lapack)"
+ export CVXOPT_SUITESPARSE_LIB_DIR="${EPREFIX}/usr/$(get_libdir);$(cvxopt_output L umfpack cholmod amd colamd suitesparseconfig)"
+
+ # Most of these CVXOPT_* variables can be blank or have "empty"
+ # entries and the resulting command-line with e.g. "-L -L/some/path"
+ # won't hurt anything. The INC_DIR variables, however, cause
+ # problems, because at least gcc doesn't like a bare "-I". We
+ # pre-populate these variable with something safe so that setup.py
+ # doesn't look in the wrong place if pkg-config doesn't return any
+ # extra -I directories. This is
+ #
+ # https://github.com/cvxopt/cvxopt/issues/167
+ #
+ CVXOPT_SUITESPARSE_INC_DIR="${EPREFIX}/usr/include"
+ local SUITESPARSE_LOCAL_INCS="$(cvxopt_output I umfpack cholmod amd colamd suitesparseconfig)"
+ if [[ -n "${SUITESPARSE_LOCAL_INCS}" ]]; then
+ CVXOPT_SUITESPARSE_INC_DIR+=";${SUITESPARSE_LOCAL_INCS}"
+ fi
+ export CVXOPT_SUITESPARSE_INC_DIR
+
+ # optional dependencies
+ if use dsdp; then
+ # no pkg-config file at the moment
+ export CVXOPT_BUILD_DSDP=1
+ export CVXOPT_DSDP_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
+ export CVXOPT_DSDP_INC_DIR="${EPREFIX}/usr/include"
+ fi
+
+ if use fftw; then
+ export CVXOPT_BUILD_FFTW=1
+ export CVXOPT_FFTW_LIB_DIR="${EPREFIX}/usr/$(get_libdir);$(cvxopt_output L fftw3)"
+ CVXOPT_FFTW_INC_DIR="${EPREFIX}/usr/include"
+ FFTW_LOCAL_INCS="$(cvxopt_output I fftw3)"
+ if [[ -n "${FFTW_LOCAL_INCS}" ]]; then
+ CVXOPT_FFTW_INC_DIR+=";${FFTW_LOCAL_INCS}"
+ fi
+ export CVXOPT_FFTW_INC_DIR
+ fi
+
+ if use glpk; then
+ # no pkg-config file at the moment
+ export CVXOPT_BUILD_GLPK=1
+ export CVXOPT_GLPK_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
+ export CVXOPT_GLPK_INC_DIR="${EPREFIX}/usr/include"
+ fi
+
+ if use gsl; then
+ export CVXOPT_BUILD_GSL=1
+ export CVXOPT_GSL_LIB_DIR="${EPREFIX}/usr/$(get_libdir);$(cvxopt_output L gsl)"
+ CVXOPT_GSL_INC_DIR="${EPREFIX}/usr/include"
+ GSL_LOCAL_INCS="$(cvxopt_output I gsl)"
+ if [[ -n "${GSL_LOCAL_INCS}" ]]; then
+ CVXOPT_GSL_INC_DIR+=";${GSL_LOCAL_INCS}"
+ fi
+ export CVXOPT_GSL_INC_DIR
+ fi
+
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+}
+
+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/cvxopt/files/cvxopt-1.3.0-versioneer-buildfix.patch b/dev-python/cvxopt/files/cvxopt-1.3.0-versioneer-buildfix.patch
deleted file mode 100644
index 2cc28bc7f781..000000000000
--- a/dev-python/cvxopt/files/cvxopt-1.3.0-versioneer-buildfix.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 764665fb080e5aec235a64029246cb58becf5591 Mon Sep 17 00:00:00 2001
-From: Michael Orlitzky <michael@orlitzky.com>
-Date: Sat, 7 May 2022 12:44:31 -0400
-Subject: [PATCH 1/1] FIX: skip version update on `build_ext` if .py does not
- exist
-
-Upstream versioneer commit 280fb6ce89af73ac6ced3c66354a16506a57fc6c
-ported to cvxopt's bundled copy. See also:
-
- https://github.com/python-versioneer/python-versioneer/issues/296
----
- versioneer.py | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/versioneer.py b/versioneer.py
-index 414cb9d..47bdd40 100644
---- a/versioneer.py
-+++ b/versioneer.py
-@@ -1847,6 +1847,11 @@ def get_cmdclass(cmdclass=None):
- # it with an updated value
- target_versionfile = os.path.join(self.build_lib,
- cfg.versionfile_build)
-+ if not os.path.exists(target_versionfile):
-+ print(f"Warning: {target_versionfile} does not exist, skipping "
-+ "version update. This can happen if you are running build_ext "
-+ "without first running build_py.")
-+ return
- print("UPDATING %s" % target_versionfile)
- write_to_version_file(target_versionfile, versions)
- cmds["build_ext"] = cmd_build_ext
---
-2.35.1
-
diff --git a/dev-python/cwcwidth/Manifest b/dev-python/cwcwidth/Manifest
index 50bc2c36e5bc..5d251947cc43 100644
--- a/dev-python/cwcwidth/Manifest
+++ b/dev-python/cwcwidth/Manifest
@@ -1 +1 @@
-DIST cwcwidth-0.1.8.gh.tar.gz 11402 BLAKE2B 21c5425f9ead30a23dd184f671b8dbeff42189d68a5d8fd61ad1a127934529e2dca1ca1462ea62a8b7c1c051b41e6e3b44c4b8b12a325b20a2c25fab4636a243 SHA512 6e2f47928362dc36dcf7a77152390326a2e49577403c084965fc532bf827b7b05b7cdd1d4ad88263023826e73d3525c80d8578414e25bf9a3e3871c8ae1211d7
+DIST cwcwidth-0.1.9.gh.tar.gz 11472 BLAKE2B 70308dcca8ea0c5cbc76726e58ef8a8b2b4bd015411753e91370a34cb600aeb15fdddc537561b0a2e5f7338e77b6a1e2a30207cbcd92d14c60a8b8bfd87ea51f SHA512 f3911fc1a32bb3739ef81d0dfb61b47de8ab62ad26f9f3c361c458b6cb0e4000a5625969972fce09e7906fd35c7ddf7bd7f6b9bcc8efd799433282bdb326969d
diff --git a/dev-python/cwcwidth/cwcwidth-0.1.8.ebuild b/dev-python/cwcwidth/cwcwidth-0.1.8.ebuild
deleted file mode 100644
index dfd8dcc90e12..000000000000
--- a/dev-python/cwcwidth/cwcwidth-0.1.8.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for wc(s)width"
-HOMEPAGE="
- https://github.com/sebastinas/cwcwidth/
- https://pypi.org/project/cwcwidth/
-"
-SRC_URI="
- https://github.com/sebastinas/cwcwidth/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
-
-src_test() {
- cd tests || die
- distutils-r1_src_test
-}
diff --git a/dev-python/cwcwidth/cwcwidth-0.1.9.ebuild b/dev-python/cwcwidth/cwcwidth-0.1.9.ebuild
new file mode 100644
index 000000000000..73d51edba0c4
--- /dev/null
+++ b/dev-python/cwcwidth/cwcwidth-0.1.9.ebuild
@@ -0,0 +1,35 @@
+# 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
+
+DESCRIPTION="Python bindings for wc(s)width"
+HOMEPAGE="
+ https://github.com/sebastinas/cwcwidth/
+ https://pypi.org/project/cwcwidth/
+"
+SRC_URI="
+ https://github.com/sebastinas/cwcwidth/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+src_test() {
+ cd tests || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/cx_Freeze/Manifest b/dev-python/cx_Freeze/Manifest
deleted file mode 100644
index f12780ddaa16..000000000000
--- a/dev-python/cx_Freeze/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST cx_Freeze-6.13.1.gh.tar.gz 1486207 BLAKE2B aa0151fed482714e41a859059f9672950249ad7fe50fa2accaa9d6af7ddc183a8f74d87337f274849a34a404dda0c732300343b58cd872f3bd03bf275c2f4d97 SHA512 48d569fdce5c6cb100232ce3577f0a55a40f3d1dcafa884a4d62af7f27200a21eb892504b47fb7cd106f410354b70d98a8e5245382431bc1f6d990510c77cb36
diff --git a/dev-python/cx_Freeze/cx_Freeze-6.13.1.ebuild b/dev-python/cx_Freeze/cx_Freeze-6.13.1.ebuild
deleted file mode 100644
index cd758fbb0d2e..000000000000
--- a/dev-python/cx_Freeze/cx_Freeze-6.13.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=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Create standalone executables from Python scripts"
-HOMEPAGE="
- https://cx-freeze.readthedocs.io/
- https://github.com/marcelotduarte/cx_Freeze/
- https://pypi.org/project/cx-Freeze/
-"
-SRC_URI="
- https://github.com/marcelotduarte/cx_Freeze/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="PYTHON"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- dev-python/importlib_metadata[${PYTHON_USEDEP}]
- dev-util/patchelf
- virtual/libcrypt:=
- $(python_gen_cond_dep '
- dev-python/backports-zoneinfo[${PYTHON_USEDEP}]
- ' 3.8)
-"
-BDEPEND="
- test? (
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/openpyxl[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pydantic[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- # bug #491602
- "${FILESDIR}/${PN}-6.8.2-buildsystem.patch"
-)
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # new setuptools?
- tests/test_command_bdist_rpm.py::test_bdist_rpm
-)
diff --git a/dev-python/cx_Freeze/files/cx_Freeze-6.8.2-buildsystem.patch b/dev-python/cx_Freeze/files/cx_Freeze-6.8.2-buildsystem.patch
deleted file mode 100644
index 760ac42fb942..000000000000
--- a/dev-python/cx_Freeze/files/cx_Freeze-6.8.2-buildsystem.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 3149360..e06a1d3 100755
---- a/setup.py
-+++ b/setup.py
-@@ -99,8 +99,6 @@ class build_ext(setuptools.command.build_ext.build_ext):
- # macOS on Github Actions
- extra_args.append("-Wl,-export_dynamic")
- else:
-- if not self.debug:
-- extra_args.append("-s")
- extra_args.append("-Wl,-rpath,$ORIGIN/lib")
- extra_args.append("-Wl,-rpath,$ORIGIN/../lib")
- self.compiler.link_executable(
diff --git a/dev-python/cx_Freeze/metadata.xml b/dev-python/cx_Freeze/metadata.xml
deleted file mode 100644
index 07d102cf6796..000000000000
--- a/dev-python/cx_Freeze/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>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="github">marcelotduarte/cx_Freeze</remote-id>
- <remote-id type="pypi">cx-Freeze</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/cycler/Manifest b/dev-python/cycler/Manifest
index ba18bacb831f..e1179f45be66 100644
--- a/dev-python/cycler/Manifest
+++ b/dev-python/cycler/Manifest
@@ -1 +1 @@
-DIST cycler-0.11.0.gh.tar.gz 19028 BLAKE2B 7726067db988e40b833ebcef4a9122fd91753925af829a0023c08081ea7f315b84fd3a5d13731dba72d2820159da45698200ca8649b65b854d48e1a114e31d81 SHA512 cdf91b861d20710b3d77ad105e54668fafa4be69e566d6a09683c638a35aa423b542a141ca0bbffd7a6cd30c8e2a629d578be88648ab9f38a0c43405f2f39613
+DIST cycler-0.12.1.gh.tar.gz 23326 BLAKE2B a7ec89573c09f7e2e1f185915e229e346185bcd81af5b1f8a352147f50b63ed051d7d09cd63adc3f9513fbe5005afeaa72644f4ad712e86ccfcd3326485507db SHA512 f1d264de9c5e63515649aefb5937ef7a85d781c07b1c7c8fe291c969565abb18eb48d6d62f77d278746c60900c93700cbb095d280e09de768aedc2463e60d9a2
diff --git a/dev-python/cycler/cycler-0.11.0-r1.ebuild b/dev-python/cycler/cycler-0.11.0-r1.ebuild
deleted file mode 100644
index bdd6447c1339..000000000000
--- a/dev-python/cycler/cycler-0.11.0-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="Composable style cycles"
-HOMEPAGE="
- https://matplotlib.org/cycler/
- https://pypi.org/project/cycler/
- https://github.com/matplotlib/cycler"
-SRC_URI="
- https://github.com/matplotlib/cycler/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-distutils_enable_tests pytest
diff --git a/dev-python/cycler/cycler-0.12.1.ebuild b/dev-python/cycler/cycler-0.12.1.ebuild
new file mode 100644
index 000000000000..01fe7761de74
--- /dev/null
+++ b/dev-python/cycler/cycler-0.12.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 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="Composable style cycles"
+HOMEPAGE="
+ https://matplotlib.org/cycler/
+ https://pypi.org/project/cycler/
+ https://github.com/matplotlib/cycler/
+"
+SRC_URI="
+ https://github.com/matplotlib/cycler/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+SLOT="0"
+LICENSE="BSD"
+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/cypari2/Manifest b/dev-python/cypari2/Manifest
new file mode 100644
index 000000000000..0718113751e4
--- /dev/null
+++ b/dev-python/cypari2/Manifest
@@ -0,0 +1 @@
+DIST cypari2-2.1.4.gh.tar.gz 127038 BLAKE2B 0d4998841a9a630ea062d7096845771a9a250ed66b68f99988ded6442724559089e8dbbce13ef5c6ad467705c65b2ac9fc5889fa9c40b9665083af558280b81a SHA512 b5926281037aebb899c1a433a0ca106cdfafcb8cb7abb863268ff8151dbc52ee21dbe1d09dde632de1640a4cc4d37f59bebb0e379d61ac2fbdf9fffcf3ba4775
diff --git a/dev-python/cypari2/cypari2-2.1.4-r1.ebuild b/dev-python/cypari2/cypari2-2.1.4-r1.ebuild
new file mode 100644
index 000000000000..eecd9596cc46
--- /dev/null
+++ b/dev-python/cypari2/cypari2-2.1.4-r1.ebuild
@@ -0,0 +1,39 @@
+# 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=standalone
+DISTUTILS_EXT=1
+
+inherit distutils-r1
+
+DESCRIPTION="Cython interface to PARI"
+HOMEPAGE="https://github.com/sagemath/cypari2"
+
+# We're only using Github for v2.1.4 because PyPI is lagging:
+# https://github.com/sagemath/cypari2/issues/143
+SRC_URI="https://github.com/sagemath/${PN}/releases/download/${PV}/${P}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+DEPEND="sci-mathematics/pari[gmp,doc]
+ dev-python/cysignals[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+BDEPEND=">=dev-python/cython-3[${PYTHON_USEDEP}]"
+
+PATCHES=( "${FILESDIR}/${P}-regen-bindings-for-each-python.patch" )
+
+python_test(){
+ cd "${S}"/tests || die
+ "${EPYTHON}" rundoctest.py || die
+}
+
+python_install() {
+ distutils-r1_python_install
+ python_optimize
+}
diff --git a/dev-python/cypari2/files/cypari2-2.1.4-regen-bindings-for-each-python.patch b/dev-python/cypari2/files/cypari2-2.1.4-regen-bindings-for-each-python.patch
new file mode 100644
index 000000000000..cb9ba55fdd29
--- /dev/null
+++ b/dev-python/cypari2/files/cypari2-2.1.4-regen-bindings-for-each-python.patch
@@ -0,0 +1,40 @@
+Ensure that the file auto_paridecl.pxd is both (re)generated with and
+installed for each python implementation.
+
+From 248d26e3e6b1c02fdd3391f033e29d7012189d9e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fran=C3=A7ois=20Bissey?= <frp.bissey@gmail.com>
+Date: Tue, 28 Apr 2020 09:42:39 +1200
+Subject: [PATCH] move rebuild out of build_ext so it is run before everything
+
+---
+ setup.py | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 099ed3b..473fe12 100755
+--- a/setup.py
++++ b/setup.py
+@@ -13,6 +13,10 @@ from autogen.paths import include_dirs, library_dirs
+
+ ext_kwds = dict(include_dirs=include_dirs(), library_dirs=library_dirs())
+
++# Generate auto-generated sources from pari.desc
++# This needs to be done before build/build_ext so the generated pxd is moved
++# to the build directory and installed with newer setuptools.
++rebuild()
+
+ if "READTHEDOCS" in os.environ:
+ # When building with readthedocs, disable optimizations to decrease
+@@ -29,9 +33,6 @@ if "READTHEDOCS" in os.environ:
+ # Adapted from Cython's new_build_ext
+ class build_ext(_build_ext):
+ def finalize_options(self):
+- # Generate auto-generated sources from pari.desc
+- rebuild()
+-
+ self.directives = {
+ "autotestdict.cdef": True,
+ "binding": True,
+--
+2.26.2
+
diff --git a/dev-python/cypari2/metadata.xml b/dev-python/cypari2/metadata.xml
new file mode 100644
index 000000000000..f70554e6dfce
--- /dev/null
+++ b/dev-python/cypari2/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ </maintainer>
+
+ <maintainer type="person" proxied="yes">
+ <email>frp.bissey@gmail.com</email>
+ <name>François Bissey</name>
+ </maintainer>
+
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+
+ <maintainer type="project">
+ <email>sci-mathematics@gentoo.org</email>
+ <name>Gentoo Mathematics Project</name>
+ </maintainer>
+
+ <upstream>
+ <remote-id type="pypi">cypari2</remote-id>
+ <remote-id type="github">sagemath/cypari2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cysignals/Manifest b/dev-python/cysignals/Manifest
new file mode 100644
index 000000000000..d6a060c9eb1c
--- /dev/null
+++ b/dev-python/cysignals/Manifest
@@ -0,0 +1 @@
+DIST cysignals-1.11.4.tar.gz 105100 BLAKE2B c21c5cae69332885dd4b9f13d0fbe9ab836466dd699f0d51908d129107ce4922f4076fafa8dce3650983fd69d25182464f9831545a8da3535699d36d198ec6a7 SHA512 b083a62bcca71634cdd21ca6c8d1363e7754ed97d6f2ad0280b0ae97fdf1264be3dc202acf67added4c12a0815420d9641269da1212b83472ea304883d3b85ab
diff --git a/dev-python/cysignals/cysignals-1.11.4.ebuild b/dev-python/cysignals/cysignals-1.11.4.ebuild
new file mode 100644
index 000000000000..8adad553bbb2
--- /dev/null
+++ b/dev-python/cysignals/cysignals-1.11.4.ebuild
@@ -0,0 +1,30 @@
+# 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/metadata.xml b/dev-python/cysignals/metadata.xml
new file mode 100644
index 000000000000..abe39229c92a
--- /dev/null
+++ b/dev-python/cysignals/metadata.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ </maintainer>
+
+ <maintainer type="person" proxied="yes">
+ <email>frp.bissey@gmail.com</email>
+ <name>François Bissey</name>
+ </maintainer>
+
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+
+ <maintainer type="project">
+ <email>sci-mathematics@gentoo.org</email>
+ <name>Gentoo Mathematics Project</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
+ speed, it normally does not check for interrupts. The cysignals
+ package provides mechanisms to handle interrupts (and other signals
+ and errors) in Cython code.
+ </longdescription>
+
+ <upstream>
+ <remote-id type="pypi">cysignals</remote-id>
+ <remote-id type="github">sagemath/cysignals</remote-id>
+ </upstream>
+</pkgmetadata>
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 ffff50043b6b..7a68f394bfec 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
@@ -3,21 +3,26 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
DESCRIPTION="A trivial extension that just raises an exception (for testing)"
HOMEPAGE="
https://pypi.org/project/cython-test-exception-raiser/
- https://github.com/twisted/cython-test-exception-raiser/"
+ https://github.com/twisted/cython-test-exception-raiser/
+"
SRC_URI="
https://github.com/twisted/cython-test-exception-raiser/archive/v${PV}.tar.gz
- -> ${P}.gh.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"
-BDEPEND="dev-python/cython[${PYTHON_USEDEP}]"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/cython/Manifest b/dev-python/cython/Manifest
index 5590141cc0f9..460c3e92d543 100644
--- a/dev-python/cython/Manifest
+++ b/dev-python/cython/Manifest
@@ -1,2 +1,3 @@
-DIST cython-0.29.32.gh.tar.gz 2110417 BLAKE2B 008ffe325c87d165bf45afb2ff92db5286f611bbe425d0e9f18b530202135ca21f5f5ab564a4d0c6251ec2479ea0fd19207274a255fb1faf8863d3b067d17ae9 SHA512 55462792fa70d8edf60aa470627ab494918d7297fd7d282a7a54da76ee5a180233108404a1c8f3d79f6408f19b6e4f46b36e59fd47c38ede24f061f374437b6f
-DIST cython-0.29.33.gh.tar.gz 2113910 BLAKE2B 9212edfa36680a3243632d28c4f5616a7336e82ee1f96df7d5e29711056619639c9a8fe9bbf9aea0a86aed39e836dc6eaa112ad35080f530add6309ccd09c53c SHA512 85f5ba7159d8793dbda980140b26086727f356a71d78f8522419657841d07b865d09c2f0a0f77d398669d071c1d261060235321a19eb7808e35d24f8ac71560d
+DIST cython-3.0.10.gh.tar.gz 2771679 BLAKE2B f0813afc291bdc4940cd6770a368eca4f6d9fd728e41e9c341970512196154be900600146f98ce1e5a056eaeeda2df2a59fea2a9973c3ec275fe605bfd12e418 SHA512 97aa831cea96c1f3c51653c51fadb0aea8bdfdb076a2c898862637f52b826bcb9162d1b7aade3304c5650d0b894cb1083052f036365d79cd3d390e0486b33ac5
+DIST cython-3.0.8.gh.tar.gz 2764668 BLAKE2B 03202ea480fa398d2b0893cc96185467009c783cf4451fc5d1c09ec229398bc084276680ed2b64acf63253744f827427e03674be3e5985d5a2912d9f338c786a SHA512 1070fc278401990595d177b0e6396bc1eba2ea8234a7c5bb26399b6b7284de7791ee5fa60ef74d06d0f4120b9c877bfd7703a7d701838f1634737526c614b860
+DIST cython-3.0.9.gh.tar.gz 2769345 BLAKE2B 2a21b5e7060727d727902a08d7e038dacc047b724ebaa496ba5768542e28eec3c6198062ac3dd774a4321204752b373516f193f01bc6951e5f38b6029754647e SHA512 7899474882faab14716973783bbb46b981eab48192791acbbd06133efee83bfa9ace0e9a0272b0a44061a95ed94cdceaa98c4100f843220f5987791e36fa00e6
diff --git a/dev-python/cython/cython-0.29.32.ebuild b/dev-python/cython/cython-0.29.32.ebuild
deleted file mode 100644
index d22db93be6c9..000000000000
--- a/dev-python/cython/cython-0.29.32.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-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}]
- ' python3_{8..10})
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
- "${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.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}" pypy3 python3.11; 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 --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-0.29.33.ebuild b/dev-python/cython/cython-0.29.33.ebuild
deleted file mode 100644
index fa9326ed4291..000000000000
--- a/dev-python/cython/cython-0.29.33.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-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}]
- ' python3_{8..10})
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
- "${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.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}" pypy3 python3.11; 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 --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..bc5b156b9db0
--- /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 )
+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.8.ebuild b/dev-python/cython/cython-3.0.8.ebuild
new file mode 100644
index 000000000000..65a4fd8e36be
--- /dev/null
+++ b/dev-python/cython/cython-3.0.8.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 )
+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.9.ebuild b/dev-python/cython/cython-3.0.9.ebuild
new file mode 100644
index 000000000000..3b1f0323887f
--- /dev/null
+++ b/dev-python/cython/cython-3.0.9.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 )
+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-0.29.23-pythran-parallel-install.patch b/dev-python/cython/files/cython-0.29.23-pythran-parallel-install.patch
new file mode 100644
index 000000000000..450007b5663f
--- /dev/null
+++ b/dev-python/cython/files/cython-0.29.23-pythran-parallel-install.patch
@@ -0,0 +1,20 @@
+An empty directory in site-packages is a valid Python module, unfortunately, because
+of namespaces. If installing packages in parallel, the pythran module might "exist"
+but be empty (hence no __version__ attribute). Catch AttributeError to avoid a narrow
+race.
+
+See https://bugs.gentoo.org/902713.
+
+This might still be a Portage issue if there's a substantial delay between creating
+the directory and installing the remaining files though.
+--- a/Cython/Compiler/Pythran.py
++++ b/Cython/Compiler/Pythran.py
+@@ -10,7 +10,7 @@ try:
+ import pythran
+ pythran_is_pre_0_9 = tuple(map(int, pythran.__version__.split('.')[0:2])) < (0, 9)
+ pythran_is_pre_0_9_6 = tuple(map(int, pythran.__version__.split('.')[0:3])) < (0, 9, 6)
+-except ImportError:
++except (AttributeError, ImportError):
+ pythran = None
+ pythran_is_pre_0_9 = True
+ pythran_is_pre_0_9_6 = True
diff --git a/dev-python/daemonize/daemonize-2.5.0-r1.ebuild b/dev-python/daemonize/daemonize-2.5.0-r1.ebuild
index 9ea2fed9c429..e051c0dab630 100644
--- a/dev-python/daemonize/daemonize-2.5.0-r1.ebuild
+++ b/dev-python/daemonize/daemonize-2.5.0-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/daemonize/metadata.xml b/dev-python/daemonize/metadata.xml
index d510fea9869a..013f04abca85 100644
--- a/dev-python/daemonize/metadata.xml
+++ b/dev-python/daemonize/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>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">thesharp/daemonize</remote-id>
<remote-id type="pypi">daemonize</remote-id>
diff --git a/dev-python/dask-expr/Manifest b/dev-python/dask-expr/Manifest
new file mode 100644
index 000000000000..d1675624e602
--- /dev/null
+++ b/dev-python/dask-expr/Manifest
@@ -0,0 +1,6 @@
+DIST dask-expr-1.0.1.gh.tar.gz 233058 BLAKE2B 2e5f64b75e4786e66b6ccab73af8e4a2fa5f7a3dce9cdce801769a2d85d28a0f7657c306f7e8d3458490391dcb9ae967d344832fcd530ef25fd7ee7c747a89b4 SHA512 c779f0e8e8a7a9ed650f58f4900950b72a4915c899dffa2641f707d8db1537213ea67bafc983fb28e50d16e894e8f9d11db9ae77cee9131b273f7aa8e98e6e7c
+DIST dask-expr-1.0.10.gh.tar.gz 242027 BLAKE2B 47965f92a263c14c406732d17789b7cc42f2d5114ee47624a932cb6981760e2a9a9eebe161771d660dbff2269a771bad0c3681e6ba21cf968aa197be2675de5a SHA512 74ab20868b8b853ad52c2aed47d0b951f1402d4a7681566c8f8b5ad90c9d088dfffc7f9e6913564f09a192926f66d1e3a72af0a88ba3b04a114ab92d04203af3
+DIST dask-expr-1.0.11.gh.tar.gz 242347 BLAKE2B 38b35e4558fc589738d98b59bcaa378351dfa11110c3a7fd7919b709db1ef5b5b97fd431aa2fc07ba69ec41012c91667873615fea763efee2d8f07b99eee910e SHA512 ddd4cd3582dc843a3dd7702f5a457df44d97b7b3828629d702c209f4b84fc1410b059029f82dc167ebefbf3de148aed7f54ecc69241c179c86bf66f9bbd19f41
+DIST dask-expr-1.0.5.gh.tar.gz 239409 BLAKE2B 0fae8540f40cbdead823f300a68df239bb838bb88d34c000b6d29ee451609a4cfc4422586cbf1fc3d2e10b50ffab6e8a2414c14c00635d929d92d7e40b1abff5 SHA512 3baf9e1aca78bc8158bce0e6beb323e511fa5717578bb10bfce27ec38a8f7b6e25b21edeffc669a1ac5f4a987dbbd948bba0f4375f3c5b329d13fab7093708ea
+DIST dask-expr-1.0.6.gh.tar.gz 241469 BLAKE2B 1b73050a19a2050bda507aaabe379dc3d65e1ee631da2eda55152bb544cccc1429da9503731a9a751b63914e7cbe6501ae7736550952b2273e3ba7fca9e61ae1 SHA512 f69efb9a2fe3382715c5e358765e28995fbca7b1eb21f7564d61ae114b50cb76c145f0ce381a09232e589dab1df8ef72c30d166881f54e4f7497eb31a9fff8ea
+DIST dask-expr-1.0.9.gh.tar.gz 241840 BLAKE2B 761b5cbb4b6cc1de3efb73e9f1ff2a5e1d31dd7ffad840a0d282a560e91b115f4eb0ed1e596fdb26c96eca894a6ac23e7b3605c26945501156cdf2809e887150 SHA512 ae49eb6ed1dbfe326f9bdb8ec0c09c66a90e071a04b30bd8877f8fcd800346b9433412f05231acc83a9aec7c81dff8867b46fd491746370f6da322d22f4aeb64
diff --git a/dev-python/dask-expr/dask-expr-1.0.1.ebuild b/dev-python/dask-expr/dask-expr-1.0.1.ebuild
new file mode 100644
index 000000000000..a4af8d2303f6
--- /dev/null
+++ b/dev-python/dask-expr/dask-expr-1.0.1.ebuild
@@ -0,0 +1,62 @@
+# 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
+
+DESCRIPTION="High Level Expressions for Dask"
+HOMEPAGE="
+ https://github.com/dask/dask-expr/
+ https://pypi.org/project/dask-expr/
+"
+# pypi tarball removes tests, as of 1.0.1
+SRC_URI="
+ https://github.com/dask/dask-expr/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/dask-2024.3.0[${PYTHON_USEDEP}]
+ >=dev-python/pyarrow-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pandas-2[${PYTHON_USEDEP}]
+"
+# TODO: make pandas depend on pyarrow unconditionally? we're having
+# transitive deps here.
+BDEPEND="
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ test? (
+ dev-libs/apache-arrow[parquet,snappy]
+ dev-python/pyarrow[parquet,${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin
+ sed -i -e '/dask/s:==:>=:' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires distributed
+ 'dask_expr/tests/test_shuffle.py::test_respect_context_shuffle[shuffle]'
+ )
+ local EPYTEST_IGNORE=(
+ # requires distributed
+ dask_expr/io/tests/test_parquet.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/dask-expr/dask-expr-1.0.10.ebuild b/dev-python/dask-expr/dask-expr-1.0.10.ebuild
new file mode 100644
index 000000000000..9a011f9034c4
--- /dev/null
+++ b/dev-python/dask-expr/dask-expr-1.0.10.ebuild
@@ -0,0 +1,63 @@
+# 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
+
+DESCRIPTION="High Level Expressions for Dask"
+HOMEPAGE="
+ https://github.com/dask/dask-expr/
+ https://pypi.org/project/dask-expr/
+"
+# pypi tarball removes tests, as of 1.0.1
+SRC_URI="
+ https://github.com/dask/dask-expr/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/dask-2024.4.1[${PYTHON_USEDEP}]
+ >=dev-python/pyarrow-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pandas-2[${PYTHON_USEDEP}]
+"
+# TODO: make pandas depend on pyarrow unconditionally? we're having
+# transitive deps here.
+BDEPEND="
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ test? (
+ dev-libs/apache-arrow[parquet,snappy]
+ dev-python/pyarrow[parquet,${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin
+ sed -i -e '/dask/s:==:>=:' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires distributed
+ 'dask_expr/tests/test_shuffle.py::test_respect_context_shuffle[shuffle]'
+ )
+ local EPYTEST_IGNORE=(
+ # requires distributed
+ dask_expr/io/tests/test_parquet.py
+ dask_expr/tests/test_diagnostics.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/dask-expr/dask-expr-1.0.11.ebuild b/dev-python/dask-expr/dask-expr-1.0.11.ebuild
new file mode 100644
index 000000000000..9a011f9034c4
--- /dev/null
+++ b/dev-python/dask-expr/dask-expr-1.0.11.ebuild
@@ -0,0 +1,63 @@
+# 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
+
+DESCRIPTION="High Level Expressions for Dask"
+HOMEPAGE="
+ https://github.com/dask/dask-expr/
+ https://pypi.org/project/dask-expr/
+"
+# pypi tarball removes tests, as of 1.0.1
+SRC_URI="
+ https://github.com/dask/dask-expr/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/dask-2024.4.1[${PYTHON_USEDEP}]
+ >=dev-python/pyarrow-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pandas-2[${PYTHON_USEDEP}]
+"
+# TODO: make pandas depend on pyarrow unconditionally? we're having
+# transitive deps here.
+BDEPEND="
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ test? (
+ dev-libs/apache-arrow[parquet,snappy]
+ dev-python/pyarrow[parquet,${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin
+ sed -i -e '/dask/s:==:>=:' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires distributed
+ 'dask_expr/tests/test_shuffle.py::test_respect_context_shuffle[shuffle]'
+ )
+ local EPYTEST_IGNORE=(
+ # requires distributed
+ dask_expr/io/tests/test_parquet.py
+ dask_expr/tests/test_diagnostics.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/dask-expr/dask-expr-1.0.5.ebuild b/dev-python/dask-expr/dask-expr-1.0.5.ebuild
new file mode 100644
index 000000000000..9e22366c1f75
--- /dev/null
+++ b/dev-python/dask-expr/dask-expr-1.0.5.ebuild
@@ -0,0 +1,63 @@
+# 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
+
+DESCRIPTION="High Level Expressions for Dask"
+HOMEPAGE="
+ https://github.com/dask/dask-expr/
+ https://pypi.org/project/dask-expr/
+"
+# pypi tarball removes tests, as of 1.0.1
+SRC_URI="
+ https://github.com/dask/dask-expr/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/dask-2024.3.1[${PYTHON_USEDEP}]
+ >=dev-python/pyarrow-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pandas-2[${PYTHON_USEDEP}]
+"
+# TODO: make pandas depend on pyarrow unconditionally? we're having
+# transitive deps here.
+BDEPEND="
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ test? (
+ dev-libs/apache-arrow[parquet,snappy]
+ dev-python/pyarrow[parquet,${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin
+ sed -i -e '/dask/s:==:>=:' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires distributed
+ 'dask_expr/tests/test_shuffle.py::test_respect_context_shuffle[shuffle]'
+ )
+ local EPYTEST_IGNORE=(
+ # requires distributed
+ dask_expr/io/tests/test_parquet.py
+ dask_expr/tests/test_diagnostics.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/dask-expr/dask-expr-1.0.6.ebuild b/dev-python/dask-expr/dask-expr-1.0.6.ebuild
new file mode 100644
index 000000000000..c6b7e06e8a2f
--- /dev/null
+++ b/dev-python/dask-expr/dask-expr-1.0.6.ebuild
@@ -0,0 +1,63 @@
+# 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
+
+DESCRIPTION="High Level Expressions for Dask"
+HOMEPAGE="
+ https://github.com/dask/dask-expr/
+ https://pypi.org/project/dask-expr/
+"
+# pypi tarball removes tests, as of 1.0.1
+SRC_URI="
+ https://github.com/dask/dask-expr/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/dask-2024.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pyarrow-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pandas-2[${PYTHON_USEDEP}]
+"
+# TODO: make pandas depend on pyarrow unconditionally? we're having
+# transitive deps here.
+BDEPEND="
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ test? (
+ dev-libs/apache-arrow[parquet,snappy]
+ dev-python/pyarrow[parquet,${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin
+ sed -i -e '/dask/s:==:>=:' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires distributed
+ 'dask_expr/tests/test_shuffle.py::test_respect_context_shuffle[shuffle]'
+ )
+ local EPYTEST_IGNORE=(
+ # requires distributed
+ dask_expr/io/tests/test_parquet.py
+ dask_expr/tests/test_diagnostics.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/dask-expr/dask-expr-1.0.9.ebuild b/dev-python/dask-expr/dask-expr-1.0.9.ebuild
new file mode 100644
index 000000000000..c6b7e06e8a2f
--- /dev/null
+++ b/dev-python/dask-expr/dask-expr-1.0.9.ebuild
@@ -0,0 +1,63 @@
+# 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
+
+DESCRIPTION="High Level Expressions for Dask"
+HOMEPAGE="
+ https://github.com/dask/dask-expr/
+ https://pypi.org/project/dask-expr/
+"
+# pypi tarball removes tests, as of 1.0.1
+SRC_URI="
+ https://github.com/dask/dask-expr/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/dask-2024.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pyarrow-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pandas-2[${PYTHON_USEDEP}]
+"
+# TODO: make pandas depend on pyarrow unconditionally? we're having
+# transitive deps here.
+BDEPEND="
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ test? (
+ dev-libs/apache-arrow[parquet,snappy]
+ dev-python/pyarrow[parquet,${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin
+ sed -i -e '/dask/s:==:>=:' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires distributed
+ 'dask_expr/tests/test_shuffle.py::test_respect_context_shuffle[shuffle]'
+ )
+ local EPYTEST_IGNORE=(
+ # requires distributed
+ dask_expr/io/tests/test_parquet.py
+ dask_expr/tests/test_diagnostics.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/dask-expr/metadata.xml b/dev-python/dask-expr/metadata.xml
new file mode 100644
index 000000000000..b20b7197b52f
--- /dev/null
+++ b/dev-python/dask-expr/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">dask/dask-expr</remote-id>
+ <remote-id type="pypi">dask-expr</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/dask/Manifest b/dev-python/dask/Manifest
index 9266f9289af2..87e70c4347b1 100644
--- a/dev-python/dask/Manifest
+++ b/dev-python/dask/Manifest
@@ -1,3 +1,6 @@
-DIST dask-2022.12.1.gh.tar.gz 8233697 BLAKE2B 90caeb7a8a9abc03b035c787ae2f26d5dacbd8da9314b65deb7c38e1990a7d3067b4066c8f2bbb6d8179d03af471374df28e511f000097cb7b031e692e72ccd9 SHA512 1945f5737de55c559aff14c67efeee00afef18ff5dbdc07aa79affd89eb45a0808078bbc7ce24c904168e7c7a74a678a8dc90ed129593777dd25598cb45372b6
-DIST dask-2023.1.0.gh.tar.gz 8234373 BLAKE2B 39f4d6336604a66ac769732a36c718b983d2fc37a59276c4140e35354c5c469b5edbff2333ae0b52f3f1462b85ae5c11fc994a99a79330394fff0d7ead14035f SHA512 99650fd2d3805e557ee91bd578e8e4af7f12cc78bbaf72f406d13ff7805591ca0f307d78bb68fdb320dab82da23def01244708e31a87d1a8b5b18dcec8a048fb
-DIST dask-2023.1.1.gh.tar.gz 8497754 BLAKE2B ff9f9f738a557fa0b6a57e0a006fb0c7a29d37c38d4d6ee8656e2e5519a44d7ac6235f106c09c8d28b402bc32909bd065df1cb3d2f9baf8b0ac86bf5ed858969 SHA512 7638a8c8213bec4870bfc1d649bec6ab50354e20df722c3f715b9e438435838253907ead4c13a73d5f1570f63d745059e579274fd0e85c5cdf64411e9d8a761b
+DIST dask-2024.2.0.gh.tar.gz 9335533 BLAKE2B c23bf3da4624b187f30cf0ca5fe885a705e8e4be9b9d919ff491399d1029d43c4343159acf9bd6a61611af7ecacd8c00bd1cb199176b742ad3c556e2a5da65c9 SHA512 8a0b5c17aa34b309aed370852ddfb25cde220de87fe9c1afd8d88f7a4abad9f4523c90424f8a5cc1d7186850f35071ee10e7a33396ca2c4c4be975783cc5fe2e
+DIST dask-2024.2.1.gh.tar.gz 9341330 BLAKE2B f5d02fd7389711c5d7b048e541c28af87a8425931277ce035163c16699d7275b802afc90c71256ac268f67390afc9dd4a393df2ddeedac6e378bf787edf43e41 SHA512 3863ec9126ba9fa0cf067a62d3d763d7cf52c6e49cdbfc258336b4536922c46f23443ff8aa4eb49176a38d2a70e03e2d5ca8a2c4b96c98d474654eec4e44c9c5
+DIST dask-2024.3.0.gh.tar.gz 9342813 BLAKE2B d71d3ed2531517a1d01ab72862484b86a1080ecff056c11041ab723e67369794ca3c1f486cd18019f38e49deda65f25acb566e4431c6a1121ddfb930669b20b1 SHA512 be56244c7a96cf43062e7e3658befb73bf318729a2bb906d78ee8ba91a1f4fcfab22e6b01c00cda9bfb8de3f74adf8fc1a5dfb6681e51deb00ba5011dd1dc325
+DIST dask-2024.3.1.gh.tar.gz 9342821 BLAKE2B 2d85be59caa48005b1951d56c4af5991bc378932cac34fc9fcfdd4a55027cacf60738af11eab87d13f764b90d7cba74ba239e10949a8231d0e08d4e5a2eaf936 SHA512 465a489cdfd59eb7b20a4736549a0cee9bedb5b864339b1040c5490c70a4a7486a83bdf4d951a1ea15529685838dcdc4d2554b03ebd9b8227cce0d270e80a7cd
+DIST dask-2024.4.0.gh.tar.gz 9344730 BLAKE2B ef2da6ea07fae6b31ba0b02489aee64758348f4efff4d7a669a79464d878c6e2ca689ebcd4eacac479a12b81f68158b44a697d02ffe7d25f71121d38dc1e0753 SHA512 35ffd5f36eaa630730e64f3af6b256cb5225f665aaa7b89381e160f2dcb6f84c3b968a4c72fd2def687ac8432963555c0cd85e4a654a80b4576f1c677b0bd9bf
+DIST dask-2024.4.1.gh.tar.gz 9345547 BLAKE2B 5ac11e23e10985eb9641734d016b84600a67b4d30dfe999f1c7b6c4bb279ba622adf58262721b4c37701a265c02e22d989e94031a1d0b53435d1ecef054704d5 SHA512 683f548da4f0004181b912c1672d6bbefc33f7ab4f3fecee6634c13691ea718560cbaed6391e2380ae776ee1db850fc90bcc8feeea34dc85dd87332cff484726
diff --git a/dev-python/dask/dask-2022.12.1-r2.ebuild b/dev-python/dask/dask-2022.12.1-r2.ebuild
deleted file mode 100644
index e51e92b4be5a..000000000000
--- a/dev-python/dask/dask-2022.12.1-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_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-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 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/click-7.0[${PYTHON_USEDEP}]
- >=dev-python/cloudpickle-0.2.2[${PYTHON_USEDEP}]
- >=dev-python/fsspec-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.15.1[${PYTHON_USEDEP}]
- >=dev-python/pandas-0.25.0[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/partd-0.3.10[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
- >=dev-python/toolz-0.8.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/toolz[${PYTHON_USEDEP}]
- test? (
- dev-python/moto[${PYTHON_USEDEP}]
- dev-python/numexpr[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # another test relying on -Werror
- "dask/array/tests/test_overlap.py::test_map_overlap_no_depth[None]"
- # 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]"
-)
-
-python_test() {
- epytest -p no:flaky -m "not network"
-}
diff --git a/dev-python/dask/dask-2023.1.0-r1.ebuild b/dev-python/dask/dask-2023.1.0-r1.ebuild
deleted file mode 100644
index 190dd2df1ce7..000000000000
--- a/dev-python/dask/dask-2023.1.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=( python3_{10..11} )
-
-inherit distutils-r1
-
-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 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/click-7.0[${PYTHON_USEDEP}]
- >=dev-python/cloudpickle-0.2.2[${PYTHON_USEDEP}]
- >=dev-python/fsspec-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.15.1[${PYTHON_USEDEP}]
- >=dev-python/pandas-0.25.0[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/partd-0.3.10[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
- >=dev-python/toolz-0.8.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/toolz[${PYTHON_USEDEP}]
- test? (
- dev-python/moto[${PYTHON_USEDEP}]
- dev-python/numexpr[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # another test relying on -Werror
- "dask/array/tests/test_overlap.py::test_map_overlap_no_depth[None]"
- # 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]"
-)
-
-python_test() {
- epytest -p no:flaky -m "not network"
-}
diff --git a/dev-python/dask/dask-2023.1.1.ebuild b/dev-python/dask/dask-2023.1.1.ebuild
deleted file mode 100644
index ec63a8cffc84..000000000000
--- a/dev-python/dask/dask-2023.1.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
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-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 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/cloudpickle-0.2.2[${PYTHON_USEDEP}]
- >=dev-python/fsspec-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.15.1[${PYTHON_USEDEP}]
- >=dev-python/pandas-0.25.0[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/partd-0.3.10[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
- >=dev-python/toolz-0.8.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/toolz[${PYTHON_USEDEP}]
- test? (
- dev-python/moto[${PYTHON_USEDEP}]
- dev-python/numexpr[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # another test relying on -Werror
- "dask/array/tests/test_overlap.py::test_map_overlap_no_depth[None]"
- # 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]"
- # require sqlalchemy<2.0
- dask/dataframe/io/tests/test_sql.py
-)
-
-src_prepare() {
- # fails with sqlalchemy-2.0, even though we don't use it x_x
- sed -i -e '/RemovedIn20Warning/d' setup.cfg || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- epytest -p no:flaky -m "not network"
-}
diff --git a/dev-python/dask/dask-2024.2.0.ebuild b/dev-python/dask/dask-2024.2.0.ebuild
new file mode 100644
index 000000000000..d62a6d3c2376
--- /dev/null
+++ b/dev-python/dask/dask-2024.2.0.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} )
+
+inherit distutils-r1
+
+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}]
+ )
+"
+
+EPYTEST_XDIST=1
+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
+ dask/dataframe/tests/test_dataframe.py::test_view
+ dask/dataframe/tests/test_shuffle.py::test_npartitions_auto_raises_deprecation_warning
+ # 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
+ # regression with new pandas (?)
+ dask/dataframe/tests/test_multi.py::test_concat5
+ )
+
+ 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"
+}
diff --git a/dev-python/dask/dask-2024.2.1.ebuild b/dev-python/dask/dask-2024.2.1.ebuild
new file mode 100644
index 000000000000..10c5ffba98b2
--- /dev/null
+++ b/dev-python/dask/dask-2024.2.1.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} )
+
+inherit distutils-r1
+
+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}]
+ )
+"
+
+EPYTEST_XDIST=1
+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
+ dask/dataframe/tests/test_dataframe.py::test_view
+ dask/dataframe/tests/test_shuffle.py::test_npartitions_auto_raises_deprecation_warning
+ # 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
+ # regression with new pandas (?)
+ dask/dataframe/tests/test_multi.py::test_concat5
+ )
+
+ 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" -o xfail_strict=False
+}
diff --git a/dev-python/dask/dask-2024.3.0.ebuild b/dev-python/dask/dask-2024.3.0.ebuild
new file mode 100644
index 000000000000..ab481660322a
--- /dev/null
+++ b/dev-python/dask/dask-2024.3.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_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+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 ~arm64 ~riscv"
+
+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/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}]
+ $(python_gen_cond_dep '
+ >=dev-python/importlib-metadata-4.13.0[${PYTHON_USEDEP}]
+ ' 3.{10..11})
+"
+BDEPEND="
+ dev-python/toolz[${PYTHON_USEDEP}]
+ >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
+ test? (
+ dev-libs/apache-arrow[parquet,snappy]
+ dev-python/dask-expr[${PYTHON_USEDEP}]
+ dev-python/moto[${PYTHON_USEDEP}]
+ dev-python/numexpr[${PYTHON_USEDEP}]
+ dev-python/pyarrow[parquet,${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+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
+ dask/dataframe/tests/test_dataframe.py::test_view
+ dask/dataframe/tests/test_shuffle.py::test_npartitions_auto_raises_deprecation_warning
+ # 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
+ # regression with new pandas (?)
+ dask/dataframe/tests/test_multi.py::test_concat5
+ )
+
+ 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" -o xfail_strict=False
+}
diff --git a/dev-python/dask/dask-2024.3.1.ebuild b/dev-python/dask/dask-2024.3.1.ebuild
new file mode 100644
index 000000000000..a8fadd40964c
--- /dev/null
+++ b/dev-python/dask/dask-2024.3.1.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed 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="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 ~arm64 ~riscv"
+
+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/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}]
+ $(python_gen_cond_dep '
+ >=dev-python/importlib-metadata-4.13.0[${PYTHON_USEDEP}]
+ ' 3.{10..11})
+"
+BDEPEND="
+ dev-python/toolz[${PYTHON_USEDEP}]
+ >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
+ test? (
+ dev-libs/apache-arrow[parquet,snappy]
+ dev-python/dask-expr[${PYTHON_USEDEP}]
+ dev-python/moto[${PYTHON_USEDEP}]
+ dev-python/numexpr[${PYTHON_USEDEP}]
+ dev-python/pyarrow[parquet,${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+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
+ dask/dataframe/tests/test_dataframe.py::test_view
+ dask/dataframe/tests/test_shuffle.py::test_npartitions_auto_raises_deprecation_warning
+ # 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
+ # regression with new pandas (?)
+ dask/dataframe/tests/test_multi.py::test_concat5
+ )
+
+ 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" -o xfail_strict=False
+}
diff --git a/dev-python/dask/dask-2024.4.0.ebuild b/dev-python/dask/dask-2024.4.0.ebuild
new file mode 100644
index 000000000000..ab481660322a
--- /dev/null
+++ b/dev-python/dask/dask-2024.4.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_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+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 ~arm64 ~riscv"
+
+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/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}]
+ $(python_gen_cond_dep '
+ >=dev-python/importlib-metadata-4.13.0[${PYTHON_USEDEP}]
+ ' 3.{10..11})
+"
+BDEPEND="
+ dev-python/toolz[${PYTHON_USEDEP}]
+ >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
+ test? (
+ dev-libs/apache-arrow[parquet,snappy]
+ dev-python/dask-expr[${PYTHON_USEDEP}]
+ dev-python/moto[${PYTHON_USEDEP}]
+ dev-python/numexpr[${PYTHON_USEDEP}]
+ dev-python/pyarrow[parquet,${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+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
+ dask/dataframe/tests/test_dataframe.py::test_view
+ dask/dataframe/tests/test_shuffle.py::test_npartitions_auto_raises_deprecation_warning
+ # 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
+ # regression with new pandas (?)
+ dask/dataframe/tests/test_multi.py::test_concat5
+ )
+
+ 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" -o xfail_strict=False
+}
diff --git a/dev-python/dask/dask-2024.4.1.ebuild b/dev-python/dask/dask-2024.4.1.ebuild
new file mode 100644
index 000000000000..1d1841fc6902
--- /dev/null
+++ b/dev-python/dask/dask-2024.4.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_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+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 ~arm64 ~riscv"
+
+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/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}]
+ $(python_gen_cond_dep '
+ >=dev-python/importlib-metadata-4.13.0[${PYTHON_USEDEP}]
+ ' 3.{10..11})
+"
+BDEPEND="
+ dev-python/toolz[${PYTHON_USEDEP}]
+ >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
+ test? (
+ dev-libs/apache-arrow[parquet,snappy]
+ dev-python/dask-expr[${PYTHON_USEDEP}]
+ dev-python/moto[${PYTHON_USEDEP}]
+ dev-python/numexpr[${PYTHON_USEDEP}]
+ dev-python/pyarrow[parquet,${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+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
+ dask/dataframe/tests/test_dataframe.py::test_view
+ dask/dataframe/tests/test_shuffle.py::test_npartitions_auto_raises_deprecation_warning
+ # 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
+ dask/dataframe/tests/test_dataframe.py::test_attribute_assignment
+ # require sqlalchemy<2.0
+ dask/dataframe/io/tests/test_sql.py
+ # crashes
+ dask/tests/test_base.py::test_tokenize_object_with_recursion_error
+ # regression with new pandas (?)
+ dask/dataframe/tests/test_multi.py::test_concat5
+ )
+
+ 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" -o xfail_strict=False
+}
diff --git a/dev-python/dbfread/Manifest b/dev-python/dbfread/Manifest
index 0d551756ca38..e7f589d475b5 100644
--- a/dev-python/dbfread/Manifest
+++ b/dev-python/dbfread/Manifest
@@ -1,2 +1,2 @@
-DIST dbfread-2.0.7-src.tar.gz 33045 BLAKE2B 96798f00aba4c30e7e83b468f368ca6730a7e095c9fec5bf5515ac6a152022adbf5339cd9e68e85f4eccac211ed4e307b9abf22249ef6420d722fa213210d7d7 SHA512 cf591fa5800e5471025175a4bbbb54cb26dc2a83bf328776e4386860370d9421edd9edd62cb9e3d463794d526c561a0f4744bb67b5e376edd471dc95100bc2c7
+DIST dbfread-2.0.7.gh.tar.gz 33045 BLAKE2B 96798f00aba4c30e7e83b468f368ca6730a7e095c9fec5bf5515ac6a152022adbf5339cd9e68e85f4eccac211ed4e307b9abf22249ef6420d722fa213210d7d7 SHA512 cf591fa5800e5471025175a4bbbb54cb26dc2a83bf328776e4386860370d9421edd9edd62cb9e3d463794d526c561a0f4744bb67b5e376edd471dc95100bc2c7
DIST dbfread-2.0.7.tar.gz 33212 BLAKE2B 03c9a0d93b13c7573b5bcec6c5af1ac43bd00ead2b3e83638f45344b2344062e86d764b095e699afdaea2405176ee15122c975a2f72b25bd167f5faaaf33043b SHA512 86c3a29e351b985984be67401a6dfe3e39cd92451a122788ade83d65313dde37a3706ce36c4365bd36ba1df62ee057b625f1e0f077aa4a248c7456258189f548
diff --git a/dev-python/dbfread/dbfread-2.0.7-r1.ebuild b/dev-python/dbfread/dbfread-2.0.7-r1.ebuild
index 0239c3505ed4..71d9e4719c1a 100644
--- a/dev-python/dbfread/dbfread-2.0.7-r1.ebuild
+++ b/dev-python/dbfread/dbfread-2.0.7-r1.ebuild
@@ -4,18 +4,25 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Read DBF Files with Python"
-HOMEPAGE="https://github.com/olemb/dbfread https://pypi.org/project/dbfread/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- test? ( https://github.com/olemb/dbfread/archive/refs/tags/${PV}.tar.gz -> ${P}-src.tar.gz )"
+HOMEPAGE="
+ https://github.com/olemb/dbfread/
+ https://pypi.org/project/dbfread/
+"
+SRC_URI+="
+ test? (
+ https://github.com/olemb/dbfread/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ )
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64-macos ~x64-macos"
distutils_enable_tests pytest
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..72eade342d51 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..12} )
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 5680d1420eba..1a653ddb7cd5 100644
--- a/dev-python/dbus-python/dbus-python-1.3.2.ebuild
+++ b/dev-python/dbus-python/dbus-python-1.3.2.ebuild
@@ -3,22 +3,23 @@
EAPI=7
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="threads(+)"
inherit autotools python-r1
DESCRIPTION="Python bindings for the D-Bus messagebus"
-HOMEPAGE="https://www.freedesktop.org/wiki/Software/DBusBindings/ https://dbus.freedesktop.org/doc/dbus-python/"
+HOMEPAGE="
+ https://www.freedesktop.org/wiki/Software/DBusBindings/
+ https://dbus.freedesktop.org/doc/dbus-python/
+"
SRC_URI="https://dbus.freedesktop.org/releases/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
IUSE="doc examples test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
RESTRICT="!test? ( test )"
RDEPEND="${PYTHON_DEPS}
@@ -28,17 +29,21 @@ RDEPEND="${PYTHON_DEPS}
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
- doc? ( $(python_gen_any_dep '
+ doc? (
+ $(python_gen_any_dep '
dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
- ') )
- test? ( dev-python/pygobject:3[${PYTHON_USEDEP}]
- dev-python/tappy[${PYTHON_USEDEP}] )
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ ')
+ )
+ test? (
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ dev-python/tappy[${PYTHON_USEDEP}]
+ )
"
python_check_deps() {
python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" \
- "dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]"
+ "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
}
src_prepare() {
diff --git a/dev-python/dbutils/Manifest b/dev-python/dbutils/Manifest
new file mode 100644
index 000000000000..7cf8936feded
--- /dev/null
+++ b/dev-python/dbutils/Manifest
@@ -0,0 +1,2 @@
+DIST DBUtils-3.0.3.tar.gz 94039 BLAKE2B 3b936f42945deb69bd96bd088529f4839452afcd3a9cae66c4d8ff6a16fc3dd2a17e905debdbea3f0122199d8a6e0c664b222a5fa3b358a9fd54b2f8b5bba6ff SHA512 bca7939e2f9f736861b76f60356ea877f346129f66263363fe5dc0201412258653fb45af2a5caad0f0f0b9ebd19f5415113a75168cc28a664418af5475eb0096
+DIST DBUtils-3.1.0.tar.gz 94672 BLAKE2B 296a1fad729d355c2607616e5a3fca2f0131ab6040d2424a15ed4583ee0e22697f5c806d3b3789f7d645bff30dbeca0c49b42a901047e1b8e39fb76143f6bccc SHA512 24ffa16524758c27a617a86afc2d41be0336a498afe88ea6021b9304ecbfa5c98f88221503713e662509ae2a4c36974fad9faea17047ffb2d8b4cd728b44735d
diff --git a/dev-python/dbutils/dbutils-3.0.3.ebuild b/dev-python/dbutils/dbutils-3.0.3.ebuild
new file mode 100644
index 000000000000..663d7ef65954
--- /dev/null
+++ b/dev-python/dbutils/dbutils-3.0.3.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
+PYPI_PN=DBUtils
+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/dbutils-3.1.0.ebuild b/dev-python/dbutils/dbutils-3.1.0.ebuild
new file mode 100644
index 000000000000..35c376551ebd
--- /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..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 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 a6d9b01d924d..79cc787a92ae 100644
--- a/dev-python/ddt/Manifest
+++ b/dev-python/ddt/Manifest
@@ -1 +1 @@
-DIST ddt-1.6.0.gh.tar.gz 19615 BLAKE2B f79e25e9da39615d85f000c1029babef64725b159a2b77003efe9f9c5869fb26087fa20e1a58eea485479b12ee89c602076613a9d50711347a775a09c4bbb180 SHA512 c5ea14d3f60384676d9631c84d938b774dd360cea9b0ee1b111692dc2bc06238b5ffd3ab8950207b77aa007bac0ac79b290533a2532be4bee68b642629843a82
+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 8b8fa77ed212..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_{9..11} 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.2.ebuild b/dev-python/ddt/ddt-1.7.2.ebuild
new file mode 100644
index 000000000000..324f6de7e917
--- /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..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/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 fd0d3a2f2e84..000000000000
--- a/dev-python/debtcollector/debtcollector-2.5.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="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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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..6e7f4f545909
--- /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..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/debugpy/Manifest b/dev-python/debugpy/Manifest
deleted file mode 100644
index b0fc004581f0..000000000000
--- a/dev-python/debugpy/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST debugpy-1.6.3.gh.tar.gz 6697583 BLAKE2B 38138be3294615e78995575c8f8ad1f990733be90cfaf76197c714e84f179086501417cc2d64627d3a8ecd0fa451e14e3229bd14d02353bc7512e288e8d4f092 SHA512 c055351351f6705b7bbab93ec07abba09027f1f2a52d90a242f51b4eb6fec19821fbb251b8c8e80587d1333faa4c6d7cab5dead938e9739c5c45013af8ee46a7
diff --git a/dev-python/debugpy/debugpy-1.6.3.ebuild b/dev-python/debugpy/debugpy-1.6.3.ebuild
deleted file mode 100644
index 9f7bbc8501a4..000000000000
--- a/dev-python/debugpy/debugpy-1.6.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
-
-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.1-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/files/debugpy-1.6.1-unbundle-pydevd.patch b/dev-python/debugpy/files/debugpy-1.6.1-unbundle-pydevd.patch
deleted file mode 100644
index c8ebe384349d..000000000000
--- a/dev-python/debugpy/files/debugpy-1.6.1-unbundle-pydevd.patch
+++ /dev/null
@@ -1,94 +0,0 @@
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -8,7 +8,6 @@ exclude = '''
- ( __pycache__
- | ^/.tox
- | ^/versioneer.py
--| ^/src/debugpy/_vendored
- | ^/src/debugpy/_version.py
- )
- '''
---- 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__))
-
-
-@@ -33,27 +31,6 @@ def get_buildplatform():
- return None
-
-
--def cython_build():
-- print("Compiling extension modules (set SKIP_CYTHON_BUILD=1 to omit)")
-- subprocess.call(
-- [
-- sys.executable,
-- os.path.join(PYDEVD_ROOT, "setup_pydevd_cython.py"),
-- "build_ext",
-- "-i",
-- ]
-- )
--
--
--def iter_vendored_files():
-- # Add pydevd files as data files for this package. They are not
-- # treated as a package of their own, because we don't actually
-- # want to provide pydevd - just use our own copy internally.
-- for project in debugpy._vendored.list_all():
-- for filename in debugpy._vendored.iter_packaging_files(project):
-- yield filename
--
--
- # bdist_wheel determines whether the package is pure or not based on ext_modules.
- # However, all pydevd native modules are prebuilt and packaged as data, so they
- # should not be in the list.
-@@ -133,8 +110,6 @@ with open("DESCRIPTION.md", "r") as fh:
-
-
- if __name__ == "__main__":
-- if not os.getenv("SKIP_CYTHON_BUILD"):
-- cython_build()
-
- extras = {}
- platforms = get_buildplatform()
-@@ -179,11 +154,9 @@ if __name__ == "__main__":
- "debugpy.common",
- "debugpy.launcher",
- "debugpy.server",
-- "debugpy._vendored",
- ],
- package_data={
- "debugpy": ["ThirdPartyNotices.txt"],
-- "debugpy._vendored": list(iter_vendored_files()),
- },
- ext_modules=ExtModules(),
- has_ext_modules=lambda: True,
---- 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
---- 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/metadata.xml b/dev-python/debugpy/metadata.xml
deleted file mode 100644
index a55c596e2ffb..000000000000
--- a/dev-python/debugpy/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>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">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 b12755a1cbb5..1611e6e5f089 100644
--- a/dev-python/decorator/decorator-5.1.1-r1.ebuild
+++ b/dev-python/decorator/decorator-5.1.1-r1.ebuild
@@ -4,20 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Simplifies the usage of decorators for the average programmer"
HOMEPAGE="
https://github.com/micheles/decorator/
https://pypi.org/project/decorator/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
DOCS=( CHANGES.md )
diff --git a/dev-python/deepdiff/Manifest b/dev-python/deepdiff/Manifest
new file mode 100644
index 000000000000..e337b67d2f66
--- /dev/null
+++ b/dev-python/deepdiff/Manifest
@@ -0,0 +1,2 @@
+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.7.1.ebuild b/dev-python/deepdiff/deepdiff-6.7.1.ebuild
new file mode 100644
index 000000000000..de71d5e0cadf
--- /dev/null
+++ b/dev-python/deepdiff/deepdiff-6.7.1.ebuild
@@ -0,0 +1,39 @@
+# 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..70d5e8a3222a
--- /dev/null
+++ b/dev-python/deepdiff/deepdiff-7.0.1.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=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/metadata.xml b/dev-python/deepdiff/metadata.xml
new file mode 100644
index 000000000000..fc25e86ff446
--- /dev/null
+++ b/dev-python/deepdiff/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="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>martin-kokos@protonmail.com</email>
+ <name>Martin Mokry</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">deepdiff</remote-id>
+ <remote-id type="github">seperman/deepdiff</remote-id>
+ </upstream>
+</pkgmetadata>
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 12681155a1eb..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_{9..11} )
-
-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..4015bcabc8e6
--- /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..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/metadata.xml b/dev-python/deepmerge/metadata.xml
index ecf3f05f4ea9..febe7522edfe 100644
--- a/dev-python/deepmerge/metadata.xml
+++ b/dev-python/deepmerge/metadata.xml
@@ -8,5 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">deepmerge</remote-id>
+ <remote-id type="github">toumorokoshi/deepmerge</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/defcon/Manifest b/dev-python/defcon/Manifest
deleted file mode 100644
index de58d947c21c..000000000000
--- a/dev-python/defcon/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST defcon-0.10.2.gh.tar.gz 426253 BLAKE2B 308c0f78a476db8f6fe7eb563970a91f1869a26a8a012905c70fb886d954f8b66b6952801212ddc4439921049773ef07c8f99c51465841681b2c19ab0d9ac27d SHA512 fada72ff846d377e76e259255dbb6f3170c6e87c793f891bed2b5e827ae3001864872eda92a9bb031f32194a7b61089a29908e510f6a4dece8e94828f82e1798
diff --git a/dev-python/defcon/defcon-0.10.2.ebuild b/dev-python/defcon/defcon-0.10.2.ebuild
deleted file mode 100644
index 82e7068a42ba..000000000000
--- a/dev-python/defcon/defcon-0.10.2.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 set of UFO based objects for use in font editing applications"
-HOMEPAGE="https://github.com/robotools/defcon"
-SRC_URI="
- https://github.com/robotools/defcon/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/fonttools-4.34.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/fs[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/defcon/metadata.xml b/dev-python/defcon/metadata.xml
deleted file mode 100644
index 07df6f63671b..000000000000
--- a/dev-python/defcon/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>pacho@gentoo.org</email>
- <name>Pacho Ramos</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">robotools/defcon</remote-id>
- <remote-id type="pypi">defcon</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/defusedxml/Manifest b/dev-python/defusedxml/Manifest
index 9f1117798d06..22b9f00fa8b8 100644
--- a/dev-python/defusedxml/Manifest
+++ b/dev-python/defusedxml/Manifest
@@ -1 +1 @@
-DIST defusedxml-0.7.1.tar.gz 34709 BLAKE2B cfe69851e0ac6472cb9e66d1b577831eec37b0a01129dcb43cec151aa939029efc194220f3c7b481d306a77db710a639bdd56f3fd1f7ae46fa4ab8f308b8036f SHA512 4f536794b814291520c7db27765014c57f415554cff569cddab596b33e1aa03799aae9448fdaf07417d1a9f4d8782aa827d1b68aac6881ffe5c2ca9b8a40d864
+DIST defusedxml-0.7.1.gh.tar.gz 34709 BLAKE2B cfe69851e0ac6472cb9e66d1b577831eec37b0a01129dcb43cec151aa939029efc194220f3c7b481d306a77db710a639bdd56f3fd1f7ae46fa4ab8f308b8036f SHA512 4f536794b814291520c7db27765014c57f415554cff569cddab596b33e1aa03799aae9448fdaf07417d1a9f4d8782aa827d1b68aac6881ffe5c2ca9b8a40d864
diff --git a/dev-python/defusedxml/defusedxml-0.7.1-r1.ebuild b/dev-python/defusedxml/defusedxml-0.7.1-r1.ebuild
index b8246eb0a5bc..c0e8ebf415cf 100644
--- a/dev-python/defusedxml/defusedxml-0.7.1-r1.ebuild
+++ b/dev-python/defusedxml/defusedxml-0.7.1-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{9..12} pypy3 )
PYTHON_REQ_USE="xml(+)"
inherit distutils-r1
@@ -16,7 +16,7 @@ HOMEPAGE="
"
SRC_URI="
https://github.com/tiran/defusedxml/archive/v${PV}.tar.gz
- -> ${P}.tar.gz
+ -> ${P}.gh.tar.gz
"
LICENSE="PSF-2"
diff --git a/dev-python/denonavr/Manifest b/dev-python/denonavr/Manifest
index ec1de3562d9a..e4b6d54609d2 100644
--- a/dev-python/denonavr/Manifest
+++ b/dev-python/denonavr/Manifest
@@ -1 +1,2 @@
-DIST denonavr-0.11.0.tar.gz 171742 BLAKE2B b91008a8eebcc0e228db772f2fe2d0bcd3fe7cc036d8aab2c547698224e63e0cbea2d9e9dcb5244556712ab5e04cb9c5e06731eba93a37061536668065c03931 SHA512 63624ec23db6e953741f4610a7df22fa0a69ae750957e883f0447c7a193c28e3a70245547f270c05bf93fdaca2c22b1fc5147b5e2b886c28049faf7f02b6bcb2
+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.0.ebuild b/dev-python/denonavr/denonavr-0.11.0.ebuild
deleted file mode 100644
index d5846bc80fc7..000000000000
--- a/dev-python/denonavr/denonavr-0.11.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_{9..11} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Automation Library for Denon AVR receivers"
-HOMEPAGE="
- https://github.com/ol-iver/denonavr/
- https://pypi.org/project/denonavr/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.21.0[${PYTHON_USEDEP}]
- >=dev-python/netifaces-0.11.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-httpx[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_install() {
- distutils-r1_python_install
- # https://github.com/ol-iver/denonavr/pull/240
- rm -r "${D}$(python_get_sitedir)/tests" || die
-}
diff --git a/dev-python/denonavr/denonavr-0.11.4.ebuild b/dev-python/denonavr/denonavr-0.11.4.ebuild
new file mode 100644
index 000000000000..5adf44a85b90
--- /dev/null
+++ b/dev-python/denonavr/denonavr-0.11.4.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 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..bfd6d3cbfd1a
--- /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..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/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..b557bfa1b33e
--- /dev/null
+++ b/dev-python/dep-logic/Manifest
@@ -0,0 +1 @@
+DIST dep_logic-0.2.0.tar.gz 27758 BLAKE2B c1895fb20468046a73dfed686713b67de8238f026f6c31997b4d7740dc2fa882e86120301b0fe860066bd14fa4491f8b135631e4a72eb2aa5abe1fe4165ce64d SHA512 c3685a540f210a8007375484bd4cea63b16a8cd3bcfab1cee250eb94136104ccc847872cfe78f694c843c30517f298ada18fcdbd2673fd130b4edc4e8df9052b
diff --git a/dev-python/dep-logic/dep-logic-0.2.0.ebuild b/dev-python/dep-logic/dep-logic-0.2.0.ebuild
new file mode 100644
index 000000000000..58158724015e
--- /dev/null
+++ b/dev-python/dep-logic/dep-logic-0.2.0.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..12} )
+
+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/Manifest b/dev-python/deprecated/Manifest
index cd6a8d61366a..cae2216ad75a 100644
--- a/dev-python/deprecated/Manifest
+++ b/dev-python/deprecated/Manifest
@@ -1 +1 @@
-DIST deprecated-1.2.13.gh.tar.gz 2971610 BLAKE2B 00c1fad34e869b143ad7cada2426f999f1d353d23e33076b0197a7ca6c87b0f2d240d7f4944b7c7669974c89304a6cf04f5d2b4c44e6fee22c27522ec2cc9711 SHA512 c170b086bc4e37462181a0f53edbe745aa4f4924c7fd64d9693de267e070392b74445f9cba935e85c878b755603ca6cada8b4130ac96ab071be284047aa35619
+DIST Deprecated-1.2.14.tar.gz 2974416 BLAKE2B d7994a435f7709a74fde71b1bfe20aaec44813893fd8d9fba70b55938ec2dcb01364a0084e5b161ad84819a6ce258ef28813f7272c9cc48cfc8a2159408b5f29 SHA512 5c2f71fc4c1abb6d4a6913bd9644d47d12f709a0830b2aa3513aa2aa92c13e916c49fcd45a5f38aa29279822a5bb8563c4062e5f3e21bb6c55ca97b7845ee736
diff --git a/dev-python/deprecated/deprecated-1.2.13-r1.ebuild b/dev-python/deprecated/deprecated-1.2.13-r1.ebuild
deleted file mode 100644
index 8d456d42bf61..000000000000
--- a/dev-python/deprecated/deprecated-1.2.13-r1.ebuild
+++ /dev/null
@@ -1,40 +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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python @deprecated decorator to deprecate old API"
-HOMEPAGE="
- https://github.com/tantale/deprecated/
- https://pypi.org/project/Deprecated/
-"
-SRC_URI="
- https://github.com/tantale/deprecated/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv sparc x86"
-
-RDEPEND="
- dev-python/wrapt[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=()
-
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- tests/test_deprecated.py::test_respect_global_filter
- tests/test_deprecated_class.py::test_class_respect_global_filter
- )
-
- epytest
-}
diff --git a/dev-python/deprecated/deprecated-1.2.14.ebuild b/dev-python/deprecated/deprecated-1.2.14.ebuild
new file mode 100644
index 000000000000..2503a4b7b259
--- /dev/null
+++ b/dev-python/deprecated/deprecated-1.2.14.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2019-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..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python @deprecated decorator to deprecate old API"
+HOMEPAGE="
+ https://github.com/tantale/deprecated/
+ https://pypi.org/project/Deprecated/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/wrapt[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/deprecated/metadata.xml b/dev-python/deprecated/metadata.xml
index 6f701b39b32b..c45ae963f499 100644
--- a/dev-python/deprecated/metadata.xml
+++ b/dev-python/deprecated/metadata.xml
@@ -6,6 +6,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">tantale/deprecated</remote-id>
<remote-id type="pypi">Deprecated</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/deprecation/deprecation-2.1.0-r1.ebuild b/dev-python/deprecation/deprecation-2.1.0-r1.ebuild
new file mode 100644
index 000000000000..6334a81745ca
--- /dev/null
+++ b/dev-python/deprecation/deprecation-2.1.0-r1.ebuild
@@ -0,0 +1,29 @@
+# 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 library to handle automated deprecations"
+HOMEPAGE="
+ https://deprecation.readthedocs.io/
+ https://github.com/briancurtin/deprecation/
+ https://pypi.org/project/deprecation/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="dev-python/packaging[${PYTHON_USEDEP}]"
+
+distutils_enable_sphinx docs
+distutils_enable_tests unittest
+
+src_prepare() {
+ sed -i -e 's:unittest2:unittest:' tests/test_deprecation.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/deprecation/deprecation-2.1.0.ebuild b/dev-python/deprecation/deprecation-2.1.0.ebuild
deleted file mode 100644
index afaa4844871d..000000000000
--- a/dev-python/deprecation/deprecation-2.1.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
-
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="A library to handle automated deprecations"
-HOMEPAGE="https://deprecation.readthedocs.io/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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/packaging[${PYTHON_USEDEP}]"
-
-distutils_enable_sphinx docs
-distutils_enable_tests unittest
-
-src_prepare() {
- sed -i -e 's:unittest2:unittest:' tests/test_deprecation.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/dict2xml/Manifest b/dev-python/dict2xml/Manifest
index 238f7a0fee27..5339c8fbe34b 100644
--- a/dev-python/dict2xml/Manifest
+++ b/dev-python/dict2xml/Manifest
@@ -1 +1 @@
-DIST dict2xml-1.7.2.tar.gz 12295 BLAKE2B 7bd1c771f3b1c38f96bb322f88d78fb4ab763b153a0531f1953ad97e4b8eb93464a4cfb2aeaffc1599967145a54f0decc5152f3084587f6d94f25cdcbd5837c1 SHA512 fea3a65c5decfee8a22135fc262764c9afbc6b9f41232557f2de1b18a5b30e65c6910ef9f7d4e4b22c2d6c27d5b18eb6a83679c656564061bb7e5e8c55945c76
+DIST dict2xml-1.7.5.tar.gz 14958 BLAKE2B 1907003e3a27a8e1c1a0e7ab1d5c72b310c46e7af7d51f6a1743ca018fb6a070b0b54b4b24afd8c78dd18f83f9f6950031c0076eae83ccc309a341a0df153708 SHA512 88a77fcdc2ec320ba1668b27da4aacfcfc817090aebabc01fce76bff51b316166a0cc1f053884e8012a28e7118449f901465703869245dc662f29cee9665157e
diff --git a/dev-python/dict2xml/dict2xml-1.7.2.ebuild b/dev-python/dict2xml/dict2xml-1.7.2.ebuild
deleted file mode 100644
index 83ec99dd322a..000000000000
--- a/dev-python/dict2xml/dict2xml-1.7.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Small utility to convert a python dictionary into an XML string"
-HOMEPAGE="https://pypi.org/project/dict2xml/ https://github.com/delfick/python-dict2xml"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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..bedf656a70ed
--- /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..12} )
+
+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 dedad62b5db7..679f3e140ee7 100644
--- a/dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild
+++ b/dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild
@@ -3,23 +3,23 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
+
+inherit distutils-r1 pypi
DESCRIPTION="Dictdiffer is a library that helps you to diff and patch dictionaries"
HOMEPAGE="
https://github.com/inveniosoftware/dictdiffer/
https://pypi.org/project/dictdiffer/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
SLOT="0"
BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
test? (
dev-python/numpy[${PYTHON_USEDEP}]
)
@@ -27,7 +27,7 @@ BDEPEND="
distutils_enable_tests pytest
# Requires self to be already installed
-#distutils_enable_sphinx docs dev-python/sphinx_rtd_theme
+#distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
python_prepare_all() {
# remove dep on pytest-runner
diff --git a/dev-python/dictpath/dictpath-0.1.3.ebuild b/dev-python/dictpath/dictpath-0.1.3.ebuild
index 56d189db5afa..fb30fa85da1e 100644
--- a/dev-python/dictpath/dictpath-0.1.3.ebuild
+++ b/dev-python/dictpath/dictpath-0.1.3.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/diff-match-patch/Manifest b/dev-python/diff-match-patch/Manifest
index cd1c017d4faf..418e4e6bbeef 100644
--- a/dev-python/diff-match-patch/Manifest
+++ b/dev-python/diff-match-patch/Manifest
@@ -1 +1 @@
-DIST diff-match-patch-20200713.tar.gz 60711 BLAKE2B 9108557050d0aced61e8073e0bfa1969e780e4350dba86e3cb159760d180b09ff2502e8b0a664370e0586bb0ca280f29cfebb983cddf051f10204e3cd1026d8f SHA512 f161efed3d87dd0693c98ee81aedb3868787f040f8f9f31015f9f1de04d50046be75b2351a65a4c26ae1d194b983dbc1420799cf70e7c25737ee4eb3cc78a183
+DIST diff-match-patch-20230430.tar.gz 43324 BLAKE2B c13beb380d68cf96af41c124eb23f890c71664624de20780ea586f71b4c52a55ee06ac3427c61c233ebead309fcca02cb75f3447f17b7306c2728ebc5b06f6f8 SHA512 a62d15327de659999e3381215249fb088a9e40368008b91201de3db3d02f22892bbf6d2ac40dc4ea4986d24470dd396eaf69583fabbe9078a5cb1f97bae94000
diff --git a/dev-python/diff-match-patch/diff-match-patch-20200713.ebuild b/dev-python/diff-match-patch/diff-match-patch-20200713.ebuild
deleted file mode 100644
index be6febee8094..000000000000
--- a/dev-python/diff-match-patch/diff-match-patch-20200713.ebuild
+++ /dev/null
@@ -1,18 +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="Diff, match and patch algorithms for plain text"
-HOMEPAGE="https://pypi.org/project/diff-match-patch/"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/diff-match-patch/diff-match-patch-20230430.ebuild b/dev-python/diff-match-patch/diff-match-patch-20230430.ebuild
new file mode 100644
index 000000000000..e5b7eaf2b46e
--- /dev/null
+++ b/dev-python/diff-match-patch/diff-match-patch-20230430.ebuild
@@ -0,0 +1,22 @@
+# 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="Diff, match and patch algorithms for plain text"
+HOMEPAGE="
+ https://github.com/diff-match-patch-python/diff-match-patch/
+ https://pypi.org/project/diff-match-patch/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/diff-match-patch/metadata.xml b/dev-python/diff-match-patch/metadata.xml
index 8ff39d9ab20a..3a1754d7588c 100644
--- a/dev-python/diff-match-patch/metadata.xml
+++ b/dev-python/diff-match-patch/metadata.xml
@@ -20,6 +20,7 @@
library features the same API and the same functionality. All versions
also have comprehensive test harnesses.</longdescription>
<upstream>
+ <remote-id type="github">diff-match-patch-python/diff-match-patch</remote-id>
<remote-id type="pypi">diff-match-patch</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/dill/Manifest b/dev-python/dill/Manifest
index e02d5488759c..06f147fb34e4 100644
--- a/dev-python/dill/Manifest
+++ b/dev-python/dill/Manifest
@@ -1 +1 @@
-DIST dill-0.3.6.gh.tar.gz 171608 BLAKE2B 3b0c6f20218230685c91c10edb4d9bfdbb913464903ce03c92c85ad607ab3973c61c39f9a9807d55c1d3aa3736f5de4575e5beb0784f2b17f0af850210bebd61 SHA512 921bd5122b9b90fd3426a7af5fc8ba70d09b92d740951f5db5d481abb280915d722410f174ab028134acff9a3659899c8f315242caa7a44d8e4b38dd02bb1fa3
+DIST dill-0.3.8.tar.gz 184847 BLAKE2B 6a0eb76526d5bc4afa003f34454c3a93b2b53e2d5bd362749bfcc22c6fe294dff3af9d52e83b288e999d7074d82a2671b3d271b3b423030f4cfd57cd70acdc6f SHA512 478d83af69dc0639a08e011e46127d9485dc998df54622e7fbb9ce4b004640d1b23aad57717d791cc609cd9d7071ea7300bce4be982488e4d21c5986e67ce586
diff --git a/dev-python/dill/dill-0.3.6.ebuild b/dev-python/dill/dill-0.3.6.ebuild
deleted file mode 100644
index 32ee395fa21e..000000000000
--- a/dev-python/dill/dill-0.3.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_{9..11} )
-
-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.ebuild b/dev-python/dill/dill-0.3.8.ebuild
new file mode 100644
index 000000000000..9fb6c87da01e
--- /dev/null
+++ b/dev-python/dill/dill-0.3.8.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..12} 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"
+
+python_test() {
+ "${EPYTHON}" -m dill.tests || die
+}
diff --git a/dev-python/dirty-equals/Manifest b/dev-python/dirty-equals/Manifest
index 189aa37fd71d..b20eb951749a 100644
--- a/dev-python/dirty-equals/Manifest
+++ b/dev-python/dirty-equals/Manifest
@@ -1 +1 @@
-DIST dirty-equals-0.5.0.gh.tar.gz 44684 BLAKE2B ccd0d4e254a529e2b3d1014390d3e21a869e145fc0d9913e01e896ce103d853315d496264fdf611aa1fded8c66673bcb9e38dc41984ebfc566a9621b99240f81 SHA512 5d89105e3eb4e3dd52423aafed6c3ddf50890cfb3c03623723d0ab79f9814e892ba91cf789fa495ecc663b03c49516687fc2c1bc548816d60ade4f64df561ab9
+DIST dirty-equals-0.7.1.gh.tar.gz 49000 BLAKE2B 06c9a7522f1dda95ff682dc9c28207b29754d11b4afe7eeacd5439a9ae9f34ce0a2f5724703129aa90b5577f36646deafa5428120e823502aae616d57b3d8f0d SHA512 c50a15e4cee77b3db1b07ef9f7d1eb5b3ab6bed6d914ac5c9e2982f8cf9432beaecb5fd7997d46a94f405e0c932ea5a8d72f1c1d4b6dda86161c22cc772ab4d7
diff --git a/dev-python/dirty-equals/dirty-equals-0.5.0.ebuild b/dev-python/dirty-equals/dirty-equals-0.5.0.ebuild
deleted file mode 100644
index d0680ccccb45..000000000000
--- a/dev-python/dirty-equals/dirty-equals-0.5.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Doing dirty (but extremely useful) things with equals"
-HOMEPAGE="
- https://dirty-equals.helpmanual.io/
- https://github.com/samuelcolvin/dirty-equals/
- https://pypi.org/project/dirty-equals/
-"
-SRC_URI="
- https://github.com/samuelcolvin/dirty-equals/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/pytz-2021.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x TZ=UTC
- epytest
-}
diff --git a/dev-python/dirty-equals/dirty-equals-0.7.1.ebuild b/dev-python/dirty-equals/dirty-equals-0.7.1.ebuild
new file mode 100644
index 000000000000..36c776c91dad
--- /dev/null
+++ b/dev-python/dirty-equals/dirty-equals-0.7.1.ebuild
@@ -0,0 +1,47 @@
+# 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} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Doing dirty (but extremely useful) things with equals"
+HOMEPAGE="
+ https://dirty-equals.helpmanual.io/
+ https://github.com/samuelcolvin/dirty-equals/
+ https://pypi.org/project/dirty-equals/
+"
+SRC_URI="
+ https://github.com/samuelcolvin/dirty-equals/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/pytz-2021.3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-2.4.2[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # require unpackaged pytest-examples
+ tests/test_docs.py
+ )
+
+ local -x TZ=UTC
+ epytest "${args[@]}"
+}
diff --git a/dev-python/dirty-equals/metadata.xml b/dev-python/dirty-equals/metadata.xml
index 569f65cd7a6b..93c64445474e 100644
--- a/dev-python/dirty-equals/metadata.xml
+++ b/dev-python/dirty-equals/metadata.xml
@@ -4,6 +4,7 @@
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">samuelcolvin/dirty-equals</remote-id>
<remote-id type="pypi">dirty-equals</remote-id>
diff --git a/dev-python/discid/Manifest b/dev-python/discid/Manifest
new file mode 100644
index 000000000000..7bbf1b7d40f7
--- /dev/null
+++ b/dev-python/discid/Manifest
@@ -0,0 +1 @@
+DIST python-discid-1.2.0.gh.tar.gz 30756 BLAKE2B 616613de23b66adfc92227a9f36b710649f2a419ffd83443766ebcf1dbfaf528b7d933011bcbdcd19f5092726b81e40d905a62a64262a528dfad89e561210992 SHA512 239cb608508e94109aa9b8b582bc3de1fb9408b508d56698d7f17ec9ebb0d37c1fb76557d98b6d194c1532e3047efcde3adc5d6e9634bc87533d331423a7f19f
diff --git a/dev-python/discid/discid-1.2.0-r1.ebuild b/dev-python/discid/discid-1.2.0-r1.ebuild
new file mode 100644
index 000000000000..540422f5c129
--- /dev/null
+++ b/dev-python/discid/discid-1.2.0-r1.ebuild
@@ -0,0 +1,40 @@
+# 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
+
+MY_P=python-discid-${PV}
+DESCRIPTION="Python bindings for libdiscid"
+HOMEPAGE="
+ https://python-discid.readthedocs.io/en/latest/
+ https://github.com/JonnyJD/python-discid/
+ https://pypi.org/project/discid/
+"
+SRC_URI="
+ https://github.com/JonnyJD/python-discid/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~ppc x86"
+
+DEPEND="
+ >=media-libs/libdiscid-0.2.2
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_sphinx doc
+
+python_test() {
+ "${EPYTHON}" -m unittest -v test_discid.TestModule{Private,} ||
+ die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/python-discid/metadata.xml b/dev-python/discid/metadata.xml
index b7e9b9d92f87..b7e9b9d92f87 100644
--- a/dev-python/python-discid/metadata.xml
+++ b/dev-python/discid/metadata.xml
diff --git a/dev-python/discogs-client/Manifest b/dev-python/discogs-client/Manifest
deleted file mode 100644
index da8896943c97..000000000000
--- a/dev-python/discogs-client/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python3-discogs-client-2.6.tar.gz 36426 BLAKE2B 1d2ae337beb0aaf9cc7310b13909a0a9172c79813ccc0a581af5478cbf45b28d2654b963df2881ad858fcabd5e85594c9a41458283e9e2c9c90ed4d6ad57853c SHA512 2b2ed4a56337b184266832682f7fa4d8726cc414b89446b2a6e96131d82c01c60bd78ac3336bdf94a3077ea25a313fbd532ba574cad64ddc9ab0229d0d7e44b1
diff --git a/dev-python/discogs-client/discogs-client-2.6.ebuild b/dev-python/discogs-client/discogs-client-2.6.ebuild
deleted file mode 100644
index 3e7d1008f56c..000000000000
--- a/dev-python/discogs-client/discogs-client-2.6.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_{9..11} )
-
-inherit distutils-r1
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://github.com/joalla/discogs_client.git"
- inherit git-r3
-else
- SRC_URI="mirror://pypi/p/python3-${PN}/python3-${P}.tar.gz"
- KEYWORDS="amd64 ~x86"
- S="${WORKDIR}/python3-${P}"
-fi
-
-DESCRIPTION="Continuation of the official Python API client for Discogs"
-HOMEPAGE="
- https://github.com/joalla/discogs_client/
- https://pypi.org/project/python3-discogs-client/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-
-RDEPEND="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/oauthlib[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/discogs-client/discogs-client-9999.ebuild b/dev-python/discogs-client/discogs-client-9999.ebuild
deleted file mode 100644
index 38145b329c13..000000000000
--- a/dev-python/discogs-client/discogs-client-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_{9..11} )
-
-inherit distutils-r1
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://github.com/joalla/discogs_client.git"
- inherit git-r3
-else
- SRC_URI="mirror://pypi/p/python3-${PN}/python3-${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
- S="${WORKDIR}/python3-${P}"
-fi
-
-DESCRIPTION="Continuation of the official Python API client for Discogs"
-HOMEPAGE="
- https://github.com/joalla/discogs_client/
- https://pypi.org/project/python3-discogs-client/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-
-RDEPEND="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/oauthlib[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/diskcache/Manifest b/dev-python/diskcache/Manifest
index e99e06322d3d..880f19ebbc19 100644
--- a/dev-python/diskcache/Manifest
+++ b/dev-python/diskcache/Manifest
@@ -1 +1 @@
-DIST diskcache-5.4.0.gh.tar.gz 653968 BLAKE2B 765f0d8d9c4b3a8bf9e4c52b3b931867dc0b92aa7b891d6d64cbfe9e7ff491662a1fa2f0af776f9b3dcc4b441f50b68dc009a29e9b0d37f99add9033f4fb94d8 SHA512 cc15ff0b06b2a5708692f50e185699bd53e60408cef25053bcb5aaffec2795dd53c3bfe4b131a47f68c43388927ecc034c43233c38494cb2f6e40636344270fc
+DIST diskcache-5.6.3.gh.tar.gz 655441 BLAKE2B bc2495862fec7dfffd50e84a7d68e04f42ae8f29c2273466a81e1ec8e82af33a8af3a1f40ac06563c656e48ea24e936402f6269ac498f8521b096e6457aa8df8 SHA512 476d677d88212aa3f9a6e8d12c3e7076cc6a06973d703ed0b2c550b4b4e916b24fb7d8f33c7174854015886fab26e2707b134328d2bc3e144aef5510e7bc0f7c
diff --git a/dev-python/diskcache/diskcache-5.4.0-r1.ebuild b/dev-python/diskcache/diskcache-5.4.0-r1.ebuild
deleted file mode 100644
index 5a1dbc8e5ef7..000000000000
--- a/dev-python/diskcache/diskcache-5.4.0-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
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="sqlite"
-
-inherit distutils-r1
-
-HOMEPAGE="
- https://www.grantjenks.com/docs/diskcache/
- https://github.com/grantjenks/python-diskcache/
-"
-DESCRIPTION="Disk and file backed cache"
-SRC_URI="
- https://github.com/grantjenks/python-diskcache/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/python-diskcache-${PV}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-BDEPEND="
- test? (
- >=dev-python/django-3.2[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-src_prepare() {
- # remove dep on pytest-xdist and pytest-cov
- sed -i -e '/-n auto/d' -e '/--cov/d' tox.ini || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/diskcache/diskcache-5.6.3.ebuild b/dev-python/diskcache/diskcache-5.6.3.ebuild
new file mode 100644
index 000000000000..6b1e9708ca28
--- /dev/null
+++ b/dev-python/diskcache/diskcache-5.6.3.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 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
+
+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
+"
+S=${WORKDIR}/python-diskcache-${PV}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="
+ test? (
+ >=dev-python/django-3.2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
+
+src_prepare() {
+ # remove dep on pytest-xdist and pytest-cov
+ sed -i -e '/-n auto/d' -e '/--cov/d' tox.ini || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/dissononce/dissononce-0.34.3-r3.ebuild b/dev-python/dissononce/dissononce-0.34.3-r3.ebuild
index 412772eeebcc..572f8f4c5e0e 100644
--- a/dev-python/dissononce/dissononce-0.34.3-r3.ebuild
+++ b/dev-python/dissononce/dissononce-0.34.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/distlib/Manifest b/dev-python/distlib/Manifest
index 8b5f107343c5..ce4b0127b663 100644
--- a/dev-python/distlib/Manifest
+++ b/dev-python/distlib/Manifest
@@ -1 +1 @@
-DIST distlib-0.3.6.gh.tar.gz 1234082 BLAKE2B 384b736d9fb9e63d1b9a9375caf972ddfccb36c99903928505e684fe09b30190f873cf7b109beb6c32a1e4b1e11a1d9947adea74f9dceef3398fcc1963a2044a SHA512 39948539764ff5d45f14dc602ebd47d523b71b587ee081d7a267669aef4e4b1013d3995cb992038136bc4c01826ea633c6e4ffd050f1511705b296bf76f3bbf9
+DIST distlib-0.3.8.gh.tar.gz 1240659 BLAKE2B 5d14440bd6886a37e80323ea35370f306135f5b15544180b072ed42c6e7b00799dc4b5fe207adb31eee7234d4f291420bd289b5430bbf38ff0468b29af2ca621 SHA512 98dc6459f54783598aad8ee3b8d80c0092a5d08d4272ad212faeef5e30cf9029b718231681f39d26e48588bb676bae7919f1431ddb51eb3917725f99a5c90457
diff --git a/dev-python/distlib/distlib-0.3.6.ebuild b/dev-python/distlib/distlib-0.3.6.ebuild
deleted file mode 100644
index 96bce0617735..000000000000
--- a/dev-python/distlib/distlib-0.3.6.ebuild
+++ /dev/null
@@ -1,66 +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} 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
-# openpyxl installs invalid metadata that breaks distlib
-BDEPEND="
- test? (
- dev-python/pypiserver
- !!<dev-python/openpyxl-3.0.3[${PYTHON_USEDEP}]
- )
-"
-
-src_prepare() {
- # make sure they're not used
- rm tests/pypi-server-standalone.py || die
-
- # use system pypiserver instead of broken bundled one
- eapply "${FILESDIR}"/distlib-0.3.2-system-pypiserver.py || die
-
- # doesn't work with our patched pip
- sed -i -e '/PIP_AVAIL/s:True:False:' tests/test_wheel.py || die
-
- # broken with pypy3
- sed -i -e 's:test_custom_shebang:_&:' tests/test_scripts.py || die
- # broken with py3.11, doesn't look important
- sed -i -e 's:test_sequencer_basic:_&:' tests/test_util.py || die
- # https://bugs.gentoo.org/843839
- sed -i -e 's:test_interpreter_args:_&:' tests/test_scripts.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..ca366516c9bd
--- /dev/null
+++ b/dev-python/distlib/distlib-0.3.8.ebuild
@@ -0,0 +1,56 @@
+# 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
+ )
+
+ # 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/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 7d704ee72bb0..000000000000
--- a/dev-python/distro/distro-1.8.0.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} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="Apache-2.0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong 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..bea87a4b1ede
--- /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..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/dj-database-url/Manifest b/dev-python/dj-database-url/Manifest
index b093b62e9282..79828d87eab0 100644
--- a/dev-python/dj-database-url/Manifest
+++ b/dev-python/dj-database-url/Manifest
@@ -1 +1 @@
-DIST dj-database-url-1.2.0.gh.tar.gz 12479 BLAKE2B cc3fed00cd7329a9ee8f3ced5830cf05b7046960ae6397c68b8e67e0609c0284dba01a1736447b45f219290405a0ab4720267feba276b453555e3b8ac2f0d88a SHA512 72b713a3a1ad4c70d857c5c72e671095ef1b7ec8ebd19902296ea49b63b9bf6d0084d03561c8fb47c533da431b44ee17651b45f3f699faceaed0ee6bfe7c921a
+DIST dj-database-url-2.1.0.tar.gz 10502 BLAKE2B cc8a9bc396c3df363c7c8c2d0da603493e65fb927d9aecfe9670ccc687b55320ac5c0827e728049ef9030f3b1e20c53b4aaeb7173ae822ded2347c446518e5d5 SHA512 17e35b6abba45d31d58bd2f5def59f45395f0fa489f93c9c71b8405b1fcd6b7da2192649d091a6a63506e755a683b2786af377a135f675cf1145fcd8508356ff
diff --git a/dev-python/dj-database-url/dj-database-url-1.2.0.ebuild b/dev-python/dj-database-url/dj-database-url-1.2.0.ebuild
deleted file mode 100644
index 8f25e507e1a8..000000000000
--- a/dev-python/dj-database-url/dj-database-url-1.2.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="Use Database URLs in your Django Application"
-HOMEPAGE="
- https://github.com/jazzband/dj-database-url/
- https://pypi.org/project/dj-database-url/
-"
-SRC_URI="
- https://github.com/jazzband/dj-database-url/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/django[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
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
new file mode 100644
index 000000000000..04c7c6dd33a8
--- /dev/null
+++ b/dev-python/dj-database-url/dj-database-url-2.1.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_NO_NORMALIZE=1
+PYTHON_COMPAT=( pypy3 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 ~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 b06fdf82a3af..f114c692fbb6 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_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="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 7d7ac29e0f09..c41a70fdf4f6 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,20 +1,20 @@
-# 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} )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Use Search URLs in your Django Haystack Application"
HOMEPAGE="
https://github.com/dstufft/dj-search-url/
https://pypi.org/project/dj-search-url/
"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="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 51a71f18f265..56120b690c6b 100644
--- a/dev-python/django-auth-ldap/Manifest
+++ b/dev-python/django-auth-ldap/Manifest
@@ -1 +1,3 @@
-DIST django-auth-ldap-4.1.0.gh.tar.gz 49533 BLAKE2B f99050c147d179a54fe052e72a9b2ded556819da788f5180225a6d5015d2b7b52dc6f6d65fac4d1b88dc28b3617f9caaac7df3e455d218e8a2c6af1391418b8e SHA512 d55710cf96916602d29b33e111eff7922011231c47f843660cf2adfdc226dd335d4e42e5c2933bd77a9ee5f816d044798e876c8d0de824dcf4a8a78e1bce3446
+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.1.0.ebuild b/dev-python/django-auth-ldap/django-auth-ldap-4.1.0.ebuild
deleted file mode 100644
index 402c8b75c303..000000000000
--- a/dev-python/django-auth-ldap/django-auth-ldap-4.1.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_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Django LDAP authentication backend"
-HOMEPAGE="
- https://github.com/django-auth-ldap/django-auth-ldap/
- https://pypi.org/project/django-auth-ldap/
-"
-SRC_URI="
- https://github.com/django-auth-ldap/django-auth-ldap/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-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
new file mode 100644
index 000000000000..75c0a161d526
--- /dev/null
+++ b/dev-python/django-auth-ldap/django-auth-ldap-4.6.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.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 5871b9ee4865..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_{9..11} )
-
-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..3c59cbd643a3
--- /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..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 ~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 3deefef610a6..8f102264aaaf 100644
--- a/dev-python/django-cacheops/Manifest
+++ b/dev-python/django-cacheops/Manifest
@@ -1 +1 @@
-DIST django-cacheops-6.1.gh.tar.gz 52972 BLAKE2B bdcd045912100ebdfdfd9add23b0df634b029cc2ffe41c351176e327f1e21c90457cfca9e45348dddce60e39fee5c431428ff7f2c954194e4c06c8bc09d78945 SHA512 43dcd4f302afee1acf73125aae7c2e2eece560cc6f07f3374391ac54e0438fd59b80a24e65f52bd7aa4978fd8a428939a8d607c7aa4b25f47d68373cfc12772f
+DIST django-cacheops-7.0.2.tar.gz 71747 BLAKE2B ceb5a536b1ee25c2b25beb9bac4b193325d74b58f7abc6f8edf62a9327eeb25fe8fd68292d5887aa02655f14290e7430d18747ccd487a4f44cdad7fa991f458c SHA512 cd6ea11c54d0c49c52a912033b0ef5d1940c9f061b5a248b4238bf22efa17aefdc48c10a3724613401e9972226e0ad20cbd607b4b63812efc5ae78c35968b767
diff --git a/dev-python/django-cacheops/django-cacheops-6.1.ebuild b/dev-python/django-cacheops/django-cacheops-6.1.ebuild
deleted file mode 100644
index be9d776c6021..000000000000
--- a/dev-python/django-cacheops/django-cacheops-6.1.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..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="ORM cache with automatic granular event-driven invalidation for Django"
-HOMEPAGE="
- https://github.com/Suor/django-cacheops/
- https://pypi.org/project/django-cacheops/
-"
-SRC_URI="
- https://github.com/Suor/django-cacheops/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/django-1.8[${PYTHON_USEDEP}]
- >=dev-python/redis-py-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
- 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
new file mode 100644
index 000000000000..06d5a9db3a7c
--- /dev/null
+++ b/dev-python/django-cacheops/django-cacheops-7.0.2.ebuild
@@ -0,0 +1,71 @@
+# 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 ~arm64"
+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-configurations/Manifest b/dev-python/django-configurations/Manifest
index 290a53ddecff..18ca1796f913 100644
--- a/dev-python/django-configurations/Manifest
+++ b/dev-python/django-configurations/Manifest
@@ -1 +1 @@
-DIST django-configurations-2.4.gh.tar.gz 38563 BLAKE2B a454cc492354c1b969a1b0389ccb21088e99af17b5056ae514b36b5c2fd7391368437093d1a075814dfb8e15ec8ce3ec3c5269d5c867b4a03a5269a533826a31 SHA512 de9793c5fce869ef77e4396dd5ea45fc57728d702383885599d3a08b16e37e0e425258aacd671ac78592df813c8fa3a08b33ad9410843f7d7976589da33592ca
+DIST django-configurations-2.5.1.tar.gz 43225 BLAKE2B 1b9cd14ea50d03500cc05790e831832f6e4e3a917903eb48aa40c2d2dd46a59684ce82b484229fd912a18bcdef4d1887989489b4ab461740f981a87c3a7914f5 SHA512 5584446a1b48a0c080401b377786864a905a28337e2912c71ba586ad438df6efeb74c2de1058b77d79f3ba7db85dd443f05dc81013576d301a43bad6736e72e2
diff --git a/dev-python/django-configurations/django-configurations-2.4.ebuild b/dev-python/django-configurations/django-configurations-2.4.ebuild
deleted file mode 100644
index 30e7ec32a19a..000000000000
--- a/dev-python/django-configurations/django-configurations-2.4.ebuild
+++ /dev/null
@@ -1,47 +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="A helper for organizing Django settings"
-HOMEPAGE="
- https://pypi.org/project/django-configurations/
- https://github.com/jazzband/django-configurations/
- https://django-configurations.readthedocs.io/
-"
-SRC_URI="
- https://github.com/jazzband/django-configurations/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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/django-configurations-2.5.1.ebuild b/dev-python/django-configurations/django-configurations-2.5.1.ebuild
new file mode 100644
index 000000000000..d38fcc156ccc
--- /dev/null
+++ b/dev-python/django-configurations/django-configurations-2.5.1.ebuild
@@ -0,0 +1,44 @@
+# 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..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 ~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}
+
+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-cors-headers/Manifest b/dev-python/django-cors-headers/Manifest
index 462d563be57c..9365cb982008 100644
--- a/dev-python/django-cors-headers/Manifest
+++ b/dev-python/django-cors-headers/Manifest
@@ -1 +1 @@
-DIST django-cors-headers-3.13.0.gh.tar.gz 27361 BLAKE2B 2d0729ae6f0e0ff7c572c5f25482fd88dfa03e8f03a7f640ba32f56208fccb91712cd3067bc3376428469cc7f03dd8003069b79e98dd438fad9e5f4b15cd9c71 SHA512 153ae0d2e0b1e390c72993ca629f7ed521fd907481bb2944ee2f805c0081a1db334fd72f0b3fdb77cbb57b3392691f32564bb646bfb8e388a942a8a3da138a8e
+DIST django-cors-headers-4.3.1.gh.tar.gz 30478 BLAKE2B b07b08df239350fa1f2036130e434c1e543122c5a8867887819e5632a40e28c8ea3b18db87ad447b54c6b6ad87904504edf2bcb7de8bf619247d6ab9f703102d SHA512 cfabc3631774337fcb634e36e43af23dfd3e3c0316ff6e367b07a05d7f96dff77e3c0d0a5539f916e9169132b44944bbb79ba92705e36f54284cc1c9eb3c30d8
diff --git a/dev-python/django-cors-headers/django-cors-headers-3.13.0.ebuild b/dev-python/django-cors-headers/django-cors-headers-3.13.0.ebuild
deleted file mode 100644
index 1103ccc90977..000000000000
--- a/dev-python/django-cors-headers/django-cors-headers-3.13.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..10} )
-
-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-2.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
new file mode 100644
index 000000000000..c7f8d2fb4df3
--- /dev/null
+++ b/dev-python/django-cors-headers/django-cors-headers-4.3.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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-crispy-forms/Manifest b/dev-python/django-crispy-forms/Manifest
index 8ccfa76bebff..d64678e65d22 100644
--- a/dev-python/django-crispy-forms/Manifest
+++ b/dev-python/django-crispy-forms/Manifest
@@ -1 +1 @@
-DIST django-crispy-forms-1.14.0.gh.tar.gz 295826 BLAKE2B 4be78ba2eb8b7dfd6d9813d2a94b26ca571f3c8767f22e37e64deca517b0044d1684343f82790860f024b6eaf6759acfdb6975e4497e40bb75cc64ace3ce9745 SHA512 964ebcd74dd284d11cd0a820238468cce415a61b9ac83afe401b1414da0e27b3e9e0a9aa4fec411a8ff9fa08aa6fb56550c6262e0a9d821b17e12590fc06970c
+DIST django-crispy-forms-2.1.gh.tar.gz 274397 BLAKE2B 3f38830f370efde04494add3ddd2ce7f4a04b032b9aad770ba30885ed2b3a14cff3c748fa299041c9c1d7007b30eb55c96a46fe496c0432b187ae72879d4240e SHA512 703f353adc272905b4d5ebe21ea54e3016a3889703bf406dfdf92638dac2e6f536cf1bc16022be6a442f7dfa962ff17746edea591cf80c2be9440d9bb50a9dcc
diff --git a/dev-python/django-crispy-forms/django-crispy-forms-1.14.0.ebuild b/dev-python/django-crispy-forms/django-crispy-forms-1.14.0.ebuild
deleted file mode 100644
index 790ba770fa73..000000000000
--- a/dev-python/django-crispy-forms/django-crispy-forms-1.14.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=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"
-RESTRICT="test" #Not working
-
-RDEPEND="dev-python/django[${PYTHON_USEDEP}]"
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
new file mode 100644
index 000000000000..69f2d844079a
--- /dev/null
+++ b/dev-python/django-crispy-forms/django-crispy-forms-2.1.ebuild
@@ -0,0 +1,36 @@
+# 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-debug-toolbar/Manifest b/dev-python/django-debug-toolbar/Manifest
new file mode 100644
index 000000000000..663b6eb2985b
--- /dev/null
+++ b/dev-python/django-debug-toolbar/Manifest
@@ -0,0 +1 @@
+DIST django_debug_toolbar-4.3.0.tar.gz 261173 BLAKE2B d5332d205be3a08826ac8b1bf1cb1ed8cd06b66cd5efb203a4290c9e75aab96c822d46c93830182cf6bd6fe2b867e14d5a82d52f6f72aebeaa9aa8ff1bc4e558 SHA512 48e06187289fc92216e5d7c0a77f88ce2fd105eef5ae2bc8dd0d398929c86a9fe021ea1f88f03083174f846f7e43cd07353e1175694733bfa0d55e4aa612c7f3
diff --git a/dev-python/django-debug-toolbar/django-debug-toolbar-4.3.0.ebuild b/dev-python/django-debug-toolbar/django-debug-toolbar-4.3.0.ebuild
new file mode 100644
index 000000000000..4093cf1ca591
--- /dev/null
+++ b/dev-python/django-debug-toolbar/django-debug-toolbar-4.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=hatchling
+PYTHON_COMPAT=( python3_{10..12} )
+
+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/metadata.xml b/dev-python/django-debug-toolbar/metadata.xml
new file mode 100644
index 000000000000..fd28509eea42
--- /dev/null
+++ b/dev-python/django-debug-toolbar/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>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">django-debug-toolbar</remote-id>
+ <remote-id type="github">jazzband/django-debug-toolbar</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-filter/Manifest b/dev-python/django-filter/Manifest
index 432a570d9db8..4d76509c2647 100644
--- a/dev-python/django-filter/Manifest
+++ b/dev-python/django-filter/Manifest
@@ -1 +1,3 @@
-DIST django-filter-22.1.gh.tar.gz 132450 BLAKE2B 9ef9a4ee15ebd3d461803b4dbbdf9a415e7004ee6b9eaaa75c87f9b3993461e6e294621182478ba0ad06595937c9b98fe89d16e9c48e34ced7dd525f40dc926f SHA512 9db2e684815a69c8b28b512c994ad1845c7a3e53da5dc762e5833c1ee4d90c5e513aa5cb3e59d9033c509b44fe9c27ce4fe798842aec50e040c06d33cb18ec0a
+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-22.1.ebuild b/dev-python/django-filter/django-filter-22.1.ebuild
deleted file mode 100644
index 96a3f517f036..000000000000
--- a/dev-python/django-filter/django-filter-22.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_{9..11} )
-
-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/coreapi[${PYTHON_USEDEP}]
- dev-python/djangorestframework[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-test-skipIf.patch
-)
-
-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.5.ebuild b/dev-python/django-filter/django-filter-23.5.ebuild
new file mode 100644
index 000000000000..fac2db6651c4
--- /dev/null
+++ b/dev-python/django-filter/django-filter-23.5.ebuild
@@ -0,0 +1,42 @@
+# 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 ~arm64 ~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-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-filter/files/django-filter-22.1-test-skipIf.patch b/dev-python/django-filter/files/django-filter-22.1-test-skipIf.patch
deleted file mode 100644
index 883700899175..000000000000
--- a/dev-python/django-filter/files/django-filter-22.1-test-skipIf.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/tests/rest_framework/test_filterset.py b/tests/rest_framework/test_filterset.py
-index d1cb51a..b6f89cf 100644
---- a/tests/rest_framework/test_filterset.py
-+++ b/tests/rest_framework/test_filterset.py
-@@ -4,7 +4,7 @@ from django.conf import settings
- from django.test import TestCase
- from django.test.utils import override_settings
-
--from django_filters.compat import is_crispy
-+from django_filters.compat import crispy_forms
- from django_filters.rest_framework import FilterSet, filters
- from django_filters.widgets import BooleanWidget
-
-@@ -37,7 +37,7 @@ class FilterSetFilterForFieldTests(TestCase):
- self.assertEqual(result.extra["widget"], BooleanWidget)
-
-
--@skipIf(is_crispy(), "django_crispy_forms must be installed")
-+@skipIf(crispy_forms is None, "django_crispy_forms must be installed")
- @override_settings(INSTALLED_APPS=settings.INSTALLED_APPS + ("crispy_forms",))
- class CrispyFormsCompatTests(TestCase):
- def test_crispy_helper(self):
diff --git a/dev-python/django-js-asset/Manifest b/dev-python/django-js-asset/Manifest
index 62e9dc794edf..2296ee76e2a1 100644
--- a/dev-python/django-js-asset/Manifest
+++ b/dev-python/django-js-asset/Manifest
@@ -1 +1 @@
-DIST django-js-asset-2.0.gh.tar.gz 7386 BLAKE2B 5bebddc68a6d77b9ffc4c685cfcf0c34d03a82d1f24ea0bc64f35e70bf3a736fc8be612fba1e21bfbe1cb646363f06d0d001822209e15034cb03c337c80d24fd SHA512 0ec4954952394d90946d0653e86ecf45eb83ceaeb99bfde1eeed68f471110b85260abd7ae69f5b2c318e4341c09fd31efb781825d74164dc8ac6bd94bcb6f8e7
+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.0.ebuild b/dev-python/django-js-asset/django-js-asset-2.0.ebuild
deleted file mode 100644
index 8eb1953daefe..000000000000
--- a/dev-python/django-js-asset/django-js-asset-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_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="script tag with additional attributes for django.forms.Media"
-HOMEPAGE="https://github.com/matthiask/django-js-asset"
-SRC_URI="
- https://github.com/matthiask/django-js-asset/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND=">=dev-python/django-2.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..94a57b485d5b
--- /dev/null
+++ b/dev-python/django-js-asset/django-js-asset-2.2.0.ebuild
@@ -0,0 +1,36 @@
+# 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/metadata.xml b/dev-python/django-js-asset/metadata.xml
index 039080e9bc24..fa3194cddf60 100644
--- a/dev-python/django-js-asset/metadata.xml
+++ b/dev-python/django-js-asset/metadata.xml
@@ -1,8 +1,13 @@
<?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">matthiask/django-js-asset</remote-id>
<remote-id type="pypi">django-js-asset</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/django-mptt/Manifest b/dev-python/django-mptt/Manifest
deleted file mode 100644
index 4b5fc49a23b7..000000000000
--- a/dev-python/django-mptt/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST django-mptt-0.13.4.gh.tar.gz 303688 BLAKE2B 66ae7a0e15a7ff281af2154f216970a6a9b249a713b3ae987f0fbdb60b95129fdfc96c05924c0285da33f11c59baf6e069830c3079c64164d838d9d34231a4a9 SHA512 86786763db060227b41e2e340df5d52062fb6e8c54f832611bc90d01102411d45dc217e8d84eece84ebbe4fc9727d06e7c368ae15c253aaf02117705dbae8c47
diff --git a/dev-python/django-mptt/django-mptt-0.13.4.ebuild b/dev-python/django-mptt/django-mptt-0.13.4.ebuild
deleted file mode 100644
index ddb317e80c20..000000000000
--- a/dev-python/django-mptt/django-mptt-0.13.4.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} )
-inherit distutils-r1
-
-DESCRIPTION="utilities for modified preorder tree traversal and trees of model instances"
-HOMEPAGE="https://github.com/django-mptt/django-mptt"
-SRC_URI="
- https://github.com/django-mptt/django-mptt/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/django-1.11[${PYTHON_USEDEP}]
- dev-python/django-js-asset[${PYTHON_USEDEP}]
-"
-
-python_test() {
- "${EPYTHON}" tests/manage.py test -v2 myapp ||
- die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/django-mptt/metadata.xml b/dev-python/django-mptt/metadata.xml
deleted file mode 100644
index d008d8dd5ff3..000000000000
--- a/dev-python/django-mptt/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-mptt</remote-id>
- <remote-id type="github">django-mptt/django-mptt</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/django-otp/Manifest b/dev-python/django-otp/Manifest
index 8693fc39866f..4dbbb8db1ab7 100644
--- a/dev-python/django-otp/Manifest
+++ b/dev-python/django-otp/Manifest
@@ -1 +1,4 @@
-DIST django-otp-1.1.4.gh.tar.gz 75551 BLAKE2B 95f1e181542f595c5ce4059e037d47720899eac566af5d93414a64829bccbd054096bcbe1b5624e975483e45fccc88f62888c21fbb630e533be1eed9be1c0d84 SHA512 6bf6fbb6fe274bb8cd5de1ae31fad2bcb019332d3b10faffcffcd1f68a1160dffc2093eaadfd684c91372522e0132198df00da9e8cd0249124fd7020d63b91c3
+DIST django_otp-1.3.0.tar.gz 69013 BLAKE2B 4b6143bb8863e6c151df954a3c4ac4ecca770b1f396dd291e8634e8ad5e0755514111dac02307120e74abacf04bc681503a973bba067817c80bcffc8c462c592 SHA512 ef63c5db096ce7d1b10d6b2a99ab6db46b779d4221f509452921fcbf338decbd5c799aec7476587a03b34288ef3f5ff1964dee72105b65f04a22cbd53d445fa4
+DIST django_otp-1.4.0.tar.gz 71690 BLAKE2B 61144122ab6dec438dcc3136e8856b4d66c598e811f1fdd21e5ba77a907ae5bda88fd543a1c87a165d9ba30ce2bcd7415b04d598719ecb46f2f3ddc15a342aa0 SHA512 df4a11d3cb6a55e2506815b81c7e8cc3e9c272afd8d1d9ba94fd1336467b177ea3eb1e89129c3c727d7ce74ce159e5d153a22e0be2d3d638c8357653b22dba56
+DIST django_otp-1.4.1.tar.gz 71847 BLAKE2B 49764cd1957ab2a6644780c1c6a0947b20bb4a0c1ca286907122a8b47f937aca8d1d2e480f7a309b546ac503cb0c3b1ea3e03532e7d6c38fe8db1606406eda71 SHA512 bb041a6ecd93dbad4f83d6593dfbc2f4768e1a3e68df332a61ed9ce483a8ec7090179a6865b128d02a2fc5ba2b42cd63dc16595a7b98e2728733fc274d506b1a
+DIST django_otp-1.5.0.tar.gz 72265 BLAKE2B e2a687a287b5e7b4f5c9370b280bd60b5e9cd62ff6fea4187988acc703ce5cc61f4ee094026c07391343983d87d9c0cb1ff4fa51d10a3e7a4d8da4da182fcb4b SHA512 0169804992b155dfa88fbc0d695091f3f03225f28a104c595e7790f174ff3f4943280b7a3dbb3d4c263cc1bad0ea0370e4749d8d0b1df1e3675881365fc15dfe
diff --git a/dev-python/django-otp/django-otp-1.1.4.ebuild b/dev-python/django-otp/django-otp-1.1.4.ebuild
deleted file mode 100644
index f06aca9ee006..000000000000
--- a/dev-python/django-otp/django-otp-1.1.4.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="Django framework adding two-factor authentication using one-time passwords"
-HOMEPAGE="
- https://github.com/django-otp/django-otp/
- https://pypi.org/project/django-otp/
-"
-SRC_URI="
- https://github.com/django-otp/django-otp/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/django-2.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/qrcode[${PYTHON_USEDEP}]
- ${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
new file mode 100644
index 000000000000..a7fd6fe4a416
--- /dev/null
+++ b/dev-python/django-otp/django-otp-1.3.0.ebuild
@@ -0,0 +1,43 @@
+# 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.4.0.ebuild b/dev-python/django-otp/django-otp-1.4.0.ebuild
new file mode 100644
index 000000000000..758cf10a6598
--- /dev/null
+++ b/dev-python/django-otp/django-otp-1.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=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.4.1.ebuild b/dev-python/django-otp/django-otp-1.4.1.ebuild
new file mode 100644
index 000000000000..758cf10a6598
--- /dev/null
+++ b/dev-python/django-otp/django-otp-1.4.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..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-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/Manifest b/dev-python/django-prometheus/Manifest
index 6e515861f6ef..11b5f94729b7 100644
--- a/dev-python/django-prometheus/Manifest
+++ b/dev-python/django-prometheus/Manifest
@@ -1 +1 @@
-DIST django-prometheus-2.2.0.tar.gz 24995 BLAKE2B db79cbed99d4d5cb7d9ce22dfee69914a63373417b176b4311406f9a1fdcada16447d6ec8cb19ebd14789f520aa1d5755aace824e5462611f81a0cc688566f19 SHA512 a72c8345f220799ad0709e0e73912229267b5e01fc67ae7f647e53ccf7c7e170ad2456c81070a002dc411e840b1129d55719a7aa891b4dabe262837c8c7b3db5
+DIST django-prometheus-2.3.1.tar.gz 24718 BLAKE2B a20f140736107e1c959fed33ff9a736cbc3266189598924e5d285c44a9fd1f16b7e41ba85829a2526cd49116523e1da3d1f96c9a1d73f84db18557cee3254982 SHA512 523cfa7023e1e8921c687bd010a4c6384e1e4142fb702887d1d0bd60194b5111e92e53fec07df89eaea07cd7aa806edef79ab303a67d866d18eacde257db3c03
diff --git a/dev-python/django-prometheus/django-prometheus-2.2.0.ebuild b/dev-python/django-prometheus/django-prometheus-2.2.0.ebuild
deleted file mode 100644
index dcb3d6b10858..000000000000
--- a/dev-python/django-prometheus/django-prometheus-2.2.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_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Library to export Django metrics for Prometheus"
-HOMEPAGE="https://github.com/korfuri/django-prometheus"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-1.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/django[${PYTHON_USEDEP}]
- >=dev-python/prometheus_client-0.7[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -i "/pytest-runner/d" setup.py || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/django-prometheus/django-prometheus-2.3.1.ebuild b/dev-python/django-prometheus/django-prometheus-2.3.1.ebuild
new file mode 100644
index 000000000000..4a0ebc82be1a
--- /dev/null
+++ b/dev-python/django-prometheus/django-prometheus-2.3.1.ebuild
@@ -0,0 +1,32 @@
+# 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="Library to export Django metrics for Prometheus"
+HOMEPAGE="
+ https://github.com/korfuri/django-prometheus/
+ https://pypi.org/project/django-prometheus/
+"
+
+LICENSE="Apache-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/django[${PYTHON_USEDEP}]
+ >=dev-python/prometheus-client-0.7[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -i "/pytest-runner/d" setup.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/django-redis/Manifest b/dev-python/django-redis/Manifest
index 69b6ca626cb7..ac9c29bbbe25 100644
--- a/dev-python/django-redis/Manifest
+++ b/dev-python/django-redis/Manifest
@@ -1 +1 @@
-DIST django-redis-5.2.0.tar.gz 44132 BLAKE2B 5d9680e43bfff506924b90cdce4fcbf40883a732af6b599c2e36d8549ce2aedbd69540b187152dc8fdc0d2a93b21c5fd2724d6386772f9b4af8632e38414b577 SHA512 65d3dc6b1d72c8b90908cf368cb66ac2eb74bdd32d0b42c8a5288b4448bd7444b21320251262627bc950eaf0d1a1ef0c3014761b690122bea9e5e20f744dd433
+DIST django-redis-5.4.0.tar.gz 52567 BLAKE2B f3ac670500dbe57d795905d10d3a63102c60de6b61e96af257c0e654cd7aa7dc2e70e512bad55ef4129dd11f60ceaaeeccf78b94486550a555a843e4dea98f1f SHA512 12eb85ee3ce2c8fcf013c804a630bd3eb943de0980d1f6d365b5b5ed762ab956db80329f3e170f330ccc5b9e6f178ffa7938b1880477b7fb609d2cc3680b984a
diff --git a/dev-python/django-redis/django-redis-5.2.0.ebuild b/dev-python/django-redis/django-redis-5.2.0.ebuild
deleted file mode 100644
index e030bba9701e..000000000000
--- a/dev-python/django-redis/django-redis-5.2.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Full featured redis cache backend for Django"
-HOMEPAGE="https://github.com/jazzband/django-redis/"
-SRC_URI="mirror://pypi/${PN:0:1}"/${PN}/${P}.tar.gz
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/django-2.2[${PYTHON_USEDEP}]
- >=dev-python/redis-py-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' \
- -e '/redis/s:,<4::' \
- -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
new file mode 100644
index 000000000000..28c605fdb016
--- /dev/null
+++ b/dev-python/django-redis/django-redis-5.4.0.ebuild
@@ -0,0 +1,83 @@
+# 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-registration/Manifest b/dev-python/django-registration/Manifest
new file mode 100644
index 000000000000..442eacfc477c
--- /dev/null
+++ b/dev-python/django-registration/Manifest
@@ -0,0 +1 @@
+DIST django-registration-3.4.gh.tar.gz 81582 BLAKE2B bc3ee4ed806486c8a0422cc4ef62c2628f6b5880e0aa63ffdfd5ba7f90967c96c5cd7555faf58254e0a49bdb025b9bdf8eb212bfce4596db7db4f97e4eb3400d SHA512 b6c87cbaeb9548e2c2d8672078b5967aee1e881c2b880193ba410a8c293c93fd0c8e57abac8deda2cb6f61a11936fd5c72060e4954f1d74de1e3a3646b63885b
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/metadata.xml b/dev-python/django-registration/metadata.xml
new file mode 100644
index 000000000000..399da25e9adf
--- /dev/null
+++ b/dev-python/django-registration/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>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">django-registration</remote-id>
+ <remote-id type="github">ubernostrum/django-registration</remote-id>
+ </upstream>
+</pkgmetadata>
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-sortedm2m/django-sortedm2m-3.1.1.ebuild b/dev-python/django-sortedm2m/django-sortedm2m-3.1.1.ebuild
deleted file mode 100644
index e9dab2db6f8d..000000000000
--- a/dev-python/django-sortedm2m/django-sortedm2m-3.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-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-tables2/Manifest b/dev-python/django-tables2/Manifest
index 3896786d758c..79fcd6ab9998 100644
--- a/dev-python/django-tables2/Manifest
+++ b/dev-python/django-tables2/Manifest
@@ -1 +1 @@
-DIST django-tables2-2.5.1.gh.tar.gz 430778 BLAKE2B 7811880ec49a514b74252d32fbc59d800aaa34fb2bf4af5675d1c4555c7a52f9eb3ca67d8d940697146c07de1e42006c6d3880a53b31a386bd088aa6939b056f SHA512 baf955b255dcbcf09250cfdbb2dc1fb51f3f9142ad29bf4ca8888344d1bcbe9f23a59f1509cad7e847d82bb6d410a494ed9eae1d4d4ca633e7f0351e4a98839d
+DIST django-tables2-2.7.0.gh.tar.gz 431811 BLAKE2B 2a6a9d74fa50bab049b9b85fc4a2d39b5a54b0fbbcd51f86f2b196e51bd1a1ef36ccc032db13f7cde4f836419a2d92248571b4fb985a8aefb3be2bb740856a2b SHA512 9666dad152d995ef7772881ace4bb83fc41aca1675e0cc116791e4fbfb970de600bd8cc2310b5694558b11e479dea2fc84584a669f6a8127a4bb0a354d24e39a
diff --git a/dev-python/django-tables2/django-tables2-2.5.1.ebuild b/dev-python/django-tables2/django-tables2-2.5.1.ebuild
deleted file mode 100644
index 823847d534f7..000000000000
--- a/dev-python/django-tables2/django-tables2-2.5.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
-PYTHON_COMPAT=( python3_{9..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 ~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-tagging/Manifest b/dev-python/django-tagging/Manifest
deleted file mode 100644
index 389b1d7f8d6a..000000000000
--- a/dev-python/django-tagging/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST django-tagging-0.5.0.tar.gz 42827 BLAKE2B 0889af1ca2943c3bd8e4ffe3aecf8ceec85d2546daf9cccba06bbf9d34943ac7de41240ee79ab77797c6af490dc8dc2d3d9c7249b1c83d71488116e3fb78c0d3 SHA512 7a740c24cb9674f3e9c7f98aeb46f99537ba7afc79bbfd810004b921786e1246fe2ea1f219a2a6c414189497e7b9409bc4f7170714c6c03bb163ccede77c3266
diff --git a/dev-python/django-tagging/django-tagging-0.5.0-r1.ebuild b/dev-python/django-tagging/django-tagging-0.5.0-r1.ebuild
deleted file mode 100644
index 1394a682ddb3..000000000000
--- a/dev-python/django-tagging/django-tagging-0.5.0-r1.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Generic tagging application for Django"
-HOMEPAGE="https://pypi.org/project/django-tagging/
- https://github.com/Fantomas42/django-tagging"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-# wants smart_text which was removed from django-4.0 and up
-RDEPEND=">=dev-python/django-1.0[${PYTHON_USEDEP}]
- <dev-python/django-4[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- )"
-
-distutils_enable_sphinx docs
-
-python_test() {
- local -x DJANGO_SETTINGS_MODULE=tagging.tests.settings
- local -x PYTHONPATH=.
- django-admin test -v 2 tagging || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/django-tagging/metadata.xml b/dev-python/django-tagging/metadata.xml
deleted file mode 100644
index cd6a4e03d379..000000000000
--- a/dev-python/django-tagging/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-tagging</remote-id>
- <remote-id type="github">Fantomas42/django-tagging</remote-id>
- </upstream>
-</pkgmetadata>
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-3.1.0.ebuild b/dev-python/django-taggit/django-taggit-3.1.0.ebuild
index d4fb672d7059..5e8c8914b4e3 100644
--- a/dev-python/django-taggit/django-taggit-3.1.0.ebuild
+++ b/dev-python/django-taggit/django-taggit-3.1.0.ebuild
@@ -5,11 +5,11 @@ EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
+PYPI_NO_NORMALIZE=1
+inherit distutils-r1 pypi
DESCRIPTION="Simple tagging for Django"
HOMEPAGE="https://github.com/jazzband/django-taggit"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
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..f4709002e528
--- /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"
+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 4e11b40d9fea..fafea89dcfd6 100644
--- a/dev-python/django-timezone-field/Manifest
+++ b/dev-python/django-timezone-field/Manifest
@@ -1 +1 @@
-DIST django-timezone-field-5.0.gh.tar.gz 33265 BLAKE2B 1d6c12ff6854463070dd6a5019cc2bfaf9514e5f6568057c684c7b061d28cc99416bac2796474fd2d884cd382e2c0e0a77883c35d4f7a7d2bb77a79255379268 SHA512 6fba9333463f1d68c0d5c6c85ad32b0106fa66be38c4e07e802222f25a0d0e024a77f36b17cb2644e89b76ea50ed667a324a9583b7b5dc0be7518ffa593335f8
+DIST django-timezone-field-6.1.0.gh.tar.gz 36029 BLAKE2B 5177b440e0537fbde12e0dd4bf92e65c983996f7ef1393212b0f4c24efecfc0d4d24e1bbc8447295b565d8b9921c0c05f6cc4baa11db3ccc9b60c33c48e76fb2 SHA512 b070e55a2a5196de1fcae4bd19979caf9d84c234a4e379d82dab843541cf99a0acced9a6996e35afe6b40d1bf737d522d34b91df10596e7365f85cfbe0597015
diff --git a/dev-python/django-timezone-field/django-timezone-field-5.0.ebuild b/dev-python/django-timezone-field/django-timezone-field-5.0.ebuild
deleted file mode 100644
index f330ab3bf68e..000000000000
--- a/dev-python/django-timezone-field/django-timezone-field-5.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=poetry
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Django app providing database and form fields for pytz timezone objects"
-HOMEPAGE="https://github.com/mfogel/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"
-
-RDEPEND="
- >=dev-python/django-2.2[${PYTHON_USEDEP}]
- dev-python/pytz[${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-6.1.0.ebuild b/dev-python/django-timezone-field/django-timezone-field-6.1.0.ebuild
new file mode 100644
index 000000000000..a51019e8569a
--- /dev/null
+++ b/dev-python/django-timezone-field/django-timezone-field-6.1.0.ebuild
@@ -0,0 +1,42 @@
+# 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-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-fixture[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x DB_ENGINE=sqlite
+ epytest
+}
diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index 7ec86084836b..ef18136b41d2 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -1,8 +1,10 @@
-DIST Django-3.2.16.checksum.txt 2561 BLAKE2B c4fc829977881bbf758652b91c0b64c6432390a44e4047931d7315e67d310db52c0804faf515e1b65435c07391fa2844043c4302d4580003040d54e48f6785b3 SHA512 def47fd84e27d94d0fff90fd0c5e30d563c5faa9b5c12ce8834f5b0f2ff605e74bda8d2283e66177ec5ce4c05c6c4d52ce3a06a86f303b3e66b7f3c609c7d03b
-DIST Django-3.2.16.tar.gz 9847052 BLAKE2B d1b0aeedf2540a570859832b4b4c5c189cd57b05863aa14ac3e00d2e10c7a20f2acc639e29b56409c7be707b28d5f365ab1afa2b70916045fe66adb001b64ea7 SHA512 628263370b4d073d5e88db8607f5b082b03c4e6e6ed6aca059dce18f61725eb4ff69da77f5f98ff7b3e6d9046a701aca5a32687670bf7ea5fdcf92d6d13d7373
-DIST Django-4.0.8.checksum.txt 2552 BLAKE2B af7551bddb966e8e6d338b486c3d2aa5139b28571b77765fe3ca77c0a1a9c310c3286a98fea9d7748c00d1ed7f1afaaa98ef8d78f1a314fda4dd6d2f2b83882f SHA512 3838fc2369cd8010f06dcfed113106d6b32de3ab4da25580434efc7690c2f73323d60ad2da1b4992ffe6bab1ee8b334533ff7a5653f5a41430df858abe2e93a2
-DIST Django-4.0.8.tar.gz 10427857 BLAKE2B cbbba3b3044d60fcd6d240e1a181c00d65c1122dc464c86391e39a1eaa866703f41310401f3de291e427eb075dc141fbbc503f414e3627e16715e87f2c10e5c8 SHA512 6357cfc673eb0b993d88b6bed5e43bfea8e0c71d31b141033d06cfe45e91591739ac5c6c57a82cde0216104acb7b21c8c32c1c1bfacad3f62737c8ad10ee175a
-DIST Django-4.1.4.checksum.txt 2553 BLAKE2B 18a8a5de5148f1ade673fc158c756a5b9dc70a2164d7d094ce56dae67a89ea9e8ee808f8319508a7af9229642a80215bd25980257bc78ad982ccf91722379f97 SHA512 d39791499b59b9912eb589a7174a012a33a61d74f5bcbaedca6bdf78cf584296a52f221affc1ddae696a114695c8d533cbbc94d2d855abae40a2b811db40f036
-DIST Django-4.1.4.tar.gz 10517427 BLAKE2B aee4e92dc2e87dc4281025f68274380da46661c504e65db516f0565fc225388e1fb35d7a742a19b8768a31e416bcc82db9c38f4a397c9a88c50448a09a2370e3 SHA512 43649665ac6235b103a3d2c1271dfa0c6177dd2eeca24cefe210809bca85b29b7ecd10de1e7a88677c7ab26b0a1c1912af013bbcbcfadcbc1f85416c10ec7d5f
-DIST Django-4.1.5.checksum.txt 2546 BLAKE2B 3555213c23228ca26b7944c6c13a57232b17cda457c624ca38a3e05149bee5cff0f4c83e3677e775b7acdcff0157219488f82a1091234ace037097b8fe016ab4 SHA512 8fe18f80e8f3ae9635d55dcc48854e533437f938775de095c211e82f6ac97272c9af0fd5beb22f2f64894a2d64d6ab24f19c4d4aad4a483b7ad7d60c52e84974
-DIST Django-4.1.5.tar.gz 10507020 BLAKE2B 8fad2919cbe421524289f52c448b77f48abb87a61480db8c5e93ecdbf3b4410f3c5cb678a8643a13c21a236790e891dfc50159c5619847bd7085764c2734763d SHA512 483acebcc0cdc7f7e6e6264b23fd6528d1a8e66c9ccd421506bb2504ff55b058d514a2a359618892a786a0784d9580041db715b1990d8f5ae3c2e59a242eb578
+DIST Django-3.2.25.checksum.txt 2560 BLAKE2B e082c588f4e124c9d71c1914e475fd70ed9b68583d65ea59ba0822b96de36c2edc98b4d9192f3d7c75467306fe03404303f6c2a98a026bdb5308bbd1dee89f99 SHA512 49a1610dcd61cbd322f0a5d7fe3cf249c0c4288b194fc8c2bdf7ec6fb8f92b69ca68dcdb71b79998cd80b978b70f48069669d996b6503261ba726c77c8b87672
+DIST Django-3.2.25.tar.gz 9836336 BLAKE2B 586520e0689b2594dd8ce4abb173418aedfde80cc84012d2a4207cbfc67120cbf405a8dfc8d069bb946f027f0eef22b233bd3b3ce569b01ea8fdc7836a6e530f SHA512 ccba83abd1777123186d685e21b96f41abf216a692d18ffe764d2e519eb9d1f6011d08c86b3affdd891591ca4ed7fee27ffa4750d19b486ca775ee680fdb0cb1
+DIST Django-4.2.11.checksum.txt 2560 BLAKE2B 75359ca138515642b4cb4bb17f4e5f18f94d9c4b5a98fe62f4813068d3dfccfa6c3fe1a2ae9ec24758610d0c5c8fe899b54f39b9cd657a92635e8cd7c6f7dcf0 SHA512 9ab3700f2675380dd6e18b5cc1ebbf4fbbd31680079e9232f96133810956e3ab5a46eefa45103a90bbec9d0ba85cc54f5cc2dd4f3d69c64960724f2821ecf3f3
+DIST Django-4.2.11.tar.gz 10426858 BLAKE2B bce1611700383831138a467cfdc3ad2780385429be040d197cb757206c3d1b4c82075cf6766f8222d0c061ee7c0a7a48caf8cd28e8fe6271c39dc47899c4b276 SHA512 5842f0c2592b695ecfd7f00d250075cb9581efc8a7f389f155dbac74d80ac7899f600ffba0d51e3391f15c4a1444554d901b8a673a1091ab7269e24862122ef0
+DIST Django-5.0.3.checksum.txt 2550 BLAKE2B d69fe42e77a1163509f570488b5744571b314b4f24aa0b2f3727ad26ccc53cdc4e16a4b53f21d7e31b0e120462b68397cb31cceded5f4f2d4f0fc9f7afd0f1ee SHA512 abf04cf4fb43f51a8ecef8924e000680184cbb39a9a1a80b679dd1b5cd1e8a90870bc9749b84a6ada79c76cf9c8adb7f870ac0c7ebad68330e8731acdaf3ff22
+DIST Django-5.0.3.tar.gz 10620661 BLAKE2B eaf2f04abf73ad36f7e7825d3655319fbab2268bf5da67ad112e2662f5f5c1bab16d485c75c681ec7e203c111b9676dab2f3552e599a5592a90981e6f7cc75eb SHA512 ed1899007898fc1f6c0889b28fc94016aa9cd2a3556f486bf77efc4310d04896c73bcef93fb4c9162ce884da01c557f6343a20da15a7d6cf2193fd9e88e0dadb
+DIST Django-5.0.4.checksum.txt 2570 BLAKE2B dd60e743933312e8744c89a9602acf6643e778cf23d1ab303845f52a2040ff9de73b843c0facf15e8aecc61d9b29f597d76de1e015e7e5a111668fbeb1f84b99 SHA512 9a180082a1735f5d62b51acaf1bd23941d921208d6e3ea14439ceb29603f35860e0307c0b18c1b17d9a155498ef50943e10bf352090f0b6408c5921655d1f992
+DIST Django-5.0.4.tar.gz 10638006 BLAKE2B 81796ec0ba285bebe2c3a4b6d3bfce39e87ad39c01fb450bd66e4eb76c167d08a16e857156d45bce95ac30121fe5855dd7493beb4dcf7628255d729e0d1a2048 SHA512 322b0de4e9e533831937b9f50929e150d9c1ff3045e92b3530d49708df05ad0139819a1056c3def529e93826d26ef8e04f1ced655525fe8c9c2d449c2c701f28
+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.16.ebuild b/dev-python/django/django-3.2.16.ebuild
deleted file mode 100644
index 68c7e2f40c5e..000000000000
--- a/dev-python/django/django-3.2.16.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_{9..10} )
-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
- !!<dev-python/ipython-7.21.0-r1
- !!=dev-python/ipython-7.22.0-r0
- )
- verify-sig? ( >=sec-keys/openpgp-keys-django-20201201 )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.1-bashcomp.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/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
- optfeature "High-level abstractions for Django forms" dev-python/django-formtools
-}
diff --git a/dev-python/django/django-3.2.25.ebuild b/dev-python/django/django-3.2.25.ebuild
new file mode 100644
index 000000000000..a026c5a478e4
--- /dev/null
+++ b/dev-python/django/django-3.2.25.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 optfeature verify-sig
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="
+ https://www.djangoproject.com/
+ https://github.com/django/django/
+ https://pypi.org/project/Django/
+"
+SRC_URI="
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P^}.tar.gz
+ verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
+"
+S="${WORKDIR}/${P^}"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/asgiref-3.3.4[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]
+ 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-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.0.8.ebuild b/dev-python/django/django-4.0.8.ebuild
deleted file mode 100644
index 9ed143fa88f6..000000000000
--- a/dev-python/django/django-4.0.8.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 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='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.4.1[${PYTHON_USEDEP}]
- >=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/backports-zoneinfo[${PYTHON_USEDEP}]
- ' 3.8)
-"
-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
- !!<dev-python/ipython-7.21.0-r1
- !!=dev-python/ipython-7.22.0-r0
- )
- verify-sig? ( >=sec-keys/openpgp-keys-django-20201201 )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.0-bashcomp.patch
- "${FILESDIR}"/django-4.0.5-py311.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/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
-}
-
-src_prepare() {
- # TODO: this suddenly started failing
- sed -i -e 's:test_custom_fields:_&:' tests/inspectdb/tests.py || die
-
- distutils-r1_src_prepare
-}
-
-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
- optfeature "High-level abstractions for Django forms" dev-python/django-formtools
-}
diff --git a/dev-python/django/django-4.1.4.ebuild b/dev-python/django/django-4.1.4.ebuild
deleted file mode 100644
index 1c318d232ec1..000000000000
--- a/dev-python/django/django-4.1.4.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 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='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}]
- $(python_gen_cond_dep '
- dev-python/backports-zoneinfo[${PYTHON_USEDEP}]
- ' 3.8)
-"
-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
- !!<dev-python/ipython-7.21.0-r1
- !!=dev-python/ipython-7.22.0-r0
- )
- 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=${BROOT}/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
- optfeature "High-level abstractions for Django forms" dev-python/django-formtools
-}
diff --git a/dev-python/django/django-4.1.5.ebuild b/dev-python/django/django-4.1.5.ebuild
deleted file mode 100644
index ae592a55a65f..000000000000
--- a/dev-python/django/django-4.1.5.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 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='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}]
- $(python_gen_cond_dep '
- dev-python/backports-zoneinfo[${PYTHON_USEDEP}]
- ' 3.8)
-"
-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
- !!<dev-python/ipython-7.21.0-r1
- !!=dev-python/ipython-7.22.0-r0
- )
- 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=${BROOT}/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
- optfeature "High-level abstractions for Django forms" dev-python/django-formtools
-}
diff --git a/dev-python/django/django-4.2.11.ebuild b/dev-python/django/django-4.2.11.ebuild
new file mode 100644
index 000000000000..7379e6655f94
--- /dev/null
+++ b/dev-python/django/django-4.2.11.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-5.0.3.ebuild b/dev-python/django/django-5.0.3.ebuild
new file mode 100644
index 000000000000..cb3b94f67c03
--- /dev/null
+++ b/dev-python/django/django-5.0.3.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="
+ https://www.djangoproject.com/
+ https://github.com/django/django/
+ https://pypi.org/project/Django/
+"
+SRC_URI="
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P^}.tar.gz
+ https://dev.gentoo.org/~mgorny/dist/python/django-5.0-pypy3.patch.xz
+ verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
+"
+S="${WORKDIR}/${P^}"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.11.0[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-django-20230606 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/django-4.0-bashcomp.patch
+ "${WORKDIR}"/django-5.0-pypy3.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
+
+src_unpack() {
+ if use verify-sig; then
+ cd "${DISTDIR}" || die
+ verify-sig_verify_signed_checksums \
+ "${P^}.checksum.txt" sha256 "${P^}.tar.gz"
+ cd "${WORKDIR}" || die
+ fi
+
+ default
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
+ -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}-admin
+ bashcomp_alias ${PN}-admin django-admin.py
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature_header "Additional Backend support can be enabled via:"
+ optfeature "MySQL backend support" dev-python/mysqlclient
+ optfeature "PostgreSQL backend support" dev-python/psycopg:0
+ optfeature_header
+ optfeature "GEO Django" "sci-libs/gdal[geos]"
+ optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
+ optfeature "ImageField Support" dev-python/pillow
+ optfeature "Password encryption" dev-python/bcrypt
+}
diff --git a/dev-python/django/django-5.0.4.ebuild b/dev-python/django/django-5.0.4.ebuild
new file mode 100644
index 000000000000..35eb15da72fe
--- /dev/null
+++ b/dev-python/django/django-5.0.4.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-5.0-pypy3.patch.xz
+ verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
+"
+S="${WORKDIR}/${P^}"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
+ 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
+)
+
+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/files/django-3.2.19-py311.patch b/dev-python/django/files/django-3.2.19-py311.patch
new file mode 100644
index 000000000000..976537289ff3
--- /dev/null
+++ b/dev-python/django/files/django-3.2.19-py311.patch
@@ -0,0 +1,183 @@
+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
new file mode 100644
index 000000000000..4883da38c0f5
--- /dev/null
+++ b/dev-python/django/files/django-3.2.20-urlsplit.patch
@@ -0,0 +1,111 @@
+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.0.5-py311.patch b/dev-python/django/files/django-4.0.5-py311.patch
deleted file mode 100644
index d566db006574..000000000000
--- a/dev-python/django/files/django-4.0.5-py311.patch
+++ /dev/null
@@ -1,218 +0,0 @@
-From 3d022e13bcc1de5162ba7198c856bf27c03d4f37 Mon Sep 17 00:00:00 2001
-From: David Smith <39445562+smithdc1@users.noreply.github.com>
-Date: Sat, 19 Feb 2022 19:36:01 +0000
-Subject: [PATCH 1/3] Refs #33173 -- Fixed MailTests.test_backend_arg() on
- Windows and Python 3.11+.
-
----
- django/utils/version.py | 1 +
- tests/mail/tests.py | 3 ++-
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/django/utils/version.py b/django/utils/version.py
-index 77f13833cb..8f4ab2bcfa 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/mail/tests.py b/tests/mail/tests.py
-index 51e26cc6be..183a0c0ab1 100644
---- a/tests/mail/tests.py
-+++ b/tests/mail/tests.py
-@@ -29,6 +29,7 @@ from django.core.mail.message import BadHeaderError, sanitize_address
- from django.test import SimpleTestCase, override_settings
- from django.test.utils import requires_tz_support
- from django.utils.translation import gettext_lazy
-+from django.utils.version import PY311
-
- try:
- from aiosmtpd.controller import Controller
-@@ -790,7 +791,7 @@ class MailTests(HeadersCheckMixin, SimpleTestCase):
- filebased.EmailBackend,
- )
-
-- if sys.platform == "win32":
-+ if sys.platform == "win32" and not PY311:
- msg = (
- "_getfullpathname: path should be string, bytes or os.PathLike, not "
- "object"
---
-2.35.1
-
-From 4d548dce8fb280ed7be63e9818c316fe5f0ee154 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 2/3] Refs #33173 -- Fixed test_runner/test_utils tests on
- Python 3.11+.
-
-Python 3.11 uses fully qualified test name in unittest output. See
-https://github.com/python/cpython/commit/755be9b1505af591b9f2ee424a6525b6c2b65ce9
----
- tests/test_runner/test_debug_sql.py | 14 +++++++++-----
- tests/test_runner/test_parallel.py | 5 ++++-
- tests/test_utils/tests.py | 13 +++++++++----
- 3 files changed, 22 insertions(+), 10 deletions(-)
-
-diff --git a/tests/test_runner/test_debug_sql.py b/tests/test_runner/test_debug_sql.py
-index 9957295f01..d45d8cb4ba 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
-
-@@ -109,14 +110,17 @@ class TestDebugSQL(unittest.TestCase):
- ),
- ]
-
-+ # 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) ...",
-+ 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 """
-diff --git a/tests/test_runner/test_parallel.py b/tests/test_runner/test_parallel.py
-index ca208f6a48..a2f68d3512 100644
---- a/tests/test_runner/test_parallel.py
-+++ b/tests/test_runner/test_parallel.py
-@@ -4,6 +4,7 @@ import unittest
-
- from django.test import SimpleTestCase
- from django.test.runner import RemoteTestResult
-+from django.utils.version import PY311
-
- try:
- import tblib.pickling_support
-@@ -125,7 +126,9 @@ class RemoteTestResultTest(SimpleTestCase):
- self.assertEqual(event[0], "addSubTest")
- self.assertEqual(
- str(event[2]),
-- "dummy_test (test_runner.test_parallel.SampleFailingSubtest) (index=0)",
-+ "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 ""),
- )
- self.assertEqual(repr(event[3][1]), "AssertionError('0 != 1')")
-
-diff --git a/tests/test_utils/tests.py b/tests/test_utils/tests.py
-index b21c83585b..3b17da1c13 100644
---- a/tests/test_utils/tests.py
-+++ b/tests/test_utils/tests.py
-@@ -47,6 +47,7 @@ from django.test.utils import (
- from django.urls import NoReverseMatch, path, reverse, reverse_lazy
- from django.utils.deprecation import RemovedInDjango41Warning
- from django.utils.log import DEFAULT_LOGGING
-+from django.utils.version import PY311
-
- from .models import Car, Person, PossessedCar
- from .views import empty_response
-@@ -99,9 +100,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.",
-+ "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):
-@@ -144,9 +147,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.",
-+ "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.35.1
-
-From 2037b6b40a4250daaf3fa85f489fab34536c4f3a Mon Sep 17 00:00:00 2001
-From: Mariusz Felisiak <felisiak.mariusz@gmail.com>
-Date: Mon, 9 May 2022 10:38:11 +0200
-Subject: [PATCH 3/3] Refs #33173 -- Fixed test_dateparse tests on Python
- 3.11+.
-
-date/datetime/time.fromisoformat() support any valid ISO 8601 format
-in Python 3.11+, see https://github.com/python/cpython/issues/80010.
----
- tests/utils_tests/test_dateparse.py | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/tests/utils_tests/test_dateparse.py b/tests/utils_tests/test_dateparse.py
-index 8683811636..3f04a8a49c 100644
---- a/tests/utils_tests/test_dateparse.py
-+++ b/tests/utils_tests/test_dateparse.py
-@@ -8,6 +8,7 @@ from django.utils.dateparse import (
- parse_time,
- )
- from django.utils.timezone import get_fixed_timezone
-+from django.utils.version import PY311
-
-
- class DateParseTests(unittest.TestCase):
-@@ -15,14 +16,18 @@ class DateParseTests(unittest.TestCase):
- # Valid inputs
- self.assertEqual(parse_date("2012-04-23"), date(2012, 4, 23))
- self.assertEqual(parse_date("2012-4-9"), date(2012, 4, 9))
-+ if PY311:
-+ self.assertEqual(parse_date("20120423"), date(2012, 4, 23))
- # Invalid inputs
-- self.assertIsNone(parse_date("20120423"))
-+ self.assertIsNone(parse_date("2012423"))
- with self.assertRaises(ValueError):
- parse_date("2012-04-56")
-
- def test_parse_time(self):
- # Valid inputs
- self.assertEqual(parse_time("09:15:00"), time(9, 15))
-+ if PY311:
-+ self.assertEqual(parse_time("091500"), time(9, 15))
- self.assertEqual(parse_time("10:10"), time(10, 10))
- self.assertEqual(parse_time("10:20:30.400"), time(10, 20, 30, 400000))
- self.assertEqual(parse_time("10:20:30,400"), time(10, 20, 30, 400000))
-@@ -35,7 +40,7 @@ class DateParseTests(unittest.TestCase):
- self.assertIsNone(parse_time("00:05:23+"))
- self.assertIsNone(parse_time("00:05:23+25:00"))
- self.assertIsNone(parse_time("4:18:101"))
-- self.assertIsNone(parse_time("091500"))
-+ self.assertIsNone(parse_time("91500"))
- with self.assertRaises(ValueError):
- parse_time("09:15:90")
-
---
-2.35.1
-
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 234e59d8b40e..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 ~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..dc457fb9c030 100644
--- a/dev-python/djangorestframework/Manifest
+++ b/dev-python/djangorestframework/Manifest
@@ -1 +1,2 @@
-DIST django-rest-framework-3.14.0.gh.tar.gz 9056443 BLAKE2B 217be67f42207d72d862011a72aecef3e111c1e1dd4b4e090cae6b22dee3fb32e060f7877c498084cf1221eb960b4ca895ef55721f7cabaafe3e36ee152e17a8 SHA512 c1012c656b427e0318b2056e2f984ddc75a5b4e85f375c76fba165ad06e285848eee1bc6dc76c097daec57d780efb2551110199d62ce636a03951aec13ab4013
+DIST django-rest-framework-3.15.0.gh.tar.gz 9293419 BLAKE2B c6884185b8a11ca044956ec15bf3d31c3c46d8a911128f37ab305d89540a223e4b04ac4c13fc107333e9774ee048505f6cd0c66989f9f3cc9511239354572d25 SHA512 1b283fea0a94d64ea29bef59f18b5cb309627b7b927d80cdaad11d1fa9c4df2e2059d619ca5a73f382fa21bf847a266926542c1a1f5764bd6404d7c11861efab
+DIST django-rest-framework-3.15.1.gh.tar.gz 9291840 BLAKE2B daf672a1fb01494f08dd54af7369bd464d4fc1e22ff3c90c0fe787408d4f327710c5e6394e33546a4df2da752dbd774980f092108f2f4e395795af3aead18f89 SHA512 e44c3d861973928194035364fb6b5ddffbcacab959072b2c549971dd6675b5a5f1be13b55856154dbffaefb48dcbd4a63fd9ffbce5456507b52fd5e4648706b9
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 b31831ebf043..000000000000
--- a/dev-python/djangorestframework/djangorestframework-3.14.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_{9..11} )
-
-inherit distutils-r1
-
-MY_P=django-rest-framework-${PV}
-DESCRIPTION="Web APIs with django made easy"
-HOMEPAGE="https://www.django-rest-framework.org/"
-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 ~x86"
-
-RDEPEND="
- >=dev-python/django-3.0[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/coreapi[${PYTHON_USEDEP}]
- dev-python/coreschema[${PYTHON_USEDEP}]
- dev-python/pytest-django[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- tests/test_description.py::TestViewNamesAndDescriptions::test_markdown
-)
diff --git a/dev-python/djangorestframework/djangorestframework-3.15.0.ebuild b/dev-python/djangorestframework/djangorestframework-3.15.0.ebuild
new file mode 100644
index 000000000000..0d2c06784f22
--- /dev/null
+++ b/dev-python/djangorestframework/djangorestframework-3.15.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
+
+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.1.ebuild b/dev-python/djangorestframework/djangorestframework-3.15.1.ebuild
new file mode 100644
index 000000000000..4bcf2d5c27de
--- /dev/null
+++ b/dev-python/djangorestframework/djangorestframework-3.15.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
+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/inflection[${PYTHON_USEDEP}]
+ 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
+
+ # 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 53691a5a99af..cac31e0a39f8 100644
--- a/dev-python/dkimpy/Manifest
+++ b/dev-python/dkimpy/Manifest
@@ -1 +1,2 @@
-DIST dkimpy-1.0.5.tar.gz 59799 BLAKE2B 317e7a9e7ad1efdbbc7f4f1ce7efca70f3be4272ead3761d8bbde14d19e9f3a90af96d7bff5fba5b612cecaa166b58da4617e39a13276d0982ea38809f808b4d SHA512 af72a56a777b23318af8f8014bad03cadb93cc39f0b8c2062e15f3e5ca77a13be6f49664c9745f1fe97c592be5a63c4b0a3942da2c2c6eaa486137fdbb96528f
+DIST dkimpy-1.1.5.tar.gz 67064 BLAKE2B d4b192a08469be678b5f08cdf2a582ec5cbd4ada56a02de011c372518a3c863e2fea1976af507a1d202f6a36f9ccef8621ba882f542e26ba22acc2f64daaf735 SHA512 650476a54cb39d72fefe05a6fdd8167694cd6f1cf521efb7807713ccfa868dd5458732ee8501c4edea203f9726689c9632a92473698ee31889208d19891b7a13
+DIST dkimpy-1.1.6.tar.gz 66557 BLAKE2B 89e6752b97611eba5ecf0f487d10b3210f7b898131e465639aa0a8f2120c3a2901ad844db275748148574cbfcd1a5eeaf3319c09172b51d7a79342a0ee16f285 SHA512 d61331cc7baa3bd5156d919a4a88ad792ac3c3077381585f8b5aa1a35dc50761b86286312e13f3514496ab50bdc6f2dac469f4b5419b49053c1c9204d569d317
diff --git a/dev-python/dkimpy/dkimpy-1.0.5-r1.ebuild b/dev-python/dkimpy/dkimpy-1.0.5-r1.ebuild
deleted file mode 100644
index 7bcb22efed71..000000000000
--- a/dev-python/dkimpy/dkimpy-1.0.5-r1.ebuild
+++ /dev/null
@@ -1,38 +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..10} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="DKIM and ARC email signing and verification library"
-HOMEPAGE="
- https://launchpad.net/dkimpy/
- https://pypi.org/project/dkimpy/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="
- dev-python/dnspython[${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.5.ebuild b/dev-python/dkimpy/dkimpy-1.1.5.ebuild
new file mode 100644
index 000000000000..14f84f5b5e4d
--- /dev/null
+++ b/dev-python/dkimpy/dkimpy-1.1.5.ebuild
@@ -0,0 +1,37 @@
+# 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.6.ebuild b/dev-python/dkimpy/dkimpy-1.1.6.ebuild
new file mode 100644
index 000000000000..58eb09537432
--- /dev/null
+++ b/dev-python/dkimpy/dkimpy-1.1.6.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/dns-lexicon/Manifest b/dev-python/dns-lexicon/Manifest
index 8acd410f54d6..6eb4dacc10d9 100644
--- a/dev-python/dns-lexicon/Manifest
+++ b/dev-python/dns-lexicon/Manifest
@@ -1 +1 @@
-DIST dns-lexicon-3.11.7.gh.tar.gz 6677647 BLAKE2B 9330bcc81e053e9cf8b2171b444e5d20e86922da15df7121a5957f8e6932528ba1f9099cc4dff08b2825d8fa253369b8b2da026a0846e64896bf491c59f2bdc9 SHA512 7d3becea6b9d60a4589e9d7e8de010d0b7e6a2c127d1ccc6981d1bff88d09f5a708fd3e9e22f66b8a0a77a331784340662de73607dd25d69c0342795c6afc765
+DIST dns-lexicon-3.17.0.gh.tar.gz 6200497 BLAKE2B 8f423d4d44517b3186ec7f5cfc5d1e0560d4c98360f8a9d6caab429e0b0e5abe8ee42545b0d7c4cdaf1e2a6a9af41b095198144fda386a207f4f98c7693bb2ba SHA512 1bc182f5881d6acfac72b84331ba50da1219178d274c92e532ed11e73aa79696681d28a002cd1e23f48590953f48e50b62c2ef2db020a07ecf88547717508c0c
diff --git a/dev-python/dns-lexicon/dns-lexicon-3.11.7.ebuild b/dev-python/dns-lexicon/dns-lexicon-3.11.7.ebuild
deleted file mode 100644
index a2222bd1de52..000000000000
--- a/dev-python/dns-lexicon/dns-lexicon-3.11.7.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=poetry
-PYTHON_COMPAT=( python3_10 )
-
-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/importlib_metadata-4[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/tldextract[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/boto3[${PYTHON_USEDEP}]
- dev-python/zeep[${PYTHON_USEDEP}]
- dev-python/vcrpy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # Requires the "localzone" module
- lexicon/tests/providers/test_localzone.py
- # Requires the "softlayer" module
- lexicon/tests/providers/test_softlayer.py
- # Requires the "transip" module
- lexicon/tests/providers/test_transip.py
- # Requires the "oci" module
- lexicon/tests/providers/test_oci.py
- # Uses tldextract which needs Internet access to download its database
- lexicon/tests/providers/test_auto.py
- # All recordings seem to be broken
- lexicon/tests/providers/test_namecheap.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
new file mode 100644
index 000000000000..4167c3b34165
--- /dev/null
+++ b/dev-python/dns-lexicon/dns-lexicon-3.17.0.ebuild
@@ -0,0 +1,72 @@
+# 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/dnspython-2[${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/zeep[${PYTHON_USEDEP}]
+ dev-python/vcrpy[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+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/dnspython/Manifest b/dev-python/dnspython/Manifest
index c48250fd5d39..69ffca18b716 100644
--- a/dev-python/dnspython/Manifest
+++ b/dev-python/dnspython/Manifest
@@ -1,2 +1 @@
-DIST dnspython-2.2.1.tar.gz 304861 BLAKE2B e6446b91579c6ec0a7266a354ceb58e2f881b55b7376648770ebc2c6104fd815214497516d305b75802e9211703d47a70d66745d872a43afb72f41e55a617652 SHA512 ec545468f604d6131f07259ca154c4f71d445d12c336ac1da0d2f025d6478ada76320a7235119312fed85da071ef309d2531e541d3c2340a50deaf3f4dd7b4eb
-DIST dnspython-2.3.0.gh.tar.gz 339222 BLAKE2B 1e1bfd1d716f5afce1ccc2e0f1fbb8e575e91619bc32f2c5067f6da4e01ea927dd0a1ed4c35e6c88d34de320befd833c9c17d060ea71918775c1f5f0121b61a8 SHA512 0bb4b41262a1d97b724e48b4dfb70f1fb544c18824e7d2bc2dcb8ef6c943c6c827ce753ae4ccb2ab37e95c8f5ff5d2f4853f238509f21e6299a445760c41e10e
+DIST dnspython-2.6.1.gh.tar.gz 373684 BLAKE2B 63ac506d528a9e3684daf4888b51d732d9a12c3439ff1c353250a7bad78781f9f12bb13509e69093d5585a4a04bf2fbb1b8eb690a39f27e5d58e8f0f3b3b36a8 SHA512 77e9c69ac70e9e31a11188b968d28b8f2890b053b2cce0e608eefad7fd2c2b0f30c074222b2e5e85c0b4b8705f2e45acfa8b016a7808cc421df1d77f2561d978
diff --git a/dev-python/dnspython/dnspython-2.2.1-r1.ebuild b/dev-python/dnspython/dnspython-2.2.1-r1.ebuild
deleted file mode 100644
index 234f6e0d5e61..000000000000
--- a/dev-python/dnspython/dnspython-2.2.1-r1.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=poetry
-PYTHON_COMPAT=( python3_{9..11} 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}.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 ~x86-solaris"
-IUSE="dnssec examples"
-
-RDEPEND="
- dnssec? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- )
- <dev-python/idna-4.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/network_avail/s:True:False:' \
- tests/*.py || die
- distutils-r1_src_prepare
-}
-
-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.3.0.ebuild b/dev-python/dnspython/dnspython-2.3.0.ebuild
deleted file mode 100644
index bd524b81f306..000000000000
--- a/dev-python/dnspython/dnspython-2.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=poetry
-PYTHON_COMPAT=( python3_{9..11} 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 ~x86-solaris"
-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
-
-src_prepare() {
- sed -i -e '/network_avail/s:True:False:' \
- tests/*.py || die
- distutils-r1_src_prepare
-}
-
-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..aefb1a3a556f
--- /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..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-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/Manifest b/dev-python/doc8/Manifest
index 3b4512073908..510c83beecc5 100644
--- a/dev-python/doc8/Manifest
+++ b/dev-python/doc8/Manifest
@@ -1,2 +1 @@
-DIST doc8-1.0.0.tar.gz 26058 BLAKE2B 0113a4738804a9ed0446ae26b18f0f7da9dd3c4a90c598e03c78d3124f5db42dbc38f1f17af05ef60cb645a8b18bcb20aeb2f5cc00c44814afd572d92b2d0301 SHA512 98ad904a994536de80d6e89a221e3d7159d5188a0f57d07961f646e0591f81790f06c624ef90c32e28ff89ecf9e39b2b052363995aaece6a4e30f643c37964b9
DIST doc8-1.1.1.tar.gz 26514 BLAKE2B 847e34081f4e00698cbe3ca9b7325de2995c45bd02b2f443459050a2801a5b476222c345c4ba06463fc6ff489c3c59e5b6e7abbd7b98af740f09d5b04771a4b2 SHA512 7ec21c2483f7ebf2a7e1fef6677c6051ac253da6014354a968b8a107d8097f986b6b162850561fd6a103e93d157b2c849554aabe2484a49c4a3726c8e2083a89
diff --git a/dev-python/doc8/doc8-1.0.0.ebuild b/dev-python/doc8/doc8-1.0.0.ebuild
deleted file mode 100644
index 960f530924da..000000000000
--- a/dev-python/doc8/doc8-1.0.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..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Style checker for Sphinx (or other) RST documentation"
-HOMEPAGE="
- https://pypi.org/project/doc8/
- https://github.com/pycqa/doc8/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-
-RDEPEND="
- dev-python/docutils[${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}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- dev-python/setuptools_scm_git_archive[${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
index 4cd494e0b3a4..99524e85d3e3 100644
--- a/dev-python/doc8/doc8-1.1.1.ebuild
+++ b/dev-python/doc8/doc8-1.1.1.ebuild
@@ -4,20 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Style checker for Sphinx (or other) RST documentation"
HOMEPAGE="
https://pypi.org/project/doc8/
https://github.com/PyCQA/doc8/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+KEYWORDS="amd64 ~arm arm64 x86"
RDEPEND="
<dev-python/docutils-0.21[${PYTHON_USEDEP}]
@@ -28,7 +27,7 @@ RDEPEND="
"
# setuptools_scm_git_archive is not actually needed here
BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
"
distutils_enable_tests pytest
diff --git a/dev-python/docker-py/Manifest b/dev-python/docker-py/Manifest
deleted file mode 100644
index 9e28eb28e58b..000000000000
--- a/dev-python/docker-py/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST docker-py-5.0.3.gh.tar.gz 247093 BLAKE2B 607aca3f6a58b289feed018f40fa5e76e9d6cbae9eefd15a3347e393ae68d963e897e5f288ebf3a13cfbbfafd37882152da1398f61a808338424f353384f1b43 SHA512 50890e8d75eb9e4d3d98bbea5f86b86ad199a56ab0761bf2d0c0f3b7902810b2c17c2a677b0063963742a43a4660d400705bb8eb4e217c89302ae849a4ef3e08
diff --git a/dev-python/docker-py/docker-py-5.0.3.ebuild b/dev-python/docker-py/docker-py-5.0.3.ebuild
deleted file mode 100644
index 3614ac260139..000000000000
--- a/dev-python/docker-py/docker-py-5.0.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python client for Docker"
-HOMEPAGE="https://github.com/docker/docker-py"
-SRC_URI="https://github.com/docker/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/requests-2.24.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/websocket-client-0.32.0[${PYTHON_USEDEP}]
-"
-DEPEND="
- test? (
- >=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/paramiko-2.4.2[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- 'dev-python/recommonmark' \
- '>=dev-python/sphinx-1.4.6'
-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
-}
-
-python_test() {
- epytest -vv tests/unit
-}
diff --git a/dev-python/docker-py/metadata.xml b/dev-python/docker-py/metadata.xml
deleted file mode 100644
index 8ec98dea8792..000000000000
--- a/dev-python/docker-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="project">
- <email>python@gentoo.org</email>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">docker/docker-py</remote-id>
- <bugs-to>https://github.com/docker/docker-py/issues</bugs-to>
- <remote-id type="pypi">docker-py</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/docker/Manifest b/dev-python/docker/Manifest
new file mode 100644
index 000000000000..0a0aefbfab77
--- /dev/null
+++ b/dev-python/docker/Manifest
@@ -0,0 +1,2 @@
+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
diff --git a/dev-python/docker/docker-6.1.3.ebuild b/dev-python/docker/docker-6.1.3.ebuild
new file mode 100644
index 000000000000..6d94ceea49f3
--- /dev/null
+++ b/dev-python/docker/docker-6.1.3.ebuild
@@ -0,0 +1,57 @@
+# 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/docker/docker-py/pull/3176 (incomplete)
+PYTHON_COMPAT=( python3_{10..11} )
+
+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}]
+ >=dev-python/websocket-client-0.32.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/paramiko-2.4.3[${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.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/metadata.xml b/dev-python/docker/metadata.xml
new file mode 100644
index 000000000000..f7c364e174f0
--- /dev/null
+++ b/dev-python/docker/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>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">docker/docker-py</remote-id>
+ <bugs-to>https://github.com/docker/docker-py/issues</bugs-to>
+ <remote-id type="pypi">docker</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/dockerpty/Manifest b/dev-python/dockerpty/Manifest
index f45c3fbd7fb1..d5528775f24e 100644
--- a/dev-python/dockerpty/Manifest
+++ b/dev-python/dockerpty/Manifest
@@ -1 +1 @@
-DIST dockerpty-0.4.1.tar.gz 19608 BLAKE2B 1c7229bdd18100bb75a8ec80f0b8a636137efce40affb2bbadf27eef5ee13322ab92f9a3f77db0ef79c35366daf700550eb9a358534f7a1f1c2b92ec2cd4d5d0 SHA512 1f27a1d1cf9bfa21a77f2c0695334ec09a81ed5b70190b16fb23ec0e2ab4cb84af334b5e9275265eff2d8014aac5f96890276bed5775bb805c3f30260c99da70
+DIST dockerpty-0.4.1.gh.tar.gz 19608 BLAKE2B 1c7229bdd18100bb75a8ec80f0b8a636137efce40affb2bbadf27eef5ee13322ab92f9a3f77db0ef79c35366daf700550eb9a358534f7a1f1c2b92ec2cd4d5d0 SHA512 1f27a1d1cf9bfa21a77f2c0695334ec09a81ed5b70190b16fb23ec0e2ab4cb84af334b5e9275265eff2d8014aac5f96890276bed5775bb805c3f30260c99da70
diff --git a/dev-python/dockerpty/dockerpty-0.4.1-r1.ebuild b/dev-python/dockerpty/dockerpty-0.4.1-r1.ebuild
deleted file mode 100644
index ded0fcc09c61..000000000000
--- a/dev-python/dockerpty/dockerpty-0.4.1-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..10} )
-
-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}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64"
-IUSE="test"
-
-DEPEND="
- test? (
- >=dev-python/docker-py-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/dockerpty-0.4.1-r2.ebuild b/dev-python/dockerpty/dockerpty-0.4.1-r2.ebuild
new file mode 100644
index 000000000000..b21ca217ec51
--- /dev/null
+++ b/dev-python/dockerpty/dockerpty-0.4.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..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library to use the pseudo-tty of a docker container"
+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}]
+ )
+"
+
+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 7a3cceceb629..49bbb06204ba 100644
--- a/dev-python/docopt/docopt-0.6.2-r5.ebuild
+++ b/dev-python/docopt/docopt-0.6.2-r5.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong 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 cb457e6c6182..c4aaa545ad3f 100644
--- a/dev-python/docstring-to-markdown/Manifest
+++ b/dev-python/docstring-to-markdown/Manifest
@@ -1 +1 @@
-DIST docstring-to-markdown-0.11.gh.tar.gz 25349 BLAKE2B ea5c5d568146422826075bddc1acfe64ebe9d8c2a1631aae2afc50e99e380b038becc8f589097b329c80287fb2308dc3ce4c898252eb45086a893c74fa7a7aeb SHA512 6f593628f1dc49897359f7366ee7cb380e5f5e68f6cefd16f349eb470df62804c8f20d679484b987dbb33155e2c97ee98c6759e17ebb1ca38499ea5e984baede
+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.11.ebuild b/dev-python/docstring-to-markdown/docstring-to-markdown-0.11.ebuild
deleted file mode 100644
index 10fbea97acbd..000000000000
--- a/dev-python/docstring-to-markdown/docstring-to-markdown-0.11.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="On the fly conversion of Python docstrings to markdown"
-HOMEPAGE="https://github.com/python-lsp/docstring-to-markdown"
-SRC_URI="
- https://github.com/python-lsp/docstring-to-markdown/archive/refs/tags/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 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..234446603167
--- /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..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/doctest-ignore-unicode/Manifest b/dev-python/doctest-ignore-unicode/Manifest
deleted file mode 100644
index a7c79a770a10..000000000000
--- a/dev-python/doctest-ignore-unicode/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST doctest-ignore-unicode-0.1.2.tar.gz 2270 BLAKE2B a114a1724445ed2c5c41f46098d5930da8b255e82256ef686fa8567dc305608363895655ede36f70b87896f0ed22f1c8e1047632cff5719ef7417159b0a691e6 SHA512 ac88d1cc90b1db21b21b121cddde246314d8a3e399ea0e96f1cd4f7812949cebdd0850566a90d47da01ea159bb8d69c8a73ee05c62cc40d0839d4701f2f330d3
diff --git a/dev-python/doctest-ignore-unicode/doctest-ignore-unicode-0.1.2-r1.ebuild b/dev-python/doctest-ignore-unicode/doctest-ignore-unicode-0.1.2-r1.ebuild
deleted file mode 100644
index e50d454d3b9f..000000000000
--- a/dev-python/doctest-ignore-unicode/doctest-ignore-unicode-0.1.2-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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Add flag to ignore unicode literal prefixes in doctests"
-HOMEPAGE="https://pypi.org/project/doctest-ignore-unicode/ https://github.com/gnublade/doctest-ignore-unicode"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-distutils_enable_tests nose
diff --git a/dev-python/doctest-ignore-unicode/metadata.xml b/dev-python/doctest-ignore-unicode/metadata.xml
deleted file mode 100644
index f425a33afe20..000000000000
--- a/dev-python/doctest-ignore-unicode/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">doctest-ignore-unicode</remote-id>
- <remote-id type="github">gnublade/doctest-ignore-unicode</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/docutils-glep/docutils-glep-1.5.ebuild b/dev-python/docutils-glep/docutils-glep-1.5.ebuild
index 77e8e846a8f4..6184a8bd712d 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..12} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="public-domain"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
RDEPEND="
>=dev-python/docutils-0.10[${PYTHON_USEDEP}]
diff --git a/dev-python/docutils/Manifest b/dev-python/docutils/Manifest
index d944a1b12a33..520c7d2dd766 100644
--- a/dev-python/docutils/Manifest
+++ b/dev-python/docutils/Manifest
@@ -1,2 +1,3 @@
-DIST docutils-0.17.1.tar.gz 2016138 BLAKE2B aa0b6525ba2e3eaebc17010806952ed5f40919876fcb813f50cc05b628dfd22e6073a9a4b2bfe989089ae68d9b7111ae3a97dda2bde5c0536f8fb76c0942fe29 SHA512 5ec2087116bd5356fdffc54f07f6b0355aac5fa9d6caeefa77e8d201fd4706c0d419193c4d9a3964ae493da3091fe2c7dc36b74f81a1e1b9282173658b06e71b
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.1.tar.gz 2201080 BLAKE2B a89792a69a7faa0eda7b2470e5e3a3d3cf8250a3577553a8f8f8d3d86d2693394e97dca6c75c1b4815748d2ce126ccd3f71dead5763ec8b70aee7be183165473 SHA512 2816fe074b12d7f15fb6730339f3af5f459f50af0cd2a4922194887f48bfd9931c2f2054a17a5418585b586502b96e05ed18600d31c523084537dc72707ab0ee
diff --git a/dev-python/docutils/docutils-0.17.1-r1.ebuild b/dev-python/docutils/docutils-0.17.1-r1.ebuild
deleted file mode 100644
index 94e3e8ca9195..000000000000
--- a/dev-python/docutils/docutils-0.17.1-r1.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python Documentation Utilities (reference reStructuredText impl.)"
-HOMEPAGE="
- https://docutils.sourceforge.io/
- https://pypi.org/project/docutils/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- dev-python/pygments[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
-"
-
-PATCHES=(
- "${FILESDIR}/docutils-0.18.1-py311.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.19.ebuild b/dev-python/docutils/docutils-0.19.ebuild
index 0a5fd76f32d2..1bbeb19e0cb4 100644
--- a/dev-python/docutils/docutils-0.19.ebuild
+++ b/dev-python/docutils/docutils-0.19.ebuild
@@ -4,20 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{9..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Python Documentation Utilities (reference reStructuredText impl.)"
HOMEPAGE="
https://docutils.sourceforge.io/
https://pypi.org/project/docutils/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+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}]
@@ -26,6 +25,10 @@ BDEPEND="
${RDEPEND}
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.19-pygments-2.14.patch
+)
+
python_compile_all() {
# Generate html docs from reStructured text sources.
diff --git a/dev-python/docutils/docutils-0.20.1-r1.ebuild b/dev-python/docutils/docutils-0.20.1-r1.ebuild
new file mode 100644
index 000000000000..b1eb658a351b
--- /dev/null
+++ b/dev-python/docutils/docutils-0.20.1-r1.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..12} 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/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/docutils-0.21.1.ebuild b/dev-python/docutils/docutils-0.21.1.ebuild
new file mode 100644
index 000000000000..773ff8bded58
--- /dev/null
+++ b/dev-python/docutils/docutils-0.21.1.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=flit
+PYTHON_COMPAT=( python3_{10..12} 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}
+"
+
+PATCHES=(
+ # minimal backport of upstream r9637, r9641
+ "${FILESDIR}/${P}-test.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 --no-datestamp \
+ --stylesheet-path=../html4css1.css, --traceback ../docs || die
+}
+
+src_test() {
+ cd test || die
+ mkdir functional/output || 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.18.1-py311.patch b/dev-python/docutils/files/docutils-0.18.1-py311.patch
deleted file mode 100644
index 878c6f1961db..000000000000
--- a/dev-python/docutils/files/docutils-0.18.1-py311.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-Combination of:
-http://svn.code.sf.net/p/docutils/code/trunk@8910
-http://svn.code.sf.net/p/docutils/code/trunk@8909
-
-diff --git a/test/DocutilsTestSupport.py b/test/DocutilsTestSupport.py
-index 592d3f9df..e1f33aa7a 100644
---- a/test/DocutilsTestSupport.py
-+++ b/test/DocutilsTestSupport.py
-@@ -819,6 +819,7 @@ def exception_data(func, *args, **kwds):
- except Exception as detail:
- return (detail, detail.args,
- '%s: %s' % (detail.__class__.__name__, detail))
-+ return None, [], "No exception"
-
-
- def _format_str(*args):
-diff --git a/test/test_parsers/test_rst/test_directives/test_tables.py b/test/test_parsers/test_rst/test_directives/test_tables.py
-index 07be0122f..73724ed7e 100755
---- a/test/test_parsers/test_rst/test_directives/test_tables.py
-+++ b/test/test_parsers/test_rst/test_directives/test_tables.py
-@@ -65,6 +65,92 @@ def null_bytes():
- next(reader)
-
- null_bytes_exception = DocutilsTestSupport.exception_data(null_bytes)[0]
-+# Null bytes are valid in Python 3.11+:
-+if null_bytes_exception is None:
-+ bad_encoding_result = """\
-+<document source="test data">
-+ <table>
-+ <title>
-+ bad encoding
-+ <tgroup cols="4">
-+ <colspec colwidth="25">
-+ <colspec colwidth="25">
-+ <colspec colwidth="25">
-+ <colspec colwidth="25">
-+ <tbody>
-+ <row>
-+ <entry>
-+ <paragraph>
-+ \xfe\xff"Treat"
-+ <entry>
-+ <paragraph>
-+ "Quantity"
-+ <entry>
-+ <paragraph>
-+ "Description"
-+ <entry>
-+ <row>
-+ <entry>
-+ <paragraph>
-+ "Albatr\u00b0\u00df"
-+ <entry>
-+ <paragraph>
-+ 2.99
-+ <entry>
-+ <paragraph>
-+ "\u00a1Ona\x03\xc3\x03\xc4\x03\xb9\x03\xba!"
-+ <entry>
-+ <row>
-+ <entry>
-+ <paragraph>
-+ "CrunchyFrog"
-+ <entry>
-+ <paragraph>
-+ 1.49
-+ <entry>
-+ <paragraph>
-+ "Ifwetooktheb\u00f6nesout
-+ <entry>
-+ <paragraph>
-+ itwouldn\x20\x19tbe
-+ <row>
-+ <entry>
-+ <paragraph>
-+ crunchy
-+ <entry>
-+ <paragraph>
-+ nowwouldit?"
-+ <entry>
-+ <entry>
-+ <row>
-+ <entry>
-+ <paragraph>
-+ "GannetRipple"
-+ <entry>
-+ <paragraph>
-+ 1.99
-+ <entry>
-+ <paragraph>
-+ "\xbfOna\x03\xc3\x03\xc4\x03\xb9\x03\xba?"
-+ <entry>
-+ <paragraph>
-+ (7- and 8-bit text encoded as UTF-16 has lots of null/zero bytes.)
-+"""
-+else:
-+ bad_encoding_result = """\
-+<document source="test data">
-+ <system_message level="3" line="1" source="test data" type="ERROR">
-+ <paragraph>
-+ Error with CSV data in "csv-table" directive:
-+ %s
-+ <literal_block xml:space="preserve">
-+ .. csv-table:: bad encoding
-+ :file: %s
-+ :encoding: latin-1
-+ <paragraph>
-+ (7- and 8-bit text encoded as UTF-16 has lots of null/zero bytes.)
-+""" % (null_bytes_exception, utf_16_csv)
-+
-
- totest = {}
-
-@@ -1031,19 +1117,8 @@ u"""\
-
- (7- and 8-bit text encoded as UTF-16 has lots of null/zero bytes.)
- """ % utf_16_csv,
--"""\
--<document source="test data">
-- <system_message level="3" line="1" source="test data" type="ERROR">
-- <paragraph>
-- Error with CSV data in "csv-table" directive:
-- %s
-- <literal_block xml:space="preserve">
-- .. csv-table:: bad encoding
-- :file: %s
-- :encoding: latin-1
-- <paragraph>
-- (7- and 8-bit text encoded as UTF-16 has lots of null/zero bytes.)
--""" % (null_bytes_exception, utf_16_csv)],
-+bad_encoding_result
-+],
- ["""\
- .. csv-table:: good encoding
- :file: %s
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
new file mode 100644
index 000000000000..42324aa49c4d
--- /dev/null
+++ b/dev-python/docutils/files/docutils-0.19-pygments-2.14.patch
@@ -0,0 +1,672 @@
+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/docutils/files/docutils-0.21.1-test.patch b/dev-python/docutils/files/docutils-0.21.1-test.patch
new file mode 100644
index 000000000000..507fd239c166
--- /dev/null
+++ b/dev-python/docutils/files/docutils-0.21.1-test.patch
@@ -0,0 +1,42 @@
+diff --git a/test/test_writers/test_html5_polyglot_parts.py b/test/test_writers/test_html5_polyglot_parts.py
+index fb2792ee7..cb03fea2f 100644
+--- a/test/test_writers/test_html5_polyglot_parts.py
++++ b/test/test_writers/test_html5_polyglot_parts.py
+@@ -24,11 +24,20 @@ if __name__ == '__main__':
+
+ import docutils
+ import docutils.core
++from docutils.parsers.rst.directives.images import PIL
+ from docutils.utils.code_analyzer import with_pygments
+
+ ROOT_PREFIX = (Path(__file__).parent.parent/'functional'/'input').as_posix()
+ DATA_ROOT = os.path.abspath(os.path.join(__file__, '..', '..', 'data'))
+
++with_pygments = False
++PIL_NOT_FOUND_PATH = 'dummy.png'
++try:
++ if PIL and (tuple(int(i) for i in PIL.__version__.split('.')) >= (10, 3)):
++ PIL_NOT_FOUND_PATH = Path('dummy.png').resolve()
++except:
++ PIL = None
++
+
+ class Html5WriterPublishPartsTestCase(unittest.TestCase):
+ """Test case for HTML writer via the publish_parts interface."""
+@@ -642,14 +651,14 @@ totest['system_messages'] = ({'stylesheet_path': '',
+ .. image:: dummy.mp4
+ :scale: 100%
+ """,
+-{'fragment': """\
++{'fragment': f"""\
+ <img alt="dummy.png" src="dummy.png" />
+ <aside class="system-message">
+ <p class="system-message-title">System Message: WARNING/2 \
+ (<span class="docutils literal">&lt;string&gt;</span>, line 1)</p>
+ <p>Cannot scale image!
+ Could not get size from &quot;dummy.png&quot;:
+- [Errno 2] No such file or directory: 'dummy.png'</p>
++ [Errno 2] No such file or directory: '{PIL_NOT_FOUND_PATH}'</p>
+ </aside>
+ <aside class="system-message">
+ <p class="system-message-title">System Message: ERROR/3 \
diff --git a/dev-python/dogpile-cache/Manifest b/dev-python/dogpile-cache/Manifest
index e3817311cf28..a7069916476f 100644
--- a/dev-python/dogpile-cache/Manifest
+++ b/dev-python/dogpile-cache/Manifest
@@ -1 +1 @@
-DIST dogpile.cache-1.1.8.tar.gz 394499 BLAKE2B 3371e6ffceb6629200a18095a20a313952b8a246d2ec7580e6409bde0f16851f8332922647b92383b47276933cfeb818dde6df48efd2534df0f94cbbc511e01c SHA512 2bacc111e17ecc706b3389f5c40ded888cc893f6d01c34a4e1e0d8d94c4592369b0c283aa80eb6ebec90dde7a89fd3b7fb9bbcbdd8010f90ad7de4501db13ace
+DIST dogpile.cache-1.3.2.tar.gz 269742 BLAKE2B 9656ec20cecccc03c101fe23fd2fa9879bf34cbf52f5232677c357690e55185b6fdeeefc8f820e48a1e39f4d3f2ab106705c717edc3fb0245b8d66f2845bc0cb SHA512 4cdc77f5c58ac26dbedd32580ac03a3b1c9ebc7e0526dbc980307704b2a41be604682a24084149e0d09caf535eed3a555a97e47142676b42fdb68276aa04d1a3
diff --git a/dev-python/dogpile-cache/dogpile-cache-1.1.8.ebuild b/dev-python/dogpile-cache/dogpile-cache-1.1.8.ebuild
deleted file mode 100644
index 8d2359a25d81..000000000000
--- a/dev-python/dogpile-cache/dogpile-cache-1.1.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_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/dogpile.cache/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-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}]
-"
-BDEPEND="
- test? (
- dev-python/mako[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/dogpile-cache/dogpile-cache-1.3.2.ebuild b/dev-python/dogpile-cache/dogpile-cache-1.3.2.ebuild
new file mode 100644
index 000000000000..d4868dc80a4e
--- /dev/null
+++ b/dev-python/dogpile-cache/dogpile-cache-1.3.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
+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/doit-py/Manifest b/dev-python/doit-py/Manifest
index a7cb600be8df..7b7691a48937 100644
--- a/dev-python/doit-py/Manifest
+++ b/dev-python/doit-py/Manifest
@@ -1 +1 @@
-DIST doit-py-0.5.0.tar.gz 15174 BLAKE2B 092f21549d3c088baf8a96b8dd7575304d08c7ae7b0472e7a890159247422060af06c1cc14064cd608bd59e71788067c5374953b16f4511971bb3018c0245cd4 SHA512 f9e70be30f47b7251bdb479762dabe655be898f9fe37fc5ac6608110a82863a08002271620569745f9ec2f47c03529c044a6ea74244b8bb6438b3fbe7e4c28f7
+DIST doit-py-0.5.0.gh.tar.gz 15174 BLAKE2B 092f21549d3c088baf8a96b8dd7575304d08c7ae7b0472e7a890159247422060af06c1cc14064cd608bd59e71788067c5374953b16f4511971bb3018c0245cd4 SHA512 f9e70be30f47b7251bdb479762dabe655be898f9fe37fc5ac6608110a82863a08002271620569745f9ec2f47c03529c044a6ea74244b8bb6438b3fbe7e4c28f7
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
new file mode 100644
index 000000000000..1d713f67d6d6
--- /dev/null
+++ b/dev-python/doit-py/doit-py-0.5.0-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="doit tasks for python stuff"
+HOMEPAGE="
+ https://pythonhosted.org/doit-py/
+ https://github.com/pydoit/doit-py/
+ https://pypi.org/project/doit-py/
+"
+SRC_URI="
+ https://github.com/pydoit/doit-py/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ dev-python/configclass[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ app-text/hunspell[l10n_en]
+ dev-python/pyflakes[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx doc
+distutils_enable_tests pytest
diff --git a/dev-python/doit-py/doit-py-0.5.0.ebuild b/dev-python/doit-py/doit-py-0.5.0.ebuild
deleted file mode 100644
index 309e8b5cd190..000000000000
--- a/dev-python/doit-py/doit-py-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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="doit tasks for python stuff"
-HOMEPAGE="https://pythonhosted.org/doit-py/ https://github.com/pydoit/doit-py"
-SRC_URI="https://github.com/pydoit/doit-py/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-DEPEND="
- test? (
- app-text/hunspell[l10n_en]
- dev-python/pyflakes[${PYTHON_USEDEP}]
- )"
-RDEPEND="
- dev-python/configclass[${PYTHON_USEDEP}]"
-
-distutils_enable_sphinx doc
-distutils_enable_tests pytest
diff --git a/dev-python/doit/doit-0.36.0-r1.ebuild b/dev-python/doit/doit-0.36.0-r1.ebuild
new file mode 100644
index 000000000000..3945d5544187
--- /dev/null
+++ b/dev-python/doit/doit-0.36.0-r1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+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}]
+ || (
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+ )
+"
+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/doit/doit-0.36.0.ebuild b/dev-python/doit/doit-0.36.0.ebuild
deleted file mode 100644
index 15ea5d4d7f45..000000000000
--- a/dev-python/doit/doit-0.36.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..10} )
-inherit bash-completion-r1 distutils-r1
-
-DESCRIPTION="Automation tool"
-HOMEPAGE="https://pydoit.org/
- https://pypi.org/project/doit/
- https://github.com/pydoit/doit"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-RDEPEND="
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- dev-python/pyinotify[${PYTHON_USEDEP}]
- || (
- dev-python/tomli[${PYTHON_USEDEP}]
- dev-python/tomlkit[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- dev-python/pyflakes[${PYTHON_USEDEP}]
- )
-"
-PDEPEND=">=dev-python/doit-py-0.4.0[${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 e0680178456e..3f68dcdaea0a 100644
--- a/dev-python/dominate/Manifest
+++ b/dev-python/dominate/Manifest
@@ -1 +1 @@
-DIST dominate-2.7.0.tar.gz 36351 BLAKE2B aae802626a9e7f6b6f45f39a5b2cd6a6846ca42617e9a5ac5fe8e4a871e8ecfb89124e079313838c6f098ea5107a904d230808eda29cb05293e18ef4bdaa2504 SHA512 8ecca393548bd7c39b5d1800fee94634a60e4e12db44e16df316c9e0f5f04dc6c91e11fbe242d3c6dade3a5e09bec7e3becbfd4f8eaa58f9a8fc7ee15ac3bf31
+DIST dominate-2.9.1.tar.gz 37715 BLAKE2B df0271537916e57d50b0d1918f34cdbcd2b1f2bde1e50995593b242e75758f184515dd33518fec0c57c959f5a504dfebf4210814213b159bed2546af7369d915 SHA512 690f7228957cfc3c673bb1863f4e7d15c5e717c4bde24eb8280efc1be07cd50fae514a10b3208ee1b37e4d19d513622c7768b9efb61f11c286430832e873e8e5
diff --git a/dev-python/dominate/dominate-2.7.0.ebuild b/dev-python/dominate/dominate-2.7.0.ebuild
deleted file mode 100644
index aa745c314da3..000000000000
--- a/dev-python/dominate/dominate-2.7.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Library for creating and manipulating HTML documents using an elegant DOM API"
-HOMEPAGE="
- https://github.com/Knio/dominate/
- https://pypi.org/project/dominate/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 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..ba757949eccd
--- /dev/null
+++ b/dev-python/dominate/dominate-2.9.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..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/doublex-expects/Manifest b/dev-python/doublex-expects/Manifest
index 0d0f75954397..55b82a8784c1 100644
--- a/dev-python/doublex-expects/Manifest
+++ b/dev-python/doublex-expects/Manifest
@@ -1 +1 @@
-DIST doublex-expects-0.7.1.tar.gz 6315 BLAKE2B 4af2832244578237821ba29baec54ffe1f226dfb1c92a5a03122c1a30c0e78d472ab8f75e6412a9014b97265120b5c60a8b5674cb42be58b46397a537bd534bf SHA512 2aaff2e58556ed9eb91ebb418e65058367411e011e843afb5adb08ab69705b6bdfb478d3052aae093ad1c1a1b49ba1e084e4c5510acde4874182a658330e3448
+DIST doublex-expects-0.7.1.gh.tar.gz 6315 BLAKE2B 4af2832244578237821ba29baec54ffe1f226dfb1c92a5a03122c1a30c0e78d472ab8f75e6412a9014b97265120b5c60a8b5674cb42be58b46397a537bd534bf SHA512 2aaff2e58556ed9eb91ebb418e65058367411e011e843afb5adb08ab69705b6bdfb478d3052aae093ad1c1a1b49ba1e084e4c5510acde4874182a658330e3448
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
new file mode 100644
index 000000000000..ce9bc921d5eb
--- /dev/null
+++ b/dev-python/doublex-expects/doublex-expects-0.7.1-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Expects matchers for Doublex test doubles assertions"
+HOMEPAGE="
+ https://github.com/jaimegildesagredo/doublex-expects/
+ https://pypi.org/project/doublex-expects/
+"
+SRC_URI="
+ https://github.com/jaimegildesagredo/doublex-expects/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/doublex[${PYTHON_USEDEP}]
+ >=dev-python/expects-0.8.0_rc1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/mamba[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ mamba || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/doublex-expects/doublex-expects-0.7.1.ebuild b/dev-python/doublex-expects/doublex-expects-0.7.1.ebuild
deleted file mode 100644
index cf2e7bf1c785..000000000000
--- a/dev-python/doublex-expects/doublex-expects-0.7.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-MY_PV=${PV/_/}
-
-DESCRIPTION="Expects matchers for Doublex test doubles assertions"
-HOMEPAGE="https://github.com/jaimegildesagredo/doublex-expects"
-SRC_URI="https://github.com/jaimegildesagredo/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/doublex[${PYTHON_USEDEP}]
- >=dev-python/expects-0.8.0_rc1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- dev-python/mamba[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- mamba || die "Tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/doublex/Manifest b/dev-python/doublex/Manifest
index 808466437d18..bd0b79d028c3 100644
--- a/dev-python/doublex/Manifest
+++ b/dev-python/doublex/Manifest
@@ -1 +1 @@
-DIST doublex-1.9.2.tar.gz 80246 BLAKE2B 7fc1c4e6d117bee13e7125b634293aa7c9d1016c9cd5201f047143bcb1fae1e9607bf0a030cbaa2d6eb930474babe29aaf244433aba57ae4325a3a43af2fdf56 SHA512 0278f756930b0d5c3da676e3908ccc17b919c14f740aace3002f5117fa341ac52fe16fdaa2c3b36029757dd1dc2f36d8d35cdc8664fcfdbcafd4809d2fc969b0
+DIST python-doublex-1.9.6.1.gh.tar.gz 81848 BLAKE2B 34aa108ba12f34f18f7a7b3d12fd2a539736d95097fd3ecf5344fdac551b16717d5348da1c6e2e10e19878b82de7e9195b9bd17d526156bc13e0ad2fd789b23e SHA512 c9779c5fcde43af653c2131894da44a878acf2cc81d53f6ab89a6fde071827a22aa97ec5a51561ad8861a98623d38c75f184be6234a6a5323c52e8e538c66710
diff --git a/dev-python/doublex/doublex-1.9.2-r1.ebuild b/dev-python/doublex/doublex-1.9.2-r1.ebuild
deleted file mode 100644
index b42ef4b5aad5..000000000000
--- a/dev-python/doublex/doublex-1.9.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1 vcs-snapshot
-
-DESCRIPTION="Python test doubles"
-HOMEPAGE="https://bitbucket.org/DavidVilla/python-doublex"
-SRC_URI="https://bitbucket.org/DavidVilla/python-${PN}/get/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 arm64"
-IUSE="doc test"
-
-RDEPEND="
- dev-python/pyhamcrest[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
- test? ( dev-python/nose[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_tests setup.py
-
-PATCHES=(
- # https://bitbucket.org/DavidVilla/python-doublex/pull-requests/1/support-python-310-by-using-collectionsabc
- "${FILESDIR}/${P}-py310.patch"
-)
-
-python_prepare_all() {
- # Disable broken tests
- # https://bitbucket.org/DavidVilla/python-doublex/issues/5/support-for-python-36-37-38-tests-failing
- sed -i "s/test_*hamcrest_/_&/" doublex/test/report_tests.py || die
- # https://bitbucket.org/DavidVilla/python-doublex/issues/6/more-failing-tests-with-python-39
- sed -i -r "s/test_(proxyspy_get_stubbed_property|stub_property|custom_equality_comparable_objects)/_&/" \
- doublex/test/unit_tests.py || die
- distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
- use doc && emake -C docs
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( docs/_build/html/. )
-
- distutils-r1_python_install_all
-
- rm "${ED}"/usr/README.rst || die "Couldn't remove spurious README.rst"
-}
diff --git a/dev-python/doublex/doublex-1.9.6.1.ebuild b/dev-python/doublex/doublex-1.9.6.1.ebuild
new file mode 100644
index 000000000000..2da925094b2c
--- /dev/null
+++ b/dev-python/doublex/doublex-1.9.6.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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-doublex-${PV}
+DESCRIPTION="Python test doubles"
+HOMEPAGE="
+ https://github.com/davidvilla/python-doublex/
+ https://pypi.org/project/doublex/
+"
+SRC_URI="
+ https://github.com/davidvilla/python-doublex/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 arm64"
+
+RDEPEND="
+ dev-python/pyhamcrest[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs --no-autodoc
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/data_files/d' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ epytest -o 'python_files=*_tests.py'
+}
diff --git a/dev-python/doublex/files/doublex-1.9.2-py310.patch b/dev-python/doublex/files/doublex-1.9.2-py310.patch
deleted file mode 100644
index 5d3a974a38a1..000000000000
--- a/dev-python/doublex/files/doublex-1.9.2-py310.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-commit ec3ce987a95abd951840213b77d44624b2ca5e84
-Author: Louis Sautier <sautier.louis@gmail.com>
-Date: Sat Aug 7 01:56:31 2021 +0200
-
- Support Python 3.10 by using collections.abc
-
-diff --git a/doublex/internal.py b/doublex/internal.py
-index 91f5866..072774a 100644
---- a/doublex/internal.py
-+++ b/doublex/internal.py
-@@ -20,7 +20,7 @@
-
-
- import threading
--import collections
-+import collections.abc
- import functools
- import six
-
-@@ -184,11 +184,11 @@ class Invocation(object):
- return Invocation(double, name, InvocationContext(*args, **kargs))
-
- def delegates(self, delegate):
-- if isinstance(delegate, collections.Callable):
-+ if isinstance(delegate, collections.abc.Callable):
- self.__delegate = delegate
- return
-
-- if isinstance(delegate, collections.Mapping):
-+ if isinstance(delegate, collections.abc.Mapping):
- self.__delegate = delegate.get
- return
-
diff --git a/dev-python/doublex/metadata.xml b/dev-python/doublex/metadata.xml
index a81fcaafc2cb..fb140d4056b7 100644
--- a/dev-python/doublex/metadata.xml
+++ b/dev-python/doublex/metadata.xml
@@ -1,9 +1,13 @@
<?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">davidvilla/python-doublex</remote-id>
<remote-id type="pypi">doublex</remote-id>
- <remote-id type="bitbucket">DavidVilla/python-doublex</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/dparse/Manifest b/dev-python/dparse/Manifest
new file mode 100644
index 000000000000..3690a7ca2bf6
--- /dev/null
+++ b/dev-python/dparse/Manifest
@@ -0,0 +1 @@
+DIST dparse-0.6.4b0.tar.gz 25761 BLAKE2B c2f430e9a59ca3747d00151aa5e5afdc51ad42dccafb2d5c95c4a62e405109bab6bba9de39a62703ef6f1846081cac9cb1e2bcc3986690ca6dc2f21220ffedd6 SHA512 f0cf9f07bca93388e85d0aa5bb8359cdaf276c5abf146f8469fe7b32a2ca0614452bcb3a48c55da4421964062fc0baf538386dce8f5e2a70b618533c870791ac
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/dparse/metadata.xml b/dev-python/dparse/metadata.xml
new file mode 100644
index 000000000000..3a5ad18648af
--- /dev/null
+++ b/dev-python/dparse/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" proxied="yes">
+ <email>oz.tiram@gmail.com</email>
+ <name>Oz Tiram</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">pyupio/dparse</remote-id>
+ <remote-id type="pypi">dparse</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/duecredit/Manifest b/dev-python/duecredit/Manifest
deleted file mode 100644
index 6dff472bd02a..000000000000
--- a/dev-python/duecredit/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST duecredit-0.9.1.tar.gz 81528 BLAKE2B f07eb552682c0d9c8c0763ad3bd9447a1ffd8c4187a26249062db34d42c184d461b3102af30c2f5712175692e18f73e70e75dd047ac728071f409f7e92e42635 SHA512 39b5800545b51b1e4fe5cb3b25162c9398b97f58df1651e4b518db48eca84faf0c4c70806334a619bad1a4ddb0f203a3eac849655a1a6c6e0b070889ec75ea19
diff --git a/dev-python/duecredit/duecredit-0.9.1.ebuild b/dev-python/duecredit/duecredit-0.9.1.ebuild
deleted file mode 100644
index 46bfc56eede5..000000000000
--- a/dev-python/duecredit/duecredit-0.9.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Publications (and donations) tracer"
-HOMEPAGE="https://github.com/duecredit/duecredit"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/citeproc-py-0.4[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # internet?
- 'duecredit/tests/test_api.py::test_noincorrect_import_if_no_lxml_numpy[kwargs1-env2]'
-)
diff --git a/dev-python/duecredit/metadata.xml b/dev-python/duecredit/metadata.xml
deleted file mode 100644
index a18004074da3..000000000000
--- a/dev-python/duecredit/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>alexxy@gentoo.org</email>
- <name>Alexey Shvetsov</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">duecredit/duecredit</remote-id>
- <remote-id type="pypi">duecredit</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/dulwich/Manifest b/dev-python/dulwich/Manifest
index 5d6f59e65dd1..2a5990124616 100644
--- a/dev-python/dulwich/Manifest
+++ b/dev-python/dulwich/Manifest
@@ -1,4 +1 @@
-DIST dulwich-0.20.50.tar.gz 430389 BLAKE2B 1ea86fe00fa560311bdcff8c51904982a506fa670efb503f9103c5fb25036a792a87583fdf6435a6a6ec7bd6aaa2277c621359e1d99f55450c247fdc4be74e51 SHA512 506cc76f7deb8247b910fa4971e28eeda6ddd34703ac3c7a2f3b6525e6a9229bbec527b1965bebf7aa3da17b5adbd146916f247acacf9caf86d2494e60cc8626
-DIST dulwich-0.21.0.tar.gz 436570 BLAKE2B d63185fe6e900823f5b295454a41be4f8508aa4c1757599186a0daab6f9b44e0036485d16d9f3dd34e3d1d191987cb0191254cee844caadadf9e43d0a2de0645 SHA512 ff437cb8381d91183d2843397afed5c1b04db000a093d61b6cdb1d76821104260e9d8572a05cf10c8959b88b99ec8fbcd3ff3a3ae2f860ab6201773de32635b5
-DIST dulwich-0.21.1.tar.gz 436958 BLAKE2B b821eb8a195496066017c0f9c9076ed25e1bfb894cead5175143a8944a16b8a82ca54d9a65d1aea23d7a039ce63343c608e2694f756b65b49e345d0ff49293f4 SHA512 bef3725b6101d0b8f115df432ca41a5f7b05fc5d84aa87f99f5815c670775ab74264a88768fbbe41bb89ff4cc6618b5a8a01ad2dae33f121ead424b5ed977f82
-DIST dulwich-0.21.2.tar.gz 436949 BLAKE2B 8c3b42e103146c3641292eaaae29b2e53690a84fe0ba68adcaecc7ed75ce5ee3af64cffcc702b98a5bef18b6edfe888b2db0232430cf0289d1ca14dd49f3fb14 SHA512 edc7ea98f3417bd3f460d3c5fb54ceb1974df79e85fea4b4d324a79f487a5303edbdb256bae0b5c6e83615cf8788a2a921bfbd5031d4d3e4dbdd1c97ea1295e8
+DIST dulwich-0.21.7.tar.gz 448028 BLAKE2B 8ceace901ce4b444d6f40f7071b7a95a04d27a63b9076fd82c97b7fb551dd769c38940d0ec42ebfd6592154df912139f0ca58801ba2fa0ef412d6a749253500a SHA512 56ddf8db21088b264623c568f28caa80d8687d26e5127093daaa4d556b0f49218ac51491a47ced00e9af073bd7ca05b2eb8b29d64aae8b93dd4bd47ca67ee443
diff --git a/dev-python/dulwich/dulwich-0.20.50.ebuild b/dev-python/dulwich/dulwich-0.20.50.ebuild
deleted file mode 100644
index d774e8bcb728..000000000000
--- a/dev-python/dulwich/dulwich-0.20.50.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="Pure-Python implementation of the Git file formats and protocols"
-HOMEPAGE="
- https://github.com/jelmer/dulwich/
- https://pypi.org/project/dulwich/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2+ Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ppc ~ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- app-crypt/gpgme[python,${PYTHON_USEDEP}]
- dev-python/mock[${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 \
- GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE 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.0.ebuild b/dev-python/dulwich/dulwich-0.21.0.ebuild
deleted file mode 100644
index 2949d3dcec07..000000000000
--- a/dev-python/dulwich/dulwich-0.21.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure-Python implementation of the Git file formats and protocols"
-HOMEPAGE="
- https://github.com/jelmer/dulwich/
- https://pypi.org/project/dulwich/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2+ Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- app-crypt/gpgme[python,${PYTHON_USEDEP}]
- dev-python/mock[${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 \
- GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE 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.1.ebuild b/dev-python/dulwich/dulwich-0.21.1.ebuild
deleted file mode 100644
index 2949d3dcec07..000000000000
--- a/dev-python/dulwich/dulwich-0.21.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure-Python implementation of the Git file formats and protocols"
-HOMEPAGE="
- https://github.com/jelmer/dulwich/
- https://pypi.org/project/dulwich/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2+ Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- app-crypt/gpgme[python,${PYTHON_USEDEP}]
- dev-python/mock[${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 \
- GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE 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.2.ebuild b/dev-python/dulwich/dulwich-0.21.2.ebuild
deleted file mode 100644
index 2949d3dcec07..000000000000
--- a/dev-python/dulwich/dulwich-0.21.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure-Python implementation of the Git file formats and protocols"
-HOMEPAGE="
- https://github.com/jelmer/dulwich/
- https://pypi.org/project/dulwich/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2+ Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- app-crypt/gpgme[python,${PYTHON_USEDEP}]
- dev-python/mock[${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 \
- GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE 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..8ad2d542b4e2
--- /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..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/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/easy-thumbnails/easy-thumbnails-2.8.5.ebuild b/dev-python/easy-thumbnails/easy-thumbnails-2.8.5.ebuild
index f186563401a1..3b2b01b63038 100644
--- a/dev-python/easy-thumbnails/easy-thumbnails-2.8.5.ebuild
+++ b/dev-python/easy-thumbnails/easy-thumbnails-2.8.5.ebuild
@@ -4,16 +4,16 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Easy thumbnails for Django"
HOMEPAGE="
https://github.com/SmileyChris/easy-thumbnails/
https://pypi.org/project/easy-thumbnails/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/easyprocess/Manifest b/dev-python/easyprocess/Manifest
index 060ca08b6c1a..dcee7b0100f4 100644
--- a/dev-python/easyprocess/Manifest
+++ b/dev-python/easyprocess/Manifest
@@ -1 +1 @@
-DIST easyprocess-1.1.tar.gz 13755 BLAKE2B 1d1c0d66e34fbb3ea58736cf4750b5fa48dc6e97d07a568086129fc58ca910d26a383e032dd0030da78235695269da6b7886871e6ef0f0ce7a482275ff2aa0e6 SHA512 fd5d0453cab79bb93806ac0dcef97ba207171c087bc5232f30d6fa210fa479e0dff83bdd7bb5c59d71f65582dcb3dfbf5f25ea2e2ee162d8d5feb8ca8d223a68
+DIST easyprocess-1.1.gh.tar.gz 13755 BLAKE2B 1d1c0d66e34fbb3ea58736cf4750b5fa48dc6e97d07a568086129fc58ca910d26a383e032dd0030da78235695269da6b7886871e6ef0f0ce7a482275ff2aa0e6 SHA512 fd5d0453cab79bb93806ac0dcef97ba207171c087bc5232f30d6fa210fa479e0dff83bdd7bb5c59d71f65582dcb3dfbf5f25ea2e2ee162d8d5feb8ca8d223a68
diff --git a/dev-python/easyprocess/easyprocess-1.1-r1.ebuild b/dev-python/easyprocess/easyprocess-1.1-r1.ebuild
index ef07caf72d06..2661c95b3b24 100644
--- a/dev-python/easyprocess/easyprocess-1.1-r1.ebuild
+++ b/dev-python/easyprocess/easyprocess-1.1-r1.ebuild
@@ -3,18 +3,25 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
+
inherit distutils-r1
DESCRIPTION="Easy to use Python subprocess interface"
-HOMEPAGE="https://github.com/ponty/EasyProcess"
-SRC_URI="https://github.com/ponty/EasyProcess/archive/${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/ponty/EasyProcess/
+ https://pypi.org/project/EasyProcess/
+"
+SRC_URI="
+ https://github.com/ponty/EasyProcess/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
S="${WORKDIR}/EasyProcess-${PV}"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
BDEPEND="
test? (
@@ -22,7 +29,8 @@ BDEPEND="
dev-python/pyvirtualdisplay[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
x11-base/xorg-server[xvfb]
- )"
+ )
+"
distutils_enable_tests pytest
diff --git a/dev-python/easyprocess/metadata.xml b/dev-python/easyprocess/metadata.xml
index 5c536274e068..93a91b5d1057 100644
--- a/dev-python/easyprocess/metadata.xml
+++ b/dev-python/easyprocess/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>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/ecdsa/Manifest b/dev-python/ecdsa/Manifest
index cdab22fd9216..a030d88554d3 100644
--- a/dev-python/ecdsa/Manifest
+++ b/dev-python/ecdsa/Manifest
@@ -1 +1,2 @@
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
index 8db21b31f830..4367e2126d07 100644
--- a/dev-python/ecdsa/ecdsa-0.18.0.ebuild
+++ b/dev-python/ecdsa/ecdsa-0.18.0.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="ECDSA cryptographic signature library in pure Python"
HOMEPAGE="
https://github.com/tlsfuzzer/python-ecdsa/
https://pypi.org/project/ecdsa/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
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..811ded38a881
--- /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..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/editables/Manifest b/dev-python/editables/Manifest
index 9211bed99bcb..65adaad28cf7 100644
--- a/dev-python/editables/Manifest
+++ b/dev-python/editables/Manifest
@@ -1 +1 @@
-DIST editables-0.3.gh.tar.gz 12493 BLAKE2B 95e05e7553efa4856ee5bde2c18a2566f1e65318bfc46c8ecd732f4d6b42f10ce54cc3aecc4d53bcfc627e6938c4155d48a39ced5f64395dbafb9187cb009e4f SHA512 493f20d1e6b39f8ed6668adc208723d447a31ae3c3087f7db9a9a0de617958e8afebd3b3a1836638f749fb0ec911e51256b727deb4c0ce08327356238df0a3f3
+DIST editables-0.5.gh.tar.gz 15469 BLAKE2B 9bbbc61a4e0a57edc6b7ba463da0d6c2f40090e347e67f203f16163bec70b63a2289332e9d69a46919f8aa009be1ec96e1b1cd2708ce5eb6ab33af6eb36360e0 SHA512 ac39d2e6a51625697c517b85fec11b525b1a41f82cf4f55c7595fed19da867065a62eee5e3656706f7402d0499754f4a142da77d699c59dffc8b769fa1c3dbe2
diff --git a/dev-python/editables/editables-0.3.ebuild b/dev-python/editables/editables-0.3.ebuild
deleted file mode 100644
index a41f2e806150..000000000000
--- a/dev-python/editables/editables-0.3.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python library for creating 'editable wheels'"
-HOMEPAGE="
- https://pypi.org/project/editables/
- https://github.com/pfmoore/editables/
-"
-SRC_URI="
- https://github.com/pfmoore/editables/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/editables/editables-0.5.ebuild b/dev-python/editables/editables-0.5.ebuild
new file mode 100644
index 000000000000..0984046e406e
--- /dev/null
+++ b/dev-python/editables/editables-0.5.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022-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="A Python library for creating 'editable wheels'"
+HOMEPAGE="
+ https://pypi.org/project/editables/
+ https://github.com/pfmoore/editables/
+"
+SRC_URI="
+ https://github.com/pfmoore/editables/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 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+distutils_enable_tests pytest
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..e1678ef6a893
--- /dev/null
+++ b/dev-python/editorconfig/editorconfig-0.12.4-r1.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..12} )
+
+inherit cmake distutils-r1
+
+MY_P=editorconfig-core-py-${PV}
+TESTVER="abb579e00f2deeede91cb485e53512efab9c6474"
+DESCRIPTION="Clone of EditorConfig core written in Python"
+HOMEPAGE="https://editorconfig.org/"
+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
new file mode 100644
index 000000000000..e9eef42d5dd6
--- /dev/null
+++ b/dev-python/elastic-transport/Manifest
@@ -0,0 +1 @@
+DIST elastic-transport-python-8.13.0.gh.tar.gz 75950 BLAKE2B 5a62d28ece9570d8fc4fff30cf04f88e7e138276054bb191c883c156995effcb750aef874836e5fb32cecedf79641f8faa08ab2e3c74bf5d0c2ba950f490ffb8 SHA512 65239951d56efa4273b8023cf4caa04f44196d0f9bcad91fe5376139adbd669d76a9c0e673f8eec23aadf107fea315216ecf95064acfa5eeb769ca3b92885fb6
diff --git a/dev-python/elastic-transport/elastic-transport-8.13.0.ebuild b/dev-python/elastic-transport/elastic-transport-8.13.0.ebuild
new file mode 100644
index 000000000000..ac32b5ea4bde
--- /dev/null
+++ b/dev-python/elastic-transport/elastic-transport-8.13.0.ebuild
@@ -0,0 +1,70 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1
+
+MY_P=elastic-transport-python-${PV}
+DESCRIPTION="Transport classes and utilities shared among Python Elastic client libraries"
+HOMEPAGE="
+ https://github.com/elastic/elastic-transport-python/
+ https://pypi.org/project/elastic-transport/
+"
+SRC_URI="
+ https://github.com/elastic/elastic-transport-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 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
+
+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/metadata.xml b/dev-python/elastic-transport/metadata.xml
new file mode 100644
index 000000000000..67228b977fc9
--- /dev/null
+++ b/dev-python/elastic-transport/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="person" proxied="yes">
+ <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>
+ <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-py/Manifest b/dev-python/elasticsearch-py/Manifest
deleted file mode 100644
index 6a46a4588eaa..000000000000
--- a/dev-python/elasticsearch-py/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST elasticsearch-7.17.6-no-jdk-linux-x86_64.tar.gz 167439665 BLAKE2B a0f2a57fbdd5bce1d476e410ec31555be7ebffa5961ad9b51d65753b50f05833e5991ee41c4b00906a8253146f72dc24895d5790a9d6afeea722d4b9b1a12443 SHA512 d3d1a16c2276d7ede911fc53915c988e17532a6481f9e4827677f6b40e6ccade6a9655a28bdb6460e98a4229f7cef807441e20afcdc161010f674ce1483da4f4
-DIST elasticsearch-py-7.17.6.gh.tar.gz 330159 BLAKE2B c72cf21ece1cc74c08f5f9a6718333bd89b6aece5902c4a053182bf63378b56afa84bb72cd7b07e7daba9eb19ac52f6c7f801124871cb4f555e456a66773218b SHA512 cb5f96e4e7a6c7a6bf52c55bcf3a4a3456574cea9815b002482a6e47a86c492d18aa85b3046ed6741361bd7e4e6fbc67c95a57b5a52e8320f102d3a5c1f4c719
diff --git a/dev-python/elasticsearch-py/elasticsearch-py-7.17.6.ebuild b/dev-python/elasticsearch-py/elasticsearch-py-7.17.6.ebuild
deleted file mode 100644
index 03958f7634ab..000000000000
--- a/dev-python/elasticsearch-py/elasticsearch-py-7.17.6.ebuild
+++ /dev/null
@@ -1,193 +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
-
-DESCRIPTION="Official Python low-level client for Elasticsearch"
-HOMEPAGE="https://github.com/elastic/elasticsearch-py"
-SRC_URI="
- https://github.com/elastic/elasticsearch-py/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- test? (
- https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${PV}-no-jdk-linux-x86_64.tar.gz
- )
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="async doc"
-
-PROPERTIES="test_network"
-RESTRICT="test"
-
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.26.0[${PYTHON_USEDEP}]
- <dev-python/urllib3-2.0.0[${PYTHON_USEDEP}]
- async? (
- >=dev-python/aiohttp-3[${PYTHON_USEDEP}]
- <dev-python/aiohttp-4[${PYTHON_USEDEP}]
- )"
-BDEPEND="
- test? (
- >=dev-python/requests-2.0.0[${PYTHON_USEDEP}]
- <dev-python/requests-3.0.0[${PYTHON_USEDEP}]
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
- virtual/jre:*
- async? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/unasync[${PYTHON_USEDEP}]
- )
- )"
-
-distutils_enable_sphinx docs/sphinx \
- dev-python/sphinx_rtd_theme
-distutils_enable_tests pytest
-
-src_prepare() {
- default_src_prepare
-
- sed -e '/addopts/d' -i setup.cfg || die
-}
-
-src_test() {
- local es_port="25124"
-
- export ES_DIR="${WORKDIR}/elasticsearch-${PV}"
- export ES_INSTANCE="gentoo-es-py-test"
- export ES_JAVA_HOME=$(java-config -g JAVA_HOME || die)
- export ELASTIC_PASSWORD="changeme"
- export ELASTICSEARCH_URL="https://elastic:${ELASTIC_PASSWORD}@localhost:${es_port}"
-
- cp -r "${S}/.ci/certs" "${ES_DIR}/config" || die
-
- cat > "${ES_DIR}/config/elasticsearch.yml" <<-EOF || die
- # Run elasticsearch on custom port
- http.port: ${es_port}
- cluster.routing.allocation.disk.threshold_enabled: false
- bootstrap.memory_lock: true
- node.attr.testattr: test
- repositories.url.allowed_urls: http://snapshot.test*
- action.destructive_requires_name: false
- ingest.geoip.downloader.enabled: false
-
- xpack.license.self_generated.type: basic
- xpack.security.enabled: true
- xpack.security.http.ssl.enabled: true
- xpack.security.http.ssl.verification_mode: certificate
- xpack.security.http.ssl.key: certs/testnode.key
- xpack.security.http.ssl.certificate: certs/testnode.crt
- xpack.security.http.ssl.certificate_authorities: certs/ca.crt
- xpack.security.transport.ssl.enabled: true
- xpack.security.transport.ssl.verification_mode: certificate
- xpack.security.transport.ssl.key: certs/testnode.key
- xpack.security.transport.ssl.certificate: certs/testnode.crt
- xpack.security.transport.ssl.certificate_authorities: certs/ca.crt
- EOF
-
- # Set password in keystore
- printf "y\n${ELASTIC_PASSWORD}\n" | ${ES_DIR}/bin/elasticsearch-keystore add "bootstrap.password" || die
-
- # Deselect tests which require a non-free license in the server to succeed
- local EPYTEST_DESELECT=(
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[token/11_invalidation[{0,1}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[token/10_basic[{1..4}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get_result_record[{1..6}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get_result_influencer[{1..8}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/datafeed_cat_apis[0]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/filter_crud[10]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/preview_data_frame_analytics[{3..5}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/custom_all_field[{0,1}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/data_frame_analytics_crud[{1,5,6,13,29,38,39,40,42,62,76,77,78,80,81,82,83}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/start_data_frame_analytics[{0,1,2,3,4,6,7,8}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get_result_categories[{0,1,2,3,4,5,6,7}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/forecast[{1,2,3,4,5,6}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/explain_data_frame_analytics[{3,5,6,7,8}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/delete_expired_data[{0,1,2,3}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/upgrade_job_snapshot[{0,1}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/inference_processor[{0,1}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get_result_buckets[{0,1,2,3,4,5,6,7,8,9,10,11}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/trained_model_cat_apis[0]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/revert_model_snapshot[{0,1}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/calendar_crud[{0,7,8,12,13,17,18}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/stop_data_frame_analytics[{0,1,2,3,4,5}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get[{0,1,2,3,4}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/preview_datafeed[{0,1,2,3,7,8,9}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/data_frame_analytics_cat_apis[{0,1,2,3}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/reset_job[{0,1}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/ml_anomalies_default_mappings[{0,1}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/get_model_snapshots[{0,1,2,3,4,5,6,7}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/get_datafeeds[{0,1,2,3}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/job_cat_apis[0]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[change_password/11_token[0]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[searchable_snapshots/10_usage[0]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[graph/10_basic[0]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[data_stream/10_data_stream_resolvability[4]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[xpack/20_info[0]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[authenticate/10_field_level_security[0]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[set_security_user/10_small_users_one_index[0]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[terms_enum/10_basic[{0..9}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[security/hidden-index/14_security-tokens-7_read[{0,1,2}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[security/hidden-index/13_security-tokens_read[{0,1,2}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get_result_records[{0..6}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get_result_influencers[{0..8}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[license/20_put_license[{5,7,8}]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[license/30_enterprise_license[0]
- test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[token/10_basic[0]
- )
-
- use async || EPYTEST_DESELECT+=(
- test_elasticsearch/test_async test_elasticsearch/test_types/async_types.py
- )
-
- distutils-r1_src_test
-}
-
-python_test() {
- local es_instance="gentoo-py-test"
- local es_log="${ES_DIR}/logs/${es_instance}-${EPYTHON}.log"
- local es_temp="${T}/es_temp-${EPYTHON}"
- local pid="${ES_DIR}/elasticsearch.pid"
-
- mkdir ${es_temp} || die
-
- ebegin "Starting Elasticsearch for ${EPYTHON}"
-
- # start local instance of elasticsearch
- "${ES_DIR}"/bin/elasticsearch -d -p "${pid}" -Ecluster.name="${es_instance}-${EPYTHON}" -Epath.repo="${es_temp}" || die
-
- local i es_started=0
- for i in {1..20}; do
- grep -q "started" ${es_log} 2> /dev/null
- if [[ $? -eq 0 ]]; then
- einfo "Elasticsearch started"
- es_started=1
- eend 0
- break
- elif grep -q 'BindException\[Address already in use\]' "${es_log}" 2>/dev/null; then
- eend 1
- eerror "Elasticsearch already running"
- die "Cannot start Elasticsearch for tests"
- else
- einfo "Waiting for Elasticsearch"
- sleep 2
- continue
- fi
- done
-
- [[ ${es_started} -eq 0 ]] && die "Elasticsearch failed to start"
-
- epytest
-
- pkill -F ${pid} || die
-}
diff --git a/dev-python/elasticsearch-py/metadata.xml b/dev-python/elasticsearch-py/metadata.xml
deleted file mode 100644
index 94ef681d4bf7..000000000000
--- a/dev-python/elasticsearch-py/metadata.xml
+++ /dev/null
@@ -1,19 +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>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>
- <upstream>
- <remote-id type="github">elastic/elasticsearch-py</remote-id>
- <remote-id type="pypi">elasticsearch7</remote-id>
- </upstream>
- <use>
- <flag name="async">Add async support</flag>
- </use>
-</pkgmetadata>
diff --git a/dev-python/elasticsearch/Manifest b/dev-python/elasticsearch/Manifest
new file mode 100644
index 000000000000..dba38ac869ae
--- /dev/null
+++ b/dev-python/elasticsearch/Manifest
@@ -0,0 +1 @@
+DIST elasticsearch-py-8.13.0.gh.tar.gz 1052777 BLAKE2B 90d6677fe40a635f33e37b4da90c0d8c6d3cde10a815932ee91b5e411162322edc22d13fe231b5d514f350a2b448ce1722e75426b5b5e08b711f3193d2963453 SHA512 fee1ba95d65be424f4ffeb65898bbafd5860358864d9706c82be663139e4543bce54c57bb21188c5ab6cdf5e15323cb1698bfb17715a7be38f844d3781840c97
diff --git a/dev-python/elasticsearch/elasticsearch-8.13.0.ebuild b/dev-python/elasticsearch/elasticsearch-8.13.0.ebuild
new file mode 100644
index 000000000000..95e41712da8f
--- /dev/null
+++ b/dev-python/elasticsearch/elasticsearch-8.13.0.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1
+
+MY_P="elasticsearch-py-${PV}"
+DESCRIPTION="Official Elasticsearch client library for Python"
+HOMEPAGE="
+ https://ela.st/es-python
+ https://github.com/elastic/elasticsearch-py/
+ https://pypi.org/project/elasticsearch/
+"
+SRC_URI="
+ https://github.com/elastic/elasticsearch-py/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="amd64 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}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # REST api tests are a black hole for effort. It downloads the tests
+ # so its an ever moving target. It also requires effort to blacklist
+ # tests for apis which are license restricted.
+ "test_elasticsearch/test_server/test_rest_api_spec.py"
+ # Counting deprecation warnings from python is bound to fail even
+ # if all are fixed in this package. Not worth it.
+ "test_elasticsearch/test_client/test_deprecated_options.py"
+ # Running daemon for tests is finicky and upstream CI fails at it
+ # as well.
+ "test_elasticsearch/test_server/"
+ "test_elasticsearch/test_async/test_server/"
+)
+
+distutils_enable_sphinx docs/sphinx \
+ dev-python/sphinx-autodoc-typehints \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+python_test() {
+ local -x TEST_WITH_OTEL=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -p asyncio
+}
diff --git a/dev-python/elasticsearch/metadata.xml b/dev-python/elasticsearch/metadata.xml
new file mode 100644
index 000000000000..1c1a994f1ff7
--- /dev/null
+++ b/dev-python/elasticsearch/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="person" proxied="yes">
+ <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>
+ <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>
+ <stabilize-allarches/>
+</pkgmetadata>
diff --git a/dev-python/elementpath/Manifest b/dev-python/elementpath/Manifest
index 88fe3165a73d..b87441466f5a 100644
--- a/dev-python/elementpath/Manifest
+++ b/dev-python/elementpath/Manifest
@@ -1 +1 @@
-DIST elementpath-3.0.2.gh.tar.gz 275843 BLAKE2B b5e51971dbbcf68f6199ecf8d3270d2ed06732e3d1abc07d768127bc8a4cef4096fe3e6fe97606bde6d229753a942abd6c0019708f86e8a9931bc902bc8f48ef SHA512 46392cece136bd6e73285333b14a00ebbebcca70c7df42cd04021225207593ef33337fd468c12f089030f2a8adc1251660ebf762aa17f82b2f26ba902d6e89d2
+DIST elementpath-4.4.0.tar.gz 330008 BLAKE2B 059b67c246052676b9514808dedad3b7dfa21a6e9291a52c9a56abb2d51e12fdf1271cd70978c83f861f76fc6d02a6b73180df7fb2e36a9c443ff344d13eb127 SHA512 ffa91ff55f893efed50620a0eae97dd0360f9eb80f264bd421a26215fe8fbcea715c1635465be3169c4d2be503a875f469b8507d12f8d44cb64f398accfd2750
diff --git a/dev-python/elementpath/elementpath-3.0.2.ebuild b/dev-python/elementpath/elementpath-3.0.2.ebuild
deleted file mode 100644
index 8548505b67be..000000000000
--- a/dev-python/elementpath/elementpath-3.0.2.ebuild
+++ /dev/null
@@ -1,38 +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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="XPath 1.0/2.0 parsers and selectors for ElementTree and lxml"
-HOMEPAGE="
- https://github.com/sissaschool/elementpath/
- https://pypi.org/project/elementpath/
-"
-SRC_URI="
- https://github.com/sissaschool/elementpath/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 ~x64-macos"
-
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/xmlschema[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-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..8eac7d175276
--- /dev/null
+++ b/dev-python/elementpath/elementpath-4.4.0.ebuild
@@ -0,0 +1,34 @@
+# 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 )
+
+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/email-validator/Manifest b/dev-python/email-validator/Manifest
new file mode 100644
index 000000000000..16d0e950025c
--- /dev/null
+++ b/dev-python/email-validator/Manifest
@@ -0,0 +1 @@
+DIST email_validator-2.1.1.tar.gz 44709 BLAKE2B 7b5a67c0690ee11519d16ce56be7e3ddc955b06fda84b2bb9793e9bc80d82adf7e39799dd1d6cd1b902911721d8e5f7dcf4624b6fbf1e97b0a8edaa16f7ca062 SHA512 659bc5ec1583ff0fdeb256f57ac2506089758772fb471a49865cdee62af3f96a43ff21a94099bb13b69f1efff20952f33ad6bf0cb1bea0793285820948c9fdb4
diff --git a/dev-python/email-validator/email-validator-2.1.1.ebuild b/dev-python/email-validator/email-validator-2.1.1.ebuild
new file mode 100644
index 000000000000..b2cbc203bd05
--- /dev/null
+++ b/dev-python/email-validator/email-validator-2.1.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_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"
+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/python-email-validator/metadata.xml b/dev-python/email-validator/metadata.xml
index d11066533df9..d11066533df9 100644
--- a/dev-python/python-email-validator/metadata.xml
+++ b/dev-python/email-validator/metadata.xml
diff --git a/dev-python/emcee/Manifest b/dev-python/emcee/Manifest
index 07e9bd0ac487..77a114b77bce 100644
--- a/dev-python/emcee/Manifest
+++ b/dev-python/emcee/Manifest
@@ -1,2 +1,2 @@
-DIST emcee-3.1.3.tar.gz 2868872 BLAKE2B 0c665aa0cf4d96041b6627d849b40a906623724a8a51affc613e3e2da7910efb0016d17bbbc48b03e2d960873b6565c6c1345ceaffbfcda4cb16f0c56bf9534b SHA512 95b81b124183dd9f7df9381a4b792e1daa8154b2f187f0b5d2627d174371e01a6fcbc1a29e907efb1689065e8d037e3d98a40f1f35053a5dd400a922c30da38f
DIST emcee-3.1.4.tar.gz 2869179 BLAKE2B 19e93a154a7c9f8c43389681b7318ff6e79aea8588af10bf86d63bdee51551c538ad8850b82c1233f656a45bbbd344655aad01ed93ddb30337ad49b6bfed8b46 SHA512 23f3945571bc4346c90026f9c675cb72a5cf173294eafd5bf02dc8572cfea63de3260ade91cb9360e420969f2a939fa8ac55961e808c55900fef903be357facf
+DIST emcee-3.1.5.tar.gz 2870972 BLAKE2B 49ddd0a41a61f33573f1b1e0b198306567e097b86153392fc0f874b3c7e728611fdfb2d45b8427c85208beb3c819ec174bdf5481005a3b17a4f5ea196a54ff3e SHA512 7cc6fe30ad472d4823b12c8bab50fa7d3aea49ca22d38479d77d90d357e715c0dadda7f96575291fbe05ff27962f8a180c49b6629ddb891b044db2719bd88610
diff --git a/dev-python/emcee/emcee-3.1.3.ebuild b/dev-python/emcee/emcee-3.1.3.ebuild
deleted file mode 100644
index d83883fd702b..000000000000
--- a/dev-python/emcee/emcee-3.1.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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/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
-}
diff --git a/dev-python/emcee/emcee-3.1.4.ebuild b/dev-python/emcee/emcee-3.1.4.ebuild
index d83883fd702b..d90034e8e56b 100644
--- a/dev-python/emcee/emcee-3.1.4.ebuild
+++ b/dev-python/emcee/emcee-3.1.4.ebuild
@@ -4,9 +4,9 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 multiprocessing pypi
DESCRIPTION="Python ensemble sampling toolkit for affine-invariant MCMC"
HOMEPAGE="
@@ -14,7 +14,6 @@ HOMEPAGE="
https://github.com/dfm/emcee/
https://pypi.org/project/emcee/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
@@ -28,8 +27,9 @@ RDEPEND="
${DEPEND}
"
BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
test? (
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
dev-python/scipy[${PYTHON_USEDEP}]
)
"
@@ -43,3 +43,8 @@ src_prepare() {
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.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/metadata.xml b/dev-python/emcee/metadata.xml
index 87ebaa10d947..57725d449c82 100644
--- a/dev-python/emcee/metadata.xml
+++ b/dev-python/emcee/metadata.xml
@@ -21,6 +21,7 @@
BLAS/LAPACK) for maximum performance and robustness.
</longdescription>
<upstream>
+ <remote-id type="github">dfm/emcee</remote-id>
<remote-id type="pypi">emcee</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/emoji/Manifest b/dev-python/emoji/Manifest
index 159e79ca8a9d..dc0d107ae04e 100644
--- a/dev-python/emoji/Manifest
+++ b/dev-python/emoji/Manifest
@@ -1 +1,2 @@
-DIST emoji-2.2.0.gh.tar.gz 293134 BLAKE2B 4f6d8cf297c36a688b7f5e2f4afceb7e55102b23507fcac95799b6a6ab82521c55fcec884dcb2270e8290516942b7ef923de99b4e8da9241ce5828256b991653 SHA512 51150605c7b20fdb9a62746df098995814fb3b5b6c6b79dc65fb35dd8036c95b150b63c6af37f1baaf5dfab521c41ff7d0360864ffa77f696ba2465c50e1da79
+DIST emoji-2.10.1.gh.tar.gz 489388 BLAKE2B 50cf422b77e92ac7f4f395775d78428c24d061bedb8fe80291b7147eb21bc6423d9d9f3733b651b5632fd2e93516930f5be1413dfb3de81354fd077565332592 SHA512 d4e5a2f434a916e47c78ffffda277d239da57aa028e53b2d92507d1f0274540fc613b9fc6ce6b5d60b48813eda1e6d9b6b3e102aea4fca8df722a5d2e5827c25
+DIST emoji-2.11.0.gh.tar.gz 502049 BLAKE2B fe5ecfd85cbdf4812818538c601ae42e7fe50ab01da95af6f1a1f68cf11b9e4dfe8e66a191990f28bb92f5f21807c4fab80035488debe7cf90dedc6e132be189 SHA512 2b8263dcb84a73a54c17b63a878d2f6446b41742fd3148d0be6124acc176c97a6b5cdae72bd9bb22b7a384896a8f875f7dd6962cc5bd72700f9b7e5d568c7fd4
diff --git a/dev-python/emoji/emoji-2.10.1.ebuild b/dev-python/emoji/emoji-2.10.1.ebuild
new file mode 100644
index 000000000000..e71c124e54b5
--- /dev/null
+++ b/dev-python/emoji/emoji-2.10.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..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.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.2.0.ebuild b/dev-python/emoji/emoji-2.2.0.ebuild
deleted file mode 100644
index e7fc8c7f7c01..000000000000
--- a/dev-python/emoji/emoji-2.2.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="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 cb2de2e598ca..40e7e19b5be2 100644
--- a/dev-python/enrich/enrich-1.2.7-r1.ebuild
+++ b/dev-python/enrich/enrich-1.2.7-r1.ebuild
@@ -4,21 +4,35 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Extend rich functionality"
-HOMEPAGE="https://github.com/pycontribs/enrich"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/pycontribs/enrich/
+ https://pypi.org/project/enrich/
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~riscv ~x86"
-RDEPEND="dev-python/rich[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/rich[${PYTHON_USEDEP}]
+"
BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? ( dev-python/pytest-mock[${PYTHON_USEDEP}] )"
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # known breakage in dev-python/rich
+ # https://github.com/Textualize/rich/issues/2172
+ # https://github.com/pycontribs/enrich/issues/40
+ src/enrich/test/test_console.py::test_rich_console_ex
+)
diff --git a/dev-python/ensurepip-pip/Manifest b/dev-python/ensurepip-pip/Manifest
index f3e58ec59c9f..081d5679743c 100644
--- a/dev-python/ensurepip-pip/Manifest
+++ b/dev-python/ensurepip-pip/Manifest
@@ -1 +1 @@
-DIST pip-22.3.1-py3-none-any.whl 2051534 BLAKE2B b15f5eac6b3d8d12b382aabfb7fc920bea564be7f9133050d7cb0b4627a92c1de19676dced6bcb79971701898bb1606f3ea1b44349ab35527de90936c0057c71 SHA512 f09c2a48e85108514c20fdc58466b9be6a9b7f234241ccd46e23249f690bd1ec03fa5e60c9df80f4cf31a9be64d7d59b2fa786c1d7779e284fec42b04bffc257
+DIST pip-24.0-py3-none-any.whl 2110226 BLAKE2B 6a0c8c9796cd574ef1d709de40a8530a15e50158143e332b79e5ad3edceda6ce93c5ef4df49b169062598618dcc6967c2115ac2c10b05abf345318204f1eeffc SHA512 5d7462a584105bccaa9cf376f5a8c5827ead099c813c8af7392d478a4398f373d9e8cac7bbad2db51b335411ab966b21e119b1b1234c9a7ab70c6ddfc9306da6
diff --git a/dev-python/ensurepip-pip/ensurepip-pip-22.3.1.ebuild b/dev-python/ensurepip-pip/ensurepip-pip-22.3.1.ebuild
deleted file mode 100644
index f502d3d7b09b..000000000000
--- a/dev-python/ensurepip-pip/ensurepip-pip-22.3.1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MY_PN=${PN#ensurepip-}
-WHL=${MY_PN}-${PV}-py3-none-any.whl
-
-DESCRIPTION="Shared pip wheel for ensurepip Python module"
-HOMEPAGE="https://pypi.org/project/pip/"
-SRC_URI="
- https://files.pythonhosted.org/packages/py3/${MY_PN::1}/${MY_PN}/${WHL}
-"
-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"
-
-RDEPEND="
- !<dev-python/ensurepip-wheels-100
-"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${WHL}"
-}
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-setuptools/Manifest b/dev-python/ensurepip-setuptools/Manifest
index 4b3f9bd1dfe8..db11cb48ddcb 100644
--- a/dev-python/ensurepip-setuptools/Manifest
+++ b/dev-python/ensurepip-setuptools/Manifest
@@ -1,3 +1,3 @@
-DIST setuptools-65.6.3-py3-none-any.whl 1233963 BLAKE2B 2bad02cc00293c9b6615cdcee9f2da4d66f83c494904c0467054ec15cb5650a7b72caaa52bb8925aea84eb6becd52107ba10763c2b241216d91072a1319f5d24 SHA512 6a9bf2230840ab90b228b433552e8813a176a9ad5f6dc74b20da412fe96c4a7f1df6095aac8dc2f25bd2393aae731927875eb9e7bc05203907539fb4a3b5c8fb
-DIST setuptools-66.0.0-py3-none-any.whl 1259316 BLAKE2B ef08be5897d35d63d5b4bea2fb7401c59b1be8ff09a2cc410a97074402228e41bf573820712d76f955fb4a117036bbfd6adc7ff78e33406f5f1a5ebb745eb0a3 SHA512 76efcc28173443d5a000cd0d1ff33e24a423786c32be824cc11cbf137ef755f41416317e326edb56f90aca157ebf49a42e20f8f2445feb7a043c36d4aa537bb4
-DIST setuptools-66.1.1-py3-none-any.whl 1260206 BLAKE2B e5edfb4f26347601b73d01630029cb763a0ea34e76451393fdefd84d970588713ece61b9fdcbfc56709c3d0c48880406fe77e0bdddaa8122352b5f94e850212f SHA512 a2c2852680e3d39660d71dd607449d79ba7ee73bb3d60ccd5f36c84094fc2f8fc946265ec78769537320a06d249ef4089a403a4a7929e3c062b4522f271ccf8f
+DIST setuptools-69.0.3-py3-none-any.whl 819530 BLAKE2B 6ecef64755181255d935e234f77db3a4a9ce6426621d5d95196f55820a6bd62ff6bd3efcbf2e66221501b0c7c5296a35f80d275c59a8075392a0e802ee6713f1 SHA512 20c68e4f279a133f33ac85885b2c7e05b68c8c2faf15c9bb251229a6668c5c6b54c4065c54a0b711dae36d7fd161d3dc34218c579e739a2b2c573b85ccc79820
+DIST setuptools-69.2.0-py3-none-any.whl 821485 BLAKE2B 7b5fdc519f57327e323c15c12650d7c820909664d5f45e18f0c3203ced4c68b3f42598481158b3ae899f16ba56b702724f5b362757369ccc5d61a6cdeae64129 SHA512 fa6b2927b16c00a30b135373be399cfec7ab1b0e9b410de6502172d50ba2a191214a4a4adb443d362198d43e86a662565155ea4c8d37f3305e9f7d1aef724b25
+DIST setuptools-69.5.1-py3-none-any.whl 894566 BLAKE2B a9d24f51240fd528f87642e8765a4a72ae9e03e936acec3e26edd1c5b40127f00dee53db2dd171404778c2e2910d095b5de49e0af3d2f7a67d8edd52d16a0a45 SHA512 d212edd21ab99f50c2daf6080c68a3cc0eeed566f10e91f857e7eeb86513f33e9cde25b975db1030110c3b1714cfbfd4d3c9e2937b4a5ff2bb8971e605ecee85
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-65.6.3.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-65.6.3.ebuild
deleted file mode 100644
index 4dc09f674370..000000000000
--- a/dev-python/ensurepip-setuptools/ensurepip-setuptools-65.6.3.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MY_PN=${PN#ensurepip-}
-WHL=${MY_PN}-${PV}-py3-none-any.whl
-
-DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
-HOMEPAGE="https://pypi.org/project/setuptools/"
-SRC_URI="
- https://files.pythonhosted.org/packages/py3/${MY_PN::1}/${MY_PN}/${WHL}
-"
-S=${DISTDIR}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- !<dev-python/ensurepip-wheels-100
-"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${WHL}"
-}
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-66.0.0.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-66.0.0.ebuild
deleted file mode 100644
index 22682736bd2f..000000000000
--- a/dev-python/ensurepip-setuptools/ensurepip-setuptools-66.0.0.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
-
-MY_PN=${PN#ensurepip-}
-WHL=${MY_PN}-${PV}-py3-none-any.whl
-
-DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
-HOMEPAGE="https://pypi.org/project/setuptools/"
-SRC_URI="
- https://files.pythonhosted.org/packages/py3/${MY_PN::1}/${MY_PN}/${WHL}
-"
-S=${DISTDIR}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- !<dev-python/ensurepip-wheels-100
-"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${WHL}"
-}
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-66.1.1.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-66.1.1.ebuild
deleted file mode 100644
index 22682736bd2f..000000000000
--- a/dev-python/ensurepip-setuptools/ensurepip-setuptools-66.1.1.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
-
-MY_PN=${PN#ensurepip-}
-WHL=${MY_PN}-${PV}-py3-none-any.whl
-
-DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
-HOMEPAGE="https://pypi.org/project/setuptools/"
-SRC_URI="
- https://files.pythonhosted.org/packages/py3/${MY_PN::1}/${MY_PN}/${WHL}
-"
-S=${DISTDIR}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- !<dev-python/ensurepip-wheels-100
-"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${WHL}"
-}
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.3.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.3.ebuild
new file mode 100644
index 000000000000..6e384d8b8a5b
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.3.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-69.2.0.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.2.0.ebuild
new file mode 100644
index 000000000000..6e384d8b8a5b
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.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-69.5.1.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.5.1.ebuild
new file mode 100644
index 000000000000..97aca4a61872
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.5.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 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
new file mode 100644
index 000000000000..beaa1497d2b2
--- /dev/null
+++ b/dev-python/ensurepip-wheel/Manifest
@@ -0,0 +1 @@
+DIST wheel-0.43.0-py3-none-any.whl 65775 BLAKE2B ae972f78acaf10c074dcfcc208aeb523f932564a9008612c7071b2bc4edae3a9a25f5c93bff37a39e6fd2f8e790db8bc2f500045e3141c8279fb329e8fff45b8 SHA512 5a637264ee0eba127aa72a372b111fe8a61f454fbd3fc02b39590fd2c6bf6f5e9ac4b0e18fd16ff5fdbb9f4b046c9237fd56b055c4cb595fb042e5aa94b336c5
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/ensurepip-wheel/metadata.xml b/dev-python/ensurepip-wheel/metadata.xml
new file mode 100644
index 000000000000..06e0e8257eb0
--- /dev/null
+++ b/dev-python/ensurepip-wheel/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>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">wheel</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ensurepip-wheels/ensurepip-wheels-100.ebuild b/dev-python/ensurepip-wheels/ensurepip-wheels-100.ebuild
index 5045dcf488ae..d532659ecef3 100644
--- a/dev-python/ensurepip-wheels/ensurepip-wheels-100.ebuild
+++ b/dev-python/ensurepip-wheels/ensurepip-wheels-100.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,7 +8,7 @@ HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
LICENSE="metapackage"
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 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
RDEPEND="
dev-python/ensurepip-pip
diff --git a/dev-python/ensurepip-wheels/metadata.xml b/dev-python/ensurepip-wheels/metadata.xml
index 406eacd7f9fb..7d421671d884 100644
--- a/dev-python/ensurepip-wheels/metadata.xml
+++ b/dev-python/ensurepip-wheels/metadata.xml
@@ -5,8 +5,4 @@
<email>python@gentoo.org</email>
</maintainer>
<stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">pip</remote-id>
- <remote-id type="pypi">setuptools</remote-id>
- </upstream>
</pkgmetadata>
diff --git a/dev-python/entrypoint2/entrypoint2-1.1.ebuild b/dev-python/entrypoint2/entrypoint2-1.1.ebuild
index 4799ff6b905c..c34a12beceb6 100644
--- a/dev-python/entrypoint2/entrypoint2-1.1.ebuild
+++ b/dev-python/entrypoint2/entrypoint2-1.1.ebuild
@@ -4,11 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
+
inherit distutils-r1
DESCRIPTION="Easy to use command-line interface for python modules"
-HOMEPAGE="https://github.com/ponty/entrypoint2"
+HOMEPAGE="
+ https://github.com/ponty/entrypoint2/
+ https://pypi.org/project/entrypoint2/
+"
SRC_URI="
https://github.com/ponty/entrypoint2/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
@@ -16,7 +20,7 @@ SRC_URI="
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
BDEPEND="
test? (
diff --git a/dev-python/entrypoint2/metadata.xml b/dev-python/entrypoint2/metadata.xml
index d8e5fc99b991..3df5cf156b15 100644
--- a/dev-python/entrypoint2/metadata.xml
+++ b/dev-python/entrypoint2/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>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/entrypoints/entrypoints-0.4.ebuild b/dev-python/entrypoints/entrypoints-0.4.ebuild
index 592562b84d71..84d5b361d9a5 100644
--- a/dev-python/entrypoints/entrypoints-0.4.ebuild
+++ b/dev-python/entrypoints/entrypoints-0.4.ebuild
@@ -4,13 +4,12 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Discover and load entry points from installed packages"
HOMEPAGE="https://github.com/takluyver/entrypoints"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/environs/Manifest b/dev-python/environs/Manifest
index e0f3c8cfc3da..4831b337e8fb 100644
--- a/dev-python/environs/Manifest
+++ b/dev-python/environs/Manifest
@@ -1 +1,2 @@
-DIST environs-9.5.0.gh.tar.gz 23614 BLAKE2B 118305f7d6d2906beff69aa028449f8a5f6eba7815ec63972593dd43930802b5d1bd60457edc9803ed8ad216ae8feaad0d77fc03cd21e9883c40dc6656b1102e SHA512 8a73f9f89efe4d72b9a7a5a48b21ccaafcf32d59a6153c7cfa1c91d90a3a8a75e6c05d0ff0fecb94f593008dfff4c3534195f258391cee8fb720ee93c4f42812
+DIST environs-10.3.0.gh.tar.gz 23931 BLAKE2B fbf6780de3a98078b76edb941361ff52cd93df51cc4c9003fa780b8fc8e366be4420de2f3ff69293f0379462c0ddfc4cf132ab67443c9b0508cca7f3b2d227fc SHA512 de58aaa2dc46b9e0db026ff7c2bef9dbf247fa96eb7d12ef105981395f3141e1726f19062551ed139daa33ba1fd9b584d11b425c836496da1ecf9f69fcb409e9
+DIST environs-11.0.0.gh.tar.gz 23916 BLAKE2B e9c186cd6e6da0ddeddb7d8f6c5a01d2039468d452af20d6a1637dbe01f8c09be7c890737f862e2dc9baf824b9d8878abca04a5ae237b58138e3026ac68e7d2c SHA512 540412bfb05dd798b57724390f3ae7dcba536550f909fbe2bb3f48fea77fed6cb9473fe526c3482ab7da48bec6ca886c85f07cf62c0fd23fa38087ea53b0e330
diff --git a/dev-python/environs/environs-10.3.0.ebuild b/dev-python/environs/environs-10.3.0.ebuild
new file mode 100644
index 000000000000..eb57773697a8
--- /dev/null
+++ b/dev-python/environs/environs-10.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=( 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/environs/environs-11.0.0.ebuild b/dev-python/environs/environs-11.0.0.ebuild
new file mode 100644
index 000000000000..68b7ee41ac19
--- /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..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-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 6fc4aef974e7..000000000000
--- a/dev-python/environs/environs-9.5.0-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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python library for simplified environment variable parsing"
-HOMEPAGE="https://github.com/sloria/environs"
-SRC_URI="https://github.com/sloria/environs/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-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/enzyme-0.4.1-r3.ebuild b/dev-python/enzyme/enzyme-0.4.1-r3.ebuild
index 2f63adf040e5..4e6a35b08544 100644
--- a/dev-python/enzyme/enzyme-0.4.1-r3.ebuild
+++ b/dev-python/enzyme/enzyme-0.4.1-r3.ebuild
@@ -4,21 +4,23 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE='xml(+)'
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Python video metadata parser"
-HOMEPAGE="https://github.com/Diaoul/enzyme https://pypi.org/project/enzyme/"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+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"
+KEYWORDS="amd64 ~arm arm64 x86"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -30,7 +32,7 @@ BDEPEND="
)
"
-distutils_enable_tests setup.py
+distutils_enable_tests unittest
python_prepare_all() {
if use test; then
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 7238e5db4797..ff9798e9127a 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
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/eradicate/Manifest b/dev-python/eradicate/Manifest
index 7864f6650ec2..33f4eceeff9e 100644
--- a/dev-python/eradicate/Manifest
+++ b/dev-python/eradicate/Manifest
@@ -1 +1 @@
-DIST eradicate-2.1.0.tar.gz 8706 BLAKE2B 5b5cab1c465c8295157bec1e8e39f0e33dbe31957da01ec44bbabf54a2b19c519a35cd7d2b92217d5395ce7397b3ae70175766a83b66d05e723fc5b5a019eb40 SHA512 a9b06745bceff909a1bbe34348b8e4c17d7f1e0ab3b554206633f350725c34a9b7238b3af6a40516081bc06aa86cdd593b27b90efa083ac024b0226f7cfc4df3
+DIST eradicate-2.3.0.gh.tar.gz 8792 BLAKE2B 586989144ca69637ea769b90a72afa68eb4392e2b467d3a97f9adfc91d45d3f5be6ea6c8f00f0aa8307b52bca7243fd12e3eaad178ad3859918d137275d447c0 SHA512 b31f59b5785aa57fa55c329bfce430e8ade5de870bbe99585ff59e68fdd33bb312e49ecd72873780e47e09f713ebbaa929bd6981bf2800f858def80a9c03a8ec
diff --git a/dev-python/eradicate/eradicate-2.1.0.ebuild b/dev-python/eradicate/eradicate-2.1.0.ebuild
deleted file mode 100644
index af302c3e2620..000000000000
--- a/dev-python/eradicate/eradicate-2.1.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Removes commented-out code from Python files"
-HOMEPAGE="
- https://github.com/myint/eradicate/
- https://pypi.org/project/eradicate/
-"
-SRC_URI="
- https://github.com/myint/eradicate/archive/v${PV}.tar.gz
- -> ${P}.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_tests unittest
diff --git a/dev-python/eradicate/eradicate-2.3.0.ebuild b/dev-python/eradicate/eradicate-2.3.0.ebuild
new file mode 100644
index 000000000000..0379d6dc9fee
--- /dev/null
+++ b/dev-python/eradicate/eradicate-2.3.0.ebuild
@@ -0,0 +1,25 @@
+# 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="Removes commented-out code from Python files"
+HOMEPAGE="
+ https://github.com/PyCQA/eradicate/
+ https://pypi.org/project/eradicate/
+"
+SRC_URI="
+ https://github.com/PyCQA/eradicate/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"
+
+distutils_enable_tests unittest
diff --git a/dev-python/eradicate/metadata.xml b/dev-python/eradicate/metadata.xml
index 49a7c25077f0..a504aadb5830 100644
--- a/dev-python/eradicate/metadata.xml
+++ b/dev-python/eradicate/metadata.xml
@@ -12,6 +12,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">eradicate</remote-id>
- <remote-id type="github">myint/eradicate</remote-id>
+ <remote-id type="github">PyCQA/eradicate</remote-id>
</upstream>
</pkgmetadata>
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
index b82fd5b2c2b5..3f4956253be6 100644
--- a/dev-python/et_xmlfile/et_xmlfile-1.1.0-r1.ebuild
+++ b/dev-python/et_xmlfile/et_xmlfile-1.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_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
@@ -23,7 +23,7 @@ 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"
+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}]
diff --git a/dev-python/etuples/Manifest b/dev-python/etuples/Manifest
index 73ec9aab974a..8cb7c0064e08 100644
--- a/dev-python/etuples/Manifest
+++ b/dev-python/etuples/Manifest
@@ -1 +1 @@
-DIST etuples-0.3.8.gh.tar.gz 45301 BLAKE2B 56fdae84b180b9ab5a81533d4028d8271e443146a4ed456252ca15400a2afb9987c741c5e5155b9ed48eb12bcc6038e081913c49e00b4eaf67a69c52b2a981c5 SHA512 0971baa9c3038ce1bf9974b750f9e642ecaad92c59b12bc69a2beb6cf4b042302580d96d0feae80a280634f56371f681fc1efcf48741a7cd65b35d9a77b66930
+DIST etuples-0.3.9.gh.tar.gz 45310 BLAKE2B e639fd4a1a4d9a1b34b32ab2884bfe933a079d721bb8b16b225d62f63e61e5cd1f1aa0f4113769744dd2ab80e537d73efdc3bcce3d1781089746997c11f3d820 SHA512 d66fac192fe14153b3496e6baa5ee3a0ff2813c26bbf0c3293049a0a50a26f32e14b031877f36e336035bf74853e981b6f75410e1f84b4ebcc84b55331d313e0
diff --git a/dev-python/etuples/etuples-0.3.8.ebuild b/dev-python/etuples/etuples-0.3.8.ebuild
deleted file mode 100644
index f8420f8e40a9..000000000000
--- a/dev-python/etuples/etuples-0.3.8.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python S-expression emulation using tuple-like objects"
-HOMEPAGE="
- https://pypi.org/project/etuples/
- https://github.com/pythological/etuples/
-"
-SRC_URI="
- https://github.com/pythological/etuples/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/cons[${PYTHON_USEDEP}]
- dev-python/multipledispatch[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/etuples/etuples-0.3.9.ebuild b/dev-python/etuples/etuples-0.3.9.ebuild
new file mode 100644
index 000000000000..4c50254e81ef
--- /dev/null
+++ b/dev-python/etuples/etuples-0.3.9.ebuild
@@ -0,0 +1,31 @@
+# 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 S-expression emulation using tuple-like objects"
+HOMEPAGE="
+ https://pypi.org/project/etuples/
+ https://github.com/pythological/etuples/
+"
+# tests not in sdist, as of 0.3.9
+SRC_URI="
+ https://github.com/pythological/etuples/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86"
+
+RDEPEND="
+ dev-python/cons[${PYTHON_USEDEP}]
+ dev-python/multipledispatch[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/evdev/Manifest b/dev-python/evdev/Manifest
new file mode 100644
index 000000000000..b0f02696a1ba
--- /dev/null
+++ b/dev-python/evdev/Manifest
@@ -0,0 +1 @@
+DIST python-evdev-1.7.0.gh.tar.gz 87773 BLAKE2B 8ed41fa8b9a8583c863450d6952955477ca8fca649a1615fcce8741624561f5719d535700dc67c6757f193452d618e5850b6f9ab35c32ab49ed48025e4e5b94c SHA512 79cb8e92f5698b120ba0c4b2603a18907097d130e0128cbad68eb95b50935b6aeadd1e844d4c76909c965719cb5b067e37d0921748be3c7c2493acb58c153521
diff --git a/dev-python/evdev/evdev-1.7.0.ebuild b/dev-python/evdev/evdev-1.7.0.ebuild
new file mode 100644
index 000000000000..00fa16c3e2e8
--- /dev/null
+++ b/dev-python/evdev/evdev-1.7.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_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} 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/evdev/metadata.xml b/dev-python/evdev/metadata.xml
new file mode 100644
index 000000000000..123f4220f5a7
--- /dev/null
+++ b/dev-python/evdev/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="pypi">evdev</remote-id>
+ <remote-id type="github">gvalkov/python-evdev</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ewmh/ewmh-0.1.6.ebuild b/dev-python/ewmh/ewmh-0.1.6.ebuild
index eaee900fa347..da8b391017c5 100644
--- a/dev-python/ewmh/ewmh-0.1.6.ebuild
+++ b/dev-python/ewmh/ewmh-0.1.6.ebuild
@@ -1,15 +1,15 @@
-# 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..10} )
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="An implementation of Extended Window Manager Hints, based on Xlib"
HOMEPAGE="https://github.com/parkouss/pyewmh https://pypi.python.org/pypi/ewmh"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="LGPL-3"
KEYWORDS="amd64 x86"
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 de1cb5a47e0a..000000000000
--- a/dev-python/exam/exam-0.10.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Helpers for better testing"
-HOMEPAGE="https://github.com/fluxx/exam"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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 f84c2122833d..b2b16b9308e5 100644
--- a/dev-python/exceptiongroup/Manifest
+++ b/dev-python/exceptiongroup/Manifest
@@ -1 +1,3 @@
-DIST exceptiongroup-1.1.0.gh.tar.gz 22724 BLAKE2B 2de748494fe1356353b7f70d3afc7be7ecb8df4166f57461459c7f463bc5c22340c9073b0b0e032a52680560e37e4004c754fb4ddcc1a5a70f8dd0e973b1d8a9 SHA512 588b4ec3cae01a64140aac191cbdf8d0631eb614d430bbdbd02d17d8ff43aad9d233c3545694c6fffb622a2b3c38a289e20f1b8db6bf0e9b8819d668e38a87e3
+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.gh.tar.gz 28203 BLAKE2B 65068805670105246c84115a4030641eeff0384df01fc6b7ebd3215c7933908d8db8c8e272efd056b3f044110bf285d3fd477002e0db4c8f99f83bea71f28ce4 SHA512 6f1f29e017192f5881f28855692ad41fe781846b5daa082699350c8dd5990bc3aa54751e1776c620a3a48bf5a8d5bd9b4b50f09d848051b00ba19d825116e7a7
diff --git a/dev-python/exceptiongroup/exceptiongroup-1.1.0.ebuild b/dev-python/exceptiongroup/exceptiongroup-1.1.0.ebuild
deleted file mode 100644
index aee11e3afdae..000000000000
--- a/dev-python/exceptiongroup/exceptiongroup-1.1.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_scm
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${P/_}
-DESCRIPTION="Backport of PEP 654 (exception groups)"
-HOMEPAGE="
- https://github.com/agronholm/exceptiongroup/
- https://pypi.org/project/exceptiongroup/
-"
-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.1.3.ebuild b/dev-python/exceptiongroup/exceptiongroup-1.1.3.ebuild
new file mode 100644
index 000000000000..c06238b9a508
--- /dev/null
+++ b/dev-python/exceptiongroup/exceptiongroup-1.1.3.ebuild
@@ -0,0 +1,36 @@
+# 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
new file mode 100644
index 000000000000..c06238b9a508
--- /dev/null
+++ b/dev-python/exceptiongroup/exceptiongroup-1.2.0.ebuild
@@ -0,0 +1,36 @@
+# 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..b64fc590af28
--- /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..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/execnet/Manifest b/dev-python/execnet/Manifest
index 1db329bdb8c7..e294d78a8dc0 100644
--- a/dev-python/execnet/Manifest
+++ b/dev-python/execnet/Manifest
@@ -1,2 +1,3 @@
-DIST execnet-1.9.0-pytest-7.2.patch 11177 BLAKE2B 6d6d0c76de606305ed0ca4f0f52d5ccc0cc3ab99d795ac2f4d39d3804cd5c0191f75704ee5eafcd135dc9854eef99a59dbd9cf57a8455b6b9cd45f2612fbcdba SHA512 ae16b3127545efe77a49392836a8940a053967e530a6288660a39edba9b35b448d0061ac7ac751c3be68de2cf5410655c2db55d344519f69db7c9ed4f7ca0003
-DIST execnet-1.9.0.tar.gz 173884 BLAKE2B 622a1f47365bdea97ba53aee908faf990ef847e3641ab0590073cdd6eac3413d1517f16e8e5b73b56884f02aebb3142691ecf6113e14f9c49c9b0fef3ee3247c SHA512 d425e7b6f3708efecb5dfa2c36a837cb55f2c32cf2ec0c1dc11cd1ca6ea614d119d04908b84dd5a3593c87db35e71fee202f843665c853ac3538479f60c83d60
+DIST execnet-2.0.2.tar.gz 161098 BLAKE2B 2a0a4d3071a0436d7c6ec450f1b502047e6a367985771aa58050e149ea060e8a573844bd2380c66be914dd00e3f9491b126e84089006787c61c043116f9e5981 SHA512 9e2e7ff4e04f50b12a3dd47d3326a3ea229f64926e8598bdce6ea25bd57afb41e96249e1c9f7333927a38a2793f67cac77965c922980055ed758dee361bf2ce4
+DIST execnet-2.1.0.tar.gz 166475 BLAKE2B b1149df5e0073ad9e02520bd74a19a3e527a488088d785b902fab2e7d008fe01195134d2742d6443a52645338b79bc69283ad3402495d64089885793446c4aad SHA512 efd63147748d2f26fd75034b2a0a90c7aa10ac647468ceb27c845c3b66dfa6ffda8b8bd3b5d40ce34f429fb151bfd9fe5c2c6ebc20027789de555232851b5525
+DIST execnet-2.1.1.tar.gz 166524 BLAKE2B cf6ef7007ecee7cd3e205dfaefc7c46dcc555dd4290a9055413373cbc1f8b24c5769e8e2eb58c9d6169ad766539bf44139a691726d791a69a80a2f800fefcf4e SHA512 486f906ad653d16cce7337d9085c36070fe3dd721a3723ca62ceb25862c3ff837120062df028d5aadec17f854c0d46204537e9d75d22079a677f08c50dd48d21
diff --git a/dev-python/execnet/execnet-1.9.0-r1.ebuild b/dev-python/execnet/execnet-1.9.0-r1.ebuild
deleted file mode 100644
index fa09e14988f1..000000000000
--- a/dev-python/execnet/execnet-1.9.0-r1.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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Rapid multi-Python deployment"
-HOMEPAGE="
- https://codespeak.net/execnet/
- https://pypi.org/project/execnet/
-"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- https://github.com/pytest-dev/execnet/commit/c0459b92bc4a42b08281e69b8802d24c5d3415d4.patch
- -> ${P}-pytest-7.2.patch
-"
-
-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}]
- test? (
- dev-python/py[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx doc
-distutils_enable_tests pytest
-
-PATCHES=(
- "${DISTDIR}"/${P}-pytest-7.2.patch
-)
-
-EPYTEST_DESELECT=(
- # needs python2.7 with apipkg?
- 'testing/test_termination.py::test_close_initiating_remote_no_error[python2.7]'
- # tries to run python2
- testing/test_channel.py::TestStringCoerce::test_3to2
- testing/test_gateway.py::TestStringCoerce::test_3to2
- # does not like Gentoo defaults
- testing/test_gateway.py::TestPopenGateway::test_dont_write_bytecode
- # almost all tests call py2, not worth filtering for the rest
- testing/test_serializer.py
-)
-
-python_prepare_all() {
- sed -i -r 's:(,[[:space:]]*|)"eventlet":: ; s:(,[[:space:]]*|)"gevent"(,|)::' \
- testing/conftest.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/execnet/execnet-2.0.2.ebuild b/dev-python/execnet/execnet-2.0.2.ebuild
new file mode 100644
index 000000000000..c6707acf4de6
--- /dev/null
+++ b/dev-python/execnet/execnet-2.0.2.ebuild
@@ -0,0 +1,32 @@
+# 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.0.ebuild b/dev-python/execnet/execnet-2.1.0.ebuild
new file mode 100644
index 000000000000..c954dbc26c01
--- /dev/null
+++ b/dev-python/execnet/execnet-2.1.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=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() {
+ # 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/execnet/execnet-2.1.1.ebuild b/dev-python/execnet/execnet-2.1.1.ebuild
new file mode 100644
index 000000000000..c954dbc26c01
--- /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..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() {
+ # 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/execnet/metadata.xml b/dev-python/execnet/metadata.xml
index 4a31a3170925..64dc04edc3ab 100644
--- a/dev-python/execnet/metadata.xml
+++ b/dev-python/execnet/metadata.xml
@@ -12,5 +12,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">execnet</remote-id>
+ <remote-id type="github">pytest-dev/execnet</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/executing/Manifest b/dev-python/executing/Manifest
index 2a0f954d4868..d2ce7ff6f380 100644
--- a/dev-python/executing/Manifest
+++ b/dev-python/executing/Manifest
@@ -1 +1 @@
-DIST executing-1.2.0.gh.tar.gz 663650 BLAKE2B ba9420bfcf3805223e6b7e84d65499f3a73ef3156480586d2c5ffde4e438fcf8474f4f02c123953d04ee253de7a6a3a1b2587e57fcae546f3dae7af70a1aaa98 SHA512 c841958cc499b2d78c94570bf0556933d4a58ca5541f7a59e591be6036926ab79d5ae86bb95bbf649f3c3fb729109fe50cf04fbc72692e0cfe12edaa995ea0a6
+DIST executing-2.0.1.gh.tar.gz 837355 BLAKE2B 7d38890eb322809c2b705f51731fe7537f81a0775d99bebb4b4ae67453930daedd947b249385babbc2373969344b643f288441fc28f3588264e4ebc23e1c389d SHA512 8a753aab42ea2d3b61764ee77de3bb52ea7fcc2818298281180ffc47c7b22ee84974ee98b2137250f722ad559be92e72e8fc01d7b2d38ab6a01512618b65d4f3
diff --git a/dev-python/executing/executing-1.2.0.ebuild b/dev-python/executing/executing-1.2.0.ebuild
deleted file mode 100644
index dfc8f3445aa9..000000000000
--- a/dev-python/executing/executing-1.2.0.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_{9..11} )
-
-inherit distutils-r1 optfeature
-
-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/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/asttokens[${PYTHON_USEDEP}]
- dev-python/littleutils[${PYTHON_USEDEP}]
- dev-python/rich[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_test() {
- # this test explodes when collected by pytest
- "${EPYTHON}" tests/test_main.py || die "Tests failed with ${EPYTHON}"
- epytest tests/test_pytest.py
-}
-
-pkg_postinst() {
- optfeature "getting node's source code" dev-python/asttokens
-}
diff --git a/dev-python/executing/executing-2.0.1.ebuild b/dev-python/executing/executing-2.0.1.ebuild
new file mode 100644
index 000000000000..6bb21080f195
--- /dev/null
+++ b/dev-python/executing/executing-2.0.1.ebuild
@@ -0,0 +1,69 @@
+# 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 optfeature
+
+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/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"
+
+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}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.0.1-additional-slow-tests.patch"
+)
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ "tests/test_main.py::test_small_samples[46597f8f896f11c5d7f432236344cc7e5645c2a39836eb6abdd2437c0422f0f4.py]"
+ )
+ ;;
+ python3.10)
+ EPYTEST_DESELECT+=(
+ # crashes with infinite recursion (?)
+ "tests/test_main.py::test_small_samples[1656dc52edd2385921104de7bb255ca369713f4b8c034ebeba5cf946058109bc.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/executing/files/executing-2.0.1-additional-slow-tests.patch b/dev-python/executing/files/executing-2.0.1-additional-slow-tests.patch
new file mode 100644
index 000000000000..36346e7363fb
--- /dev/null
+++ b/dev-python/executing/files/executing-2.0.1-additional-slow-tests.patch
@@ -0,0 +1,38 @@
+https://bugs.gentoo.org/show_bug.cgi?id=909738
+https://github.com/alexmojaki/executing/pull/78
+
+From 9990d20a28d46e8a911c370a019f9231cad977f0 Mon Sep 17 00:00:00 2001
+From: matoro <matoro@users.noreply.github.com>
+Date: Sun, 5 Nov 2023 19:54:34 -0500
+Subject: [PATCH] Add many_calls tests to EXECUTING_SLOW_TESTS
+
+---
+ tests/test_main.py | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/tests/test_main.py b/tests/test_main.py
+index 7e33247..bc015cd 100644
+--- a/tests/test_main.py
++++ b/tests/test_main.py
+@@ -279,6 +279,10 @@ def test_future_import(self):
+ print(1 / 2)
+ tester(4)
+
++ @pytest.mark.skipif(
++ not os.getenv("EXECUTING_SLOW_TESTS"),
++ reason="These tests are very slow, enable them explicitly",
++ )
+ def test_many_calls(self):
+ node = None
+ start = time.time()
+@@ -290,6 +294,10 @@ def test_many_calls(self):
+ self.assertIs(node, new_node)
+ self.assertLess(time.time() - start, 1)
+
++ @pytest.mark.skipif(
++ not os.getenv("EXECUTING_SLOW_TESTS"),
++ reason="These tests are very slow, enable them explicitly",
++ )
+ def test_many_source_for_filename_calls(self):
+ source = None
+ start = time.time()
diff --git a/dev-python/expandvars/Manifest b/dev-python/expandvars/Manifest
new file mode 100644
index 000000000000..9077a823cf92
--- /dev/null
+++ b/dev-python/expandvars/Manifest
@@ -0,0 +1 @@
+DIST expandvars-0.12.0.tar.gz 10909 BLAKE2B 8d58396f237a0a157f4d57fe9cc79058cdb0b7c514eec405769f67f82b1cf0bd91a98a680e4e730c51d65b0fc57b529f33ef10b96159b6027e4c81cbdeb77fc6 SHA512 b6eeb4693800737aef6367f4fb6080963882c59de2276f187565a764f6b800c747c1d98a1dc2e5107a62ccab420e3528064a1b67ccff8494f8ca2ebf96f05cc6
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..312c48dc5602
--- /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..12} )
+
+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/expandvars/metadata.xml b/dev-python/expandvars/metadata.xml
new file mode 100644
index 000000000000..d66a900919de
--- /dev/null
+++ b/dev-python/expandvars/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">sayanarijit/expandvars</remote-id>
+ <remote-id type="pypi">expandvars</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/expects/expects-0.9.0-r1.ebuild b/dev-python/expects/expects-0.9.0-r1.ebuild
new file mode 100644
index 000000000000..0d09d318bc01
--- /dev/null
+++ b/dev-python/expects/expects-0.9.0-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Expressive and extensible TDD/BDD assertion library for Python"
+HOMEPAGE="
+ https://github.com/jaimegildesagredo/expects/
+ https://pypi.org/project/expects/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/mamba[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs
+
+python_test() {
+ mamba || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/expects/expects-0.9.0.ebuild b/dev-python/expects/expects-0.9.0.ebuild
deleted file mode 100644
index a49e7b71d656..000000000000
--- a/dev-python/expects/expects-0.9.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Expressive and extensible TDD/BDD assertion library for Python"
-HOMEPAGE="https://github.com/jaimegildesagredo/expects"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="test? ( dev-python/mamba[${PYTHON_USEDEP}] )"
-
-distutils_enable_sphinx docs
-
-python_test() {
- mamba || die "tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/extras/extras-1.0.0-r2.ebuild b/dev-python/extras/extras-1.0.0-r2.ebuild
index 1bfb8a4d5f39..4e4df97d4a9b 100644
--- a/dev-python/extras/extras-1.0.0-r2.ebuild
+++ b/dev-python/extras/extras-1.0.0-r2.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Useful extra bits for Python that should be in the standard library"
HOMEPAGE="
https://github.com/testing-cabal/extras/
https://pypi.org/project/extras/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/eyeD3/eyeD3-0.9.7-r1.ebuild b/dev-python/eyeD3/eyeD3-0.9.7-r1.ebuild
new file mode 100644
index 000000000000..af53db71b6cd
--- /dev/null
+++ b/dev-python/eyeD3/eyeD3-0.9.7-r1.ebuild
@@ -0,0 +1,70 @@
+# 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="Module for manipulating ID3 (v1 + v2) tags in Python"
+HOMEPAGE="
+ https://eyed3.nicfit.net/
+ https://github.com/nicfit/eyeD3/
+ https://pypi.org/project/eyed3/
+"
+SRC_URI="
+ https://github.com/nicfit/eyeD3/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://eyed3.nicfit.net/releases/eyeD3-test-data.tgz
+ -> eyeD3-test-data-r1.tgz
+ )
+"
+
+LICENSE="GPL-2"
+SLOT="0.7"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+
+RDEPEND="
+ dev-python/deprecation[${PYTHON_USEDEP}]
+ dev-python/filetype[${PYTHON_USEDEP}]
+ || (
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+# note: most of the deps are optional runtime deps / plugin deps
+BDEPEND="
+ test? (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pylast[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # unpackaged deps
+ tests/test_factory.py
+)
+
+EPYTEST_DESELECT=(
+ # broken by formatting / line wrapping
+ tests/test_jsonyaml_plugin.py::testYamlPlugin
+)
+
+src_prepare() {
+ if use test; then
+ mv "${WORKDIR}"/eyeD3-test-data tests/data || die
+ fi
+
+ # don't install everything to site-packages
+ sed -i -e '/^include = /,/\]/d' pyproject.toml || die
+ # optional without putting it in extra group == non-optional, sigh
+ sed -i -e '/coverage/d' pyproject.toml || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/eyeD3/eyeD3-0.9.7.ebuild b/dev-python/eyeD3/eyeD3-0.9.7.ebuild
deleted file mode 100644
index 68c1a8170aca..000000000000
--- a/dev-python/eyeD3/eyeD3-0.9.7.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=poetry
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Module for manipulating ID3 (v1 + v2) tags in Python"
-HOMEPAGE="
- https://eyed3.nicfit.net/
- https://github.com/nicfit/eyeD3/
- https://pypi.org/project/eyed3/
-"
-SRC_URI="
- https://github.com/nicfit/eyeD3/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- test? (
- https://eyed3.nicfit.net/releases/eyeD3-test-data.tgz
- -> eyeD3-test-data-r1.tgz
- )
-"
-
-LICENSE="GPL-2"
-SLOT="0.7"
-KEYWORDS="amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
-
-RDEPEND="
- dev-python/deprecation[${PYTHON_USEDEP}]
- dev-python/filetype[${PYTHON_USEDEP}]
- || (
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- )
-"
-# note: most of the deps are optional runtime deps / plugin deps
-BDEPEND="
- test? (
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pylast[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # unpackaged deps
- tests/test_factory.py
-)
-
-src_prepare() {
- if use test; then
- mv "${WORKDIR}"/eyeD3-test-data tests/data || die
- fi
-
- # don't install everything to site-packages
- sed -i -e '/^include = /,/\]/d' pyproject.toml || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/fakeredis/Manifest b/dev-python/fakeredis/Manifest
index c77fa416f141..4d773610816d 100644
--- a/dev-python/fakeredis/Manifest
+++ b/dev-python/fakeredis/Manifest
@@ -1,3 +1 @@
-DIST fakeredis-py-2.4.0.gh.tar.gz 132163 BLAKE2B fc3858eb364c63d776c81d715cbfb218dc0e763d568c97b0d1dafb0716aaf87e928f9b81bd49d28fcc235f4285277446945595d42ff1d440e5c8491b78abb6c3 SHA512 5fba3e84d0506b52e1561f750e045b6227ea21387ddb3a89b8a61e9698fc0e9ec80c4a7048d9426fb0d8e9f2acd808e7e07fcb11d14d6852d9b057fec86d6e6a
-DIST fakeredis-py-2.5.0.gh.tar.gz 139911 BLAKE2B 4e9c616b0066012e1ed681d06e73390fb670969c15fa57689244147a0175dbb14ff1c312066ffdc6eb2c647f884c351a98eebfb2c1ba0e6c1bbe1e6c3553808a SHA512 aff5a8679763d4cf1717f790c7c384aa8e5056e5f175c306626f3a1671fe27aa3caf24368831033c9cf5bffa2e3e6be1104b183f3912eadf34fd6f37ea0c63e8
-DIST fakeredis-py-2.6.0.gh.tar.gz 151925 BLAKE2B 60538efa5de93436177aa019908f02affb9df9b2aaf1349e933da6f066f98aaa255bbdb3297645ad1dc3b67a57a61bb8081e476f451799b512719f5779c1218d SHA512 19a23be7a182f962e66686f3c4ec3a5b9fbc847d97e48f19fde11ae268f4a70de567ff2ca302a9fe0e7080de2215698cf5b2ff2febda5eef6748f3ec8d601720
+DIST fakeredis-2.21.3.tar.gz 129013 BLAKE2B 9c56fadc1090cc886fe08b53404c21b1659f4f9c9f5c3c168f02a7ac71e7e660924aec8ad82dbc18d8c2c11245b4548e71ec68d5e83a0a9fd4e5503b85be0cc0 SHA512 aade7596729b7100ef58a2a87cbd011fd4e60970c0c310ca70748e03b787fd3e0ef6d5c54739e91c839f9451a12ec029d441e3cfb4ed3238425b2cce526d8030
diff --git a/dev-python/fakeredis/fakeredis-2.21.3.ebuild b/dev-python/fakeredis/fakeredis-2.21.3.ebuild
new file mode 100644
index 000000000000..d0865eabf695
--- /dev/null
+++ b/dev-python/fakeredis/fakeredis-2.21.3.ebuild
@@ -0,0 +1,84 @@
+# 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..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.4.0.ebuild b/dev-python/fakeredis/fakeredis-2.4.0.ebuild
deleted file mode 100644
index 407a0ae4ef68..000000000000
--- a/dev-python/fakeredis/fakeredis-2.4.0.ebuild
+++ /dev/null
@@ -1,88 +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_{9..11} )
-
-inherit distutils-r1
-
-MY_P=fakeredis-py-${PV}
-DESCRIPTION="Fake implementation of redis API for testing purposes"
-HOMEPAGE="
- https://github.com/cunla/fakeredis-py/
- https://pypi.org/project/fakeredis/
-"
-SRC_URI="
- https://github.com/cunla/fakeredis-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"
-
-RDEPEND="
- >=dev-python/redis-py-4.2[${PYTHON_USEDEP}]
- <dev-python/redis-py-4.5[${PYTHON_USEDEP}]
- >=dev-python/sortedcontainers-2.4.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-db/redis
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin redis
- sed -i -e '/redis/s:<[0-9.]*:*:' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-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]"
- )
- 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'
- )
- 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.5.0.ebuild b/dev-python/fakeredis/fakeredis-2.5.0.ebuild
deleted file mode 100644
index 4186af5980d2..000000000000
--- a/dev-python/fakeredis/fakeredis-2.5.0.ebuild
+++ /dev/null
@@ -1,88 +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_{9..11} )
-
-inherit distutils-r1
-
-MY_P=fakeredis-py-${PV}
-DESCRIPTION="Fake implementation of redis API for testing purposes"
-HOMEPAGE="
- https://github.com/cunla/fakeredis-py/
- https://pypi.org/project/fakeredis/
-"
-SRC_URI="
- https://github.com/cunla/fakeredis-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"
-
-RDEPEND="
- >=dev-python/redis-py-4.2[${PYTHON_USEDEP}]
- <dev-python/redis-py-4.5[${PYTHON_USEDEP}]
- >=dev-python/sortedcontainers-2.4.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-db/redis
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin redis
- sed -i -e '/redis/s:<[0-9.]*:*:' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-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]"
- )
- 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'
- )
- 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.6.0.ebuild b/dev-python/fakeredis/fakeredis-2.6.0.ebuild
deleted file mode 100644
index 4186af5980d2..000000000000
--- a/dev-python/fakeredis/fakeredis-2.6.0.ebuild
+++ /dev/null
@@ -1,88 +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_{9..11} )
-
-inherit distutils-r1
-
-MY_P=fakeredis-py-${PV}
-DESCRIPTION="Fake implementation of redis API for testing purposes"
-HOMEPAGE="
- https://github.com/cunla/fakeredis-py/
- https://pypi.org/project/fakeredis/
-"
-SRC_URI="
- https://github.com/cunla/fakeredis-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"
-
-RDEPEND="
- >=dev-python/redis-py-4.2[${PYTHON_USEDEP}]
- <dev-python/redis-py-4.5[${PYTHON_USEDEP}]
- >=dev-python/sortedcontainers-2.4.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-db/redis
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin redis
- sed -i -e '/redis/s:<[0-9.]*:*:' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-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]"
- )
- 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'
- )
- 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/fastbencode/Manifest b/dev-python/fastbencode/Manifest
new file mode 100644
index 000000000000..b0c883f2d5e8
--- /dev/null
+++ b/dev-python/fastbencode/Manifest
@@ -0,0 +1 @@
+DIST fastbencode-0.2.tar.gz 22580 BLAKE2B 87e14260cf7174ee1b40372879efed7b8fef3302ec0783cf9ebd103e9730c0f415ccd96c2ada944849b7cf63bf2998d2ddc644307619449b29177c680730233b SHA512 4cc62d8ed54fcf1d989e026ad2b4d0c1f4a2fa762d9c2f7da182501af7454f802202c47763b714072009357858a3f93ea6ad9b3e9f80742b749f5014f84e1598
diff --git a/dev-python/fastbencode/fastbencode-0.2.ebuild b/dev-python/fastbencode/fastbencode-0.2.ebuild
new file mode 100644
index 000000000000..badf0a63432d
--- /dev/null
+++ b/dev-python/fastbencode/fastbencode-0.2.ebuild
@@ -0,0 +1,36 @@
+# 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 pypi
+
+DESCRIPTION="Implementation of bencode with optional fast C extensions"
+HOMEPAGE="
+ https://github.com/breezy-team/fastbencode/
+ https://pypi.org/project/fastbencode/
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+PATCHES=(
+ # https://github.com/breezy-team/fastbencode/commit/23e8cadcc81c6649d96742f235a98bd3047e5d8a
+ "${FILESDIR}"/${P}-py312.patch
+)
+
+python_test() {
+ cd fastbencode/tests || die
+ eunittest
+}
diff --git a/dev-python/fastbencode/files/fastbencode-0.2-py312.patch b/dev-python/fastbencode/files/fastbencode-0.2-py312.patch
new file mode 100644
index 000000000000..78c42c7b2fa7
--- /dev/null
+++ b/dev-python/fastbencode/files/fastbencode-0.2-py312.patch
@@ -0,0 +1,35 @@
+From 23e8cadcc81c6649d96742f235a98bd3047e5d8a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jelmer=20Vernoo=C4=B3?= <jelmer@jelmer.uk>
+Date: Tue, 11 Jul 2023 11:45:47 +0000
+Subject: [PATCH] Fix compatibility with python 3.12
+
+Fixes #23
+---
+ fastbencode/tests/test_bencode.py | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/fastbencode/tests/test_bencode.py b/fastbencode/tests/test_bencode.py
+index 50e8e06..61cd8b5 100644
+--- a/fastbencode/tests/test_bencode.py
++++ b/fastbencode/tests/test_bencode.py
+@@ -287,10 +287,16 @@ def test_list(self):
+
+ def test_list_deepnested(self):
+ import platform
+- if platform.python_implementation() == 'PyPy':
+- self.skipTest('recursion not an issue on pypy')
+- with RecursionLimit():
+- self._run_check_error(RuntimeError, (b"l" * 100) + (b"e" * 100))
++ if (platform.python_implementation() == 'PyPy'
++ or sys.version_info[:2] >= (3, 12)):
++ expected = []
++ for i in range(99):
++ expected = [expected]
++ self._check(expected, (b"l" * 100) + (b"e" * 100))
++ else:
++ with RecursionLimit():
++ self._run_check_error(
++ RuntimeError, (b"l" * 100) + (b"e" * 100))
+
+ def test_malformed_list(self):
+ self._run_check_error(ValueError, b'l')
diff --git a/dev-python/fastbencode/metadata.xml b/dev-python/fastbencode/metadata.xml
new file mode 100644
index 000000000000..a626371679bf
--- /dev/null
+++ b/dev-python/fastbencode/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="pypi">fastbencode</remote-id>
+ <remote-id type="github">breezy-team/fastbencode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/fasteners/Manifest b/dev-python/fasteners/Manifest
index fe2726585f7b..5c4944fb5274 100644
--- a/dev-python/fasteners/Manifest
+++ b/dev-python/fasteners/Manifest
@@ -1 +1 @@
-DIST fasteners-0.18.gh.tar.gz 42343 BLAKE2B 702ca6a68733ed202ae0f8a2d9d430012c5786ef8d779903186815f9250ed7b2ccf781694aa57ef230009a470ef7c6bd0e83cc7bc9fcb809d2335542e799e3d6 SHA512 40928e93fa94ca9e67335d15acede73b70906885f8cc34262b00e2dfba9dfed8647f11490ab0df4c8fcfd94778362cfdc4bd0053063660b962202524dd5bda18
+DIST fasteners-0.19.gh.tar.gz 43188 BLAKE2B c30f4dc3da6605aa2552f58ae1071b51efefe2aea59ca8815fd50eebdbe7e826756cd9923485d6fb99dcc39196def485f4c1346a234bc7af09e2426c84b6a0d3 SHA512 47db216ff5bad5c669ca2d9be0ee09feba4a3d55ed0eac8d3623bd3d112b0b87fb9019f8785d035ec32ad9fa9e4ae7d1c92a576c97eec29acc82711d7e71a465
diff --git a/dev-python/fasteners/fasteners-0.18.ebuild b/dev-python/fasteners/fasteners-0.18.ebuild
deleted file mode 100644
index aa5af3d138cc..000000000000
--- a/dev-python/fasteners/fasteners-0.18.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
-
-DESCRIPTION="Python package that provides useful locks"
-HOMEPAGE="https://github.com/harlowja/fasteners/"
-SRC_URI="
- https://github.com/harlowja/fasteners/archive/${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 ~amd64-linux ~x86-linux ~x64-macos"
-
-BDEPEND="
- test? (
- dev-python/diskcache[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- tests_eventlet/test_eventlet.py
-)
diff --git a/dev-python/fasteners/fasteners-0.19.ebuild b/dev-python/fasteners/fasteners-0.19.ebuild
new file mode 100644
index 000000000000..12d8ef4c9801
--- /dev/null
+++ b/dev-python/fasteners/fasteners-0.19.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 package that provides useful locks"
+HOMEPAGE="
+ https://github.com/harlowja/fasteners/
+ https://pypi.org/project/fasteners/
+"
+SRC_URI="
+ https://github.com/harlowja/fasteners/archive/${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 ~amd64-linux ~x86-linux ~x64-macos"
+
+BDEPEND="
+ test? (
+ dev-python/diskcache[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ tests/test_eventlet.py
+)
diff --git a/dev-python/fastimport/fastimport-0.9.14.ebuild b/dev-python/fastimport/fastimport-0.9.14.ebuild
index b222366b89a0..e94e501f5b95 100644
--- a/dev-python/fastimport/fastimport-0.9.14.ebuild
+++ b/dev-python/fastimport/fastimport-0.9.14.ebuild
@@ -4,20 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Library for parsing the fastimport VCS serialization format"
HOMEPAGE="
https://github.com/jelmer/python-fastimport/
https://pypi.org/project/fastimport/
"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ppc ~ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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 4511d43f6afb..294e7ffd3d6f 100644
--- a/dev-python/fastjsonschema/Manifest
+++ b/dev-python/fastjsonschema/Manifest
@@ -1 +1 @@
-DIST python-fastjsonschema-2.16.2.gh.tar.gz 391619 BLAKE2B ea8da31d16ec7c9a897de0b2a91832ce26798d2dc048e70e862ce7a4e75787cd25ee4b9e14fac9f85599e050338b6306a2549a0a8bab9abcbfbd12c246d10697 SHA512 17fce033e6d334e82813af7366006ade29433efe291a1567ae494c2273b9ab87b8fa4ccf1bae0b7062f9f70fe492449c87a5d07075d79037ac2c755ed9278a23
+DIST fastjsonschema-2.19.1.tar.gz 372732 BLAKE2B f028e027483e02969c4d750a888659add9dd7f661776ab42242f74492272267b93a2248cdc50b78389091cc1a1fd7661abbf377d81edf73df35ed1e222be7328 SHA512 b276788ebe1d3a6bc5d1463c2a4940fbe5c9e0a7919c813b78f385faa406527cac34d4042e6a69e0ca1631f3e5ed0bc351e13d9d1e245132a1607e010a5a2346
diff --git a/dev-python/fastjsonschema/fastjsonschema-2.16.2.ebuild b/dev-python/fastjsonschema/fastjsonschema-2.16.2.ebuild
deleted file mode 100644
index 3f001b904f00..000000000000
--- a/dev-python/fastjsonschema/fastjsonschema-2.16.2.ebuild
+++ /dev/null
@@ -1,32 +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
-
-MY_P=python-${P}
-DESCRIPTION="Fast JSON schema validator for Python"
-HOMEPAGE="
- https://github.com/horejsek/python-fastjsonschema/
- https://pypi.org/project/fastjsonschema/
-"
-SRC_URI="
- https://github.com/horejsek/python-fastjsonschema/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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
- rm -r tests/benchmarks || die
-}
diff --git a/dev-python/fastjsonschema/fastjsonschema-2.19.1.ebuild b/dev-python/fastjsonschema/fastjsonschema-2.19.1.ebuild
new file mode 100644
index 000000000000..2308e701735e
--- /dev/null
+++ b/dev-python/fastjsonschema/fastjsonschema-2.19.1.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
+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
+)
+
+PATCHES=(
+ # https://github.com/horejsek/python-fastjsonschema/pull/180
+ "${FILESDIR}/${P}-pytest-8.patch"
+)
diff --git a/dev-python/fastjsonschema/files/fastjsonschema-2.19.1-pytest-8.patch b/dev-python/fastjsonschema/files/fastjsonschema-2.19.1-pytest-8.patch
new file mode 100644
index 000000000000..40cd057f6299
--- /dev/null
+++ b/dev-python/fastjsonschema/files/fastjsonschema-2.19.1-pytest-8.patch
@@ -0,0 +1,67 @@
+From 427a34e9ef409fefd8f1f7ae7e1c2a2bb7eb4496 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?=
+ <edgarrm358@gmail.com>
+Date: Tue, 14 Nov 2023 18:05:17 -0600
+Subject: [PATCH] Use `warnings.catch_warnings` instead of `pytest.warns(None)`
+ in tests
+
+---
+ tests/test_pattern_properties.py | 7 ++++---
+ tests/test_string.py | 7 ++++---
+ 2 files changed, 8 insertions(+), 6 deletions(-)
+
+diff --git a/tests/test_pattern_properties.py b/tests/test_pattern_properties.py
+index ae86946..945315b 100644
+--- a/tests/test_pattern_properties.py
++++ b/tests/test_pattern_properties.py
+@@ -1,3 +1,5 @@
++import warnings
++
+ import pytest
+
+
+@@ -59,12 +61,11 @@ def test_pattern_with_escape_no_warnings(asserter):
+ 'bar': {}
+ }
+
+- with pytest.warns(None) as record:
++ with warnings.catch_warnings():
++ warnings.simplefilter("error")
+ asserter({
+ 'type': 'object',
+ 'patternProperties': {
+ '\\w+': {'type': 'object'}
+ }
+ }, value, value)
+-
+- assert len(record) == 0
+diff --git a/tests/test_string.py b/tests/test_string.py
+index a8e8318..12fc3c9 100644
+--- a/tests/test_string.py
++++ b/tests/test_string.py
+@@ -1,3 +1,5 @@
++import warnings
++
+ import pytest
+
+ from fastjsonschema import JsonSchemaValueException
+@@ -74,14 +76,13 @@ def test_pattern_with_space(asserter, pattern):
+
+
+ def test_pattern_with_escape_no_warnings(asserter):
+- with pytest.warns(None) as record:
++ with warnings.catch_warnings():
++ warnings.simplefilter("error")
+ asserter({
+ 'type': 'string',
+ 'pattern': '\\s'
+ }, ' ', ' ')
+
+- assert len(record) == 0
+-
+
+ exc = JsonSchemaValueException('data must be a valid regex', value='{data}', name='data', definition='{definition}', rule='format')
+ @pytest.mark.parametrize('value, expected', [
+--
+2.44.0
+
diff --git a/dev-python/fastjsonschema/metadata.xml b/dev-python/fastjsonschema/metadata.xml
index 7e60f3e6248a..1a957a0ba04f 100644
--- a/dev-python/fastjsonschema/metadata.xml
+++ b/dev-python/fastjsonschema/metadata.xml
@@ -6,6 +6,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">horejsek/python-fastjsonschema</remote-id>
<remote-id type="pypi">fastjsonschema</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/feedgenerator/Manifest b/dev-python/feedgenerator/Manifest
index 48d8108795d2..b760d456a806 100644
--- a/dev-python/feedgenerator/Manifest
+++ b/dev-python/feedgenerator/Manifest
@@ -1 +1 @@
-DIST feedgenerator-2.0.0.tar.gz 23093 BLAKE2B 9f8a597028303f86eaebc0e8e34454dda135a5d62000c4ff6b30fc5baf872b924c3bbf9a76d07817742255305d9a681a25693838992170068e4cd6af540840fb SHA512 1f53077e4c757059947a487a1aa7ca8cf28545bc86f1bf3c8fbe515615f83ac4c48de5c22dd020f28c21ec6549d7f9971513f3de450bad7d4efbe0a0e444b0fe
+DIST feedgenerator-2.1.0.tar.gz 20682 BLAKE2B cf78ab6c8f84d82f260a315cdaac2780e563668179f13e087f760f6ba3acc11767d1d639f78b2ead9cec333ff04509b73a9e55ff0184c740cbf2090aad9f3987 SHA512 b8b41f5b256130166c8dba34dd950782f9acb506e3e37a2fe13b5e1f9d33f7d39b7f862e446f4f6f2f480973617feb70303f78a4fb6741f110166e61b92f0075
diff --git a/dev-python/feedgenerator/feedgenerator-2.0.0.ebuild b/dev-python/feedgenerator/feedgenerator-2.0.0.ebuild
deleted file mode 100644
index db8263b0d76f..000000000000
--- a/dev-python/feedgenerator/feedgenerator-2.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
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Standalone version of django.utils.feedgenerator"
-HOMEPAGE="https://pypi.org/project/feedgenerator/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-RDEPEND="
- dev-python/pytz[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest -o addopts=
-}
diff --git a/dev-python/feedgenerator/feedgenerator-2.1.0.ebuild b/dev-python/feedgenerator/feedgenerator-2.1.0.ebuild
new file mode 100644
index 000000000000..5bbb4105cb5d
--- /dev/null
+++ b/dev-python/feedgenerator/feedgenerator-2.1.0.ebuild
@@ -0,0 +1,29 @@
+# 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="Standalone version of django.utils.feedgenerator"
+HOMEPAGE="
+ https://github.com/getpelican/feedgenerator/
+ https://pypi.org/project/feedgenerator/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~riscv x86"
+
+RDEPEND="
+ dev-python/pytz[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts=
+}
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 266350cbdf4f..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_{9..11} 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 ~x86-solaris"
-
-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..518ad7a42317
--- /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..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}.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 ea75545ff7d5..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..c7249195f193
--- /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..12} )
+
+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 f84f6aff5fc0..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.0.tar.gz 243526 BLAKE2B 48a6466c1ad3723d3d5f2e22ef59b4b49ebc3231739ffffdb25349d466c23f5cdc063908ea1adb944041f646d0bd0648d66acdaae0e72a9715e4bc365f449c12 SHA512 df7fcf205a5c124daf14c4bb7742aa16def1e912490c3b967dd940fdb21baf1a933130eab276af7c03fb46fb779a5a2b8e5fa3d8e3cd379297c23d9f39cadba4
+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
new file mode 100644
index 000000000000..25d6084ff874
--- /dev/null
+++ b/dev-python/fido2/fido2-0.9.3-r1.ebuild
@@ -0,0 +1,44 @@
+# 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="Python based FIDO 2.0 library"
+HOMEPAGE="https://github.com/Yubico/python-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/0.9" # Bumped every time a backwards-incompatible version is released
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/pyscard[${PYTHON_USEDEP}]
+ examples? (
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/pyfakefs-3.4[${PYTHON_USEDEP}] )
+"
+
+distutils_enable_tests unittest
+
+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-0.9.3.ebuild b/dev-python/fido2/fido2-0.9.3.ebuild
deleted file mode 100644
index f9f736400d4c..000000000000
--- a/dev-python/fido2/fido2-0.9.3.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python based FIDO 2.0 library"
-HOMEPAGE="https://github.com/Yubico/python-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/0.9" # Bumped every time a backwards-incompatible version is released
-KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86"
-IUSE="examples"
-RESTRICT="test" # Tests require <dev-python/mock-4
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/pyscard[${PYTHON_USEDEP}]
- examples? (
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
-"
-DEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-
-# Disable tests, <dev-python/mock-4 doesn't exist
-# DEPEND="${DEPEND}
-# test? (
-# ${RDEPEND}
-# <dev-python/mock-4[${PYTHON_USEDEP}]
-# >=dev-python/pyfakefs-3.4[${PYTHON_USEDEP}]
-# )
-# "
-#
-# When tests are available again, remember to add a custom
-# test phase that runs 'python -m unittest discover -v'
-
-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.0.ebuild b/dev-python/fido2/fido2-1.1.0.ebuild
deleted file mode 100644
index bf17632b1a20..000000000000
--- a/dev-python/fido2/fido2-1.1.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-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-40[${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..d302c8976a1d
--- /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
+
+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/fields/fields-5.0.0-r3.ebuild b/dev-python/fields/fields-5.0.0-r3.ebuild
index 17e9e46f8c7b..663e02348ff1 100644
--- a/dev-python/fields/fields-5.0.0-r3.ebuild
+++ b/dev-python/fields/fields-5.0.0-r3.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Container class boilerplate killer"
HOMEPAGE="
https://github.com/ionelmc/python-fields/
https://pypi.org/project/fields/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
diff --git a/dev-python/filebytes/Manifest b/dev-python/filebytes/Manifest
index d2bf3d9b8638..4c0c9d138e15 100644
--- a/dev-python/filebytes/Manifest
+++ b/dev-python/filebytes/Manifest
@@ -1 +1 @@
-DIST filebytes-0.10.2.tar.gz 1958114 BLAKE2B 6b7fb865d01cc9ea0f14b32f6e0326da21fa2fa2a36549b99ca88e9bf015162d3b0f82e350be1cca805294fd56ef47e2db4394db5ffb3061773f146eda1ba666 SHA512 12317d6b5063e710b4410e4dcc61b45c0ac1cbc80655212dacb0929a19e100849df39ba84a05cb96699abe7ec16758e0b9656b3d3ce044f3d122b8636106e564
+DIST filebytes-0.10.2.gh.tar.gz 1958114 BLAKE2B 6b7fb865d01cc9ea0f14b32f6e0326da21fa2fa2a36549b99ca88e9bf015162d3b0f82e350be1cca805294fd56ef47e2db4394db5ffb3061773f146eda1ba666 SHA512 12317d6b5063e710b4410e4dcc61b45c0ac1cbc80655212dacb0929a19e100849df39ba84a05cb96699abe7ec16758e0b9656b3d3ce044f3d122b8636106e564
diff --git a/dev-python/filebytes/filebytes-0.10.2.ebuild b/dev-python/filebytes/filebytes-0.10.2.ebuild
index 5b7fcb7de0d4..ef64076096e4 100644
--- a/dev-python/filebytes/filebytes-0.10.2.ebuild
+++ b/dev-python/filebytes/filebytes-0.10.2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -15,8 +15,8 @@ if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/sashs/filebytes"
else
- SRC_URI="https://github.com/sashs/filebytes/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~ppc x86"
+ SRC_URI="https://github.com/sashs/filebytes/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
fi
LICENSE="BSD"
diff --git a/dev-python/filebytes/filebytes-9999.ebuild b/dev-python/filebytes/filebytes-9999.ebuild
index 182a1ca9417a..6f4e7944a745 100644
--- a/dev-python/filebytes/filebytes-9999.ebuild
+++ b/dev-python/filebytes/filebytes-9999.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 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_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/filelock/Manifest b/dev-python/filelock/Manifest
index 627d5fce3d2a..0aa878b5cb6d 100644
--- a/dev-python/filelock/Manifest
+++ b/dev-python/filelock/Manifest
@@ -1,2 +1,2 @@
-DIST py-filelock-3.8.2.gh.tar.gz 204940 BLAKE2B a83fbea21690f82680ab5d024cbca6e52b5f6490854fa1d14a98191a4e56edea41c0a8bda9dd396f8b9c5b83187d9f976011440ca00987fbe4e96cd1e311a244 SHA512 2d5f7f49cf2d112a060156391eeb600040b9ae8619a9795173b9888ee977ec718432beff68bfefca290791b14f8cefca6d2a92defd78132822dc3596493aaa23
-DIST py-filelock-3.9.0.gh.tar.gz 205047 BLAKE2B 3995f7ad27bb09ca75310c4ada7645f2dd16c09ddb39663394f315443851037f2f9cf08eecb507eba521479696ad1004978d3fdd300a7128ac3354fce2e57d5f SHA512 1235ae9ebdb4c84b0c30e68be91e01eb1acbfcd15c85202fa54a3b91e4e507f221926f8886e1ec91acd4f71d2d88c08f536529b4cebfd2de4fb90118f5dc242e
+DIST filelock-3.13.3.tar.gz 14938 BLAKE2B b6593dfdb1f2c6ed76ec0d79375e60c67950251bdecc61215be70b1c14e50932ed9796c0318f582fd62760340a3d569b18eb7854205df0b228d4be4f92a333b2 SHA512 d335f9cffdda98f2d3e3585f9170ad5f062e6457056e75738df8b2a2e7ebaed4939597c5e4d1353a4ed0cd1bd53bbb21dab8418412be98cc0b322a6789dd0c7d
+DIST filelock-3.13.4.tar.gz 15093 BLAKE2B 1ee07531e4743ad61e9fc2ef85d79e1402be75efb31a6661e1f912a3ae44d19e5578e6e78980228645157ab254f56070ee85b2cdcd2e9d507947c778284159d4 SHA512 072d78bfb3b3831847103b3e7d54e97e9486cbe1ba146d9632edb510abe2d56f3f06bce6b79a2e6cb830ba51e47bbfe32b8f18abb08bd33480ecf78ee0da161b
diff --git a/dev-python/filelock/filelock-3.13.3.ebuild b/dev-python/filelock/filelock-3.13.3.ebuild
new file mode 100644
index 000000000000..2ecc4294c592
--- /dev/null
+++ b/dev-python/filelock/filelock-3.13.3.ebuild
@@ -0,0 +1,29 @@
+# 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..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.13.4.ebuild b/dev-python/filelock/filelock-3.13.4.ebuild
new file mode 100644
index 000000000000..48908464f081
--- /dev/null
+++ b/dev-python/filelock/filelock-3.13.4.ebuild
@@ -0,0 +1,29 @@
+# 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..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.8.2.ebuild b/dev-python/filelock/filelock-3.8.2.ebuild
deleted file mode 100644
index 4da3e7b585e8..000000000000
--- a/dev-python/filelock/filelock-3.8.2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2018-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
-
-MY_P=py-filelock-${PV}
-DESCRIPTION="A platform independent file lock for Python"
-HOMEPAGE="
- https://github.com/tox-dev/py-filelock/
- https://pypi.org/project/filelock/
-"
-SRC_URI="
- https://github.com/tox-dev/py-filelock/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}"
-
-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/setuptools_scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/filelock/filelock-3.9.0.ebuild b/dev-python/filelock/filelock-3.9.0.ebuild
deleted file mode 100644
index 290cc76f9164..000000000000
--- a/dev-python/filelock/filelock-3.9.0.ebuild
+++ /dev/null
@@ -1,36 +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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P=py-filelock-${PV}
-DESCRIPTION="A platform independent file lock for Python"
-HOMEPAGE="
- https://github.com/tox-dev/py-filelock/
- https://pypi.org/project/filelock/
-"
-SRC_URI="
- https://github.com/tox-dev/py-filelock/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}"
-
-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-timeout[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/filelock/metadata.xml b/dev-python/filelock/metadata.xml
index 855037ce85a8..fee0412fb595 100644
--- a/dev-python/filelock/metadata.xml
+++ b/dev-python/filelock/metadata.xml
@@ -7,6 +7,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">filelock</remote-id>
- <remote-id type="github">tox-dev/py-filelock</remote-id>
+ <remote-id type="github">tox-dev/filelock</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/filetype/filetype-1.2.0.ebuild b/dev-python/filetype/filetype-1.2.0.ebuild
index dd4e126eff4c..340996c95665 100644
--- a/dev-python/filetype/filetype-1.2.0.ebuild
+++ b/dev-python/filetype/filetype-1.2.0.ebuild
@@ -4,19 +4,18 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Small, dependency-free, fast Python package to infer binary file types checking"
HOMEPAGE="
https://github.com/h2non/filetype.py/
https://pypi.org/project/filetype/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
distutils_enable_tests unittest
diff --git a/dev-python/findimports/Manifest b/dev-python/findimports/Manifest
index c1262f34a16c..dfe7f92f1b1e 100644
--- a/dev-python/findimports/Manifest
+++ b/dev-python/findimports/Manifest
@@ -1 +1 @@
-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
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 b1969355aa03..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_{9..11} )
-
-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/metadata.xml b/dev-python/findimports/metadata.xml
index 5b46db6bc9ca..aaae5a0b6561 100644
--- a/dev-python/findimports/metadata.xml
+++ b/dev-python/findimports/metadata.xml
@@ -6,6 +6,7 @@
<name>Michał Górny</name>
</maintainer>
<upstream>
+ <remote-id type="github">mgedmin/findimports</remote-id>
<remote-id type="pypi">findimports</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/findpython/Manifest b/dev-python/findpython/Manifest
new file mode 100644
index 000000000000..80efeabf1979
--- /dev/null
+++ b/dev-python/findpython/Manifest
@@ -0,0 +1,2 @@
+DIST findpython-0.6.0.tar.gz 17774 BLAKE2B ecc60d0ee909e8c354e24f7014b55097723b83600bfdb4797e7c62871a81145ee4348e4366ffeefc6c174625d23267a41cd5b245e3d3e66d8577fe03ef2a323d SHA512 bf388a3dbaadf419b92eafe947716190a9e85612d384291493372a152ae1be55908574dcfecec32afa6025786b3c98a4093a7c9b2ba56ee947a4df2b6a009144
+DIST findpython-0.6.1.tar.gz 17797 BLAKE2B 22008769317bd769768e06f991031c2fdfe1135864fd2df0ddfc43f95b5098cd35f254b005e4f682b4866a035516560c58b59609edcf223536446e08372dcc1e SHA512 4b915dd5ce4e4ae9e09adeec5ef6118c44e8adbc4a629b8c97d8141c85635ef3152b4cfe6acbb89684183f0217e5835779c9091e7271670adaf74b941e17a125
diff --git a/dev-python/findpython/findpython-0.6.0.ebuild b/dev-python/findpython/findpython-0.6.0.ebuild
new file mode 100644
index 000000000000..ccb1027273d6
--- /dev/null
+++ b/dev-python/findpython/findpython-0.6.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=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..ccb1027273d6
--- /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..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/metadata.xml b/dev-python/findpython/metadata.xml
new file mode 100644
index 000000000000..92459121e0bf
--- /dev/null
+++ b/dev-python/findpython/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="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">frostming/findpython</remote-id>
+ <remote-id type="pypi">findpython</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/fitsio/Manifest b/dev-python/fitsio/Manifest
index b236bdca4c69..f7d234d76cce 100644
--- a/dev-python/fitsio/Manifest
+++ b/dev-python/fitsio/Manifest
@@ -1 +1 @@
-DIST fitsio-1.1.8.gh.tar.gz 5052021 BLAKE2B fd54450ccce61a502b803e85df92821a0f64c91e6c8a535b09da6d6e68df1a0299ffc57e87b514d46f635d83dbabc15dc67a99d84fc93ca11ba052fab9472210 SHA512 8ff7c675d39c74ae821dde29ebbfaa5686a4c8e4454bf6ec4b7edce2f6a2e026aa3fac584af1647e7913748202c8c8e3d58deba9bf07253e3fe4606fd2b52c93
+DIST fitsio-1.2.1.gh.tar.gz 4584464 BLAKE2B 376d2afe2e637075fca88c24c17117600973dc81fbb006e3e8bf4ddab023db6a466653187b686a4beb75339559cb4b77e0bf927f09c991d9205ffb0e66ad17a6 SHA512 645c117c394a18cdbb0c5033a1446e1f6e6473f54d9556b7591f33873855a70860343b3e4811284d7dfa16696ef23a1abb74ee638318d7295eb85ec4b17f0309
diff --git a/dev-python/fitsio/fitsio-1.1.8.ebuild b/dev-python/fitsio/fitsio-1.1.8.ebuild
deleted file mode 100644
index c42392b57273..000000000000
--- a/dev-python/fitsio/fitsio-1.1.8.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="Python library to read from and write to FITS files"
-HOMEPAGE="https://github.com/esheldon/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"
-
-RDEPEND="
- >=dev-python/numpy-1.11[${PYTHON_USEDEP}]
- sci-libs/cfitsio:0=
-"
-BDEPEND="${RDEPEND}"
-
-src_configure() {
- cat >> setup.cfg <<-EOF || die
- [build_ext]
- use_system_fitsio = True
- EOF
-}
-
-python_test() {
- cd "${T}" || die
- "${EPYTHON}" -c "import fitsio; exit(fitsio.test.test())" ||
- die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/fitsio/fitsio-1.2.1.ebuild b/dev-python/fitsio/fitsio-1.2.1.ebuild
new file mode 100644
index 000000000000..543a39335611
--- /dev/null
+++ b/dev-python/fitsio/fitsio-1.2.1.ebuild
@@ -0,0 +1,41 @@
+# 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/fixtures/Manifest b/dev-python/fixtures/Manifest
index d4647ca4ae0e..e4eeee10037b 100644
--- a/dev-python/fixtures/Manifest
+++ b/dev-python/fixtures/Manifest
@@ -1 +1 @@
-DIST fixtures-4.0.1.tar.gz 56752 BLAKE2B bddda3976ec453129fa05e53da066344ed8f4db9626ec21dd0159e6720993da0c17e3b51ba37de2ef05cd7649809d674cc6409b16c8e1d242dc424d573010975 SHA512 722436f146768e4db1e3312a0db1edab2a7daa86107825fb2436654eaf74e00f569357531316df506ef3f80cef89ac7185aee1adf0b00a6ee85cbc9811ca8100
+DIST fixtures-4.1.0.tar.gz 58561 BLAKE2B fc88ee580806e289d3d4a8a35701b0b17ee48bc157dbb355035ac0fb1bde64bdbf3596d54538e6032c74f8862a36fea92d1f72a96fd7d60c04480089db755bd8 SHA512 6897449fdefd07abe7714186b366fdf4505283f6747f8fa4d17044bc45da58eb36e69d89381527ccecb98e6c62c58bc6d4f558af41cbfc87b0221ae60ba71ff6
diff --git a/dev-python/fixtures/fixtures-4.0.1.ebuild b/dev-python/fixtures/fixtures-4.0.1.ebuild
deleted file mode 100644
index 3023bb4e29a8..000000000000
--- a/dev-python/fixtures/fixtures-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=pbr
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Fixtures, reusable state for writing clean tests and more"
-HOMEPAGE="
- https://github.com/testing-cabal/fixtures/
- https://pypi.org/project/fixtures/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/pbr-5.7.0[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.5.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/fixtures/fixtures-4.1.0.ebuild b/dev-python/fixtures/fixtures-4.1.0.ebuild
new file mode 100644
index 000000000000..ce29b321b94a
--- /dev/null
+++ b/dev-python/fixtures/fixtures-4.1.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2023 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 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fixtures, reusable state for writing clean tests and more"
+HOMEPAGE="
+ https://github.com/testing-cabal/fixtures/
+ https://pypi.org/project/fixtures/
+"
+
+LICENSE="|| ( Apache-2.0 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-python/pbr-5.7.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.5.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/fixtures/metadata.xml b/dev-python/fixtures/metadata.xml
index f9ed929d76b4..a462e638e482 100644
--- a/dev-python/fixtures/metadata.xml
+++ b/dev-python/fixtures/metadata.xml
@@ -18,6 +18,7 @@
</longdescription>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">testing-cabal/fixtures</remote-id>
<remote-id type="pypi">fixtures</remote-id>
<remote-id type="launchpad">python-fixtures</remote-id>
</upstream>
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
index 63521ac44d55..950b42dd36e7 100644
--- a/dev-python/flake8-polyfill/flake8-polyfill-1.0.2-r1.ebuild
+++ b/dev-python/flake8-polyfill/flake8-polyfill-1.0.2-r1.ebuild
@@ -4,19 +4,29 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+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"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://gitlab.com/pycqa/flake8-polyfill/
+ https://pypi.org/project/flake8-polyfill/
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="dev-python/flake8[${PYTHON_USEDEP}]"
-BDEPEND="test? ( dev-python/mock[${PYTHON_USEDEP}] )"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/flake8[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
distutils_enable_tests pytest
diff --git a/dev-python/flake8/Manifest b/dev-python/flake8/Manifest
index 468a0ce739e2..d47e9feaa2a1 100644
--- a/dev-python/flake8/Manifest
+++ b/dev-python/flake8/Manifest
@@ -1 +1 @@
-DIST flake8-6.0.0.gh.tar.gz 139138 BLAKE2B 87590594a95f48a9e532ca545d4ae17a098cba81a7708066d63180b27e1cd0e0b648a2362d16b3818ef1b91cbe9ecf51810d45136fb42f188fc09083e9b31921 SHA512 27de4632332ee72bb5deedfcb7ea59e31a3e7fbfd6c165adf019b06cccaba51b776f4310219d8b27cf4894ed2597330fe9c0e381187353d4dc239f102eedd26a
+DIST flake8-7.0.0.gh.tar.gz 138456 BLAKE2B faf0b54ede3c3184e12986fb9247f73a149a5fd9ebba90578aae8550d2749bcacdab1fa4699ea0b8d69309d0bd5c26dd5162c54a8f8eb33ed64009c919e147fe SHA512 cebcd61d266c6d2f837178d0708217b471662e81dabaa911850883657307747180173c5f6cde11abc2b14381baecff9d6adeca2979bcb85be03a4a6ff57de2c4
diff --git a/dev-python/flake8/flake8-6.0.0.ebuild b/dev-python/flake8/flake8-6.0.0.ebuild
deleted file mode 100644
index 6a69cd49d0d7..000000000000
--- a/dev-python/flake8/flake8-6.0.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=( pypy3 python3_{9..11} )
-
-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.1.0[${PYTHON_USEDEP}]
- >=dev-python/pyflakes-3.0.0[${PYTHON_USEDEP}]
- <dev-python/pycodestyle-2.11.0[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.10.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
-
-EPYTEST_DESELECT=(
- # fails if additional flake8 plugins are installed
- tests/integration/test_plugins.py::test_local_plugin_can_add_option
-)
diff --git a/dev-python/flake8/flake8-7.0.0.ebuild b/dev-python/flake8/flake8-7.0.0.ebuild
new file mode 100644
index 000000000000..3e197d89525d
--- /dev/null
+++ b/dev-python/flake8/flake8-7.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
+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.3.0[${PYTHON_USEDEP}]
+ >=dev-python/pyflakes-3.2.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/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-r2.ebuild b/dev-python/flaky/flaky-3.7.0-r2.ebuild
deleted file mode 100644
index 789abd7f41c5..000000000000
--- a/dev-python/flaky/flaky-3.7.0-r2.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..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Plugin for nose or py.test that automatically reruns flaky tests"
-HOMEPAGE="https://pypi.org/project/flaky/ https://github.com/box/flaky"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- test? (
- dev-python/genty[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/nose[${PYTHON_USEDEP}]
- ' python3_{8..10} pypy3)
- )
-"
-
-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
-
- # please keep this in sync with python_gen_cond_dep!
- if has "${EPYTHON}" python3_{8..10} pypy3; then
- "${EPYTHON}" -m nose --with-flaky --exclude="test_nose_options_example" test/test_nose/ || die
- "${EPYTHON}" -m nose --with-flaky --force-flaky --max-runs 2 test/test_nose/test_nose_options_example.py || die
- fi
-}
diff --git a/dev-python/flaky/flaky-3.7.0-r3.ebuild b/dev-python/flaky/flaky-3.7.0-r3.ebuild
deleted file mode 100644
index 26222c519f10..000000000000
--- a/dev-python/flaky/flaky-3.7.0-r3.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Plugin for pytest that automatically reruns flaky tests"
-HOMEPAGE="
- https://github.com/box/flaky/
- https://pypi.org/project/flaky/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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
- 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..845ce71f41ea
--- /dev/null
+++ b/dev-python/flaky/flaky-3.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..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/
+"
+
+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/mock[${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/Manifest b/dev-python/flasgger/Manifest
new file mode 100644
index 000000000000..bf46ca0ab2f9
--- /dev/null
+++ b/dev-python/flasgger/Manifest
@@ -0,0 +1 @@
+DIST flasgger-0.9.7.1.tar.gz 3979409 BLAKE2B 939b0adfdfa3fcc8305320c6a140ef378e5617d46743e1cae04093e8391b782b73d4f112174ed1e29711fbf55a7469ffe6008beff9a218f5eaa68bb8864ced1c SHA512 fe1feb5ebadc6c3cde8e9e70726c86efc8d88392c5eb44ddaa6135fa96fbaada975d2042187bd4cebe08d843d21dc8e89dea5f2935b6c65863b36e4a6a39d121
diff --git a/dev-python/flasgger/flasgger-0.9.7.1.ebuild b/dev-python/flasgger/flasgger-0.9.7.1.ebuild
new file mode 100644
index 000000000000..6d77656bedfa
--- /dev/null
+++ b/dev-python/flasgger/flasgger-0.9.7.1.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=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Easy OpenAPI specs and Swagger UI for your Flask API"
+HOMEPAGE="
+ https://github.com/flasgger/flasgger/
+ https://pypi.org/project/flasgger/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/flask-0.10[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0.1[${PYTHON_USEDEP}]
+ dev-python/mistune[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # requires flex
+ tests/test_examples.py
+ )
+
+ epytest tests
+}
diff --git a/dev-python/flasgger/metadata.xml b/dev-python/flasgger/metadata.xml
new file mode 100644
index 000000000000..afb6a76c4a91
--- /dev/null
+++ b/dev-python/flasgger/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">flasgger/flasgger</remote-id>
+ <remote-id type="pypi">flasgger</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-api/Manifest b/dev-python/flask-api/Manifest
index d0febe800a5f..a70221b4ff20 100644
--- a/dev-python/flask-api/Manifest
+++ b/dev-python/flask-api/Manifest
@@ -1 +1 @@
-DIST flask-api-3.0.tar.gz 249620 BLAKE2B 63ce0ce6a2d4755caf40c020fc6b88f3b585b0c30f5800df62c8e442f629b8b489917ff0f0d1266d941478336f38aa0560c144620f6c11d60cbd9e31870bf984 SHA512 c86b919f8681a73be166ddc50022faecb376b1b6f99bd0d78b2f2fc8b64f82bf82779dbdcfbcaa1c5e321ea2d286b95f1a1aab32864e6c3923417d7828c7c79a
+DIST flask-api-3.1.gh.tar.gz 258812 BLAKE2B f62fb820a467575738deda299de33b87efc066dcc468adad28309cd848f6710a91187a599aba05981457fa8bd8c598ba3014639d7b5d3869434eea32a513a08e SHA512 158692b5d90f3c66231e26ee98df0496973a0fd1d9433041c0c19ff9255601af22cac7968273d2b27fc656f48dcf5e600e6eb939c7ed87f1af222d6fc47fc1ba
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.0.ebuild b/dev-python/flask-api/flask-api-3.0.ebuild
deleted file mode 100644
index 219405789bf4..000000000000
--- a/dev-python/flask-api/flask-api-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=7
-
-PYTHON_COMPAT=( pypy3 python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Browsable web APIs for Flask"
-HOMEPAGE="https://www.flaskapi.org/"
-# pypi mirror don't have docs folder
-SRC_URI="https://github.com/flask-api/flask-api/archive/v${PV}.tar.gz -> ${P}.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-api/flask-api-3.1-r2.ebuild b/dev-python/flask-api/flask-api-3.1-r2.ebuild
new file mode 100644
index 000000000000..0f0ad223c49c
--- /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..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 ~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-babel/Manifest b/dev-python/flask-babel/Manifest
index a8df930aabdf..dabe96f7c215 100644
--- a/dev-python/flask-babel/Manifest
+++ b/dev-python/flask-babel/Manifest
@@ -1,2 +1 @@
-DIST Flask-Babel-2.0.0.tar.gz 19588 BLAKE2B dbd5d6f3af38fad15a4eb6d674222473d673a9002ced21ce09a913e0bce3285b1eac9a5a85ce53c1dcebf648444164f33a5c790039a7d01184d45c7734dac05f SHA512 2ad8f80b450db0cab7dd57f46158e7e653556d60869acdb3c2469d42dceca3fa97237cc960986655091c84a1a67a057d72ed510787ccb065d171e6f35764cb1d
-DIST flask-babel-3.0.0.gh.tar.gz 20354 BLAKE2B feed1728f4083b1a421010e7ff8aa8b8362f8c9b54556e4d3268e4028b7a51a1364c8c5f13b07585af6e9382e903b66420797cf4c9bf29736870963120d0502a SHA512 a7f93047e82a0383aaa4114bcb626a9e08ed15e450c43e3a09198f75c02f501dfa6e2b8157c618cb8d19f94e76d93f8e826adc99bd146abeee85837d2618da86
+DIST flask-babel-4.0.0.gh.tar.gz 20777 BLAKE2B 60c43fde9a2c131672fa7d97dbfe8cc1c69117e60b3616a2f4d19b5693ff79937537cf7563de2fcf26c3380dd51166fd1bc965a1c583dc33fb340da609070503 SHA512 c2ac57e4ebde67114d535e57eb8b4094c8e3af865ea3076cd8d0ae30ff4a189037b7481280faaf7a4742bbbddca1513b3c408e198d1156c1e61a7b90c05bfe6f
diff --git a/dev-python/flask-babel/flask-babel-2.0.0-r1.ebuild b/dev-python/flask-babel/flask-babel-2.0.0-r1.ebuild
deleted file mode 100644
index 107640f02ab5..000000000000
--- a/dev-python/flask-babel/flask-babel-2.0.0-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
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-MY_PN="Flask-Babel"
-MY_P="${MY_PN}-${PV}"
-DESCRIPTION="i18n and l10n support for Flask based on Babel and pytz"
-HOMEPAGE="
- https://python-babel.github.io/flask-babel/
- https://github.com/python-babel/flask-babel/
- https://pypi.org/project/Flask-Babel/
-"
-SRC_URI="mirror://pypi/${MY_PN::1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/Babel[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- >=dev-python/jinja-2.5[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/pallets-sphinx-themes
-distutils_enable_tests pytest
diff --git a/dev-python/flask-babel/flask-babel-3.0.0.ebuild b/dev-python/flask-babel/flask-babel-3.0.0.ebuild
deleted file mode 100644
index 7dd80d01352b..000000000000
--- a/dev-python/flask-babel/flask-babel-3.0.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=poetry
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="i18n and l10n support for Flask based on Babel and pytz"
-HOMEPAGE="
- https://python-babel.github.io/flask-babel/
- https://github.com/python-babel/flask-babel/
- https://pypi.org/project/Flask-Babel/
-"
-SRC_URI="
- https://github.com/python-babel/flask-babel/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-
-RDEPEND="
- <dev-python/Babel-3[${PYTHON_USEDEP}]
- <dev-python/flask-3[${PYTHON_USEDEP}]
- <dev-python/jinja-4[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/pallets-sphinx-themes
-distutils_enable_tests pytest
diff --git a/dev-python/flask-babel/flask-babel-4.0.0.ebuild b/dev-python/flask-babel/flask-babel-4.0.0.ebuild
new file mode 100644
index 000000000000..2254ca7709f4
--- /dev/null
+++ b/dev-python/flask-babel/flask-babel-4.0.0.ebuild
@@ -0,0 +1,41 @@
+# 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
+
+DESCRIPTION="i18n and l10n support for Flask based on Babel and pytz"
+HOMEPAGE="
+ https://python-babel.github.io/flask-babel/
+ https://github.com/python-babel/flask-babel/
+ https://pypi.org/project/flask-babel/
+"
+SRC_URI="
+ https://github.com/python-babel/flask-babel/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/Babel-2.12[${PYTHON_USEDEP}]
+ >=dev-python/flask-2.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.1[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2022.7[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/pallets-sphinx-themes
+distutils_enable_tests pytest
diff --git a/dev-python/flask-babel/metadata.xml b/dev-python/flask-babel/metadata.xml
index e75ac7bea354..4ca13ec297d6 100644
--- a/dev-python/flask-babel/metadata.xml
+++ b/dev-python/flask-babel/metadata.xml
@@ -7,7 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="pypi">Flask-Babel</remote-id>
+ <remote-id type="pypi">flask-babel</remote-id>
<remote-id type="github">python-babel/flask-babel</remote-id>
<bugs-to>https://github.com/python-babel/flask-babel/issues</bugs-to>
</upstream>
diff --git a/dev-python/flask-compress/Manifest b/dev-python/flask-compress/Manifest
index 971adc2af34c..37762b7840da 100644
--- a/dev-python/flask-compress/Manifest
+++ b/dev-python/flask-compress/Manifest
@@ -1 +1 @@
-DIST Flask-Compress-1.13.tar.gz 12675 BLAKE2B 252c63500e5ba2adbe857a52fcffe2dc8280198c79210d64ae8439c8e0daaeaa4e295002a5fdacb6724971018f7e3322c00bab85bfd0ad2291f53103f01f3ee1 SHA512 e910971f94966f14d4657f7fa1c92a4e73ca7afd08959ed5d5694228851f06e614873f3202d19c6a06be2c277136f097d88eb578773dd7b5e9130456c9828ed0
+DIST Flask-Compress-1.14.tar.gz 13544 BLAKE2B 4a2ba809ef378aa8132a22c87acfb535946f347f41d05bf2d9d8de13d05cb0494000b8aa9ba40548236f0ec3e772159e091b41e0fe90f8d6f782a70aabd1e043 SHA512 7f30f64bddeaa06875725b6195348cdfb20d3fdd0d8a392f0fbeb209ad5a532bd222fc1c9ceadf7dcff614f2513a885724bfc165fccf162c889924e3b73bee3c
diff --git a/dev-python/flask-compress/flask-compress-1.13.ebuild b/dev-python/flask-compress/flask-compress-1.13.ebuild
deleted file mode 100644
index 68c47eed0db2..000000000000
--- a/dev-python/flask-compress/flask-compress-1.13.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_PN="Flask-Compress"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Compress responses in your Flask app with gzip"
-HOMEPAGE="
- https://github.com/colour-science/flask-compress/
- https://pypi.org/project/Flask-Compress/
-"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-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.14.ebuild b/dev-python/flask-compress/flask-compress-1.14.ebuild
new file mode 100644
index 000000000000..4ef1fd7b7989
--- /dev/null
+++ b/dev-python/flask-compress/flask-compress-1.14.ebuild
@@ -0,0 +1,29 @@
+# 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-cors/Manifest b/dev-python/flask-cors/Manifest
index 5057cbc806c4..c5791930cf13 100644
--- a/dev-python/flask-cors/Manifest
+++ b/dev-python/flask-cors/Manifest
@@ -1 +1 @@
-DIST flask-cors-3.0.10.tar.gz 31012 BLAKE2B 2e546518c8183dfca32308ef0f7d8f503c75ff62302d11ac0dc315f7c6760fa3e9064477216fd8c2cd290b0a280e6c45c35cf2cce3cfdffe141edab7beca1c8a SHA512 4471e94aea92700185a6fca37f01d61b9b966754f206eb6211813fb8c82fc0d219597e3df80e9d80b68663931ec561ca209fe23afa0142345fb75beacf3adc4e
+DIST flask-cors-4.0.0.gh.tar.gz 31586 BLAKE2B ac3713a08108a621fb0150039a2c40b87a3331084223ec73fb6cf76444e4a7681350a01f18f507b0ee942f01731c289e44950d99412373e7c889beaffa116513 SHA512 04f163d646d2f5fc96b397a3d52ad0e6b99ae6caaec67855e05b4330a323d1b28ab4d624000cbce9a897dba8a00317828e7056537454d1bb7febfcdddd37096d
diff --git a/dev-python/flask-cors/flask-cors-3.0.10-r1.ebuild b/dev-python/flask-cors/flask-cors-3.0.10-r1.ebuild
deleted file mode 100644
index 7f0d9886d423..000000000000
--- a/dev-python/flask-cors/flask-cors-3.0.10-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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/wcdolphin/${PN}.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/corydolphin/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-fi
-
-DESCRIPTION="A Flask extension for Cross Origin Resource Sharing (CORS)"
-HOMEPAGE="https://github.com/wcdolphin/flask-cors https://pypi.org/project/Flask-Cors/"
-
-LICENSE="MIT"
-SLOT="0"
-
-BDEPEND="test? ( dev-python/packaging[${PYTHON_USEDEP}] )"
-RDEPEND="
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/six[${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.0.ebuild b/dev-python/flask-cors/flask-cors-4.0.0.ebuild
new file mode 100644
index 000000000000..716c8b9f4065
--- /dev/null
+++ b/dev-python/flask-cors/flask-cors-4.0.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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/metadata.xml b/dev-python/flask-cors/metadata.xml
index 2d6bf8b227d9..237c07c145e3 100644
--- a/dev-python/flask-cors/metadata.xml
+++ b/dev-python/flask-cors/metadata.xml
@@ -16,6 +16,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">Flask-Cors</remote-id>
- <remote-id type="github">wcdolphin/flask-cors</remote-id>
+ <remote-id type="github">corydolphin/flask-cors</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/flask-debug/Manifest b/dev-python/flask-debug/Manifest
index 46888666f6b2..9162a41a8cd6 100644
--- a/dev-python/flask-debug/Manifest
+++ b/dev-python/flask-debug/Manifest
@@ -1 +1 @@
-DIST flask-debug-0.4.3.tar.gz 9148 BLAKE2B 9263a4df08f1a9518a42a025a14a89b902c62ab08b25d79b3dfffb25675a47785d0bf9075290190ee4622a30a89e190a465a87986b47ceed7d724ce0b59ad218 SHA512 7bc1cf9f88f28e2ca5a24c1454dcdb4e2a450eff3c00329f299c3840032e0803079f565652974f4c3a0e5aac443365ce47a3d2c2fee8e21e2e0c7150367e8816
+DIST Flask-Debug-0.4.3.gh.tar.gz 9148 BLAKE2B 9263a4df08f1a9518a42a025a14a89b902c62ab08b25d79b3dfffb25675a47785d0bf9075290190ee4622a30a89e190a465a87986b47ceed7d724ce0b59ad218 SHA512 7bc1cf9f88f28e2ca5a24c1454dcdb4e2a450eff3c00329f299c3840032e0803079f565652974f4c3a0e5aac443365ce47a3d2c2fee8e21e2e0c7150367e8816
diff --git a/dev-python/flask-debug/flask-debug-0.4.3-r1.ebuild b/dev-python/flask-debug/flask-debug-0.4.3-r1.ebuild
deleted file mode 100644
index b30585f4f131..000000000000
--- a/dev-python/flask-debug/flask-debug-0.4.3-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=7
-
-PYTHON_COMPAT=( pypy3 python3_{9..10} )
-
-inherit distutils-r1
-
-MY_PN="Flask-Debug"
-DESCRIPTION="Flask extension that displays various debugging insights during development"
-HOMEPAGE="https://github.com/mbr/Flask-Debug"
-# PyPI tarballs don't include tests
-# https://github.com/mbr/Flask-Debug/pull/2
-SRC_URI="https://github.com/mbr/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/inflection[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs dev-python/alabaster
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
new file mode 100644
index 000000000000..eb90e45da3b8
--- /dev/null
+++ b/dev-python/flask-debug/flask-debug-0.4.3-r2.ebuild
@@ -0,0 +1,36 @@
+# 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="Flask-Debug-${PV}"
+DESCRIPTION="Flask extension that displays various debugging insights during development"
+HOMEPAGE="
+ https://github.com/mbr/Flask-Debug/
+ https://pypi.org/project/Flask-Debug/
+"
+# PyPI tarballs don't include tests
+# https://github.com/mbr/Flask-Debug/pull/2
+SRC_URI="
+ https://github.com/mbr/Flask-Debug/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/inflection[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs dev-python/alabaster
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.ebuild b/dev-python/flask-gravatar/flask-gravatar-0.5.0.ebuild
deleted file mode 100644
index 17b1db6f4ad9..000000000000
--- a/dev-python/flask-gravatar/flask-gravatar-0.5.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=7
-
-MY_PN="Flask-Gravatar"
-MY_P=${MY_PN}-${PV}
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Small extension for Flask to make usage of Gravatar service easy"
-HOMEPAGE="https://github.com/zzzsochi/Flask-Gravatar/"
-SRC_URI="mirror://pypi/F/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="dev-python/flask[${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
new file mode 100644
index 000000000000..000c8f323b6e
--- /dev/null
+++ b/dev-python/flask-htmlmin/flask-htmlmin-2.2.1-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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-HTMLmin-${PV}"
+DESCRIPTION="Minimize your flask rendered html"
+HOMEPAGE="
+ https://github.com/hamidfzm/Flask-HTMLmin/
+ https://pypi.org/project/Flask-HTMLmin/
+"
+SRC_URI="
+ https://github.com/hamidfzm/Flask-HTMLmin/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ app-text/cssmin[${PYTHON_USEDEP}]
+ app-text/htmlmin[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/flask-htmlmin/flask-htmlmin-2.2.1.ebuild b/dev-python/flask-htmlmin/flask-htmlmin-2.2.1.ebuild
deleted file mode 100644
index 3e3a0ee610e2..000000000000
--- a/dev-python/flask-htmlmin/flask-htmlmin-2.2.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_{9..10} )
-
-inherit distutils-r1
-
-MY_P="Flask-HTMLmin-${PV}"
-DESCRIPTION="Minimize your flask rendered html"
-HOMEPAGE="
- https://github.com/hamidfzm/Flask-HTMLmin/
- https://pypi.org/project/Flask-HTMLmin/
-"
-SRC_URI="
- https://github.com/hamidfzm/Flask-HTMLmin/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- app-text/cssmin[${PYTHON_USEDEP}]
- app-text/htmlmin[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/flask-login/Manifest b/dev-python/flask-login/Manifest
index 6f685dd2eecc..e2a1d3e5ee93 100644
--- a/dev-python/flask-login/Manifest
+++ b/dev-python/flask-login/Manifest
@@ -1 +1 @@
-DIST flask-login-0.6.2.gh.tar.gz 48195 BLAKE2B 74d980f9900d9c583e03caa704cf637c5c6dac6a26e74bc008f47c18213764bafef16e33d9d28eee588b3c2f7d2a5895eae88e5adf755fe0448f7e74d5c65e74 SHA512 b286272ad5f7de2cfc913bee4a3eac46e4c1ce274bb12467009e1abae422f1a855aa49fd898778b8a2e937eebe9fbb387af11815267a2bc120cde943939111ec
+DIST flask-login-0.6.3.gh.tar.gz 48287 BLAKE2B 4df20a6284965ec1282c0309069b0b83722aa1bf609335371bfb49d8b3c1ea6d140204b500dee6c67e231769b64841cda79f7ad6b71cb307a92c61e49f94ac22 SHA512 c421f85387b9ba0ba2ad98053cae596dd9bf6119c0a366d2b13c483d4fbf45afc0c0e4d46f35368f42fa088398ace9a0a0aab931826d8612d94f55b95afef71b
diff --git a/dev-python/flask-login/flask-login-0.6.2.ebuild b/dev-python/flask-login/flask-login-0.6.2.ebuild
deleted file mode 100644
index aa79ee005e7e..000000000000
--- a/dev-python/flask-login/flask-login-0.6.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Login session support for Flask"
-HOMEPAGE="
- https://github.com/maxcountryman/flask-login/
- https://pypi.org/project/Flask-Login/
-"
-SRC_URI="
- https://github.com/maxcountryman/flask-login/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- >=dev-python/flask-1.0.4[${PYTHON_USEDEP}]
- >=dev-python/werkzeug-1.0.1[${PYTHON_USEDEP}]
-"
-DEPEND="
- test? (
- dev-python/asgiref[${PYTHON_USEDEP}]
- dev-python/blinker[${PYTHON_USEDEP}]
- dev-python/semantic_version[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-python_test() {
- epytest -p no:httpbin
-}
diff --git a/dev-python/flask-login/flask-login-0.6.3.ebuild b/dev-python/flask-login/flask-login-0.6.3.ebuild
new file mode 100644
index 000000000000..f0c0f2cf8399
--- /dev/null
+++ b/dev-python/flask-login/flask-login-0.6.3.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Login session support for Flask"
+HOMEPAGE="
+ https://github.com/maxcountryman/flask-login/
+ https://pypi.org/project/Flask-Login/
+"
+SRC_URI="
+ https://github.com/maxcountryman/flask-login/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ >=dev-python/flask-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/werkzeug-2.3.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ test? (
+ dev-python/asgiref[${PYTHON_USEDEP}]
+ dev-python/blinker[${PYTHON_USEDEP}]
+ dev-python/semantic-version[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/flask-migrate/Manifest b/dev-python/flask-migrate/Manifest
index 1d22ffe4bc02..a9ec36fee4e3 100644
--- a/dev-python/flask-migrate/Manifest
+++ b/dev-python/flask-migrate/Manifest
@@ -1,3 +1 @@
-DIST Flask-Migrate-4.0.0.gh.tar.gz 25945 BLAKE2B 79619b5b3a64b5f1e9ad887e58c135a122961527725b468ab0c95871e4b582d306706db2b3840d33b9150ef52e60a8bf1f3db516ee1434ffcd529df02bfd29d8 SHA512 199f97f87c6dbc1b3dce3cd85a8a2ce75155f359394e86dea66c9166aadc01bb03627afff20ff8478e12fd63147f28dd5898c8354e6a053d5908b1bb7f2cc192
-DIST Flask-Migrate-4.0.1.gh.tar.gz 26019 BLAKE2B 7c85a5c655c0fc0a5e522801e8ebce705deb760505720e2ab28c64da87d1b9cac683c137e29f7022009effd751fdecd9d6f1932dc88ee278d428272576684921 SHA512 099a2f4387a4ec5d7a37b3fbfa8a631dbdcc83533b2ebbc907150b080e01b6f3e9e7503ae5a276ae488bf0143ca3b42dd2555704b9c81bc7c31842130e604d81
-DIST Flask-Migrate-4.0.2.gh.tar.gz 26225 BLAKE2B da9339a0798c363394405630560d3816e26cffef4a483065294d7349a29804ba4997ab890baeae4862af3c8a76a764ca57b82037477dafe44bcc9274e27feac5 SHA512 3c7c65d70af42038b02a50a95d6de5735303b6f1b42bddf03afe25518e6d5aeeecb61ccb58fa2df2c8a67fe7bf77dc8bb58eaaf37184652a224310adef0e626f
+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.0.ebuild b/dev-python/flask-migrate/flask-migrate-4.0.0.ebuild
deleted file mode 100644
index c0fbc47247bf..000000000000
--- a/dev-python/flask-migrate/flask-migrate-4.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-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 x86"
-
-RDEPEND="
- >=dev-python/alembic-0.7[${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.1.ebuild b/dev-python/flask-migrate/flask-migrate-4.0.1.ebuild
deleted file mode 100644
index f339c213c4aa..000000000000
--- a/dev-python/flask-migrate/flask-migrate-4.0.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_{9..11} )
-
-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 ~x86"
-
-RDEPEND="
- >=dev-python/alembic-0.7[${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.2.ebuild b/dev-python/flask-migrate/flask-migrate-4.0.2.ebuild
deleted file mode 100644
index 744044d9acbd..000000000000
--- a/dev-python/flask-migrate/flask-migrate-4.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-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 ~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..484e8bfcdb5b
--- /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..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-nav/flask-nav-0.6-r5.ebuild b/dev-python/flask-nav/flask-nav-0.6-r5.ebuild
index b1266758c8ad..2ef2988a35b8 100644
--- a/dev-python/flask-nav/flask-nav-0.6-r5.ebuild
+++ b/dev-python/flask-nav/flask-nav-0.6-r5.ebuild
@@ -4,19 +4,26 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
DESCRIPTION="Easily create navigation for Flask applications"
-HOMEPAGE="https://pythonhosted.org/flask-nav/"
+HOMEPAGE="
+ https://pythonhosted.org/flask-nav/
+ https://github.com/mbr/flask-nav/
+ https://pypi.org/project/flask-nav/
+"
# docs are missing from PyPI tarballs
# https://github.com/mbr/flask-nav/pull/12
-SRC_URI="https://github.com/mbr/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+SRC_URI="
+ https://github.com/mbr/flask-nav/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
dev-python/dominate[${PYTHON_USEDEP}]
diff --git a/dev-python/flask-paginate/Manifest b/dev-python/flask-paginate/Manifest
index 5ad426857435..4bba375569cd 100644
--- a/dev-python/flask-paginate/Manifest
+++ b/dev-python/flask-paginate/Manifest
@@ -1 +1,3 @@
-DIST flask-paginate-2022.1.8.tar.gz 120847 BLAKE2B 110d6f7bb6c244378a41ab26c914898b54fb05cc00cfc6c7c3e15ed96e2163f92cc89c4ce93199091d8ed2f52301e997ebc16a71a3d802b8107249f9f832ca25 SHA512 9f2e0e50d73ac15ec2a413671a52e9dbbbb7eac8576494483441ea1287a12e2076cf649ee9df0bf3b3d2c7e13eebe4a835031ab57a2e8b2015f383d53318a0b9
+DIST flask-paginate-2023.10.24.gh.tar.gz 121423 BLAKE2B 100cad03bb015fd5aba26faeaa1d9a62489b85cc0bf36176507af206bb01bdadae3c53802b53483d1482250ab4f0004c9800c61c8c210966b59b1339894d43d5 SHA512 9673698e394f9e11d56dec1a8a57310a963cd15f2fa4784d92e5a8af5d9fbe8e4b59bbd7e34e4e50a38c3ddc936222c19497ddcc233564c4a6aa61c83cd78efa
+DIST flask-paginate-2024.3.28.gh.tar.gz 121638 BLAKE2B 55fe7570a84e5cce0c2e071bf2c5ef2ad8271f69aef7f8ec6bf1bfcbc4608e0498570907c22e01aaf961a6b75e698261b1931521b886c7e2e891a3539c6c91a0 SHA512 31cb4aacdbfbb50c0aced5aeb46c5bbaf25ee2e323ab321f8b1cd8d258b8cef1aa07e30e3b2bd1673662de0aced1f7d5c914ce2b9dbb54072a71ca7a8019d99f
+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.ebuild b/dev-python/flask-paginate/flask-paginate-2022.1.8.ebuild
deleted file mode 100644
index 5bafd909ea29..000000000000
--- a/dev-python/flask-paginate/flask-paginate-2022.1.8.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..10} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="Pagination support for flask"
-HOMEPAGE="https://flask-paginate.readthedocs.io"
-SRC_URI="https://github.com/lixxu/flask-paginate/archive/v${PV}.tar.gz -> ${P}.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
new file mode 100644
index 000000000000..184e0a7cee2f
--- /dev/null
+++ b/dev-python/flask-paginate/flask-paginate-2023.10.24.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 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-2024.3.28.ebuild b/dev-python/flask-paginate/flask-paginate-2024.3.28.ebuild
new file mode 100644
index 000000000000..e76b6ec74b90
--- /dev/null
+++ b/dev-python/flask-paginate/flask-paginate-2024.3.28.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Pagination support for flask"
+HOMEPAGE="
+ https://flask-paginate.readthedocs.io/
+ https://github.com/lixxu/flask-paginate/
+ https://pypi.org/project/flask-paginate/
+"
+SRC_URI="
+ https://github.com/lixxu/flask-paginate/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/flask[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest tests/tests.py
+}
diff --git a/dev-python/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..e76b6ec74b90
--- /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..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-paranoid/flask-paranoid-0.3.0.ebuild b/dev-python/flask-paranoid/flask-paranoid-0.3.0.ebuild
index 953ab140b834..3cc4a2f60f52 100644
--- a/dev-python/flask-paranoid/flask-paranoid-0.3.0.ebuild
+++ b/dev-python/flask-paranoid/flask-paranoid-0.3.0.ebuild
@@ -4,12 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="Simple user session protection extension for Flask"
-HOMEPAGE="https://github.com/miguelgrinberg/flask-paranoid/"
+HOMEPAGE="
+ https://github.com/miguelgrinberg/flask-paranoid/
+ https://pypi.org/project/Flask-Paranoid/
+"
SRC_URI="
https://github.com/miguelgrinberg/flask-paranoid/archive/v${PV}.tar.gz
-> ${P}.gh.tar.gz
@@ -17,8 +20,10 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 arm64 x86"
-RDEPEND="dev-python/flask[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/flask[${PYTHON_USEDEP}]
+"
distutils_enable_tests unittest
diff --git a/dev-python/flask-script/Manifest b/dev-python/flask-script/Manifest
deleted file mode 100644
index 31afe56414b4..000000000000
--- a/dev-python/flask-script/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST Flask-Script-2.0.6.tar.gz 43146 BLAKE2B 146a65fce432063e67e5b6221a0c2437f2a8df1e2b72a5e14fb382dc51ef3f0755e4d8a0a67831c6c2c61d07acc332e8c87b7c9df3443a9f22aa2eeb580c4086 SHA512 03c51213be8e2b86f1f4450565cf4d7e3d9d7257ac017bd53830be57620d581f43bcfe959ef7b621af722c688c56495229aad3dd9654c8a8a5905db0105275fc
diff --git a/dev-python/flask-script/files/flask-script-2.0.6-flask_script-everywhere.patch b/dev-python/flask-script/files/flask-script-2.0.6-flask_script-everywhere.patch
deleted file mode 100644
index 04259c89a420..000000000000
--- a/dev-python/flask-script/files/flask-script-2.0.6-flask_script-everywhere.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From: anthraxx <levente@leventepolyak.net>
-Date: Wed, 6 Sep 2017 12:03:22 +0200
-Subject: [PATCH] using flask_script everywhere instead of flask.ext.script
-
---- a/docs/index.rst
-+++ b/docs/index.rst
-@@ -577,7 +577,7 @@ Then the user can register the sub-manager to their primary Manager (within mana
-
- manager = Manager(app)
-
-- from flask.ext.database import manager as database_manager
-+ from flask_database import manager as database_manager
- manager.add_command("database", database_manager)
-
- The commands will then be available::
---- a/tests.py
-+++ b/tests.py
-@@ -5,8 +5,8 @@
- import unittest
-
- from flask import Flask
--from flask.ext.script._compat import StringIO, text_type
--from flask.ext.script import Command, Manager, Option, prompt, prompt_bool, prompt_choices
-+from flask_script._compat import StringIO, text_type
-+from flask_script import Command, Manager, Option, prompt, prompt_bool, prompt_choices
-
- from pytest import raises
-
---- a/flask_script/__init__.py
-+++ b/flask_script/__init__.py
-@@ -12,9 +12,8 @@ from collections import OrderedDict
- import argparse
-
- from flask import Flask
--from flask._compat import text_type
-
--from ._compat import iteritems
-+from ._compat import iteritems, text_type
- from .commands import Group, Option, Command, Server, Shell
- from .cli import prompt, prompt_pass, prompt_bool, prompt_choices
-
diff --git a/dev-python/flask-script/flask-script-2.0.6.ebuild b/dev-python/flask-script/flask-script-2.0.6.ebuild
deleted file mode 100644
index 75cde2804c8f..000000000000
--- a/dev-python/flask-script/flask-script-2.0.6.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-MY_PN="Flask-Script"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Flask support for writing external scripts"
-HOMEPAGE="https://flask-script.readthedocs.io/en/latest/
- https://flask-script.readthedocs.io/en/latest/
- https://pypi.org/project/Flask-Script/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND=">=dev-python/flask-0.10.1-r1[${PYTHON_USEDEP}]"
-
-PATCHES=( "${FILESDIR}/${P}-flask_script-everywhere.patch" )
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs
-
-python_test() {
- epytest tests.py
-}
diff --git a/dev-python/flask-script/metadata.xml b/dev-python/flask-script/metadata.xml
deleted file mode 100644
index cfed05c5f3a6..000000000000
--- a/dev-python/flask-script/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">Flask-Script</remote-id>
- <remote-id type="github">smurfix/flask-script</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/flask-sphinx-themes/flask-sphinx-themes-1.0.2-r1.ebuild b/dev-python/flask-sphinx-themes/flask-sphinx-themes-1.0.2-r1.ebuild
index c91759f89426..b1760a086800 100644
--- a/dev-python/flask-sphinx-themes/flask-sphinx-themes-1.0.2-r1.ebuild
+++ b/dev-python/flask-sphinx-themes/flask-sphinx-themes-1.0.2-r1.ebuild
@@ -3,17 +3,15 @@
EAPI=8
-MY_PN="Flask-Sphinx-Themes"
-MY_P="${MY_PN}-${PV}"
-
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-inherit distutils-r1
+PYPI_NO_NORMALIZE=1
+PYPI_PN="Flask-Sphinx-Themes"
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
DESCRIPTION="Sphinx Themes for Flask related projects and Flask itself"
HOMEPAGE="https://github.com/pallets/flask-sphinx-themes https://pypi.org/project/Flask-Sphinx-Themes/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/flask-sqlalchemy/Manifest b/dev-python/flask-sqlalchemy/Manifest
index cf52da922161..1ee93144736b 100644
--- a/dev-python/flask-sqlalchemy/Manifest
+++ b/dev-python/flask-sqlalchemy/Manifest
@@ -1,2 +1 @@
-DIST Flask-SQLAlchemy-2.5.1.tar.gz 132750 BLAKE2B 6378766e9ae5e697f9a0fe23471f0264e5ac1f4c824657e5197f6c35f9f12eb756528641c1078b1bf470170c557c3201314a80b922b4ab84e4664a0ccaad2a6c SHA512 5d483418204030837e62769d45c16af88c5be6dbafc7c340cc4e67ef1736ea5102f506156119864cd7673cf382b0d3f27050bda64273b93ef4805fce9e1a0f6f
-DIST Flask-SQLAlchemy-3.0.2.tar.gz 128634 BLAKE2B 0203de67bd4c3a61562ad8bd69b6be2826ce7a49b763f101b5455a8452a1950728dee4a6a627c82f6ef741f57334de41511675b254a8da3c334021fcdbe8fd63 SHA512 89fa71796efe53e993ef8fc264b04f64c3174cadc960a9e51944e4fe70513a1c91e244e55f70690623f1d7d6d7c215729581a6989484bb0369b4bb0e412f499c
+DIST flask_sqlalchemy-3.1.1.tar.gz 81899 BLAKE2B 25522dc47afd08840b09f33791fffaf845a636c06d9a17f7a7930a21b64bad47b592f441b55dfc9a846b2c98e21b9cd027ec4ce85e701251ace0d9e072731f47 SHA512 27a93efb96bc8afe483dc32f9e9756e5972029464f4a201e8a55bf62b88f6bcd93ed7f4472ac21cb17376c87852a1d4b5f98a8ddb55d9b12c334346d5bc7e464
diff --git a/dev-python/flask-sqlalchemy/flask-sqlalchemy-2.5.1.ebuild b/dev-python/flask-sqlalchemy/flask-sqlalchemy-2.5.1.ebuild
deleted file mode 100644
index 65fa481668ae..000000000000
--- a/dev-python/flask-sqlalchemy/flask-sqlalchemy-2.5.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
-
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-inherit distutils-r1
-
-MY_PN="Flask-SQLAlchemy"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="SQLAlchemy support for Flask applications"
-HOMEPAGE="https://pypi.org/project/Flask-SQLAlchemy/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/flask-0.10[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-0.8.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="test? (
- dev-python/mock[${PYTHON_USEDEP}]
-)"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs dev-python/pallets-sphinx-themes \
- dev-python/sphinx-issues
diff --git a/dev-python/flask-sqlalchemy/flask-sqlalchemy-3.0.2.ebuild b/dev-python/flask-sqlalchemy/flask-sqlalchemy-3.0.2.ebuild
deleted file mode 100644
index b24dd59321c7..000000000000
--- a/dev-python/flask-sqlalchemy/flask-sqlalchemy-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=pdm
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-MY_PN="Flask-SQLAlchemy"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="SQLAlchemy support for Flask applications"
-HOMEPAGE="
- https://github.com/pallets-eco/flask-sqlalchemy/
- https://pypi.org/project/flask-sqlalchemy/
-"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/flask-2.2[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-1.4.18[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/blinker[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/pallets-sphinx-themes \
- dev-python/sphinx-issues \
- dev-python/sphinxcontrib-log_cabinet
diff --git a/dev-python/flask-sqlalchemy/flask-sqlalchemy-3.1.1.ebuild b/dev-python/flask-sqlalchemy/flask-sqlalchemy-3.1.1.ebuild
new file mode 100644
index 000000000000..c483ddbf602c
--- /dev/null
+++ b/dev-python/flask-sqlalchemy/flask-sqlalchemy-3.1.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="SQLAlchemy support for Flask applications"
+HOMEPAGE="
+ https://github.com/pallets-eco/flask-sqlalchemy/
+ https://pypi.org/project/Flask-SQLAlchemy/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/flask-2.2.5[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-2.0.16[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/blinker[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/pallets-sphinx-themes \
+ dev-python/sphinx-issues \
+ dev-python/sphinxcontrib-log-cabinet
diff --git a/dev-python/flask-sqlalchemy/metadata.xml b/dev-python/flask-sqlalchemy/metadata.xml
index 89bbbbae7cab..7c84ce7d1899 100644
--- a/dev-python/flask-sqlalchemy/metadata.xml
+++ b/dev-python/flask-sqlalchemy/metadata.xml
@@ -10,7 +10,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="pypi">flask-sqlalchemy</remote-id>
+ <remote-id type="pypi">Flask-SQLAlchemy</remote-id>
<remote-id type="github">pallets-eco/flask-sqlalchemy</remote-id>
<bugs-to>https://github.com/pallets-eco/flask-sqlalchemy/issues</bugs-to>
</upstream>
diff --git a/dev-python/flask/Manifest b/dev-python/flask/Manifest
index 563992fae96f..981da96b5de6 100644
--- a/dev-python/flask/Manifest
+++ b/dev-python/flask/Manifest
@@ -1 +1,2 @@
-DIST Flask-2.2.2.tar.gz 677389 BLAKE2B a7385c619dee7c25538a69bc514393c6efa2ee3cbd8394cde28c64a41d7252b4f12896728bf76a4b8bf5247cf19614bd9b8f94d7d82f22a6a8073011286758fc SHA512 d330398829cb0393e07a4dcf495a3939f0e8f7962c0a517fc866d333425dffe1ce8fd26e39a40445259028d46eff4566e97b3f5eba0d6bddf14b9d7bac138945
+DIST flask-3.0.2.tar.gz 675248 BLAKE2B 137e09ac0f3bb9d027f2c8204769ae98ae5b9992f6126961208a875efb8d450abec471859ab0341120356c9b61238700f0e918da867d7265e31e73cee3a242db SHA512 02f937dae7d654f6286eb9fcf2d68d83f3ef56dbc4d59a961ea1bd95d17fac7a5ace3f27ebb03ff0592f6a87361e59934ffda098714fc8a049a487d4c0bbc0ef
+DIST flask-3.0.3.tar.gz 676315 BLAKE2B 19013ff4588dc057febe2720eadcfcadb0e1854731c2c9e391449696549106da930c11f94782610424ea40c1377e9b8aa52ca39fedc6ad0c98c9a70a56d01514 SHA512 977c0e5fd2d496fae8e34a035f211118642dc6518a14dc5f6c175b72c6a76407aeb9ff0ed1f5db636370a9aa7e0d36baa783713ea7bdabd7f28c8c2b94643cd1
diff --git a/dev-python/flask/flask-2.2.2.ebuild b/dev-python/flask/flask-2.2.2.ebuild
deleted file mode 100644
index 96e92c5f7195..000000000000
--- a/dev-python/flask/flask-2.2.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_{9..11} 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/
-"
-MY_PN="Flask"
-MY_P="${MY_PN}-${PV}"
-if [[ ${PV} == *9999* ]]; then
- EGIT_REPO_URI="https://github.com/mitsuhiko/flask.git"
- inherit git-r3
-else
- SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
- S="${WORKDIR}/${MY_P}"
-fi
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="examples"
-
-RDEPEND="
- >=dev-python/click-8.0[${PYTHON_USEDEP}]
- dev-python/blinker[${PYTHON_USEDEP}]
- >=dev-python/itsdangerous-2.0[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
- >=dev-python/werkzeug-2.2[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-3.6.0[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-BDEPEND="
- test? (
- >=dev-python/asgiref-3.2[${PYTHON_USEDEP}]
- !!dev-python/shiboken2
- )
-"
-
-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.2.ebuild b/dev-python/flask/flask-3.0.2.ebuild
new file mode 100644
index 000000000000..e59b6ec1d32e
--- /dev/null
+++ b/dev-python/flask/flask-3.0.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=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..d356436274d9
--- /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..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/flatbuffers/Manifest b/dev-python/flatbuffers/Manifest
index 16863e07e64f..080fa756df8b 100644
--- a/dev-python/flatbuffers/Manifest
+++ b/dev-python/flatbuffers/Manifest
@@ -1,3 +1 @@
-DIST flatbuffers-22.12.06.gh.tar.gz 2172096 BLAKE2B 92bf0c56c10fa369e7a8a53a7f903af6b5f17560a3558587914c29ab8a655f3ee078c3e261426ca5d9ad0587419d4f0049459edc552e25958f80b80ba9539d59 SHA512 1b2c8eaa2ebeb92c3ebc363888b34b817d7b62a568e40bce2b037814f1f0103d4cb7db8507ec9ca05421be61b0b2be3edd6c4d564f75d1ce39278d73f8442ac1
-DIST flatbuffers-23.1.21.gh.tar.gz 2181861 BLAKE2B 6368358c21e677feb466245a746b86cebb6d6a4058bb6d593de81bf3c32ddfb9fd475e4bb225d4529ea106253456a5ed1ee6d024b1e2521e02efef171750f428 SHA512 fa62188f773ad044644a58caf1e25bef417dfdea47c9da8a2ea7f997154b4f3976019e32e73cc533696a3d4e45ec4a8402b6df140878dfa2ff078740d61b4b0f
-DIST flatbuffers-23.1.4.gh.tar.gz 2178791 BLAKE2B 8c354c539378f7d8e05307f7ba0f5393265a6183fc8868d48b8da5ab7d39a3e7a7f85631db00f0dc57bf396d20652049303a79fbf31f07639d80596d300a7701 SHA512 8b3e1b9596a76548faca529fe5070e775be50bfdea079ba4f66014f5a1bfb93f8edd7e56f97363c897d2db8391277a9099a61d14e4298c3669ab7068bbf07865
+DIST flatbuffers-24.3.25.gh.tar.gz 2297829 BLAKE2B f3a5a94119a1b1b63fba9126e1cdff7ab712996bfc0d65626a679405f62dfa722bc5de244ef775fba336224b60feff3aa27acf54bed027c4013590b4afbefe7c SHA512 e2a614f4fc526ce07bfe1e1bc79efd3c87acbdb93aee7b42994d4855abd2593f36b5ca1edb53c7dcd470d5fbe14a3e394bd75dcebb4458cc0aeb33d622a3c662
diff --git a/dev-python/flatbuffers/flatbuffers-22.12.06.ebuild b/dev-python/flatbuffers/flatbuffers-22.12.06.ebuild
deleted file mode 100644
index ca1ff83b869e..000000000000
--- a/dev-python/flatbuffers/flatbuffers-22.12.06.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="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 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-23.1.21.ebuild b/dev-python/flatbuffers/flatbuffers-23.1.21.ebuild
deleted file mode 100644
index a7b6485ad67b..000000000000
--- a/dev-python/flatbuffers/flatbuffers-23.1.21.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="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 ~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-23.1.4.ebuild b/dev-python/flatbuffers/flatbuffers-23.1.4.ebuild
deleted file mode 100644
index a7b6485ad67b..000000000000
--- a/dev-python/flatbuffers/flatbuffers-23.1.4.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="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 ~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.ebuild b/dev-python/flatbuffers/flatbuffers-24.3.25.ebuild
new file mode 100644
index 000000000000..9c8abb9dd3c3
--- /dev/null
+++ b/dev-python/flatbuffers/flatbuffers-24.3.25.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
+
+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 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/Manifest b/dev-python/flatdict/Manifest
new file mode 100644
index 000000000000..7e4877181a17
--- /dev/null
+++ b/dev-python/flatdict/Manifest
@@ -0,0 +1 @@
+DIST flatdict-4.0.1.gh.tar.gz 11923 BLAKE2B 102ebc6220d75219b91ed7494485fa7d1447801d8276fd5e305f838f6b339b72c44151c751a53c32a5ea5b1d4876d9312af229bb8972401a2f86d6488d3f8b4f SHA512 925ad8a53a4848875ff5c0df2c006ea09ff3795861cd0b8d7c26d22511d46d4ad28dee28b3e9e8f896b45c8a1b2c51cc24bce099c38c0b4d2f49174baab4de23
diff --git a/dev-python/flatdict/flatdict-4.0.1.ebuild b/dev-python/flatdict/flatdict-4.0.1.ebuild
new file mode 100644
index 000000000000..98cb0363bfff
--- /dev/null
+++ b/dev-python/flatdict/flatdict-4.0.1.ebuild
@@ -0,0 +1,25 @@
+# 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 for interacting with nested dicts"
+HOMEPAGE="
+ https://github.com/gmr/flatdict/
+ https://pypi.org/project/flatdict/
+"
+SRC_URI="
+ https://github.com/gmr/flatdict/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+distutils_enable_tests unittest
diff --git a/dev-python/flatdict/metadata.xml b/dev-python/flatdict/metadata.xml
new file mode 100644
index 000000000000..ff0bd72aefea
--- /dev/null
+++ b/dev-python/flatdict/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">flatdict</remote-id>
+ <remote-id type="github">gmr/flatdict</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/fleep/fleep-1.0.1-r1.ebuild b/dev-python/fleep/fleep-1.0.1-r1.ebuild
index 0d83b6e7e8bc..7c46bd0bd0e1 100644
--- a/dev-python/fleep/fleep-1.0.1-r1.ebuild
+++ b/dev-python/fleep/fleep-1.0.1-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1
if [[ ${PV} == 9999 ]]; then
@@ -17,7 +17,7 @@ else
-> ${P}.gh.tar.gz"
S="${WORKDIR}/fleep-py-${COMMIT}"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="~amd64 ~arm64 ~x86"
fi
DESCRIPTION="File format determination library for Python"
diff --git a/dev-python/fleep/fleep-9999.ebuild b/dev-python/fleep/fleep-9999.ebuild
index 63459c9106cb..0a6f6b209866 100644
--- a/dev-python/fleep/fleep-9999.ebuild
+++ b/dev-python/fleep/fleep-9999.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1
if [[ ${PV} == 9999 ]]; then
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 2be32774ebe4..000000000000
--- a/dev-python/flexmock/flexmock-0.11.3.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=poetry
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Testing library to create mocks, stubs and fakes"
-HOMEPAGE="https://flexmock.readthedocs.io/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv"
-
-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..0af6088d8dae
--- /dev/null
+++ b/dev-python/flexmock/flexmock-0.12.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=( 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/flit-core/Manifest b/dev-python/flit-core/Manifest
new file mode 100644
index 000000000000..3de43733e0f4
--- /dev/null
+++ b/dev-python/flit-core/Manifest
@@ -0,0 +1 @@
+DIST flit_core-3.9.0.tar.gz 41917 BLAKE2B 2fb053655a494736f5f9ce2d2c193d5d98622e410c0c0f18c92eb62d32ff98cbe830a1728461ed7e7e087d2fcf5f6a0c912717c2d534be688d688c4714c6865b SHA512 1205589930d2c51d6aa6b2533a122a912e63b157e94adba2a0649a58d324fa98a5b84609d9b53e9d236f1cdb6a6984de2cefcf2f11abc2cd83956df21f269ad6
diff --git a/dev-python/flit-core/flit-core-3.9.0.ebuild b/dev-python/flit-core/flit-core-3.9.0.ebuild
new file mode 100644
index 000000000000..f2c8e13d8ff9
--- /dev/null
+++ b/dev-python/flit-core/flit-core-3.9.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2019-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
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simplified packaging of Python modules (core module)"
+HOMEPAGE="
+ https://pypi.org/project/flit-core/
+ https://github.com/pypa/flit/
+"
+
+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="
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+"
+BDEPEND="
+ test? ( dev-python/testpath[${PYTHON_USEDEP}] )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ rm -r flit_core/vendor || die
+ sed -i -e 's:from \.vendor ::' flit_core/*.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/flit_core/metadata.xml b/dev-python/flit-core/metadata.xml
index 3f418d3bf441..3f418d3bf441 100644
--- a/dev-python/flit_core/metadata.xml
+++ b/dev-python/flit-core/metadata.xml
diff --git a/dev-python/flit/flit-3.8.0.ebuild b/dev-python/flit/flit-3.8.0.ebuild
index d8e36ec80297..96da544a396c 100644
--- a/dev-python/flit/flit-3.8.0.ebuild
+++ b/dev-python/flit/flit-3.8.0.ebuild
@@ -5,11 +5,10 @@ EAPI=8
DISTUTILS_USE_PEP517=flit
PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Simplified packaging of Python modules"
HOMEPAGE="https://github.com/pypa/flit https://flit.readthedocs.io/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
@@ -17,7 +16,7 @@ KEYWORDS="~amd64 ~mips ~x86"
RDEPEND="
dev-python/docutils[${PYTHON_USEDEP}]
- >=dev-python/flit_core-${PV}[${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}]
@@ -46,7 +45,7 @@ distutils_enable_tests pytest
distutils_enable_sphinx doc \
dev-python/sphinxcontrib-github-alt \
dev-python/pygments-github-lexers \
- dev-python/sphinx_rtd_theme
+ dev-python/sphinx-rtd-theme
src_prepare() {
# make sure system install is used
diff --git a/dev-python/flit_core/Manifest b/dev-python/flit_core/Manifest
deleted file mode 100644
index 836007983c05..000000000000
--- a/dev-python/flit_core/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST flit_core-3.8.0.tar.gz 41224 BLAKE2B 20d0b1e245280938b1edfa83531907775af9da30cc6e1446d578eafc7e14184d3c8fb80f446d265456ea5ea587c51edfdb706793a8894916525b3ebba322b3b0 SHA512 914804e3f2040762381afe039272d9d6fdbcd3f3cf8b9eea854f2f1d95edcb01718fd6685476bc1cdc251dfc46ef80b40f087df881d8b963dcc3f3332fd32a46
diff --git a/dev-python/flit_core/flit_core-3.8.0.ebuild b/dev-python/flit_core/flit_core-3.8.0.ebuild
deleted file mode 100644
index 1812d084e548..000000000000
--- a/dev-python/flit_core/flit_core-3.8.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2019-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=standalone
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Simplified packaging of Python modules (core module)"
-HOMEPAGE="
- https://pypi.org/project/flit-core/
- https://github.com/pypa/flit/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- dev-python/tomli[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? ( dev-python/testpath[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- rm -r flit_core/vendor || die
- sed -i -e 's:from \.vendor ::' flit_core/*.py || 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 248061d66853..cfba15e67f03 100644
--- a/dev-python/flit_scm/flit_scm-1.7.0.ebuild
+++ b/dev-python/flit_scm/flit_scm-1.7.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -22,13 +22,12 @@ SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
- >=dev-python/flit_core-3.5.0[${PYTHON_USEDEP}]
- >=dev-python/setuptools_scm-6.4.2[${PYTHON_USEDEP}]
+ >=dev-python/flit-core-3.5.0[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-6.4.2[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
<dev-python/tomli-3[${PYTHON_USEDEP}]
>=dev-python/tomli-2[${PYTHON_USEDEP}]
' 3.8 3.9 3.10 )
-
"
src_prepare() {
diff --git a/dev-python/flufl-lock/Manifest b/dev-python/flufl-lock/Manifest
index 575b8a19c771..f447c57ef3c1 100644
--- a/dev-python/flufl-lock/Manifest
+++ b/dev-python/flufl-lock/Manifest
@@ -1 +1,2 @@
-DIST flufl.lock-7.1.1.tar.gz 33017 BLAKE2B 813b4b77fe2b7c9d7125e9d4a5530a77aa4205e1eb0a90852419f29669db97c683fe1d73d221bc7490a7a827da24e23bfac38002c1e6a179289b56b59e2d4dfa SHA512 eb9d8a80013ca07cc3eaab30ced596c0362cfc59d5a1f7cf17aacbf4068d9989b443df7e2d5f5e09d6f60e0ebc784ab1897ca7379fde7eeb57246cb6b5dfef3f
+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-7.1.1.ebuild b/dev-python/flufl-lock/flufl-lock-7.1.1.ebuild
deleted file mode 100644
index 3233d01bca88..000000000000
--- a/dev-python/flufl-lock/flufl-lock-7.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=pdm
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="NFS-safe file locking with timeouts for POSIX systems"
-HOMEPAGE="https://gitlab.com/warsaw/flufl.lock"
-SRC_URI="mirror://pypi/${PN::1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/atpublic[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.9.0[${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.0.2.ebuild b/dev-python/flufl-lock/flufl-lock-8.0.2.ebuild
new file mode 100644
index 000000000000..21e91e5e36f5
--- /dev/null
+++ b/dev-python/flufl-lock/flufl-lock-8.0.2.ebuild
@@ -0,0 +1,36 @@
+# 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..4cd3b9657779
--- /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..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/metadata.xml b/dev-python/flufl-lock/metadata.xml
index ee916a0ea0d8..6f8ea1241836 100644
--- a/dev-python/flufl-lock/metadata.xml
+++ b/dev-python/flufl-lock/metadata.xml
@@ -9,6 +9,7 @@
<name>Matthew Thode</name>
</maintainer>
<upstream>
+ <remote-id type="gitlab">warsaw/flufl.lock</remote-id>
<remote-id type="pypi">flufl.lock</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/fonttools/Manifest b/dev-python/fonttools/Manifest
index 76c427c4e6e1..ed728b0229c5 100644
--- a/dev-python/fonttools/Manifest
+++ b/dev-python/fonttools/Manifest
@@ -1 +1,2 @@
-DIST fonttools-4.38.0.gh.tar.gz 3603281 BLAKE2B 8ec558c35cc10b32760eb199dce7c40934210db9ba8c9b0ad7a8cd2ca206260d2d73769bd1ff4cb597dd46cd50a42d733c967199120366e22abc5ee2b81e0919 SHA512 438694e7a4c19ee63ab504763793c0219d96fdc58095fe55a4f44726e96a3ec8ae63066aa47a341a059c7a2c9893b9bbbdfc8ab4d75c177cbd90986debc31431
+DIST fonttools-4.50.0.gh.tar.gz 3823676 BLAKE2B ebcc19b3f2c8367147c7e05a514951d25497b1e6e224226e0831f566464b6d407e6a52a3b30620dbe87df1a0ce03d95cb5769cab15ee78822d218ccd81419263 SHA512 a169f18077f2c4f0ad8a46569a30b3e35ca2343e9f3d43cd362dafa26085f545dd9a42e7edb3054f9d37e1576117aa34a0c2b4adabc9fc29c076e69d3fdd66ee
+DIST fonttools-4.51.0.gh.tar.gz 3826324 BLAKE2B 84485874ce373ef759746104f8c0593d63e2955427a1606404e56ae006342fef39e3fe9468d85b974741ae26a8cceba23ea46e33fff0e2648c154074b01b5eac SHA512 3a9984b56a8ed1e918781c8503dd8901276ae7e20659777ff0a9bf799a42b4ec112a6cfd31deb81f73f7f19c03145a66962187fb243b2580db9d3ef7011d3d82
diff --git a/dev-python/fonttools/fonttools-4.38.0.ebuild b/dev-python/fonttools/fonttools-4.38.0.ebuild
deleted file mode 100644
index a5b7f9c8c374..000000000000
--- a/dev-python/fonttools/fonttools-4.38.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_{9..11} )
-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 ~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() {
- epytest Tests fontTools || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/fonttools/fonttools-4.50.0.ebuild b/dev-python/fonttools/fonttools-4.50.0.ebuild
new file mode 100644
index 000000000000..b2122f7e18d7
--- /dev/null
+++ b/dev-python/fonttools/fonttools-4.50.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=( 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=(
+ # 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.51.0.ebuild b/dev-python/fonttools/fonttools-4.51.0.ebuild
new file mode 100644
index 000000000000..12d8605257bc
--- /dev/null
+++ b/dev-python/fonttools/fonttools-4.51.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=( 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=(
+ # 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
new file mode 100644
index 000000000000..1fb31581b7c1
--- /dev/null
+++ b/dev-python/fpylll/Manifest
@@ -0,0 +1 @@
+DIST fpylll-0.6.1.tar.gz 1083895 BLAKE2B 091d757a1c64830307c0dffe10418305a625f1eceabee251a4f6d06e6fe7eb449ec85fdeb72fe8177d093c50e642e730283b0022fd70383338ca74ac6301e010 SHA512 3469c7b70cfdb0077a38f2c46c06901c4b2a1ac6db9fdab1e347c3b5ba147ee495aad56a6263d163e5f140cf9fa1591de98d01b83b92ec896092dd3e0a5d5a9b
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..28d1dba4aa06
--- /dev/null
+++ b/dev-python/fpylll/fpylll-0.6.1.ebuild
@@ -0,0 +1,41 @@
+# 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}]
+"
+
+distutils_enable_tests pytest
+
+python_test(){
+ local -x PY_IGNORE_IMPORTMISMATCH=1
+ epytest
+}
diff --git a/dev-python/fpylll/metadata.xml b/dev-python/fpylll/metadata.xml
new file mode 100644
index 000000000000..7b1fe28d3519
--- /dev/null
+++ b/dev-python/fpylll/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ </maintainer>
+
+ <maintainer type="person" proxied="yes">
+ <email>frp.bissey@gmail.com</email>
+ <name>François Bissey</name>
+ </maintainer>
+
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+
+ <maintainer type="project">
+ <email>sci-mathematics@gentoo.org</email>
+ <name>Gentoo Mathematics Project</name>
+ </maintainer>
+
+ <upstream>
+ <remote-id type="pypi">fpylll</remote-id>
+ <remote-id type="github">fplll/fpylll</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/fqdn/fqdn-1.5.1-r2.ebuild b/dev-python/fqdn/fqdn-1.5.1-r2.ebuild
index 87008b64522e..e0722ebec285 100644
--- a/dev-python/fqdn/fqdn-1.5.1-r2.ebuild
+++ b/dev-python/fqdn/fqdn-1.5.1-r2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MPL-2.0"
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 ~arm64-macos ~x64-macos"
distutils_enable_tests pytest
distutils_enable_sphinx docs
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/Manifest b/dev-python/freetype-py/Manifest
new file mode 100644
index 000000000000..88af5581d48f
--- /dev/null
+++ b/dev-python/freetype-py/Manifest
@@ -0,0 +1 @@
+DIST freetype-py-2.4.0.zip 832493 BLAKE2B f5753b2cd29aa4441cd2eed5ff421815b543826cdfb6984ad8953377f6497bcd915128a7bf5b40ceb8060257624a75e5e0262276d892139b288da424553d77c1 SHA512 f9ddde5c9a96f75df96b13f7d021916b748c625c876b4f752fe28d93c1a5ceffea514e120f3f9a98955b89bb01d9892b1c38a3cee79737c0fb61a857c055b012
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
new file mode 100644
index 000000000000..91303ca21953
--- /dev/null
+++ b/dev-python/freetype-py/freetype-py-2.4.0-r1.ebuild
@@ -0,0 +1,34 @@
+# 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="FreeType Python bindings"
+HOMEPAGE="
+ https://github.com/rougier/freetype-py/
+ https://pypi.org/project/freetype-py/
+"
+SRC_URI="$(pypi_sdist_url --no-normalize "${PN}" "${PV}" .zip)"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ media-libs/freetype
+"
+BDEPEND="
+ app-arch/unzip
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest tests
+}
diff --git a/dev-python/freetype-py/metadata.xml b/dev-python/freetype-py/metadata.xml
new file mode 100644
index 000000000000..659859f5cab6
--- /dev/null
+++ b/dev-python/freetype-py/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="pypi">freetype-py</remote-id>
+ <remote-id type="github">rougier/freetype-py</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/freezegun/Manifest b/dev-python/freezegun/Manifest
index e5694ca118a4..7cec7af3965a 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.4.0.tar.gz 31748 BLAKE2B a7ea433ea8e5f0137fc5d88a5375e3fc0e2f307a04684ab5b844168ed214fd9dd1d1ed2a0e0c91ed20ee1fc32c8e3e75fb9dc73de64723efe881e843a38269a1 SHA512 bbdad19b7fc2da9a2851d6b4c14427ccda1f2e06617993cf7173ded65cced9b98d36e1da05a2718b70653a69986cd81d84317003271eda2075177ccf63495b7a
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 4e785b241c80..000000000000
--- a/dev-python/freezegun/freezegun-1.2.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Let your Python tests travel through time"
-HOMEPAGE="
- https://github.com/spulec/freezegun/
- https://pypi.org/project/freezegun/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~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.4.0.ebuild b/dev-python/freezegun/freezegun-1.4.0.ebuild
new file mode 100644
index 000000000000..57c62f3fafbf
--- /dev/null
+++ b/dev-python/freezegun/freezegun-1.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..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
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/fritzconnection/Manifest b/dev-python/fritzconnection/Manifest
index 87e076bd8211..4b89d1a4cf05 100644
--- a/dev-python/fritzconnection/Manifest
+++ b/dev-python/fritzconnection/Manifest
@@ -1,2 +1 @@
-DIST fritzconnection-1.10.3.gh.tar.gz 146450 BLAKE2B 77c64d2963ed0bc1c1bf1d31fc42093d959588df5ea55956c2deb35c1569f76f1b89bb2f1273ad691285d21f168f5acdbb1326bcad4ed2e575d57b9a6187e839 SHA512 e54cf5ec4392c8bc0b6cbc19111819bd72125bf1eb341380686c0ac513c646dec16f8a243fdfbe22199c954cbf26c80ab30dbe93b5e02288bc25fcae28595305
-DIST fritzconnection-1.11.0.gh.tar.gz 147539 BLAKE2B def880bcf80bb99864bca942b86c86adcda878fb62b7c0e35db4a746310e5ec8ad00bc25f43acac23c0d5410dc8790875b8b0822aa6d944a0e1197379e015e22 SHA512 bb517a63616a961f9c2c701d44093024f0763c093f89b99d205fb1fd1492342b568b871ebaf699a69a9d56e724735b975c48e4abd1780726d10c13e075cf08f2
+DIST fritzconnection-1.13.2.gh.tar.gz 161752 BLAKE2B 9cd4af3ebaa3d617560ab833e4702b05d3bd6c8356242b4269506847760dad57c7f1d900d7da3092f4e07eb33c86f082c7d3dbc8179919b97422ad5eab78ef01 SHA512 c5e8566d2fde0b789269944df3c08f5cfb4b04ea4c91e5fc06eb97c6598f64b50b50778479948cb34c3a26d872e4d7c324a92791c3f593ec503a126d3b055062
diff --git a/dev-python/fritzconnection/fritzconnection-1.10.3.ebuild b/dev-python/fritzconnection/fritzconnection-1.10.3.ebuild
deleted file mode 100644
index c82f65f2406f..000000000000
--- a/dev-python/fritzconnection/fritzconnection-1.10.3.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_{9..11} )
-
-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
-)
-
-src_prepare() {
- # upstream is pinning for py3.6 compat x_x
- sed -i -e 's:,<[0-9.]*::' setup.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/fritzconnection/fritzconnection-1.11.0.ebuild b/dev-python/fritzconnection/fritzconnection-1.11.0.ebuild
deleted file mode 100644
index c82f65f2406f..000000000000
--- a/dev-python/fritzconnection/fritzconnection-1.11.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_{9..11} )
-
-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
-)
-
-src_prepare() {
- # upstream is pinning for py3.6 compat x_x
- sed -i -e 's:,<[0-9.]*::' setup.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/fritzconnection/fritzconnection-1.13.2-r1.ebuild b/dev-python/fritzconnection/fritzconnection-1.13.2-r1.ebuild
new file mode 100644
index 000000000000..d0e1c574f6d3
--- /dev/null
+++ b/dev-python/fritzconnection/fritzconnection-1.13.2-r1.ebuild
@@ -0,0 +1,64 @@
+# 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"
+IUSE="qrcode"
+
+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 ~arm64 ~x86"
+fi
+
+RDEPEND="
+ >=dev-python/requests-2.22[${PYTHON_USEDEP}]
+ qrcode? (
+ dev-python/segno[${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
+ )
+
+ if has_version "dev-python/segno[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ # requires "QR Code detection" support in media-libs/opencv
+ # https://bugs.gentoo.org/917121
+ fritzconnection/tests/test_fritzwlan.py::test_get_wifi_qr_code
+ fritzconnection/tests/test_fritzwlan.py::test_helper_functions
+ fritzconnection/tests/test_fritzwlan.py::test_tools
+ )
+ fi
+
+ # "routertest" marks tests against live hardware
+ epytest -m "not routertest"
+}
diff --git a/dev-python/fritzconnection/metadata.xml b/dev-python/fritzconnection/metadata.xml
index 80aadfcb4881..32eb24693df4 100644
--- a/dev-python/fritzconnection/metadata.xml
+++ b/dev-python/fritzconnection/metadata.xml
@@ -11,4 +11,10 @@
<remote-id type="github">kbr/fritzconnection</remote-id>
<remote-id type="pypi">fritzconnection</remote-id>
</upstream>
+ <use>
+ <flag name="qrcode">
+ Install dependencies needed to generate QR Codes for WiFi
+ login.
+ </flag>
+ </use>
</pkgmetadata>
diff --git a/dev-python/frozendict/Manifest b/dev-python/frozendict/Manifest
deleted file mode 100644
index 25b091d61a39..000000000000
--- a/dev-python/frozendict/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST frozendict-2.3.4.gh.tar.gz 307399 BLAKE2B ac6311182ed2ba4925a14a145b4d30a0241978f55ae7a81cebc534ede812ca77097f0f8c7eeb08e8cbd6240e036d3b5035bd3e9b284a55b638c93717e3a20258 SHA512 15acc4fceb5e2228ee3423d4a5b86c529e9bdcb7264f59139cbde6194983901a17da8036bebf53d7d8057ce52666031e90eb1ca358bfd374c651fd60743988dc
diff --git a/dev-python/frozendict/frozendict-2.3.4.ebuild b/dev-python/frozendict/frozendict-2.3.4.ebuild
deleted file mode 100644
index 9ba0f0bd0a42..000000000000
--- a/dev-python/frozendict/frozendict-2.3.4.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2022 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
-
-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_test() {
- cd "${T}" || die
- epytest "${S}/test"
-}
diff --git a/dev-python/frozendict/metadata.xml b/dev-python/frozendict/metadata.xml
deleted file mode 100644
index 06170b580da7..000000000000
--- a/dev-python/frozendict/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" proxied="yes">
- <email>arkamar@atlas.cz</email>
- <name>Petr Vaněk</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>
- <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 42dc24a4869d..bdd0f7ed2588 100644
--- a/dev-python/frozenlist/Manifest
+++ b/dev-python/frozenlist/Manifest
@@ -1 +1 @@
-DIST frozenlist-1.3.3.gh.tar.gz 27742 BLAKE2B cf0dcd2ed0e22cb7fa3d57a73177e53cace8e6301c462ab56544678f1f78f113ac3ad9ffb68dafb3ae957a1e52e2069dcec76b5adc27284587d614bbb6a8c139 SHA512 8f416996c18d352912e88dad6b503cb1e5ce566d69e97aad8d7eedc6415316e8c9e63eb2c341c5d2409ebf90fd58153ce642d5d88f277435bc6e5a4f1ce8b949
+DIST frozenlist-1.4.1.gh.tar.gz 46357 BLAKE2B 44ee864cd6c7918634d2db85937d778a8526f3117e4d27e06267c979bda2228de5bacaa87d8e0339f7718d6c12325336025214b8d42bdcc744aac7adb63b736a SHA512 a82059fd7d16ec8e17cdf9d05eb128194fc3eed7c20ea4a3daf508a949e6c039fb5824794eac1ca768de11d883f55f46de45f5dcc5031f5cb31291b33df87023
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 b64bde043503..000000000000
--- a/dev-python/frozenlist/frozenlist-1.3.3.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_{9..11} 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.1.ebuild b/dev-python/frozenlist/frozenlist-1.4.1.ebuild
new file mode 100644
index 000000000000..3419d9fa09a0
--- /dev/null
+++ b/dev-python/frozenlist/frozenlist-1.4.1.ebuild
@@ -0,0 +1,53 @@
+# 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..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="
+ 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
+
+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/frozenlist/metadata.xml b/dev-python/frozenlist/metadata.xml
index 0e65c5bac7fa..b971f98658cc 100644
--- a/dev-python/frozenlist/metadata.xml
+++ b/dev-python/frozenlist/metadata.xml
@@ -8,4 +8,10 @@
<remote-id type="pypi">frozenlist</remote-id>
<remote-id type="github">aio-libs/frozenlist</remote-id>
</upstream>
+ <use>
+ <flag name="native-extensions">
+ Compile native C extensions (speedups, instead of using Python
+ fallback code).
+ </flag>
+ </use>
</pkgmetadata>
diff --git a/dev-python/fs/fs-2.4.16.ebuild b/dev-python/fs/fs-2.4.16.ebuild
index 9a5cc885cae5..2ff4052187be 100644
--- a/dev-python/fs/fs-2.4.16.ebuild
+++ b/dev-python/fs/fs-2.4.16.ebuild
@@ -4,8 +4,9 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-inherit distutils-r1 optfeature
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 optfeature pypi
DESCRIPTION="Filesystem abstraction layer"
HOMEPAGE="
@@ -13,17 +14,19 @@ HOMEPAGE="
https://docs.pyfilesystem.org/
https://www.willmcgugan.com/tag/fs/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
RDEPEND="
>=dev-python/appdirs-1.4.3[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
>=dev-python/six-1.10[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-lang/python-3.12.0_p1
+ ' python3_12)
"
# NB: we skip tests requiring pyftpdlib
BDEPEND="
@@ -33,7 +36,7 @@ BDEPEND="
)
"
-distutils_enable_sphinx docs/source dev-python/sphinx_rtd_theme dev-python/recommonmark
+distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme dev-python/recommonmark
distutils_enable_tests pytest
EPYTEST_IGNORE=(
@@ -41,6 +44,13 @@ EPYTEST_IGNORE=(
tests/test_ftpfs.py
)
+src_prepare() {
+ # fix for python 3.12
+ sed -e 's/self.assertRaisesRegexp/self.assertRaisesRegex/g' -i fs/test.py || die
+
+ distutils-r1_src_prepare
+}
+
pkg_postinst() {
optfeature "S3 support" dev-python/boto
optfeature "SFTP support" dev-python/paramiko
diff --git a/dev-python/fsspec/Manifest b/dev-python/fsspec/Manifest
index 0a260557eeee..7576b8b44ccd 100644
--- a/dev-python/fsspec/Manifest
+++ b/dev-python/fsspec/Manifest
@@ -1,2 +1 @@
-DIST filesystem_spec-2022.11.0.gh.tar.gz 341250 BLAKE2B 690528af9882cc8a23f78d215efbeb4f9c9f6f0a04f6a0a6f75d55a5ed8f84f92f988824921f2b26cc4cc0e7a6406d322affe65c9cd99cba7bbe4a6c01ed3382 SHA512 b52af1da0afbc686d288954ac596d9dae23c393c457fcc5ab6a11c7bd8d6a20fa1f631e1837f1d0054534a9a1231afb0cb6f8f899cf169789146309f03699e75
-DIST filesystem_spec-2023.1.0.gh.tar.gz 346962 BLAKE2B debabc938d2725b0c6e0a5aabdd6033a14655799a0b4ed98f171cdb3761dea6f3f85b63c91ca5461341e75c50aef53e4d09c6ac3582020247382c5e39a8d4791 SHA512 181e5dfc05ba664d9464246b2398c70a0bad3f274dab462a2432eae24ecf3307c49af46674f8222fac87964fbf3666bb7ad9e709484dc959b0333447b9a82a2b
+DIST filesystem_spec-2024.3.1.gh.tar.gz 426712 BLAKE2B 9e9c60f581872559bd667e8e3fadcb5c4c56a727901ffc2328b67da6a4553ae2e4981f143838532faa59deb9b3f3926e1e2f0b2dd86daf49f93a1811d4e668a4 SHA512 6b93543b729eae898a71fb0249ed69973cb1d2dfcf0feac7d40fb69b40e1109739819acbec9f239023b8a5eaaba01377215458cb5c4c806741ed319433d8f570
diff --git a/dev-python/fsspec/fsspec-2022.11.0.ebuild b/dev-python/fsspec/fsspec-2022.11.0.ebuild
deleted file mode 100644
index 72f48d0ddfb9..000000000000
--- a/dev-python/fsspec/fsspec-2022.11.0.ebuild
+++ /dev/null
@@ -1,58 +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
-
-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
- )
-"
-
-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
-)
-
-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.1.0.ebuild b/dev-python/fsspec/fsspec-2023.1.0.ebuild
deleted file mode 100644
index d5cb7a874d91..000000000000
--- a/dev-python/fsspec/fsspec-2023.1.0.ebuild
+++ /dev/null
@@ -1,67 +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
-
-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
- )
-"
-
-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
- # bad test, fails when PWD contains dots...
- # https://github.com/fsspec/filesystem_spec/issues/1161
- fsspec/implementations/tests/test_local.py::test_make_path_posix
-)
-
-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.3.1.ebuild b/dev-python/fsspec/fsspec-2024.3.1.ebuild
new file mode 100644
index 000000000000..5838f67c5f3f
--- /dev/null
+++ b/dev-python/fsspec/fsspec-2024.3.1.ebuild
@@ -0,0 +1,70 @@
+# 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=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
+}
+
+python_test() {
+ local 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
+ )
+
+ local 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
+ )
+
+ 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..a68ac8208137
--- /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..12} )
+
+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 9f467bc5f111..8464ebc9f2ce 100644
--- a/dev-python/funcparserlib/funcparserlib-1.0.1.ebuild
+++ b/dev-python/funcparserlib/funcparserlib-1.0.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/funcy/Manifest b/dev-python/funcy/Manifest
index f2ddf8c3358b..7ae997b987c3 100644
--- a/dev-python/funcy/Manifest
+++ b/dev-python/funcy/Manifest
@@ -1,2 +1 @@
-DIST funcy-1.17.tar.gz 112383 BLAKE2B 150133f72ed165bdc9adc3a9f4954dfd5b846dea7b1ee2cae0d6621ebaec3e2ba986cd6596fd86482036aad6476913caec0868db9cf55c067fdbf62ac10953e2 SHA512 d48ce3b7a7b8ee7512df109d651f40ca4dadf681acca6ab0a4857a2ea408f20f6345b9b416ca8b1e924050a842648192b8fe79381c202361bc4d2e25bd55ad05
-DIST funcy-1.18.tar.gz 277530 BLAKE2B 78e86e23b3908924de1de62dd567ff8ff52079a9a7529923c84f67a3c5f768d232164d758763db1ce941986c28012dbcb3c146412998b1d1d6064efcc0ff4bf9 SHA512 274fec59c1fddc58248b5f8c81686955706333bbd33a1d567f62694c70449ef2488fae6bf76418b8ff3c6655fad12ed344cc6c90a84c5b10412e32fbdda016fe
+DIST funcy-2.0.tar.gz 537931 BLAKE2B cd5d56bba777b9fefff0088daa8ab903bf51520a9cc9ce856eaf4eddbe06a2916b09d2e9f023e32c77f6b308d4291c3154347e921f1c3b78a513f11390226149 SHA512 3abd76296aa03d6c3fa0583cd1c3912a47ce04c340f668d7321e2c4191a61a1679f1a419b787c92680cbbae5757e1fabc5918a6a80130c244b4018c28751e01e
diff --git a/dev-python/funcy/funcy-1.17.ebuild b/dev-python/funcy/funcy-1.17.ebuild
deleted file mode 100644
index b18c07ac76ce..000000000000
--- a/dev-python/funcy/funcy-1.17.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="A collection of fancy functional tools focused on practicality"
-HOMEPAGE="https://github.com/Suor/funcy"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-BDEPEND="test? ( dev-python/whatever[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests --install pytest
diff --git a/dev-python/funcy/funcy-1.18.ebuild b/dev-python/funcy/funcy-1.18.ebuild
deleted file mode 100644
index 9a149505ee00..000000000000
--- a/dev-python/funcy/funcy-1.18.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_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A collection of fancy functional tools focused on practicality"
-HOMEPAGE="
- https://github.com/Suor/funcy/
- https://pypi.org/project/funcy/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND="
- test? (
- dev-python/whatever[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/funcy/funcy-2.0.ebuild b/dev-python/funcy/funcy-2.0.ebuild
new file mode 100644
index 000000000000..1d410d996765
--- /dev/null
+++ b/dev-python/funcy/funcy-2.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 fancy functional tools focused on practicality"
+HOMEPAGE="
+ https://github.com/Suor/funcy/
+ https://pypi.org/project/funcy/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+BDEPEND="
+ test? (
+ >=dev-python/whatever-0.7[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/furo/Manifest b/dev-python/furo/Manifest
index 921b1fb71e6c..c07004ff0d6d 100644
--- a/dev-python/furo/Manifest
+++ b/dev-python/furo/Manifest
@@ -1 +1 @@
-DIST furo-2022.12.7-py3-none-any.whl 328721 BLAKE2B 2a2d215db9d63946da85579ccc5a71f87e3ecbca0fda180ed44b7e79e77744b47d2c17d4d5a256d71e02d5e7ac5165f3648f38c08567b7c871abf8d7edf2ce26 SHA512 ce44dd78db216875538722a56041ce7634bfeebbc6add6b52cdecd86d0f99f5f9c8aa0d275a8439a269f75345ae716a32b90701d031dfd3047df3f1db33e150e
+DIST furo-2024.1.29-py3-none-any.whl 325212 BLAKE2B 7dec8d515bb2ac6741d875dac57048e066f6e9602e7c529bfcf5b01a8b47d6ff38d6212d5a5abf8dfbe42d7667481a3a14c20f39367d65d8968e429e6c5fbbea SHA512 375fff9ad283732c0e242da0233e6b3e5bc570c514fa1a5899232599ac1a73c3198071e74635ab115ba28ea9d97156e1c28ae40c5e203cc21cf639b183201893
diff --git a/dev-python/furo/furo-2022.12.7.ebuild b/dev-python/furo/furo-2022.12.7.ebuild
deleted file mode 100644
index ccd127305967..000000000000
--- a/dev-python/furo/furo-2022.12.7.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
-
-# 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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Clean customisable Sphinx documentation theme"
-HOMEPAGE="
- https://pypi.org/project/furo/
- https://github.com/pradyunsg/furo/
-"
-SRC_URI="
- https://files.pythonhosted.org/packages/py3/${PN::1}/${PN}/${P}-py3-none-any.whl
-"
-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.1.29.ebuild b/dev-python/furo/furo-2024.1.29.ebuild
new file mode 100644
index 000000000000..94029c933d5a
--- /dev/null
+++ b/dev-python/furo/furo-2024.1.29.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..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}]
+"
+
+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
index 4fb18c23d059..dea8d245b362 100644
--- a/dev-python/fuse-python/Manifest
+++ b/dev-python/fuse-python/Manifest
@@ -1 +1 @@
-DIST python-fuse-1.0.5.tar.gz 46592 BLAKE2B 9d33cf508a57b1a08f6c257ecee89386826f5f6c9be223f33c36789930baccaacab112305e264aa5c412f30bfff0562c6701b8ec1f9632d9d2e5ff8ea6013073 SHA512 e0d0cc0f3dee9416eefe430119e8f2f5a9bbc88a214d36d1d23c7e1f7ce78cc977a173f6d22c05cb928715d5c657ba29738f60453323b25299dddc08d57595d2
+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
index 0c26960a68d9..a45fa1f4a3ef 100644
--- a/dev-python/fuse-python/fuse-python-1.0.5.ebuild
+++ b/dev-python/fuse-python/fuse-python-1.0.5.ebuild
@@ -3,8 +3,9 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} pypy3 )
+PYTHON_COMPAT=( python3_{9..11} pypy3 )
inherit distutils-r1
@@ -13,7 +14,7 @@ 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}.tar.gz
+ -> ${MY_P}.gh.tar.gz
"
S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/fuse-python/metadata.xml b/dev-python/fuse-python/metadata.xml
index aa546ef3f7a5..85b1282ba244 100644
--- a/dev-python/fuse-python/metadata.xml
+++ b/dev-python/fuse-python/metadata.xml
@@ -6,7 +6,8 @@
<name>Python</name>
</maintainer>
<upstream>
- <remote-id type="sourceforge">fuse</remote-id>
+ <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 4d3885c3e886..000000000000
--- a/dev-python/future/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST future-0.18.2.tar.gz 829220 BLAKE2B 68574b589bf54aa8dacbd162a54885589faa32829ccf212f50de5bf036ebd8b9aba0c13e63e80d34e507cc0dae4d8d3d47fea33433b17d2c2e6dbf6c37f66d8f SHA512 91c025f7d94bcdf93df838fab67053165a414fc84e8496f92ecbb910dd55f6b6af5e360bbd051444066880c5a6877e75157bd95e150ead46e5c605930dfc50f2
diff --git a/dev-python/future/files/future-0.18.2-cve-2022-40899.patch b/dev-python/future/files/future-0.18.2-cve-2022-40899.patch
deleted file mode 100644
index c7341e0d6fdb..000000000000
--- a/dev-python/future/files/future-0.18.2-cve-2022-40899.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From c91d70b34ef0402aef3e9d04364ba98509dca76f Mon Sep 17 00:00:00 2001
-From: Will Shanks <wshaos@posteo.net>
-Date: Fri, 23 Dec 2022 13:38:26 -0500
-Subject: [PATCH] Backport fix for bpo-38804
-
-The regex http.cookiejar.LOOSE_HTTP_DATE_RE was vulnerable to regular
-expression denial of service (REDoS). The regex contained multiple
-overlapping \s* capture groups. A long sequence of spaces can trigger
-bad performance.
-
-See https://github.com/python/cpython/pull/17157 and https://pyup.io/posts/pyup-discovers-redos-vulnerabilities-in-top-python-packages/
----
- src/future/backports/http/cookiejar.py | 18 ++++++++++++------
- 1 file changed, 12 insertions(+), 6 deletions(-)
-
-diff --git a/src/future/backports/http/cookiejar.py b/src/future/backports/http/cookiejar.py
-index af3ef415..0ad80a02 100644
---- a/src/future/backports/http/cookiejar.py
-+++ b/src/future/backports/http/cookiejar.py
-@@ -225,10 +225,14 @@ def _str2time(day, mon, yr, hr, min, sec, tz):
- (?::(\d\d))? # optional seconds
- )? # optional clock
- \s*
-- ([-+]?\d{2,4}|(?![APap][Mm]\b)[A-Za-z]+)? # timezone
-+ (?:
-+ ([-+]?\d{2,4}|(?![APap][Mm]\b)[A-Za-z]+) # timezone
-+ \s*
-+ )?
-+ (?:
-+ \(\w+\) # ASCII representation of timezone in parens.
- \s*
-- (?:\(\w+\))? # ASCII representation of timezone in parens.
-- \s*$""", re.X | re.ASCII)
-+ )?$""", re.X | re.ASCII)
- def http2time(text):
- """Returns time in seconds since epoch of time represented by a string.
-
-@@ -298,9 +302,11 @@ def http2time(text):
- (?::?(\d\d(?:\.\d*)?))? # optional seconds (and fractional)
- )? # optional clock
- \s*
-- ([-+]?\d\d?:?(:?\d\d)?
-- |Z|z)? # timezone (Z is "zero meridian", i.e. GMT)
-- \s*$""", re.X | re. ASCII)
-+ (?:
-+ ([-+]?\d\d?:?(:?\d\d)?
-+ |Z|z) # timezone (Z is "zero meridian", i.e. GMT)
-+ \s*
-+ )?$""", re.X | re. ASCII)
- def iso2time(text):
- """
- As for http2time, but parses the ISO 8601 formats:
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/files/future-0.18.2-tests.patch b/dev-python/future/files/future-0.18.2-tests.patch
deleted file mode 100644
index 3742adb72821..000000000000
--- a/dev-python/future/files/future-0.18.2-tests.patch
+++ /dev/null
@@ -1,269 +0,0 @@
-diff --git a/tests/test_future/test_backports.py b/tests/test_future/test_backports.py
-index 9eeb741..63b1afe 100644
---- a/tests/test_future/test_backports.py
-+++ b/tests/test_future/test_backports.py
-@@ -87,7 +87,8 @@ class TestChainMap(unittest.TestCase):
- d['b'] = 20
- d['c'] = 30
- self.assertEqual(d.maps, [{'b':20, 'c':30}, {'a':1, 'b':2}]) # check internal state
-- self.assertEqual(d.items(), dict(a=1, b=20, c=30).items()) # check items/iter/getitem
-+ self.assertEqual(sorted(d.items()),
-+ sorted(dict(a=1, b=20, c=30).items())) # check items/iter/getitem
- self.assertEqual(len(d), 3) # check len
- for key in 'abc': # check contains
- self.assertIn(key, d)
-@@ -96,7 +97,8 @@ class TestChainMap(unittest.TestCase):
-
- del d['b'] # unmask a value
- self.assertEqual(d.maps, [{'c':30}, {'a':1, 'b':2}]) # check internal state
-- self.assertEqual(d.items(), dict(a=1, b=2, c=30).items()) # check items/iter/getitem
-+ self.assertEqual(sorted(d.items()),
-+ sorted(dict(a=1, b=2, c=30).items())) # check items/iter/getitem
- self.assertEqual(len(d), 3) # check len
- for key in 'abc': # check contains
- self.assertIn(key, d)
-diff --git a/tests/test_future/test_builtins.py b/tests/test_future/test_builtins.py
-index ca07b9e..944d97b 100644
---- a/tests/test_future/test_builtins.py
-+++ b/tests/test_future/test_builtins.py
-@@ -8,7 +8,7 @@ from future.builtins import (bytes, dict, int, range, round, str, super,
- ascii, chr, hex, input, next, oct, open, pow,
- filter, map, zip, min, max)
-
--from future.utils import PY3, exec_, native_str, implements_iterator
-+from future.utils import PYPY, PY2, PY3, exec_, native_str, implements_iterator
- from future.tests.base import (unittest, skip26, expectedFailurePY2,
- expectedFailurePY26)
-
-@@ -699,12 +699,13 @@ class BuiltinTest(unittest.TestCase):
- self.assertEqual(eval('dir()', g, m), list('xyz'))
- self.assertEqual(eval('globals()', g, m), g)
- self.assertEqual(eval('locals()', g, m), m)
-- self.assertRaises(TypeError, eval, 'a', m)
-+ if not (PYPY and PY2):
-+ self.assertRaises(TypeError, eval, 'a', m)
- class A:
- "Non-mapping"
- pass
- m = A()
-- self.assertRaises(TypeError, eval, 'a', g, m)
-+ self.assertRaises((AttributeError, TypeError), eval, 'a', g, m)
-
- # Verify that dict subclasses work as well
- class D(dict):
-@@ -784,8 +785,9 @@ class BuiltinTest(unittest.TestCase):
- # self.assertRaisesRegex(NameError, "name 'print' is not defined",
- # exec_, code, {'__builtins__': {}})
- # Now:
-- self.assertRaises(NameError,
-- exec_, code, {'__builtins__': {}})
-+ if not PYPY:
-+ self.assertRaises(NameError,
-+ exec_, code, {'__builtins__': {}})
- # __builtins__ must be a mapping type
- # Was:
- # self.assertRaises(TypeError,
-@@ -797,8 +799,9 @@ class BuiltinTest(unittest.TestCase):
- # Was:
- # self.assertRaisesRegex(NameError, "__build_class__ not found",
- # exec_, code, {'__builtins__': {}})
-- self.assertRaises(NameError,
-- exec_, code, {'__builtins__': {}})
-+ if not PYPY:
-+ self.assertRaises(NameError,
-+ exec_, code, {'__builtins__': {}})
-
- class frozendict_error(Exception):
- pass
-@@ -1304,8 +1307,9 @@ class BuiltinTest(unittest.TestCase):
- self.assertAlmostEqual(pow(-1, 0.5), 1j)
- self.assertAlmostEqual(pow(-1, 1/3), 0.5 + 0.8660254037844386j)
-
-- # Raises TypeError in Python < v3.5, ValueError in v3.5:
-- self.assertRaises((TypeError, ValueError), pow, -1, -2, 3)
-+ if sys.hexversion < 0x03080000:
-+ # Raises TypeError in Python < v3.5, ValueError in v3.5:
-+ self.assertRaises((TypeError, ValueError), pow, -1, -2, 3)
- self.assertRaises(ValueError, pow, 1, 2, 0)
-
- self.assertRaises(TypeError, pow)
-diff --git a/tests/test_future/test_futurize.py b/tests/test_future/test_futurize.py
-index 0d7c42d..4590185 100644
---- a/tests/test_future/test_futurize.py
-+++ b/tests/test_future/test_futurize.py
-@@ -13,7 +13,7 @@ from lib2to3.pygram import token
-
- from future.tests.base import (CodeHandler, unittest, skip26, reformat_code,
- order_future_lines, expectedFailurePY26)
--from future.utils import PY2
-+from future.utils import PY2, PY3, PYPY
-
-
- class TestLibFuturize(unittest.TestCase):
-@@ -565,6 +565,7 @@ class TestFuturizeSimple(CodeHandler):
- # tarball.write(r2.content)
-
- @expectedFailurePY26
-+ @unittest.skipIf(PYPY and PY3, '')
- def test_raw_input(self):
- """
- Passes in a string to the waiting input() after futurize
-diff --git a/tests/test_future/test_int.py b/tests/test_future/test_int.py
-index 573a0d5..6172e48 100644
---- a/tests/test_future/test_int.py
-+++ b/tests/test_future/test_int.py
-@@ -6,7 +6,7 @@ from __future__ import (absolute_import, division,
- print_function, unicode_literals)
- from future.builtins import *
- from future.tests.base import unittest, expectedFailurePY2
--from future.utils import PY26, PY2, raise_from
-+from future.utils import PY26, PY2, PY3, PYPY, raise_from
-
- import sys
- import random
-@@ -357,7 +357,8 @@ class IntTestCases(unittest.TestCase):
- self.assertEqual(int(Foo0()), 42)
- self.assertEqual(int(Foo1()), 42)
- self.assertEqual(int(Foo2()), 42)
-- self.assertEqual(int(Foo3()), 0)
-+ if not (PYPY and PY3):
-+ self.assertEqual(int(Foo3()), 0)
- self.assertEqual(int(Foo4()), 42)
- self.assertRaises(TypeError, int, Foo5())
-
-diff --git a/tests/test_future/test_isinstance.py b/tests/test_future/test_isinstance.py
-index 33c0a58..ccda709 100644
---- a/tests/test_future/test_isinstance.py
-+++ b/tests/test_future/test_isinstance.py
-@@ -4,6 +4,7 @@ From the Python 3.3 test suite
-
- from __future__ import (absolute_import, division, unicode_literals)
- from future.builtins import *
-+from future.utils import PYPY
-
- # Tests some corner cases with isinstance() and issubclass(). While these
- # tests use new style classes and properties, they actually do whitebox
-@@ -264,11 +265,13 @@ class TestIsInstanceIsSubclass(unittest.TestCase):
- self.assertEqual(True, issubclass(int, (int, (float, int))))
- self.assertEqual(True, issubclass(str, (str, (Child, NewChild, str))))
-
-+ @unittest.skipIf(PYPY, '')
- def test_subclass_recursion_limit(self):
- # make sure that issubclass raises RuntimeError before the C stack is
- # blown
- self.assertRaises(RuntimeError, blowstack, issubclass, str, str)
-
-+ @unittest.skipIf(PYPY, '')
- def test_isinstance_recursion_limit(self):
- # make sure that issubclass raises RuntimeError before the C stack is
- # blown
-diff --git a/tests/test_future/test_str.py b/tests/test_future/test_str.py
-index 5108548..eac602f 100644
---- a/tests/test_future/test_str.py
-+++ b/tests/test_future/test_str.py
-@@ -201,6 +201,7 @@ class TestStr(unittest.TestCase):
- with self.assertRaises(TypeError):
- s.join(byte_strings2)
-
-+ @unittest.skipIf(utils.PYPY and utils.PY2, '')
- def test_str_join_staticmethod(self):
- """
- Issue #33
-@@ -430,10 +431,11 @@ class TestStr(unittest.TestCase):
- e = s * long(4)
- self.assertTrue(isinstance(e, str))
- self.assertEqual(e, u'ABCABCABCABC')
-- with self.assertRaises(TypeError):
-- s * 3.3
-- with self.assertRaises(TypeError):
-- s * (3.3 + 3j)
-+ if not (utils.PYPY and utils.PY2):
-+ with self.assertRaises(TypeError):
-+ s * 3.3
-+ with self.assertRaises(TypeError):
-+ s * (3.3 + 3j)
-
- def test_rmul(self):
- s = str(u'XYZ')
-@@ -447,10 +449,11 @@ class TestStr(unittest.TestCase):
- e = long(3) * s
- self.assertTrue(isinstance(e, str))
- self.assertEqual(e, u'XYZXYZXYZ')
-- with self.assertRaises(TypeError):
-- 3.3 * s
-- with self.assertRaises(TypeError):
-- (3.3 + 3j) * s
-+ if not (utils.PYPY and utils.PY2):
-+ with self.assertRaises(TypeError):
-+ 3.3 * s
-+ with self.assertRaises(TypeError):
-+ (3.3 + 3j) * s
-
- @unittest.skip('Fails on Python <= 2.7.6 due to string subclass slicing bug')
- def test_slice(self):
-diff --git a/tests/test_future/test_urllib2.py b/tests/test_future/test_urllib2.py
-index 2d69dad..3750737 100644
---- a/tests/test_future/test_urllib2.py
-+++ b/tests/test_future/test_urllib2.py
-@@ -691,10 +691,7 @@ class HandlerTests(unittest.TestCase):
- h = NullFTPHandler(data)
- h.parent = MockOpener()
-
-- # MIME guessing works in Python 3.8!
- guessed_mime = None
-- if sys.hexversion >= 0x03080000:
-- guessed_mime = "image/gif"
- for url, host, port, user, passwd, type_, dirs, filename, mimetype in [
- ("ftp://localhost/foo/bar/baz.html",
- "localhost", ftplib.FTP_PORT, "", "", "I",
-diff --git a/tests/test_past/test_builtins.py b/tests/test_past/test_builtins.py
-index d16978e..f37b26c 100644
---- a/tests/test_past/test_builtins.py
-+++ b/tests/test_past/test_builtins.py
-@@ -21,6 +21,7 @@ import random
- from os import unlink
- from operator import neg
- from future.tests.base import unittest, expectedFailurePY3, skip26
-+from future.utils import PYPY, PY2
-
- # count the number of test runs.
- # used to skip running test_execfile() multiple times
-@@ -423,6 +424,7 @@ class BuiltinTest(unittest.TestCase):
- self.assertRaises(TypeError, eval, ())
-
- @expectedFailurePY3
-+ @unittest.skipIf(PYPY and PY2, '')
- def test_general_eval(self):
- # Tests that general mappings can be used for the locals argument
-
-@@ -1174,7 +1176,8 @@ class BuiltinTest(unittest.TestCase):
- def __cmp__(self, other):
- raise RuntimeError
- __hash__ = None # Invalid cmp makes this unhashable
-- self.assertRaises(RuntimeError, range, a, a + 1, badzero(1))
-+ if not (PYPY and PY2):
-+ self.assertRaises(RuntimeError, range, a, a + 1, badzero(1))
-
- # Reject floats.
- self.assertRaises(TypeError, range, 1., 1., 1.)
-diff --git a/tests/test_past/test_olddict.py b/tests/test_past/test_olddict.py
-index 9f21060..539c277 100644
---- a/tests/test_past/test_olddict.py
-+++ b/tests/test_past/test_olddict.py
-@@ -7,7 +7,7 @@ from __future__ import absolute_import, unicode_literals, print_function
- import os
- import sys
-
--from future.utils import implements_iterator, PY3
-+from future.utils import implements_iterator, PYPY, PY2, PY3
- from future.tests.base import unittest, skip26
- from past.builtins import dict
-
-@@ -415,6 +415,7 @@ class Py2DictTest(unittest.TestCase):
- self.assertRaises(Exc, d.setdefault, x, [])
-
- @skip26
-+ @unittest.skipIf(PYPY, '')
- def test_setdefault_atomic(self):
- # Issue #13521: setdefault() calls __hash__ and __eq__ only once.
- class Hashed(object):
diff --git a/dev-python/future/future-0.18.2-r3.ebuild b/dev-python/future/future-0.18.2-r3.ebuild
deleted file mode 100644
index 8701543d33f7..000000000000
--- a/dev-python/future/future-0.18.2-r3.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} pypy3 )
-
-inherit distutils-r1
-
-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="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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*')
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs dev-python/sphinx-bootstrap-theme
-
-PATCHES=(
- "${FILESDIR}"/${P}-tests.patch
- "${FILESDIR}"/${P}-py39.patch
- "${FILESDIR}"/${P}-py39-fileurl.patch
- "${FILESDIR}"/${P}-py3.10.patch
- "${FILESDIR}"/${P}-cve-2022-40899.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
-)
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
new file mode 100644
index 000000000000..bacc8e3d1aec
--- /dev/null
+++ b/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Fuzzy string matching in python"
+HOMEPAGE="
+ https://github.com/seatgeek/fuzzywuzzy/
+ https://pypi.org/project/fuzzywuzzy/
+"
+
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+LICENSE="GPL-2"
+SLOT="0"
+
+RDEPEND="
+ dev-python/Levenshtein[${PYTHON_USEDEP}]
+"
+# pycodestyle imported unconditionally in the only test file, sigh
+BDEPEND="
+ test? (
+ dev-python/pycodestyle[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0.ebuild b/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0.ebuild
deleted file mode 100644
index f58d47faf4a6..000000000000
--- a/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.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=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Fuzzy string matching in python"
-HOMEPAGE="https://github.com/seatgeek/fuzzywuzzy"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-LICENSE="GPL-2"
-SLOT="0"
-
-RDEPEND="dev-python/Levenshtein[${PYTHON_USEDEP}]"
-BDEPEND="test? ( dev-python/pycodestyle[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests pytest
diff --git a/dev-python/gast/Manifest b/dev-python/gast/Manifest
index 89156d9adb0c..866e6370b802 100644
--- a/dev-python/gast/Manifest
+++ b/dev-python/gast/Manifest
@@ -1 +1 @@
-DIST gast-0.5.3.tar.gz 23455 BLAKE2B b7263e959178421a7ba1cdb41cb09edbe1c30680573e1ab3b4de114e0bd151d2278be799fcc1a01524bb5ee6f6d6764d9902dd0018e7cbe54ac7a3d1300bbeb1 SHA512 a836be76303591ca7c40596d98a29dbd53f281e277c8c23e3821b2003d4e8aaf4d806e7f532f27c0eadd4bdca5a28dc0a3902245505ab97497b9afbfee0c2e52
+DIST gast-0.5.4.tar.gz 25346 BLAKE2B c7161737367c2a3335d9e51af1dc09934ea16694d497cb151ed713b3372666456b5dcc2c595294c7162035af29d454bad5c8fb677030de9235c52d5ff8a3f05b SHA512 a288e2ecc15af2a5d50cb34979995f936e88cdaa4427f809b69015cb6ba98eaffd7ea9eff2dc61dae6f6c2d7d9c5cc6e3e9a5565bd7b1dd308cd39f56087c67d
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 900e2da60335..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=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="A generic AST to represent Python2 and Python3's Abstract Syntax Tree (AST)"
-HOMEPAGE="https://pypi.org/project/gast/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD PSF-2"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-distutils_enable_tests unittest
diff --git a/dev-python/gast/gast-0.5.4.ebuild b/dev-python/gast/gast-0.5.4.ebuild
new file mode 100644
index 000000000000..d5676dbec992
--- /dev/null
+++ b/dev-python/gast/gast-0.5.4.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=( 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/metadata.xml b/dev-python/gast/metadata.xml
index fea455aa4a76..e77ea5db09a7 100644
--- a/dev-python/gast/metadata.xml
+++ b/dev-python/gast/metadata.xml
@@ -14,6 +14,7 @@
</longdescription>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">serge-sans-paille/gast</remote-id>
<remote-id type="pypi">gast</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/gcs-oauth2-boto-plugin/Manifest b/dev-python/gcs-oauth2-boto-plugin/Manifest
deleted file mode 100644
index feb28a7e7a45..000000000000
--- a/dev-python/gcs-oauth2-boto-plugin/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST gcs-oauth2-boto-plugin-3.0.tar.gz 20908 BLAKE2B 85c20d8b39dde8ed8a0bad887572040b8eb1eab91b41558c57ef7c190fff9cc5e0502579881a08ed514de87d5fe91a393779e2de071a53bb21e2371f8f13c047 SHA512 84cef64c2b0cc5e38685bb39b3939c54ceced2c0995a67787bf3541bf8a93b91ffec3da83094b7d6957d5afb60833c5ba4ffe7fb688ba8aa943c5f72c719e93b
diff --git a/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-3.0.ebuild b/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-3.0.ebuild
deleted file mode 100644
index e394eb4ac592..000000000000
--- a/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-3.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
-
-PYTHON_COMPAT=( python3_10 )
-
-inherit distutils-r1
-
-DESCRIPTION="OAuth 2.0 plugin for Google Cloud Storage credentials in the Boto library"
-HOMEPAGE="https://pypi.org/project/gcs-oauth2-boto-plugin/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-# Keep versions in sync with setup.py.
-BDEPEND="
- test? ( dev-python/freezegun[${PYTHON_USEDEP}] )
-"
-RDEPEND="
- ${PYTHON_DEPS}
- >=dev-python/boto-2.29.1[${PYTHON_USEDEP}]
- >=dev-python/google-reauth-python-0.1.0[${PYTHON_USEDEP}]
- >=dev-python/httplib2-0.18[${PYTHON_USEDEP}]
- >=dev-python/oauth2client-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
- >=dev-python/retry-decorator-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.12.0[${PYTHON_USEDEP}]
-"
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- # Make sure the unittests aren't installed.
- mv gcs_oauth2_boto_plugin/test_oauth2_client.py ./ || die
-}
-
-python_test() {
- "${EPYTHON}" "${S}"/test_oauth2_client.py -v \
- || die "tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/gcs-oauth2-boto-plugin/metadata.xml b/dev-python/gcs-oauth2-boto-plugin/metadata.xml
deleted file mode 100644
index 11c87c7e15d0..000000000000
--- a/dev-python/gcs-oauth2-boto-plugin/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>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">gcs-oauth2-boto-plugin</remote-id>
- </upstream>
-</pkgmetadata>
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..306e29d54100
--- /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 ~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/genshi-0.7.7.ebuild b/dev-python/genshi/genshi-0.7.7.ebuild
index f7e305abbac5..898aad7839e3 100644
--- a/dev-python/genshi/genshi-0.7.7.ebuild
+++ b/dev-python/genshi/genshi-0.7.7.ebuild
@@ -3,19 +3,20 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+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/"
-SRC_URI="mirror://pypi/G/${PN^}/${P^}.tar.gz"
-S="${WORKDIR}/${P^}"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="amd64 ~arm arm64 ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="doc examples test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/genson/Manifest b/dev-python/genson/Manifest
index f6fed66f63fd..942a639b0da1 100644
--- a/dev-python/genson/Manifest
+++ b/dev-python/genson/Manifest
@@ -1 +1 @@
-DIST genson-1.1.0.tar.gz 26662 BLAKE2B 726b0467edca9ca503d73c914d35392f0784ae8be01a8287b84da3cd5ae4b4cd6e12a46b1a7baf73db40377b915ddb3c4b53f4a135e3923fa775af5b51a5261c SHA512 54264dcc51cd5ece9bd428079fcd5cf833f32ef36afbb7987de9982d33253834c5c8c35d18b21ad4003fc2ffac4da02965a00844457b7d8ca6c6bf3d3facb8d6
+DIST genson-1.2.2.tar.gz 34387 BLAKE2B 2e3c3b0fd96d93fe1e7244c11828dfb42d8e9bd97058a1b76d983e02094b2e62560e00b08e2ce1d21abf7e858f481a9e2a5678d51b27162fde1d60535031f54e SHA512 9caf1936518db5ffb412c6b1f1d28b33e9aef2e6f9b2fe50bcc2932a75522dcbc57bf7bc6b3df41244ee470060295a92fb6ba0be9f6fcf512950a81615f85f87
diff --git a/dev-python/genson/genson-1.1.0.ebuild b/dev-python/genson/genson-1.1.0.ebuild
deleted file mode 100644
index cbc209ba726c..000000000000
--- a/dev-python/genson/genson-1.1.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="GenSON is a powerful, user-friendly JSON Schema generator built in Python"
-HOMEPAGE="https://pypi.org/project/genson/ https://github.com/wolverdude/GenSON/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND="test? ( dev-python/jsonschema[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests unittest
diff --git a/dev-python/genson/genson-1.2.2.ebuild b/dev-python/genson/genson-1.2.2.ebuild
new file mode 100644
index 000000000000..1ef48f2862f4
--- /dev/null
+++ b/dev-python/genson/genson-1.2.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="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
+ # https://github.com/wolverdude/GenSON/pull/70
+ sed -i -e 's@TEST_URI@test://@' test/test_builder.py || die
+ # known broken in this release
+ [[ ${PV} != 1.2.2 ]] && die "Restore test_bin.py!"
+ rm test/test_bin.py || die
+}
diff --git a/dev-python/genson/metadata.xml b/dev-python/genson/metadata.xml
index 13b9c793c1ee..862a6445d343 100644
--- a/dev-python/genson/metadata.xml
+++ b/dev-python/genson/metadata.xml
@@ -5,6 +5,11 @@
<email>alexxy@gentoo.org</email>
<name>Alexey Shvetsov</name>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">genson</remote-id>
<remote-id type="github">wolverdude/GenSON</remote-id>
diff --git a/dev-python/gentoo-common/gentoo-common-1.ebuild b/dev-python/gentoo-common/gentoo-common-1.ebuild
new file mode 100644
index 000000000000..f7b60b8f6a16
--- /dev/null
+++ b/dev-python/gentoo-common/gentoo-common-1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Common files shared by Python implementations in Gentoo"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Python"
+S=${WORKDIR}
+
+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"
+
+src_install() {
+ insinto /usr/lib/python
+ # https://peps.python.org/pep-0668/
+ newins - EXTERNALLY-MANAGED <<-EOF
+ [externally-managed]
+ Error=
+ The system-wide Python installation in Gentoo should be maintained
+ using the system package manager (e.g. emerge).
+
+ If the package in question is not packaged for Gentoo, please
+ consider installing it inside a virtual environment, e.g.:
+
+ python -m venv /path/to/venv
+ . /path/to/venv/bin/activate
+ pip install mypackage
+
+ To exit the virtual environment, run:
+
+ deactivate
+
+ The virtual environment is not deleted, and can be re-entered by
+ re-sourcing the activate file.
+ EOF
+}
diff --git a/dev-python/gentoo-common/metadata.xml b/dev-python/gentoo-common/metadata.xml
new file mode 100644
index 000000000000..7d421671d884
--- /dev/null
+++ b/dev-python/gentoo-common/metadata.xml
@@ -0,0 +1,8 @@
+<?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/>
+</pkgmetadata>
diff --git a/dev-python/genty/genty-1.3.2-r2.ebuild b/dev-python/genty/genty-1.3.2-r2.ebuild
index 25dea293ab3b..7d26078310b9 100644
--- a/dev-python/genty/genty-1.3.2-r2.ebuild
+++ b/dev-python/genty/genty-1.3.2-r2.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+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/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="Apache-2.0"
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..e7a7bd36b1ca
--- /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..12} )
+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/ghp-import/ghp-import-2.1.0-r1.ebuild b/dev-python/ghp-import/ghp-import-2.1.0-r1.ebuild
index eff4d7f61db7..5a25a114cc6b 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
@@ -3,18 +3,18 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Copy your docs directly to the gh-pages branch"
HOMEPAGE="https://github.com/c-w/ghp-import"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~ppc ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
RDEPEND="
>=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
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 f8025bdc31f9..000000000000
--- a/dev-python/git-review/git-review-2.3.1-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..10} )
-
-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
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="amd64 x86 ~x64-cygwin ~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 c2ae5e303560..13ccd01484a3 100644
--- a/dev-python/git-review/git-review-9999.ebuild
+++ b/dev-python/git-review/git-review-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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1
@@ -14,8 +15,8 @@ if [[ ${PV} == 9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://opendev.org/opendev/${PN}.git"
else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64 ~x86 ~x64-cygwin ~amd64-linux ~x86-linux"
+ inherit pypi
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
fi
LICENSE="Apache-2.0"
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/Manifest b/dev-python/gitdb/Manifest
index 4e14e02df8fc..12b6ea50c6d3 100644
--- a/dev-python/gitdb/Manifest
+++ b/dev-python/gitdb/Manifest
@@ -1 +1 @@
-DIST gitdb-4.0.10.tar.gz 394284 BLAKE2B f5a00dd3a27a17781df4c53c268c92101838ce53efcb3796a72a79f8109540912f86d746cad169ef34af2575cfb242e90cb450b658699512d37956f6902e14ed SHA512 6cfb58db322f1b18fd25d0c6537e5b24b2eb2f7a7222c1511cdee8dff39fb1249bf12691b9cb1a5d653131b8c3c57c1de2bb42139a2c8da6014332b4f1c6c03b
+DIST gitdb-4.0.11.tar.gz 394469 BLAKE2B a79caf7def6094f1c99ff8621d7a01a9bc438e3ff54c73e5e9f598fada892e0209334edf73415476e31aef1cd0cd344fba6c8fe11c80cc157fdef5b9d2cda292 SHA512 024256481c553cd8e4b7fb0c0adc735aa6485c396e43aba73873cd4ad950ca686c3df7000a85acd1ac4f09db3f6ab613018739d24a8a69b4708150c171acf13d
diff --git a/dev-python/gitdb/gitdb-4.0.10.ebuild b/dev-python/gitdb/gitdb-4.0.10.ebuild
deleted file mode 100644
index cd857d1e80f2..000000000000
--- a/dev-python/gitdb/gitdb-4.0.10.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=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="GitDB is a pure-Python git object database"
-HOMEPAGE="
- https://github.com/gitpython-developers/gitdb/
- https://pypi.org/project/gitdb/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/smmap-3.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-vcs/git
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- local i
-
- mkdir "${T}"/repo || die
- cd "${T}"/repo || die
-
- for (( i = 0; i < 2500; ++i )); do
- echo "${i}" > file"${i}" || die
- done
-
- git init || die
- git config user.email "you@example.com" || die
- git config user.name "Your Name" || die
- git add -A || die
- git commit -q -m ".." || die
- git clone --bare "${T}"/repo "${T}"/repo.git || die
- cd "${S}" || die
-
- distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- gitdb/test/performance
- )
- local -x GITDB_TEST_GIT_REPO_BASE="${T}"/repo.git
- epytest
-}
diff --git a/dev-python/gitdb/gitdb-4.0.11.ebuild b/dev-python/gitdb/gitdb-4.0.11.ebuild
new file mode 100644
index 000000000000..29f1be530228
--- /dev/null
+++ b/dev-python/gitdb/gitdb-4.0.11.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="GitDB is a pure-Python git object database"
+HOMEPAGE="
+ https://github.com/gitpython-developers/gitdb/
+ https://pypi.org/project/gitdb/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/smmap-3.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-vcs/git
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e 's:,<[0-9.]*::' setup.py || die
+ distutils-r1_src_prepare
+}
+
+src_test() {
+ local i
+
+ mkdir "${T}"/repo || die
+ cd "${T}"/repo || die
+
+ for (( i = 0; i < 2500; ++i )); do
+ echo "${i}" > file"${i}" || die
+ done
+
+ git init || die
+ git config user.email "you@example.com" || die
+ git config user.name "Your Name" || die
+ git add -A || die
+ git commit -q -m ".." || die
+ git clone --bare "${T}"/repo "${T}"/repo.git || die
+ cd "${S}" || die
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ gitdb/test/performance
+ )
+ local -x GITDB_TEST_GIT_REPO_BASE="${T}"/repo.git
+ epytest
+}
diff --git a/dev-python/github3-py/Manifest b/dev-python/github3-py/Manifest
new file mode 100644
index 000000000000..26857d12b5d3
--- /dev/null
+++ b/dev-python/github3-py/Manifest
@@ -0,0 +1 @@
+DIST github3.py-4.0.1.tar.gz 36214038 BLAKE2B 04647fd53b0ad236891bb0fab359a326d82f8fb90c186618459013ab32f7c7c148374ad0dfc891220b839b2d9be7231e15dac8048bd767c33a1513558b3b16d1 SHA512 a79f7e4c48405318bd61d03c7a8b2dc3629f6e2d8e954e316fba319115dd12c6e5e2fd69a00743e86078367b083841dbc494704e66ffda8582fb48c614ecf5b2
diff --git a/dev-python/github3-py/github3-py-4.0.1.ebuild b/dev-python/github3-py/github3-py-4.0.1.ebuild
new file mode 100644
index 000000000000..a6a2528937e3
--- /dev/null
+++ b/dev-python/github3-py/github3-py-4.0.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=hatchling
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A wrapper for the GitHub API written in python"
+HOMEPAGE="
+ https://github.com/sigmavirus24/github3.py/
+ https://pypi.org/project/github3.py/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-vcs/git
+ >=dev-python/pyjwt-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.18[${PYTHON_USEDEP}]
+ >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}]
+"
+# via PyJWT[crypto]
+RDEPEND+="
+ >=dev-python/cryptography-3.3.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/betamax-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/betamax-matchers-0.3.0[${PYTHON_USEDEP}]
+ )
+"
+
+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/github3/metadata.xml b/dev-python/github3-py/metadata.xml
index b418a1191050..b418a1191050 100644
--- a/dev-python/github3/metadata.xml
+++ b/dev-python/github3-py/metadata.xml
diff --git a/dev-python/github3/Manifest b/dev-python/github3/Manifest
deleted file mode 100644
index ebb2d475fd52..000000000000
--- a/dev-python/github3/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST github3-3.2.0.gh.tar.gz 35522134 BLAKE2B ef263dc7e97bb7acccddc538cf812abc8554395865832ac993fbd7f965fd008607d0a682b35be5bdfc1b46618dcb3391e924f57d841a30ab732df9b3c76774b3 SHA512 2b15524df9289d2139178b4a92914458276cf347ff7e41c55eb6b7b9ad705ced4a9f64eb025aa9334a38611b87147a8ed118a6958a9924f75ad272fc868d196f
diff --git a/dev-python/github3/github3-3.2.0.ebuild b/dev-python/github3/github3-3.2.0.ebuild
deleted file mode 100644
index 42a88c488257..000000000000
--- a/dev-python/github3/github3-3.2.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_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A wrapper for the GitHub API written in python"
-HOMEPAGE="https://github3py.readthedocs.io/en/master/"
-SRC_URI="
- https://github.com/sigmavirus24/${PN}.py/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${PN}.py-${PV}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-vcs/git
- >=dev-python/requests-2.18.0[${PYTHON_USEDEP}]
- >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.6.0[${PYTHON_USEDEP}]
- >=dev-python/pyjwt-2.3.0[${PYTHON_USEDEP}]
-"
-# via PyJWT[crypto]
-RDEPEND+="
- >=dev-python/cryptography-3.3.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/betamax-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/betamax-matchers-0.1.0[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/addopts/d' tox.ini || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/glooey/Manifest b/dev-python/glooey/Manifest
deleted file mode 100644
index 1039e42b790f..000000000000
--- a/dev-python/glooey/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST glooey-0.3.6.tar.gz 19115984 BLAKE2B 79254f44caa94364a08d9c04394c6fd38ef84ddf539c881938bc05e65cdd0374deb0a10b835c21dd6d83a34118c29ff0876583a6c26f2e1f73cad8ceb4f40bdf SHA512 06e53d9d67e4be6cd800c4090e76d982a664be760fc77e2b5666d1b486665f8eea79f0f8ea58ff49b06b550e580cd2a5d4238f06f349613d323334b80de6b81c
diff --git a/dev-python/glooey/glooey-0.3.6.ebuild b/dev-python/glooey/glooey-0.3.6.ebuild
deleted file mode 100644
index 991a72c1b31b..000000000000
--- a/dev-python/glooey/glooey-0.3.6.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..10} )
-DISTUTILS_USE_PEP517=flit
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="An object-oriented GUI library for pyglet"
-HOMEPAGE="https://glooey.readthedocs.io/en/latest/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-KEYWORDS="~amd64"
-SLOT="0"
-
-RDEPEND="
- dev-python/autoprop[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/pyglet[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/vecrec[${PYTHON_USEDEP}]
-"
-# Indirect dependency via pyglet
-BDEPEND="test? ( media-libs/freetype )"
-
-# Requires currently unpackaged Sphinx plug-in autoclasstoc
-#distutils_enable_sphinx docs dev-python/sphinx_rtd_theme
-
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
diff --git a/dev-python/glooey/metadata.xml b/dev-python/glooey/metadata.xml
deleted file mode 100644
index 87ff2cc0bf55..000000000000
--- a/dev-python/glooey/metadata.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription>
- Every game needs a user interface that matches its look and feel. The purpose of glooey is to help you make
- such an interface. Towards this end, glooey provides 7 powerful placement widgets, a label widget, an image
- widget, 3 different button widgets, a text entry widget, a variety of scroll boxes and bars, 4 different dialog
- box widgets, and a variety of other miscellaneous widgets. The appearance of any widget can be trivially
- customized, and glooey comes with built-in fantasy, puzzle, and 8-bit themes to prove it (and to help you hit
- the ground running if your game fits one of those genres).
- </longdescription>
- <upstream>
- <bugs-to>https://github.com/kxgames/glooey/issues</bugs-to>
- <doc>https://glooey.readthedocs.io/</doc>
- <remote-id type="github">kxgames/glooey</remote-id>
- <remote-id type="pypi">glooey</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/gmpy/Manifest b/dev-python/gmpy/Manifest
index 460832e9d409..545491749d8f 100644
--- a/dev-python/gmpy/Manifest
+++ b/dev-python/gmpy/Manifest
@@ -1 +1,3 @@
+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
diff --git a/dev-python/gmpy/files/gmpy-2.1.5-mpfr-4.2.1.patch b/dev-python/gmpy/files/gmpy-2.1.5-mpfr-4.2.1.patch
new file mode 100644
index 000000000000..4bbc9097824e
--- /dev/null
+++ b/dev-python/gmpy/files/gmpy-2.1.5-mpfr-4.2.1.patch
@@ -0,0 +1,31 @@
+From 68a6b489c3d8d95b2658a1ed884fb99f4bd955c1 Mon Sep 17 00:00:00 2001
+From: Sergey B Kirpichev <skirpichev@gmail.com>
+Date: Sun, 3 Sep 2023 02:35:19 +0300
+Subject: [PATCH] Exclude MPFR workaround for MPFR >= 4.2.1
+
+Co-authored-by: Vincent Lefevre <vincent@vinc17.net>
+
+Closes #418
+---
+ src/gmpy2_format.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/gmpy2_format.c b/src/gmpy2_format.c
+index 3e450c96..303bb7bf 100644
+--- a/src/gmpy2_format.c
++++ b/src/gmpy2_format.c
+@@ -592,12 +592,14 @@ GMPy_MPC_Format(PyObject *self, PyObject *args)
+ if (mpcstyle)
+ strcat(tempbuf, " ");
+ else {
++#if MPFR_VERSION < MPFR_VERSION_NUM(4,2,1)
+ /* Need to insert + if imag is nan or +inf. */
+ if (mpfr_nan_p(mpc_imagref(MPC(self))) ||
+ (mpfr_inf_p(mpc_imagref(MPC(self))) &&
+ mpfr_sgn(mpc_imagref(MPC(self))) > 0)) {
+ strcat(tempbuf, "+");
+ }
++#endif
+ }
+ strcat(tempbuf, imagbuf);
+ if (strlen(imagbuf) < 50 &&
diff --git a/dev-python/gmpy/gmpy-2.1.5-r2.ebuild b/dev-python/gmpy/gmpy-2.1.5-r2.ebuild
new file mode 100644
index 000000000000..1516736e6849
--- /dev/null
+++ b/dev-python/gmpy/gmpy-2.1.5-r2.ebuild
@@ -0,0 +1,51 @@
+# 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_{10..12} )
+
+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/
+"
+SRC_URI+="
+ https://dev.gentoo.org/~grozin/${P}-py3.12.patch.gz
+ https://github.com/tornaria/void-packages/raw/722b32aa405804b79a74256708de6a511e255b4b/srcpkgs/python3-gmpy2/patches/cleanup-object-caching.patch
+ -> ${P}-cache.patch
+"
+
+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
+
+PATCHES=(
+ "${WORKDIR}/${P}-py3.12.patch"
+ # https://github.com/aleaxit/gmpy/commit/7351e2eb1abf4b37a47a822eb3f3f29f90c7f854
+ # rebased by Void; needed for mpfr 4.2.1
+ "${DISTDIR}/${P}-cache.patch"
+ # https://github.com/aleaxit/gmpy/commit/68a6b489c3d8d95b2658a1ed884fb99f4bd955c1
+ "${FILESDIR}/${P}-mpfr-4.2.1.patch"
+)
+
+python_test() {
+ cd test || die
+ "${EPYTHON}" runtests.py || die "tests failed under ${EPYTHON}"
+}
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 4d5fd881ee7f..000000000000
--- a/dev-python/gmpy/gmpy-2.1.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-MY_PN="${PN}2"
-MY_P="${MY_PN}-${PV/_beta/b}"
-
-DESCRIPTION="Python bindings for GMP, MPC, MPFR and MPIR libraries"
-HOMEPAGE="
- https://github.com/aleaxit/gmpy/
- https://pypi.org/project/gmpy2/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-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/google-api-core/Manifest b/dev-python/google-api-core/Manifest
index 9d6e8eb93f09..937843d11955 100644
--- a/dev-python/google-api-core/Manifest
+++ b/dev-python/google-api-core/Manifest
@@ -1 +1 @@
-DIST python-api-core-2.11.0.gh.tar.gz 187535 BLAKE2B e8029b6344b572e1dcc8455b95f3ee63c8d3684f0c8807793e4e6ba2dd0179c939f183144085c2b94a29b8a1ae0e39aeffceb632988702806665ec39c51e3ce5 SHA512 798ff3970027d7ce60dcb62a88d395ebf00454f902fda4f272fc240b9ec104af112dd9de479fb6761990c48931c8ccd8c5223a1b2b5fa44823cabac862efdba8
+DIST python-api-core-2.18.0.gh.tar.gz 210938 BLAKE2B 39ccceb2d5722cb4121ba2007cb171e703e97c57d31dd85a6f540f8b0316281255f563b43c1acd6159e6d59b8609603ca9202c9f46b5c86127a9ff0cf3874c19 SHA512 fe57eb8465c1dfe6d83abd73b0c621da49e7e0687afa59f5d4c1c7022cb8a912734859e5895781c239cfe6053ebdbea2dcf55ef6eac371b8ea58fdf0c7c398d5
diff --git a/dev-python/google-api-core/google-api-core-2.11.0-r1.ebuild b/dev-python/google-api-core/google-api-core-2.11.0-r1.ebuild
deleted file mode 100644
index ebb0ff43ac99..000000000000
--- a/dev-python/google-api-core/google-api-core-2.11.0-r1.ebuild
+++ /dev/null
@@ -1,73 +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 )
-
-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
- epytest -p no:aiohttp -p no:trio tests
-}
diff --git a/dev-python/google-api-core/google-api-core-2.18.0.ebuild b/dev-python/google-api-core/google-api-core-2.18.0.ebuild
new file mode 100644
index 000000000000..9b9d4cf25536
--- /dev/null
+++ b/dev-python/google-api-core/google-api-core-2.18.0.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..12} )
+
+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/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 5abb596407c0..f5f677496f3b 100644
--- a/dev-python/google-api-python-client/Manifest
+++ b/dev-python/google-api-python-client/Manifest
@@ -1,3 +1,3 @@
-DIST google-api-python-client-2.72.0.gh.tar.gz 37897701 BLAKE2B fff35a2103f7d3a58e790cb6b385a881c572c2272bc078531912f69d26ac16433513d97ac724f70e47b250dbaac95a78e1df04c2ea7a030325f6ead9de42646d SHA512 1bb625fc6d9aeacebf0b03a77709367d9b29e33f171b5c708a90141e697d29fcf8689d3d6a71f21a50e976feaef5fc2aec9451525a2aa00867639fdfc401c262
-DIST google-api-python-client-2.73.0.gh.tar.gz 37984359 BLAKE2B e82fe357010c06601a58cac4e0e2c72c8f1d9e7ae5663248b5fa5ab4d0d3cbebc597fcce560cd157e363fd1edf9a1fed76570a43f5cf64ef45a7fb84902a5918 SHA512 6af39b7ce526d91de2c7d01c660ca951a6775453478ea8fe50e3a8def30114fdb90fa5b7490fb9b02c1ba4d38bde55e4b4c05ad61ba3713f9c7341cdfdbaf619
-DIST google-api-python-client-2.74.0.gh.tar.gz 38189426 BLAKE2B 927345937faf574263df8a8c64949824bf371b5b881958b9d0e055ad8ee9bf5c758e173afa47274c6c1d10ebdd0c168f7d7763c8d66f664dc80bf253a391fb26 SHA512 831159d4a3c46b716ff1be64c13cbf37eebb96a75e3573bd8b1200930d465935569ceeb4caaa35bc24105087db06fa62306ef03ed4fb04c87b5d24826680b949
+DIST google-api-python-client-2.124.0.tar.gz 11956565 BLAKE2B efa7273bb4c298804b331ea29218710a7427e614f830fe308763ef226ec392f3f1ea16e4d0f4f5ff98c987eba7c9331f0ff0ed6d32a89e9538d1fa18fcc40399 SHA512 4eacdbe4733a235b5c31c337c8cde18fef88691d55a8b988291dd5ff8cea786f67b4052eb2fb6e7aeb31631311f956e255469c3a1438f137c1eb03b43812f9c9
+DIST google-api-python-client-2.125.0.tar.gz 12020305 BLAKE2B a5c5beef66a40adc8eb9b56476bbd2eb6a5b9b1b528ccbfa964d9a2c65bdff2f949c52de5384faae6c7233be6f3357040a8fe531e0d21f48f822276a8e8a7ec9 SHA512 b2f456edacf515f83755bfaeb35677c3d3f6bef90d4d9be986a9191c3e8a0d80664784cc125524dd77792a329ff58fc9b35b0bd387248450a8b4e67ccaaa2f85
+DIST google-api-python-client-2.126.0.tar.gz 12163106 BLAKE2B b66240ea914b1f673bd96e161e2fdffa4567641471594b166258331c04d5f43cc1a0c6f888cafd904b0b84d3afe5befbf437c347409da6197b4f801c6a15b7a1 SHA512 e21d98106a97de4037d9eead2b2153010d75a07bc00585a8a4d0a584b3da1bd753421ef33fa635a62c850235eede880f34ed222c2b0ede13ba93e7e1558d7cf5
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.124.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.124.0.ebuild
new file mode 100644
index 000000000000..da1b22f5ad98
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.124.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 ~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
+ 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.125.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.125.0.ebuild
new file mode 100644
index 000000000000..3961663be4b6
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.125.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 ~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
+ 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.126.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.126.0.ebuild
new file mode 100644
index 000000000000..3961663be4b6
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.126.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 ~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
+ 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.72.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.72.0.ebuild
deleted file mode 100644
index 703ac440a7a0..000000000000
--- a/dev-python/google-api-python-client/google-api-python-client-2.72.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 )
-
-inherit distutils-r1
-
-DESCRIPTION="Google API Client for Python"
-HOMEPAGE="
- https://github.com/googleapis/google-api-python-client/
- https://pypi.org/project/google-api-python-client/
-"
-SRC_URI="
- https://github.com/googleapis/google-api-python-client/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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.73.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.73.0.ebuild
deleted file mode 100644
index 7f5368fd7fde..000000000000
--- a/dev-python/google-api-python-client/google-api-python-client-2.73.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 )
-
-inherit distutils-r1
-
-DESCRIPTION="Google API Client for Python"
-HOMEPAGE="
- https://github.com/googleapis/google-api-python-client/
- https://pypi.org/project/google-api-python-client/
-"
-SRC_URI="
- https://github.com/googleapis/google-api-python-client/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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.74.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.74.0.ebuild
deleted file mode 100644
index 7f5368fd7fde..000000000000
--- a/dev-python/google-api-python-client/google-api-python-client-2.74.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 )
-
-inherit distutils-r1
-
-DESCRIPTION="Google API Client for Python"
-HOMEPAGE="
- https://github.com/googleapis/google-api-python-client/
- https://pypi.org/project/google-api-python-client/
-"
-SRC_URI="
- https://github.com/googleapis/google-api-python-client/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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-apitools/Manifest b/dev-python/google-apitools/Manifest
deleted file mode 100644
index 58af2535eda9..000000000000
--- a/dev-python/google-apitools/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST google-apitools-0.5.32.gh.tar.gz 365913 BLAKE2B e43b21e6ce8491c89955bd6c194a1f4076988be2f67280c1bfb8184e1b83a01c307077080d182877d1306814bc38aa0541d9d417cfb93afdd766ddb3c83e0ef5 SHA512 5996d80cb08fd7de3b2df5fbdbe56c885af5d85276a44f174762ac71407227e454d338007035ba2b3deef09384e7bd389f121ea5e19e5e302a054f1033c19b6f
diff --git a/dev-python/google-apitools/files/google-apitools-0.5.30-py37.patch b/dev-python/google-apitools/files/google-apitools-0.5.30-py37.patch
deleted file mode 100644
index 77f2c59b8296..000000000000
--- a/dev-python/google-apitools/files/google-apitools-0.5.30-py37.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-diff --git a/apitools/base/protorpclite/messages.py b/apitools/base/protorpclite/messages.py
-index 0d564e9..5b2346a 100644
---- a/apitools/base/protorpclite/messages.py
-+++ b/apitools/base/protorpclite/messages.py
-@@ -757,6 +757,7 @@ class Message(six.with_metaclass(_MessageClass, object)):
- order.check_initialized()
-
- """
-+ __hash__ = None
-
- def __init__(self, **kwargs):
- """Initialize internal messages state.
-@@ -1079,9 +1080,9 @@ class FieldList(list):
- if not field_instance.repeated:
- raise FieldDefinitionError(
- 'FieldList may only accept repeated fields')
-- self.__field = field_instance
-- self.__field.validate(sequence)
-- list.__init__(self, sequence)
-+ self._field = field_instance
-+ self._field.validate(sequence)
-+ super().__init__(sequence)
-
- def __getstate__(self):
- """Enable pickling.
-@@ -1098,10 +1099,10 @@ class FieldList(list):
- None.
-
- """
-- message_class = self.__field.message_definition()
-+ message_class = self._field.message_definition()
- if message_class is None:
-- return self.__field, None, None
-- return None, message_class, self.__field.number
-+ return self._field, None, None
-+ return None, message_class, self._field.number
-
- def __setstate__(self, state):
- """Enable unpickling.
-@@ -1115,41 +1116,43 @@ class FieldList(list):
- """
- field_instance, message_class, number = state
- if field_instance is None:
-- self.__field = message_class.field_by_number(number)
-+ self._field = message_class.field_by_number(number)
- else:
-- self.__field = field_instance
-+ self._field = field_instance
-
- @property
- def field(self):
- """Field that validates list."""
-- return self.__field
-+ return self._field
-
- def __setslice__(self, i, j, sequence):
- """Validate slice assignment to list."""
-- self.__field.validate(sequence)
-+ self._field.validate(sequence)
- list.__setslice__(self, i, j, sequence)
-
- def __setitem__(self, index, value):
- """Validate item assignment to list."""
- if isinstance(index, slice):
-- self.__field.validate(value)
-+ self._field.validate(value)
- else:
-- self.__field.validate_element(value)
-+ self._field.validate_element(value)
- list.__setitem__(self, index, value)
-
- def append(self, value):
- """Validate item appending to list."""
-- self.__field.validate_element(value)
-+ if hasattr(self, '_field'):
-+ self._field.validate_element(value)
- return list.append(self, value)
-
- def extend(self, sequence):
- """Validate extension of list."""
-- self.__field.validate(sequence)
-+ if hasattr(self, '_field'):
-+ self._field.validate(sequence)
- return list.extend(self, sequence)
-
- def insert(self, index, value):
- """Validate item insertion to list."""
-- self.__field.validate_element(value)
-+ self._field.validate_element(value)
- return list.insert(self, index, value)
-
-
-diff --git a/apitools/base/protorpclite/messages_test.py b/apitools/base/protorpclite/messages_test.py
-index 3ad75e4..1acdab3 100644
---- a/apitools/base/protorpclite/messages_test.py
-+++ b/apitools/base/protorpclite/messages_test.py
-@@ -508,7 +508,8 @@ class FieldListTest(test_util.TestCase):
- def testPickle(self):
- """Testing pickling and unpickling of FieldList instances."""
- field_list = messages.FieldList(self.integer_field, [1, 2, 3, 4, 5])
-- unpickled = pickle.loads(pickle.dumps(field_list))
-+ pickled = pickle.dumps(field_list)
-+ unpickled = pickle.loads(pickled)
- self.assertEquals(field_list, unpickled)
- self.assertIsInstance(unpickled.field, messages.IntegerField)
- self.assertEquals(1, unpickled.field.number)
-diff --git a/apitools/base/protorpclite/protojson_test.py b/apitools/base/protorpclite/protojson_test.py
-index 7a8f875..69804f5 100644
---- a/apitools/base/protorpclite/protojson_test.py
-+++ b/apitools/base/protorpclite/protojson_test.py
-@@ -440,7 +440,7 @@ class ProtojsonTest(test_util.TestCase,
- """Test decoding improperly encoded base64 bytes value."""
- self.assertRaisesWithRegexpMatch(
- messages.DecodeError,
-- 'Base64 decoding error: Incorrect padding',
-+ 'Base64 decoding error: (?:Incorrect padding|Invalid base64-encoded string: .*)',
- protojson.decode_message,
- test_util.OptionalMessage,
- '{"bytes_value": "abcdefghijklmnopq"}')
-diff --git a/apitools/base/py/batch_test.py b/apitools/base/py/batch_test.py
-index 90cf4fb..e1384c5 100644
---- a/apitools/base/py/batch_test.py
-+++ b/apitools/base/py/batch_test.py
-@@ -357,7 +357,7 @@ class BatchTest(unittest.TestCase):
- self._DoTestConvertIdToHeader('blah', '<%s+blah>')
-
- def testConvertIdThatNeedsEscaping(self):
-- self._DoTestConvertIdToHeader('~tilde1', '<%s+%%7Etilde1>')
-+ self._DoTestConvertIdToHeader('#hash1', r'<%s+%%23hash1>')
-
- def _DoTestConvertHeaderToId(self, header, expected_id):
- batch_request = batch.BatchHttpRequest('https://www.example.com')
-diff --git a/apitools/gen/client_generation_test.py b/apitools/gen/client_generation_test.py
-index 4e382dd..c26db39 100644
---- a/apitools/gen/client_generation_test.py
-+++ b/apitools/gen/client_generation_test.py
-@@ -42,6 +42,7 @@ class ClientGenerationTest(unittest.TestCase):
- self.gen_client_binary = 'gen_client'
-
- @test_utils.SkipOnWindows
-+ @unittest.skip('needs network access')
- def testGeneration(self):
- for api in _API_LIST:
- with test_utils.TempDir(change_to=True):
diff --git a/dev-python/google-apitools/google-apitools-0.5.32-r1.ebuild b/dev-python/google-apitools/google-apitools-0.5.32-r1.ebuild
deleted file mode 100644
index 8e201b95b35c..000000000000
--- a/dev-python/google-apitools/google-apitools-0.5.32-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..10} )
-inherit distutils-r1
-
-COMMIT_HASH="7975c0cdbae1b9fc106553ce46e4a59cf0bea1e1"
-DESCRIPTION="Python library to manipulate Google APIs"
-HOMEPAGE="https://github.com/google/apitools"
-SRC_URI="https://github.com/google/apitools/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}/${P#google-}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-
-RDEPEND=">=dev-python/httplib2-0.8[${PYTHON_USEDEP}]
- >=dev-python/fasteners-0.14[${PYTHON_USEDEP}]
- >=dev-python/oauth2client-1.5.2[${PYTHON_USEDEP}]
- >=dev-python/six-1.12.0[${PYTHON_USEDEP}]
- >=dev-python/python-gflags-3.1.2[${PYTHON_USEDEP}]"
-BDEPEND="test? ( >=dev-python/mock-1.0.1[${PYTHON_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}/google-apitools-0.5.30-py37.patch"
-)
-
-distutils_enable_tests nose
diff --git a/dev-python/google-apitools/metadata.xml b/dev-python/google-apitools/metadata.xml
deleted file mode 100644
index 837b1fee7452..000000000000
--- a/dev-python/google-apitools/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">google/apitools</remote-id>
- <remote-id type="pypi">google-apitools</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/google-auth-httplib2/Manifest b/dev-python/google-auth-httplib2/Manifest
index a84d2fa5b721..af49a3dd4152 100644
--- a/dev-python/google-auth-httplib2/Manifest
+++ b/dev-python/google-auth-httplib2/Manifest
@@ -1,2 +1 @@
-DIST google-auth-library-python-httplib2-0.1.0.gh.tar.gz 25116 BLAKE2B dbb0393bafb1bbe67b99ac0783e687271c42256c7b283422b884b86d4c8a83222392a5514b812aae683ec7f887afa4bf81307079e676f793f02eb87e52a375e5 SHA512 52b0faf70e185cb89420377a06c77e2c45f6b910b85371fc2c42fdfb06a4ebca28b476201f9d179fbaa4a8bf7b6015703d023ddd95d482113e2cdbf79fd376b5
-DIST google-auth-library-python-httplib2-0.1.0.tar.gz 25116 BLAKE2B dbb0393bafb1bbe67b99ac0783e687271c42256c7b283422b884b86d4c8a83222392a5514b812aae683ec7f887afa4bf81307079e676f793f02eb87e52a375e5 SHA512 52b0faf70e185cb89420377a06c77e2c45f6b910b85371fc2c42fdfb06a4ebca28b476201f9d179fbaa4a8bf7b6015703d023ddd95d482113e2cdbf79fd376b5
+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.0-r1.ebuild b/dev-python/google-auth-httplib2/google-auth-httplib2-0.1.0-r1.ebuild
deleted file mode 100644
index 82d58c31c602..000000000000
--- a/dev-python/google-auth-httplib2/google-auth-httplib2-0.1.0-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 )
-
-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}.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.1.0-r3.ebuild b/dev-python/google-auth-httplib2/google-auth-httplib2-0.1.0-r3.ebuild
deleted file mode 100644
index 2eb00ce7dba0..000000000000
--- a/dev-python/google-auth-httplib2/google-auth-httplib2-0.1.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..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}]
- dev-python/six[${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..482f4940cbe4
--- /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..12} )
+
+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/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 83a335f48185..c6f4fed4e5a0 100644
--- a/dev-python/google-auth-oauthlib/Manifest
+++ b/dev-python/google-auth-oauthlib/Manifest
@@ -1 +1 @@
-DIST google-auth-library-python-oauthlib-0.8.0.gh.tar.gz 71774 BLAKE2B 100aa01586f5df18453713610f3ed954a196e3d0c8d4dc15b8a67335951cbc2eaa15e3fa4bf7c7ba161418550bb7cfc68630fca0efe697a9c65ccbd7e0ce05d9 SHA512 3090d9b3ad25df6e8151e49a0cd96e7226aac2cecbbf289ccbc8cf4704ec86d882c11546b26f3a2ba9b047c19408f0cb939b9caf489aa935f49f8990ab7bfa55
+DIST google-auth-library-python-oauthlib-1.2.0.gh.tar.gz 72990 BLAKE2B 28b828a2a6b4de9deda8eef08f6780cd6f8d3a4df2f63d31c76b72afca12233d79edae46300d773301f7e9d6374e9dbcb5a89b59049a5c01ea5a84ac92285b82 SHA512 2f77d35f76ec12bfdc72dafe9cb33d23c2713985140930766a75377231dc94c32ffa84161251b23244dcf76fe71384421a5d6d8ae11a84b3876d35b5ba393f5a
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-0.8.0-r2.ebuild b/dev-python/google-auth-oauthlib/google-auth-oauthlib-0.8.0-r2.ebuild
deleted file mode 100644
index 428011855aa4..000000000000
--- a/dev-python/google-auth-oauthlib/google-auth-oauthlib-0.8.0-r2.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 ~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.0-r1.ebuild b/dev-python/google-auth-oauthlib/google-auth-oauthlib-1.2.0-r1.ebuild
new file mode 100644
index 000000000000..b41d7f0529ce
--- /dev/null
+++ b/dev-python/google-auth-oauthlib/google-auth-oauthlib-1.2.0-r1.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
+
+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}/${P}-setup-exclude.patch"
+)
diff --git a/dev-python/google-auth/Manifest b/dev-python/google-auth/Manifest
index 34d225fafe9a..08458e4f47fd 100644
--- a/dev-python/google-auth/Manifest
+++ b/dev-python/google-auth/Manifest
@@ -1,2 +1 @@
-DIST google-auth-2.15.0.tar.gz 221698 BLAKE2B 73decb21ab51889d2f22a2dca9d01f8c7d77a37a5ba186e2fba05bfb7a56f0e5ea0f5c1396c0be527b03e9083e98995e96f0081973e97766fafc6a63946c0015 SHA512 4a564503195e4a96ac2a89bb208c37e434185439533913285ca03a3627f28e641a99224ae285ced84050fdc6073e075b1ba288e9a9c18d3e6adf70509b5ee68b
-DIST google-auth-2.16.0.tar.gz 223336 BLAKE2B 9dbd54bdf072dacdf728f6fc34931f153dd409e3e1b92e37ed652a1db39d5380b7e66bd196cb1192f75234b2317518a443f8f515bc9135f553e6c9f1116fc606 SHA512 dbeff00089a410c6702e2bd704968c7392809dc217b3f511b62429a11649e4b0607a41622d2753bed9e511368b1c32086b23df66ec915e07a1dd4f32471e025d
+DIST google-auth-2.29.0.tar.gz 244326 BLAKE2B 36b0bd8f445e3c7c3e0a83d07cf5924401dec99cdd22a6042bf5b9ca1cc9b1e28d0029f8f1509bcb32a7c54abd7c453dd5077ad25886d265822cf1c880b1326f SHA512 0f6d7e9728479a5937d72321f5ae6cfa3592dd42bb518a5519fc0936b533472e872fe947470a1774f8e53a2dad3c65e001de3899b74b6373dd149c6944423473
diff --git a/dev-python/google-auth/google-auth-2.15.0-r1.ebuild b/dev-python/google-auth/google-auth-2.15.0-r1.ebuild
deleted file mode 100644
index 2dc5b30afbe8..000000000000
--- a/dev-python/google-auth/google-auth-2.15.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
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Google Authentication Library"
-HOMEPAGE="
- https://github.com/googleapis/google-auth-library-python/
- https://pypi.org/project/google-auth/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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}]
- dev-python/six[${PYTHON_USEDEP}]
- !dev-python/namespace-google
-"
-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}]
- dev-python/urllib3[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # these are compatibility tests with oauth2client
- # disable them to unblock removal of that package
- tests/test__oauth2client.py
-)
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/google-auth/google-auth-2.16.0.ebuild b/dev-python/google-auth/google-auth-2.16.0.ebuild
deleted file mode 100644
index 5e31f839ad86..000000000000
--- a/dev-python/google-auth/google-auth-2.16.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..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Google Authentication Library"
-HOMEPAGE="
- https://github.com/googleapis/google-auth-library-python/
- https://pypi.org/project/google-auth/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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}]
- dev-python/six[${PYTHON_USEDEP}]
- !dev-python/namespace-google
-"
-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}]
- dev-python/urllib3[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # these are compatibility tests with oauth2client
- # disable them to unblock removal of that package
- tests/test__oauth2client.py
-)
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/google-auth/google-auth-2.29.0.ebuild b/dev-python/google-auth/google-auth-2.29.0.ebuild
new file mode 100644
index 000000000000..9cfd3b0ae33e
--- /dev/null
+++ b/dev-python/google-auth/google-auth-2.29.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 ~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/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/Manifest b/dev-python/google-i18n-address/Manifest
index 279277d6a879..deeba94c3d0a 100644
--- a/dev-python/google-i18n-address/Manifest
+++ b/dev-python/google-i18n-address/Manifest
@@ -1 +1 @@
-DIST google-i18n-address-2.5.2.gh.tar.gz 724067 BLAKE2B 1ec13e99216e263985d04ceb3efd6708041a91be2cc6d4531c099d1599bfa55e21ebbc785d94bda245304bc904778e906c036b2bf0235c9e7c26c8439a69ad07 SHA512 3e9a583cee35af2c045c41fbdafea8dab2897354422a4d2df96834d56443499442a62fb19be42d06cd8974fac677936cb34713730b1c3c18c9a041a7ae46c5cb
+DIST google-i18n-address-3.1.0.gh.tar.gz 726728 BLAKE2B ef41b285aecea0b3e11b08c0815d57a2c3816c59fe01fab64fd75913b0f870e42fbcd0ed76b201c6cd47e4b249c03689b54c648468c3a2cf3d3cb67e2be7ab03 SHA512 b47b5eeaf214a04614ed0976055d25fbce2d298c45db4bfe31b369cd27dc1e097b14d4fae62b5f8dd95be5693d2fda12d0b618029dc1f3ed2784e28b60c43ef9
diff --git a/dev-python/google-i18n-address/google-i18n-address-2.5.2.ebuild b/dev-python/google-i18n-address/google-i18n-address-2.5.2.ebuild
deleted file mode 100644
index 5704f7734fc2..000000000000
--- a/dev-python/google-i18n-address/google-i18n-address-2.5.2.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="Google's i18n address metadata repository"
-HOMEPAGE="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/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-distutils_enable_tests pytest
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..daa9136ba145
--- /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..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"
+
+RDEPEND="
+ >=dev-python/requests-2.7.0[${PYTHON_USEDEP}]
+"
+
+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 c76100e7e0a1..97d28e37643b 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
@@ -4,17 +4,23 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
DESCRIPTION="AST-based Python refactoring library"
-HOMEPAGE="https://pypi.org/project/google-pasta/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/google/pasta/
+ https://pypi.org/project/google-pasta/
+"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
-RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
distutils_enable_tests unittest
diff --git a/dev-python/google-reauth-python/Manifest b/dev-python/google-reauth-python/Manifest
deleted file mode 100644
index ffc1320c983a..000000000000
--- a/dev-python/google-reauth-python/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST google-reauth-python-0.1.1.tar.gz 18302 BLAKE2B a21e174f7dffe48810679910bf8d6712fb4176e5608f2a068d575df3643c4db15a74dae92c15f4ffdc344d287c31a8eb58f94b0384e2d9fc808c072dc8f89043 SHA512 81705d4080b3d7fb0a73741f9f498f8014ec94aa165a5b112c8af8fddc8f040dc43809aff6df39354c8d975db0ee8d62d003c11b173bd56fcf9add1b01644930
diff --git a/dev-python/google-reauth-python/google-reauth-python-0.1.1.ebuild b/dev-python/google-reauth-python/google-reauth-python-0.1.1.ebuild
deleted file mode 100644
index 8a3e25c1016b..000000000000
--- a/dev-python/google-reauth-python/google-reauth-python-0.1.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="7"
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python based U2F host library"
-HOMEPAGE="https://github.com/google/google-reauth-python"
-SRC_URI="https://github.com/google/google-reauth-python/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/oauth2client-2.0.0[${PYTHON_USEDEP}]
- dev-python/pyu2f[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-DEPEND="
- ${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( CHANGELOG.rst CONTRIBUTING.rst README.rst )
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -e "s:'some_origin'.encode('ascii'):'some_origin':" \
- -e "s:SignResponse('key_handle', 'resp',:SignResponse('key_handle'.encode(), 'resp'.encode(),:" \
- -i tests/test_reauth.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/google-reauth-python/metadata.xml b/dev-python/google-reauth-python/metadata.xml
deleted file mode 100644
index a6806f4f27ec..000000000000
--- a/dev-python/google-reauth-python/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>zmedico@gentoo.org</email>
- <name>Zac Medico</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">google-reauth</remote-id>
- <remote-id type="github">google/google-reauth-python</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/googleapis-common-protos/Manifest b/dev-python/googleapis-common-protos/Manifest
index e386dfbc9c65..014473916387 100644
--- a/dev-python/googleapis-common-protos/Manifest
+++ b/dev-python/googleapis-common-protos/Manifest
@@ -1,3 +1 @@
-DIST googleapis-common-protos-1.57.0.tar.gz 115316 BLAKE2B 3514774e537940a06db788646efcb9fbadbd5c0014844eaabcd4f24810cb13f8fc6983b4d451b5d5d3c8188e07548d60a42de9faebc0b6a8d883d61314405e04 SHA512 254f31631508770754a3bcc72a31705fc80aca87186291db73c20dd85ee209c71d97110dc2c9c742243ccb2121d38d77d3e1dc8a05eb4fc77ce07a2f32f7ef31
-DIST googleapis-common-protos-1.57.1.tar.gz 115396 BLAKE2B 1ad20e61fe639bb8d0e3bb98cba80570805f913314bdb715d7e36cf50480292404c7bca23ab3d8701a14e4c1c30cbd4af711d3f20e0db3112477d2a1124b4e12 SHA512 ec1af9eef6bb359df5c4046a94c5b1c6769dcb1947fff98ece3ae3e27457a2afef71fe8444db391af2fa8f8ed64b4f73c18273e22fc4770d110c2e95a4c53037
-DIST googleapis-common-protos-1.58.0.tar.gz 117015 BLAKE2B 7821d83e40c42196517e27f9340741deb2c04fe15129c6e6f9c90c884ce6c4ffae38d456494d5271ac42f680595f82941df70bb2d94c5c20743d99c237a29354 SHA512 3e057e8dce7898ebf5c63ea1ded4f336ad5235ee6e7595739efd4c005b34f63d88481242f2d5a38b8d531d79d1957c2b79918bf61eb3ebc52227ec20b204cc82
+DIST googleapis-common-protos-1.63.0.tar.gz 121646 BLAKE2B 6c611a4a83e7e32680e5a333d1de2c5a68ae0fdda73e32a9136b8c9d9c11427768703b0a0e31c72feef70e29685cbd2e30f6d92ced5d16a18eb6281c243d8dc9 SHA512 dd0964057394c1c7220ffee757467ae3e221278790acc560180bf036b0759eb4fa2d65231fa82c1e22bae1068ffd2a089b234face4829c42352223da59f88e87
diff --git a/dev-python/googleapis-common-protos/googleapis-common-protos-1.57.0.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.57.0.ebuild
deleted file mode 100644
index 834477462e47..000000000000
--- a/dev-python/googleapis-common-protos/googleapis-common-protos-1.57.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.57.1.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.57.1.ebuild
deleted file mode 100644
index fd39f57500e4..000000000000
--- a/dev-python/googleapis-common-protos/googleapis-common-protos-1.57.1.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_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.58.0.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.58.0.ebuild
deleted file mode 100644
index fd39f57500e4..000000000000
--- a/dev-python/googleapis-common-protos/googleapis-common-protos-1.58.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.0.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.63.0.ebuild
new file mode 100644
index 000000000000..c74ffd818bed
--- /dev/null
+++ b/dev-python/googleapis-common-protos/googleapis-common-protos-1.63.0.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..12} )
+
+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/gpep517/Manifest b/dev-python/gpep517/Manifest
index 6512e80886b6..457730369753 100644
--- a/dev-python/gpep517/Manifest
+++ b/dev-python/gpep517/Manifest
@@ -1 +1 @@
-DIST gpep517-13.gh.tar.gz 17197 BLAKE2B eb2f1061c0d762ec5cedf042c41a04eb1ddfbb146b5d81727f7e09d55e76323ee4ffb00e8a8c17a8d423b863bd46dc79a03048da1998cf50fee45bc75c64f38e SHA512 23219a3f7369def01e41fe6bbf96400cc85bb6f5efae3924451a5f3dbed0c9a5e7bb69aa1810897597aa248aa64fc6445fb32ed5bf314d0265c5339893ea58e3
+DIST gpep517-15.gh.tar.gz 17535 BLAKE2B 265c2392cc70f4a94f6b8329dbba0ec5eb821e687bba553009bdc5e230d856fe6f105c873a79ee7ca99fb75c072c3d3c3b4f716ca873d13a8e393b33a97c8540 SHA512 7c3b878220e907ef801301eadc0e3031dd3c31770cc50bb7119ab32f9244c8a33792b4896ddeffc5d4b7be9f1d881fba5179de155f11845f510e455be59fb92e
diff --git a/dev-python/gpep517/gpep517-13.ebuild b/dev-python/gpep517/gpep517-13.ebuild
deleted file mode 100644
index 8933d353b361..000000000000
--- a/dev-python/gpep517/gpep517-13.ebuild
+++ /dev/null
@@ -1,41 +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_{9..11} )
-
-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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- >=dev-python/installer-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/tomli-1.2.3[${PYTHON_USEDEP}]
-"
-
-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-15.ebuild b/dev-python/gpep517/gpep517-15.ebuild
new file mode 100644
index 000000000000..5ea577490b8a
--- /dev/null
+++ b/dev-python/gpep517/gpep517-15.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 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_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 7b20b54bb936..6effef3aebdb 100644
--- a/dev-python/graph-tool/Manifest
+++ b/dev-python/graph-tool/Manifest
@@ -1 +1 @@
-DIST graph-tool-2.45.tar.bz2 15156784 BLAKE2B b9086e5545ace668f703bf06363a382fab734a63d5684d44b62407a06a0464df6a4a9c8c7ccd26e53118c1d24469ed2eb4670939dc0889fafe2f73a2c176101b SHA512 46a4a3a22033c74c69e0ba5ce8f0856d2f35934d52850ef4a542384c8fd327daf56341675a3299a8db87d4a227b5583f0564f8917ecf28081cb1dd4091563490
+DIST graph-tool-2.58.tar.bz2 15189499 BLAKE2B c3137df7e2c49bb453969f6355bda66090daaa993085ccffd0b055e6b6f55e5b7f13d851d860aaed08d961e47df360e88194cde6eced50a1d3e40701c9c823f2 SHA512 89d62c865ab7a2ade1fabf27fef3c74e7bc9fa85a25e3094941d9d7f1824dc2e426eae7a62660d57140c54bf6fefd07673ab9ec3a72ad05c63c84a7da9ba2ffa
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
new file mode 100644
index 000000000000..bac83a8c0337
--- /dev/null
+++ b/dev-python/graph-tool/files/0001-Fix-compilation-with-boost-1.83-and-boost-1.76.patch
@@ -0,0 +1,28 @@
+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.45.ebuild b/dev-python/graph-tool/graph-tool-2.45.ebuild
deleted file mode 100644
index 3d09522b7aec..000000000000
--- a/dev-python/graph-tool/graph-tool-2.45.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-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"
-
-# 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.58.ebuild b/dev-python/graph-tool/graph-tool-2.58.ebuild
new file mode 100644
index 000000000000..002fda98dac3
--- /dev/null
+++ b/dev-python/graph-tool/graph-tool-2.58.ebuild
@@ -0,0 +1,88 @@
+# 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-9999.ebuild b/dev-python/graph-tool/graph-tool-9999.ebuild
index 3d09522b7aec..b61774538a69 100644
--- a/dev-python/graph-tool/graph-tool-9999.ebuild
+++ b/dev-python/graph-tool/graph-tool-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit check-reqs python-r1 toolchain-funcs
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/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..0c14673b20f1
--- /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..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"
+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/graphviz/metadata.xml b/dev-python/graphviz/metadata.xml
index b806233b4cf6..a16a2d40fe06 100644
--- a/dev-python/graphviz/metadata.xml
+++ b/dev-python/graphviz/metadata.xml
@@ -13,5 +13,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">graphviz</remote-id>
+ <remote-id type="github">xflr6/graphviz</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/greenlet/Manifest b/dev-python/greenlet/Manifest
index 2707a2505a12..ee00b5b36e50 100644
--- a/dev-python/greenlet/Manifest
+++ b/dev-python/greenlet/Manifest
@@ -1,3 +1,3 @@
-DIST greenlet-1.1.3.tar.gz 91624 BLAKE2B 88ba03f7a5acc7de2ab757a04667de9774ec8979b0f3d45131f8174a4ea9a608e359e4d8ce2f7e57c58ce4844e58a082d35d983fd583fc6f53ffa38363fb7863 SHA512 9ece4a4e758de963c96c7cbd33aec33fa11ddd3d46b8dc4194e14d534f8f68787df551cb1e3be57fc8a65fbd8d5daf8fee59567927f6f272535dd7c720baa4f4
-DIST greenlet-2.0.1.tar.gz 163824 BLAKE2B 4b06e3b95399f38dc529b06656dfee0347eb72cbce4ab62d4655d017457bf9df234d2767c1296705ba23b0d9f6476654327766efd329e48459c311600f33248a SHA512 3f4ccc761f64c7f10946d2fa965ef847e814ca1b6f57dc0df262cb6eed24148b44c6629770bf038656a9e3706e45553080844dfc841643604bd4776ca7ca03a2
DIST greenlet-2.0.2.tar.gz 164980 BLAKE2B 1afa8390e96d7eeafd84a4323a4eb9e4b2cad50a3e6654b1609702a5a74dfb5dadc7a1ff81cc8e7718d0587728c2ec944069db8241f1aa0723d2f98e6911ddb6 SHA512 03d0b2764c52524c97930a7bd856a432360a96ddbe3d1f2352ec49750994e6811fd28378f83b96cac91520234d0a6e9e56232ff688c71ff57f6340d3d182635b
+DIST greenlet-3.0.2.tar.gz 175506 BLAKE2B 46064ca54c43b513b274a91b56744afd7fabe7659416938efe11337c5e031dadae2e0ca275df7731180dad799eab5b0c0dfa15d17e977c278a88f698328e57cf SHA512 901e1a918017878b150c845a180ed366f35dbb9d89b155df1dad4e2ee581c4a327ffad9d17ab221172ca151cd460521a7dca48b3ee64a33bf2e442949a30ecb3
+DIST greenlet-3.0.3.tar.gz 182013 BLAKE2B 34ba9f13dd01f5bacedb69952b4d3d08e55eba82d94c5d95cf8bfeb0f1ce94dbde9d62f5e56c33cbf2467d82f6ffd8d05a37048d0292102b1dbb68c67e9398f4 SHA512 20d8818376a200332cbc2c85968317ddf828d2adf3fcc3c53623cd1504ec9a4e4e987e841bd2fe65e934e2b8a5e73a7205847526f0bd196e7afcdf3ae40e9d9b
diff --git a/dev-python/greenlet/files/greenlet-2.0.1-gcc-13.patch b/dev-python/greenlet/files/greenlet-2.0.1-gcc-13.patch
deleted file mode 100644
index 4afbca8f1479..000000000000
--- a/dev-python/greenlet/files/greenlet-2.0.1-gcc-13.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-https://github.com/python-greenlet/greenlet/commit/3be53248cd1f8e4859563b84b04054de7a9fcad2
-https://github.com/python-greenlet/greenlet/commit/86c4e2a98f1bd27eff38edd5dba8c10300bc8e64
-
-From 3be53248cd1f8e4859563b84b04054de7a9fcad2 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 16 Jan 2023 21:37:26 -0800
-Subject: [PATCH] greenlet: Drop using 'register' storage class keyword
-
-This has been dropped in c++17 and newer
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/src/greenlet/platform/switch_riscv_unix.h
-+++ b/src/greenlet/platform/switch_riscv_unix.h
-@@ -11,8 +11,8 @@
- static int
- slp_switch(void)
- {
-- register int ret;
-- register long *stackref, stsizediff;
-+ int ret;
-+ long *stackref, stsizediff;
- __asm__ volatile ("" : : : REGS_TO_SAVE);
- __asm__ volatile ("mv %0, sp" : "=r" (stackref) : );
- {
-
-From 86c4e2a98f1bd27eff38edd5dba8c10300bc8e64 Mon Sep 17 00:00:00 2001
-From: Jason Madden <jamadden@gmail.com>
-Date: Thu, 26 Jan 2023 12:58:46 -0600
-Subject: [PATCH] Add the rebind member to the allocator.
-
-Based on, and fixes #335
---- a/src/greenlet/greenlet_allocator.hpp
-+++ b/src/greenlet/greenlet_allocator.hpp
-@@ -51,6 +51,11 @@ namespace greenlet
- else
- PyMem_Free(p);
- }
-+ // This member is deprecated in C++17 and removed in C++20
-+ template< class U >
-+ struct rebind {
-+ typedef PythonAllocator<U> other;
-+ };
-
- };
- }
-
-
diff --git a/dev-python/greenlet/greenlet-1.1.3.ebuild b/dev-python/greenlet/greenlet-1.1.3.ebuild
deleted file mode 100644
index 03a481f04531..000000000000
--- a/dev-python/greenlet/greenlet-1.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
-# Note: greenlet is built-in in pypy
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Lightweight in-process concurrent programming"
-HOMEPAGE="
- https://greenlet.readthedocs.io/en/latest/
- https://github.com/python-greenlet/greenlet/
- https://pypi.org/project/greenlet/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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"
-
-distutils_enable_sphinx docs
-distutils_enable_tests unittest
-
-python_test() {
- eunittest greenlet.tests
-}
diff --git a/dev-python/greenlet/greenlet-2.0.1-r1.ebuild b/dev-python/greenlet/greenlet-2.0.1-r1.ebuild
deleted file mode 100644
index 2b8702123d9d..000000000000
--- a/dev-python/greenlet/greenlet-2.0.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
-# Note: greenlet is built-in in pypy
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Lightweight in-process concurrent programming"
-HOMEPAGE="
- https://greenlet.readthedocs.io/en/latest/
- https://github.com/python-greenlet/greenlet/
- https://pypi.org/project/greenlet/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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"
-
-PATCHES=(
- "${FILESDIR}"/${P}-gcc-13.patch
-)
-
-distutils_enable_sphinx docs
-distutils_enable_tests unittest
-
-python_test() {
- eunittest greenlet.tests
-}
diff --git a/dev-python/greenlet/greenlet-2.0.1.ebuild b/dev-python/greenlet/greenlet-2.0.1.ebuild
deleted file mode 100644
index d843b4ea57c5..000000000000
--- a/dev-python/greenlet/greenlet-2.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
-# Note: greenlet is built-in in pypy
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Lightweight in-process concurrent programming"
-HOMEPAGE="
- https://greenlet.readthedocs.io/en/latest/
- https://github.com/python-greenlet/greenlet/
- https://pypi.org/project/greenlet/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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"
-
-distutils_enable_sphinx docs
-distutils_enable_tests unittest
-
-python_test() {
- eunittest greenlet.tests
-}
diff --git a/dev-python/greenlet/greenlet-2.0.2.ebuild b/dev-python/greenlet/greenlet-2.0.2.ebuild
index d8251e3aed7e..f404b9d3bb61 100644
--- a/dev-python/greenlet/greenlet-2.0.2.ebuild
+++ b/dev-python/greenlet/greenlet-2.0.2.ebuild
@@ -3,11 +3,12 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
# Note: greenlet is built-in in pypy
PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Lightweight in-process concurrent programming"
HOMEPAGE="
@@ -15,18 +16,24 @@ HOMEPAGE="
https://github.com/python-greenlet/greenlet/
https://pypi.org/project/greenlet/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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"
+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_flags[.]append.*:pass:' setup.py || die
+ sed -i -e 's:global_compile_args[.]append.*:pass:' setup.py || die
distutils-r1_src_prepare
}
diff --git a/dev-python/greenlet/greenlet-3.0.2.ebuild b/dev-python/greenlet/greenlet-3.0.2.ebuild
new file mode 100644
index 000000000000..5a3353d1444b
--- /dev/null
+++ b/dev-python/greenlet/greenlet-3.0.2.ebuild
@@ -0,0 +1,43 @@
+# 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.ebuild b/dev-python/greenlet/greenlet-3.0.3.ebuild
new file mode 100644
index 000000000000..876361e966d7
--- /dev/null
+++ b/dev-python/greenlet/greenlet-3.0.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_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 \
+ 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/Manifest b/dev-python/greenstalk/Manifest
index 0c35653c6a48..c85a0b9ae97e 100644
--- a/dev-python/greenstalk/Manifest
+++ b/dev-python/greenstalk/Manifest
@@ -1 +1 @@
-DIST greenstalk-2.0.0.gh.tar.gz 13280 BLAKE2B 510b84d7dd48e0f5c9fb46ec0158473623a9e4c570e1c72db45802fce7a61b99c8f15f87d6711fa7540e6e2b6d4a846194adc28e2696400c45dc6692747f41fb SHA512 4d338bccb09b7c17c0216ce9cc4c1c9c896d15327053adc248404140ded27df6969fc8f0807120ec9417676ead57395185fb9fc5d826f49a1a1ee473aabbb048
+DIST greenstalk-2.0.2.gh.tar.gz 14352 BLAKE2B a938d5a3b9a55bd7ad50001c6fef7c34ac9ddc8a4425dd0880f2a1c904bf67d459eea2e4935748aa8bf419fa4eba23e570a23e59c44c05e9ae15ccde175efd35 SHA512 50016b9cfe01c5ab9d50f4a5766a57a436ca7a4d3488dcf0db6ea54c1b3880574ccb9c56664dc62ca6c0173b37ddfd1680af765ce7df5b5d84d0ddeab3ae2b7c
diff --git a/dev-python/greenstalk/greenstalk-2.0.0-r1.ebuild b/dev-python/greenstalk/greenstalk-2.0.0-r1.ebuild
deleted file mode 100644
index bd61175a239f..000000000000
--- a/dev-python/greenstalk/greenstalk-2.0.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Python 3 client for the beanstalkd work queue"
-HOMEPAGE="https://greenstalk.readthedocs.io/ https://github.com/justinmayhew/greenstalk"
-SRC_URI="
- https://github.com/justinmayhew/greenstalk/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND="test? ( app-misc/beanstalkd )"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest tests.py
-}
diff --git a/dev-python/greenstalk/greenstalk-2.0.2.ebuild b/dev-python/greenstalk/greenstalk-2.0.2.ebuild
new file mode 100644
index 000000000000..85a3e4056252
--- /dev/null
+++ b/dev-python/greenstalk/greenstalk-2.0.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 3 client for the beanstalkd work queue"
+HOMEPAGE="
+ https://greenstalk.readthedocs.io/
+ https://github.com/justinmayhew/greenstalk/
+ https://pypi.org/project/greenstalk/
+"
+SRC_URI="
+ https://github.com/justinmayhew/greenstalk/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ test? (
+ app-misc/beanstalkd
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest tests.py
+}
diff --git a/dev-python/griffe/Manifest b/dev-python/griffe/Manifest
new file mode 100644
index 000000000000..a18d27378877
--- /dev/null
+++ b/dev-python/griffe/Manifest
@@ -0,0 +1,2 @@
+DIST griffe-0.42.2.gh.tar.gz 225772 BLAKE2B 43086f43a2e39ae71dfc76e34d99b7c66aa8092000367bb27a6da63a5568d4f89fd2d348266f657356555ca690b77429a0bf30c8eac48df17fa4bcba08dec1a1 SHA512 ca1a4847e4f96e2f8db0d617c378a1858c4f45b332a20aeea62ed9f6b1cfeca9c0f692472227e05f2576c52f777fd438ecacb888ea936a2e5dcf4b69088d8343
+DIST griffe-0.43.0.gh.tar.gz 226278 BLAKE2B c73edf303bb44ac714aca8b9516b332183d1b2d8465aabf3725ce3eabf44325660b05a183492535892cdd227065a41d4d8f808ddfb0204641b12495488bb3862 SHA512 34dbe13414d8f6df8a7fe486f542e195a235644c28b55717fe8abb7197780f51c05ff77a633f236cb09d5072a181fb5bac06e962db1d7d820fcd4316f5cdd471
diff --git a/dev-python/griffe/griffe-0.42.2.ebuild b/dev-python/griffe/griffe-0.42.2.ebuild
new file mode 100644
index 000000000000..73f99c53e1af
--- /dev/null
+++ b/dev-python/griffe/griffe-0.42.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=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.43.0.ebuild b/dev-python/griffe/griffe-0.43.0.ebuild
new file mode 100644
index 000000000000..73f99c53e1af
--- /dev/null
+++ b/dev-python/griffe/griffe-0.43.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..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/metadata.xml b/dev-python/griffe/metadata.xml
new file mode 100644
index 000000000000..494b1dde9407
--- /dev/null
+++ b/dev-python/griffe/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">griffe</remote-id>
+ <remote-id type="github">mkdocstrings/griffe</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/grpcio-testing/grpcio-testing-1.51.0.ebuild b/dev-python/grpcio-testing/grpcio-testing-1.51.0.ebuild
index 849836612a88..7dd1d26fa299 100644
--- a/dev-python/grpcio-testing/grpcio-testing-1.51.0.ebuild
+++ b/dev-python/grpcio-testing/grpcio-testing-1.51.0.ebuild
@@ -5,12 +5,12 @@ EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Testing utilities for gRPC Python"
HOMEPAGE="https://grpc.io"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
diff --git a/dev-python/grpcio-testing/metadata.xml b/dev-python/grpcio-testing/metadata.xml
index c0bd21d5ddf3..a0b62eae0c7a 100644
--- a/dev-python/grpcio-testing/metadata.xml
+++ b/dev-python/grpcio-testing/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>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">grpc/grpc</remote-id>
<remote-id type="pypi">grpcio-testing</remote-id>
diff --git a/dev-python/grpcio-tools/grpcio-tools-1.51.0.ebuild b/dev-python/grpcio-tools/grpcio-tools-1.51.0.ebuild
index aacd0f046b71..92eb5d244d7a 100644
--- a/dev-python/grpcio-tools/grpcio-tools-1.51.0.ebuild
+++ b/dev-python/grpcio-tools/grpcio-tools-1.51.0.ebuild
@@ -5,12 +5,12 @@ EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
-inherit distutils-r1 multiprocessing prefix
+inherit distutils-r1 multiprocessing prefix pypi
DESCRIPTION="Protobuf code generator for gRPC"
HOMEPAGE="https://grpc.io"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
diff --git a/dev-python/grpcio-tools/metadata.xml b/dev-python/grpcio-tools/metadata.xml
index 3f3f6b68923f..45243c46c8bf 100644
--- a/dev-python/grpcio-tools/metadata.xml
+++ b/dev-python/grpcio-tools/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>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">grpc/grpc</remote-id>
<remote-id type="pypi">grpcio-tools</remote-id>
diff --git a/dev-python/grpcio/files/1.51.0-cython3.patch b/dev-python/grpcio/files/1.51.0-cython3.patch
new file mode 100644
index 000000000000..97e70e150455
--- /dev/null
+++ b/dev-python/grpcio/files/1.51.0-cython3.patch
@@ -0,0 +1,150 @@
+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/grpcio-1.51.0-r1.ebuild b/dev-python/grpcio/grpcio-1.51.0-r1.ebuild
new file mode 100644
index 000000000000..d6ca281e1887
--- /dev/null
+++ b/dev-python/grpcio/grpcio-1.51.0-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_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit distutils-r1 flag-o-matic 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() {
+ # -Werror=odr -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/856775
+ # https://github.com/grpc/grpc/issues/36158
+ filter-lto
+
+ # 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 a4c92cf1b712..000000000000
--- a/dev-python/grpcio/grpcio-1.51.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 multiprocessing prefix
-
-DESCRIPTION="High-performance RPC framework (python libraries)"
-HOMEPAGE="https://grpc.io"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-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/cython-0.28.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
index 767bf123003c..e29d9f9a4bd2 100644
--- a/dev-python/grpcio/metadata.xml
+++ b/dev-python/grpcio/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>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">grpc/grpc</remote-id>
<remote-id type="pypi">grpcio</remote-id>
diff --git a/dev-python/gsd/Manifest b/dev-python/gsd/Manifest
index 101cdb8785db..788096f40a97 100644
--- a/dev-python/gsd/Manifest
+++ b/dev-python/gsd/Manifest
@@ -1 +1 @@
-DIST gsd-v2.7.0.tar.gz 106584 BLAKE2B 9a37d04f2c975d84f8f2d23080cd934bcec3025e8a3047483a809527bc51424c5729966482bafe9c996c8e4c7c7f1594fc8292316f46dd676e6a88ad7b0360c2 SHA512 042c3ce97183068031a754e3e5676effd4d1e30406ac24e06510c72d2ceef22fdb8c62866cf7884aa578f18eadb1f7cb5385ebddfc8ede426a4fee6ecb7fb9fa
+DIST gsd-3.2.1.tar.gz 108463 BLAKE2B d944a1a7f991e0894bfa1e42aa891ed02f0bbbf91efda39ab45b87f21c17bcc16251a51a34682efb67b6b85cf7fc9d6d92108d85d9643ab8e19aed584397779f SHA512 e889b72d3857d41e68d9515d5857d99f8f6ceead4b8a43019ddf11c4600054c7af3e046792ce154031bfb439c57ecd9d0e553a574cbbf7bce2578b90da631230
diff --git a/dev-python/gsd/gsd-2.7.0.ebuild b/dev-python/gsd/gsd-2.7.0.ebuild
deleted file mode 100644
index 6a8af0f7eea3..000000000000
--- a/dev-python/gsd/gsd-2.7.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_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${P/-/-v}
-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}/${MY_P}.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- >=dev-python/numpy-1.23.4[${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..367cf1319642
--- /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..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/gssapi/Manifest b/dev-python/gssapi/Manifest
index edea378bf1b1..c3e1194be67c 100644
--- a/dev-python/gssapi/Manifest
+++ b/dev-python/gssapi/Manifest
@@ -1 +1 @@
-DIST gssapi-1.8.2.gh.tar.gz 112521 BLAKE2B d7e14c73c346066a58ae3b3cf1faeec2ef7df3d4da3f2c9e3198928225d81d99466185a9dfa06a59ae50beeeed58d4e73f8a668e1ac605e5b9806ed7a0019831 SHA512 6587f1947dc396bf608ba71e77388e6f7d161753005b9b82ea9f3b174c898bb18409a27e9aa035fc782e15fcd2efe7ca5c497d4687d69023034cea59d6a003df
+DIST gssapi-1.8.3.gh.tar.gz 113958 BLAKE2B e830ae4ee0f22ef85c4ae193cb62ad3ebec222cd4ea9c9b9531b621b358bc71a9e46440ed673f888837a5d42746a6c9d4033fed1db5f1dc044e982cd5d63e3d8 SHA512 f08a318beac4b2807f33f5c30ccdafeafed0971537456a477138fe783f7fd9f05ab59cff74030c3041504302b0922307e5c391cd5d0e8b4f370f0036a5ef45b8
diff --git a/dev-python/gssapi/gssapi-1.8.2.ebuild b/dev-python/gssapi/gssapi-1.8.2.ebuild
deleted file mode 100644
index 6fc805b8ea5b..000000000000
--- a/dev-python/gssapi/gssapi-1.8.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low and high level wrappers around the GSSAPI C libraries"
-HOMEPAGE="https://github.com/pythongssapi/python-gssapi https://pypi.org/project/gssapi/"
-SRC_URI="
- https://github.com/pythongssapi/python-gssapi/releases/download/v${PV}/python-${P}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}"/python-${P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/decorator[${PYTHON_USEDEP}]
- virtual/krb5
-"
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- virtual/krb5
- test? (
- dev-python/k5test[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- cd "${T}" || die
- epytest --pyargs gssapi
-}
diff --git a/dev-python/gssapi/gssapi-1.8.3-r1.ebuild b/dev-python/gssapi/gssapi-1.8.3-r1.ebuild
new file mode 100644
index 000000000000..544bf665fd25
--- /dev/null
+++ b/dev-python/gssapi/gssapi-1.8.3-r1.ebuild
@@ -0,0 +1,49 @@
+# 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="Low and high level wrappers around the GSSAPI C libraries"
+HOMEPAGE="
+ https://github.com/pythongssapi/python-gssapi/
+ https://pypi.org/project/gssapi/
+"
+SRC_URI="
+ https://github.com/pythongssapi/python-gssapi/releases/download/v${PV}/python-${P}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}"/python-${P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ dev-python/decorator[${PYTHON_USEDEP}]
+ virtual/krb5
+"
+
+BDEPEND="
+ || (
+ >=dev-python/cython-3.0.2-r1[${PYTHON_USEDEP}]
+ <dev-python/cython-3[${PYTHON_USEDEP}]
+ )
+ virtual/krb5
+ test? (
+ dev-python/k5test[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ cd "${T}" || die
+ epytest --pyargs gssapi
+}
diff --git a/dev-python/gst-python/Manifest b/dev-python/gst-python/Manifest
index 348ce7b2b770..79e1a599f779 100644
--- a/dev-python/gst-python/Manifest
+++ b/dev-python/gst-python/Manifest
@@ -1,3 +1,3 @@
-DIST gst-python-1.20.3.tar.xz 155504 BLAKE2B 2991f106a53da6e968bdbf2b081c464e92902e4b5ed57e7a14ef1c1556ba18d2e63f4402e703953513f68c36405478b0da05f283602f564bec16cbe72b9e686f SHA512 987b444d78b5fb206457245b46b843db9372f9bd316abc57ecd8d50488ef734707a08ac88a9b9d58e2db113e67ce5b524aad82c0086471494c2177c2e272de6e
-DIST gst-python-1.20.4.tar.xz 158816 BLAKE2B cf163882a63db3ef4b9bf5910653a2f0fe5a911f4002b5706aeeef1dae14b6a5bcd0dca17889424c91874bd7e787c137b4d1bbe30471593b0bd01cb116ade294 SHA512 1eaf02dd2733c31eec45d999a23c3e35ff7ab71ef88524cb0aac666a7d2972fa7cd49528d7f3e32364c6a3d7386e14b6b4e43c6d607b751938a0345f3c540260
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.11.tar.xz 118072 BLAKE2B 7133bdc6462ed54669b18f0650ec9e9d5c90d406eadedccc2f125c01b05366c8cfd89ae17178a8197fd4c251d53fd848bdb498ff377076e402983a404f16c186 SHA512 749a3080ad56edfee66c6f24ab106b07cd2a7d6e5f704147a69e12fc0a1da9d9b8d8337c36ce62af459577df3f0804c60cbeb4a211454277ad0a46fd89edcfa5
diff --git a/dev-python/gst-python/gst-python-1.20.3.ebuild b/dev-python/gst-python/gst-python-1.20.3.ebuild
deleted file mode 100644
index 535fbbef7f82..000000000000
--- a/dev-python/gst-python/gst-python-1.20.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_{9..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 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
-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.4.ebuild b/dev-python/gst-python/gst-python-1.20.4.ebuild
deleted file mode 100644
index 888139a2ec5a..000000000000
--- a/dev-python/gst-python/gst-python-1.20.4.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_{9..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 ~x86-solaris"
-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.5.ebuild b/dev-python/gst-python/gst-python-1.20.5.ebuild
index beb5af9c489f..e1c9054fd9b1 100644
--- a/dev-python/gst-python/gst-python-1.20.5.ebuild
+++ b/dev-python/gst-python/gst-python-1.20.5.ebuild
@@ -13,7 +13,7 @@ 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 ~x86-solaris"
+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}
diff --git a/dev-python/gst-python/gst-python-1.20.6.ebuild b/dev-python/gst-python/gst-python-1.20.6.ebuild
new file mode 100644
index 000000000000..e1c9054fd9b1
--- /dev/null
+++ b/dev-python/gst-python/gst-python-1.20.6.ebuild
@@ -0,0 +1,63 @@
+# 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..ec5a82c8ee8e
--- /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..12} )
+
+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 3c0363962dd1..218781eb61b4 100644
--- a/dev-python/guessit/Manifest
+++ b/dev-python/guessit/Manifest
@@ -1 +1 @@
-DIST guessit-3.5.0.tar.gz 158094 BLAKE2B 2091fa8b0066dda70e1a504fd4aa8b7b4f2ba9b3a88f93b22aff0d084511d9a1c93e052558fe6791021e4c44a95e9adc5e7372c937e0e438b419417ff88d2fc0 SHA512 072b6874449679ed34eeb19fe70502abbec3a4284c2ba40e3e69861ce2b9e92f4ff8146840f7fc25079efed62f048c9e25ee3ddf5833b192480c512b9c93905a
+DIST guessit-3.8.0.tar.gz 271285 BLAKE2B 67ff29739839c79b95ad6022ad0329698af62abcbbbed7e9f52ba1c2e60f5c69defda5e87d97607d3eaeeb7668a9f4b82de05140f23555c800731c2236b0f7e6 SHA512 968e8f27dd41dcaece27444cd5117990726ef73467cedbc008dcf0fe2d1f2010209253e2fa6d645e30d9eaffe613080f1c2d77bda772227c1e6e04910d58f7ad
diff --git a/dev-python/guessit/guessit-3.5.0.ebuild b/dev-python/guessit/guessit-3.5.0.ebuild
deleted file mode 100644
index 27f51c27fb7a..000000000000
--- a/dev-python/guessit/guessit-3.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python library for guessing information from video filenames"
-HOMEPAGE="
- https://github.com/guessit-io/guessit/
- https://pypi.org/project/guessit/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-
-RDEPEND="
- >=dev-python/babelfish-0.5.5[${PYTHON_USEDEP}]
- >=dev-python/rebulk-3[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/importlib_resources[${PYTHON_USEDEP}]
- ' 3.8)
-"
-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..04ce7f484f3d
--- /dev/null
+++ b/dev-python/guessit/guessit-3.8.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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/guzzle_sphinx_theme/guzzle_sphinx_theme-0.7.11-r1.ebuild b/dev-python/guzzle_sphinx_theme/guzzle_sphinx_theme-0.7.11-r1.ebuild
deleted file mode 100644
index 623a5657cb36..000000000000
--- a/dev-python/guzzle_sphinx_theme/guzzle_sphinx_theme-0.7.11-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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Sphinx theme used by Guzzle"
-HOMEPAGE="https://github.com/guzzle/guzzle_sphinx_theme"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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/guzzle_sphinx_theme-0.7.11-r2.ebuild b/dev-python/guzzle_sphinx_theme/guzzle_sphinx_theme-0.7.11-r2.ebuild
index 93285b48b6f0..5ca2bfca23bd 100644
--- 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
@@ -6,14 +6,13 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Sphinx theme used by Guzzle"
HOMEPAGE="https://github.com/guzzle/guzzle_sphinx_theme"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="dev-python/sphinx[${PYTHON_USEDEP}]"
diff --git a/dev-python/h11/Manifest b/dev-python/h11/Manifest
index 7ab504667b28..884f486ae80b 100644
--- a/dev-python/h11/Manifest
+++ b/dev-python/h11/Manifest
@@ -1,2 +1 @@
-DIST h11-0.13.0.tar.gz 100165 BLAKE2B 6cb610afa474f5945151300e6ec6c2860e8b959b9ab0224b58fb047f3fa0b417499adb0119b7b7727b9ebfb4b60360fef78843fde41935616784bbf450605503 SHA512 c3a16dd66287ab6491b664aab9d72e14f1e61950c19182d60e195b81b2857e47157c38137b2ee2a9cd35d9d54997f554f768a3933051030895ddf7bc5b813e02
DIST h11-0.14.0.tar.gz 100418 BLAKE2B 09f0dfe4e1d3d117f772ec914cddb4af5c09f07269e0b148f78d95b3b177cb9c69f6406c518ec0ad81ef960c199749317141e50c38cdeee0faf24e1f9333ab27 SHA512 6146f6441ce62ea46d824a86c1687401224ea6084ca2703b9c841dce51cdfb5de49b39a4f4a7e95efae40ed83012ea4a8641700281f728c2f580a90ce42d82a5
diff --git a/dev-python/h11/h11-0.13.0-r1.ebuild b/dev-python/h11/h11-0.13.0-r1.ebuild
deleted file mode 100644
index 14b252154561..000000000000
--- a/dev-python/h11/h11-0.13.0-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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A pure-Python implementation of HTTP/1.1 inspired by hyper-h2"
-HOMEPAGE="
- https://h11.readthedocs.io/en/latest/
- https://github.com/python-hyper/h11/
- https://pypi.org/project/h11/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/h11/h11-0.14.0.ebuild b/dev-python/h11/h11-0.14.0.ebuild
index 14b252154561..dfa77d65629a 100644
--- a/dev-python/h11/h11-0.14.0.ebuild
+++ b/dev-python/h11/h11-0.14.0.ebuild
@@ -4,9 +4,9 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A pure-Python implementation of HTTP/1.1 inspired by hyper-h2"
HOMEPAGE="
@@ -14,10 +14,9 @@ HOMEPAGE="
https://github.com/python-hyper/h11/
https://pypi.org/project/h11/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~mips 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/h2/Manifest b/dev-python/h2/Manifest
index d54c669d7be3..59642403e537 100644
--- a/dev-python/h2/Manifest
+++ b/dev-python/h2/Manifest
@@ -1,2 +1 @@
DIST h2-4.1.0.tar.gz 2143812 BLAKE2B b9d9a771340b4bde1675b9fd65c242732a1a262456f84a409662cf2b57326e24e0583160ba0531c0b105b79342578714127dddb560d2a27de58af34d1052c698 SHA512 4e9cf88b3ae702a8a42bded775ad337809787fe8172d501c230d55abbf1edd764acf3b227f2e58756d882499661ffcf6bbdd4812a4d938c04fac3f1aa2390b28
-DIST hyper-h2-3.2.0.tar.gz 2203333 BLAKE2B 245bab162852070e850613c41162c75efe5e43535945dacf448afdc948cade83402f77259aa46f375d0772a5287e42d8842b1259cb36392cc8fc222dec7cef75 SHA512 103a4ea2cd29037ce03ae676864125b4111c7d31a82bbbe7028557da886d88fb5363d885f08d5d3f68dfa29013b7b03350cc0cb4d9dddf32735e98dae5d7fc7c
diff --git a/dev-python/h2/files/h2-4.1.0-python3.11-tests.patch b/dev-python/h2/files/h2-4.1.0-python3.11-tests.patch
new file mode 100644
index 000000000000..c444e6a5007a
--- /dev/null
+++ b/dev-python/h2/files/h2-4.1.0-python3.11-tests.patch
@@ -0,0 +1,104 @@
+https://github.com/python-hyper/h2/commit/eabe727282e7a7aa3254773292f86cf341bdc597
+
+From eabe727282e7a7aa3254773292f86cf341bdc597 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= <zebob.m@gmail.com>
+Date: Sun, 3 Jul 2022 12:05:05 +0200
+Subject: [PATCH] Fix repr() checks for Python 3.11
+
+In Python 3.11, repr() was modified, this commit fixes the
+assertions to match the new repr() behavior.
+
+Fix #1268
+--- a/test/test_events.py
++++ b/test/test_events.py
+@@ -207,11 +207,18 @@ def test_remotesettingschanged_repr(self):
+ ),
+ }
+
+- assert repr(e) == (
+- "<RemoteSettingsChanged changed_settings:{ChangedSetting("
+- "setting=SettingCodes.INITIAL_WINDOW_SIZE, original_value=65536, "
+- "new_value=32768)}>"
+- )
++ if sys.version_info >= (3, 11):
++ assert repr(e) == (
++ "<RemoteSettingsChanged changed_settings:{ChangedSetting("
++ "setting=4, original_value=65536, "
++ "new_value=32768)}>"
++ )
++ else:
++ assert repr(e) == (
++ "<RemoteSettingsChanged changed_settings:{ChangedSetting("
++ "setting=SettingCodes.INITIAL_WINDOW_SIZE, original_value=65536, "
++ "new_value=32768)}>"
++ )
+
+ def test_pingreceived_repr(self):
+ """
+@@ -249,10 +256,16 @@ def test_streamreset_repr(self):
+ e.error_code = h2.errors.ErrorCodes.ENHANCE_YOUR_CALM
+ e.remote_reset = False
+
+- assert repr(e) == (
+- "<StreamReset stream_id:919, "
+- "error_code:ErrorCodes.ENHANCE_YOUR_CALM, remote_reset:False>"
+- )
++ if sys.version_info >= (3, 11):
++ assert repr(e) == (
++ "<StreamReset stream_id:919, "
++ "error_code:11, remote_reset:False>"
++ )
++ else:
++ assert repr(e) == (
++ "<StreamReset stream_id:919, "
++ "error_code:ErrorCodes.ENHANCE_YOUR_CALM, remote_reset:False>"
++ )
+
+ def test_pushedstreamreceived_repr(self):
+ """
+@@ -284,11 +297,18 @@ def test_settingsacknowledged_repr(self):
+ ),
+ }
+
+- assert repr(e) == (
+- "<SettingsAcknowledged changed_settings:{ChangedSetting("
+- "setting=SettingCodes.INITIAL_WINDOW_SIZE, original_value=65536, "
+- "new_value=32768)}>"
+- )
++ if sys.version_info >= (3, 11):
++ assert repr(e) == (
++ "<SettingsAcknowledged changed_settings:{ChangedSetting("
++ "setting=4, original_value=65536, "
++ "new_value=32768)}>"
++ )
++ else:
++ assert repr(e) == (
++ "<SettingsAcknowledged changed_settings:{ChangedSetting("
++ "setting=SettingCodes.INITIAL_WINDOW_SIZE, original_value=65536, "
++ "new_value=32768)}>"
++ )
+
+ def test_priorityupdated_repr(self):
+ """
+@@ -318,10 +338,16 @@ def test_connectionterminated_repr(self, additional_data, data_repr):
+ e.last_stream_id = 33
+ e.additional_data = additional_data
+
+- assert repr(e) == (
+- "<ConnectionTerminated error_code:ErrorCodes.INADEQUATE_SECURITY, "
+- "last_stream_id:33, additional_data:%s>" % data_repr
+- )
++ if sys.version_info >= (3, 11):
++ assert repr(e) == (
++ "<ConnectionTerminated error_code:12, "
++ "last_stream_id:33, additional_data:%s>" % data_repr
++ )
++ else:
++ assert repr(e) == (
++ "<ConnectionTerminated error_code:ErrorCodes.INADEQUATE_SECURITY, "
++ "last_stream_id:33, additional_data:%s>" % data_repr
++ )
+
+ def test_alternativeserviceavailable_repr(self):
+ """
+
diff --git a/dev-python/h2/files/hyper-h2-3.2.0-failed-healthcheck.patch b/dev-python/h2/files/hyper-h2-3.2.0-failed-healthcheck.patch
deleted file mode 100644
index 04adc2748c21..000000000000
--- a/dev-python/h2/files/hyper-h2-3.2.0-failed-healthcheck.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-diff --git a/test/test_basic_logic.py b/test/test_basic_logic.py
-index fb54fe50..8c8f3b7d 100644
---- a/test/test_basic_logic.py
-+++ b/test/test_basic_logic.py
-@@ -21,7 +21,7 @@
-
- from . import helpers
-
--from hypothesis import given
-+from hypothesis import given, settings, HealthCheck
- from hypothesis.strategies import integers
-
-
-@@ -790,6 +790,7 @@ def test_headers_are_lowercase(self, frame_factory):
- assert c.data_to_send() == expected_frame.serialize()
-
- @given(frame_size=integers(min_value=2**14, max_value=(2**24 - 1)))
-+ @settings(suppress_health_check=[HealthCheck.function_scoped_fixture])
- def test_changing_max_frame_size(self, frame_factory, frame_size):
- """
- When the user changes the max frame size and the change is ACKed, the
-diff --git a/test/test_flow_control_window.py b/test/test_flow_control_window.py
-index 24b345aa..7a445af1 100644
---- a/test/test_flow_control_window.py
-+++ b/test/test_flow_control_window.py
-@@ -7,7 +7,7 @@
- """
- import pytest
-
--from hypothesis import given
-+from hypothesis import given, settings, HealthCheck
- from hypothesis.strategies import integers
-
- import h2.config
-@@ -715,6 +715,7 @@ def _setup_connection_and_send_headers(self, frame_factory):
- return c
-
- @given(stream_id=integers(max_value=0))
-+ @settings(suppress_health_check=[HealthCheck.function_scoped_fixture])
- def test_must_acknowledge_for_stream(self, frame_factory, stream_id):
- """
- Flow control acknowledgements must be done on a stream ID that is
-@@ -740,6 +741,7 @@ def test_must_acknowledge_for_stream(self, frame_factory, stream_id):
- )
-
- @given(size=integers(max_value=-1))
-+ @settings(suppress_health_check=[HealthCheck.function_scoped_fixture])
- def test_cannot_acknowledge_less_than_zero(self, frame_factory, size):
- """
- The user must acknowledge at least 0 bytes.
-@@ -837,6 +839,7 @@ def test_acknowledging_streams_we_never_saw(self, frame_factory):
- c.acknowledge_received_data(2048, stream_id=101)
-
- @given(integers(min_value=1025, max_value=DEFAULT_FLOW_WINDOW))
-+ @settings(suppress_health_check=[HealthCheck.function_scoped_fixture])
- def test_acknowledging_1024_bytes_when_empty_increments(self,
- frame_factory,
- increment):
-@@ -873,6 +876,7 @@ def test_acknowledging_1024_bytes_when_empty_increments(self,
- # This test needs to use a lower cap, because otherwise the algo will
- # increment the stream window anyway.
- @given(integers(min_value=1025, max_value=(DEFAULT_FLOW_WINDOW // 4) - 1))
-+ @settings(suppress_health_check=[HealthCheck.function_scoped_fixture])
- def test_connection_only_empty(self, frame_factory, increment):
- """
- If the connection flow control window is empty, but the stream flow
-@@ -916,5 +920,6 @@ def test_connection_only_empty(self, frame_factory, increment):
- assert c.data_to_send() == expected_data
-
- @given(integers(min_value=1025, max_value=DEFAULT_FLOW_WINDOW))
-+ @settings(suppress_health_check=[HealthCheck.function_scoped_fixture])
- def test_mixing_update_forms(self, frame_factory, increment):
- """
- If the user mixes ackowledging data with manually incrementing windows,
diff --git a/dev-python/h2/h2-3.2.0-r1.ebuild b/dev-python/h2/h2-3.2.0-r1.ebuild
deleted file mode 100644
index 635a9a4ab055..000000000000
--- a/dev-python/h2/h2-3.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P=hyper-h2-${PV}
-DESCRIPTION="HTTP/2 State-Machine based protocol implementation"
-HOMEPAGE="
- https://python-hyper.org/projects/h2/en/stable/
- https://github.com/python-hyper/h2/
- https://pypi.org/project/h2/
-"
-SRC_URI="https://github.com/python-hyper/${PN}/archive/v${PV}.tar.gz -> ${MY_P}.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/hyperframe-5.2.0[${PYTHON_USEDEP}]
- <dev-python/hyperframe-6.0.0[${PYTHON_USEDEP}]
- >=dev-python/hpack-3.0.0[${PYTHON_USEDEP}]
- <dev-python/hpack-4.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- # From https://github.com/python-hyper/h2/pull/1248
- # Disables some failing healthchecks
- "${FILESDIR}/hyper-h2-3.2.0-failed-healthcheck.patch"
-)
-
-python_test() {
- local EPYTEST_DESELECT=()
- [[ ${EPYTHON} == python3.1[01] ]] && EPYTEST_DESELECT+=(
- # these rely on fixed string repr() and fail because enum repr
- # changed in py3.10
- test/test_basic_logic.py::TestBasicServer::test_stream_repr
- 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
- )
-
- epytest --hypothesis-profile=travis
-}
diff --git a/dev-python/h2/h2-3.2.0.ebuild b/dev-python/h2/h2-3.2.0.ebuild
deleted file mode 100644
index 9906283c1f83..000000000000
--- a/dev-python/h2/h2-3.2.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=7
-
-PYTHON_COMPAT=( python3_{9..10} pypy3 )
-inherit distutils-r1
-
-MY_P=hyper-h2-${PV}
-DESCRIPTION="HTTP/2 State-Machine based protocol implementation"
-HOMEPAGE="https://python-hyper.org/h2/en/stable/ https://pypi.org/project/h2/"
-SRC_URI="https://github.com/python-hyper/${PN}/archive/v${PV}.tar.gz -> ${MY_P}.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/hyperframe-5.2.0[${PYTHON_USEDEP}]
- <dev-python/hyperframe-6.0.0[${PYTHON_USEDEP}]
- >=dev-python/hpack-3.0.0[${PYTHON_USEDEP}]
- <dev-python/hpack-4.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- # From https://github.com/python-hyper/h2/pull/1248
- # Disables some failing healthchecks
- "${FILESDIR}/hyper-h2-3.2.0-failed-healthcheck.patch"
-)
-
-python_test() {
- local deselect=()
- [[ ${EPYTHON} == python3.10 ]] && deselect+=(
- # these rely on fixed string repr() and fail because enum repr
- # changed in py3.10
- test/test_basic_logic.py::TestBasicServer::test_stream_repr
- 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
- )
-
- epytest --hypothesis-profile=travis ${deselect[@]/#/--deselect }
-}
diff --git a/dev-python/h2/h2-4.1.0-r1.ebuild b/dev-python/h2/h2-4.1.0-r1.ebuild
index f04351c78eca..7dee9b75abc0 100644
--- a/dev-python/h2/h2-4.1.0-r1.ebuild
+++ b/dev-python/h2/h2-4.1.0-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
@@ -32,6 +32,10 @@ BDEPEND="
)
"
+PATCHES=(
+ "${FILESDIR}"/${P}-python3.11-tests.patch
+)
+
distutils_enable_tests pytest
python_test() {
diff --git a/dev-python/h2/metadata.xml b/dev-python/h2/metadata.xml
index 37d794cfe83c..0900e446d425 100644
--- a/dev-python/h2/metadata.xml
+++ b/dev-python/h2/metadata.xml
@@ -12,6 +12,7 @@
<name>Cory Benfield</name>
</maintainer>
<remote-id type="pypi">h2</remote-id>
+ <remote-id type="github">python-hyper/h2</remote-id>
</upstream>
<longdescription>A pure-Python implementation of a HTTP/2 protocol stack.
It’s written from the ground up to be embeddable in whatever program
diff --git a/dev-python/h5py/Manifest b/dev-python/h5py/Manifest
index b460c61ffcd6..c732deb78cdf 100644
--- a/dev-python/h5py/Manifest
+++ b/dev-python/h5py/Manifest
@@ -1,2 +1,3 @@
-DIST h5py-3.7.0.tar.gz 392355 BLAKE2B efc974ff14457ef00329c6b2adf5b926e2dff33bbb4b9e9d60773760a973214c5279bfafca87c6fcab02bbffb85b780c708d26fb55a1e7a401d8d676f20acc15 SHA512 c10a9a623c88dbc965238cb2057b8924492c762c29610cfdb24f26f878a7322e414d3e5c90d750c2f5cfe1b4949f884bc17f09a126b01a4721ad6e14761174a2
-DIST h5py-3.8.0.tar.gz 400774 BLAKE2B 2e48991225170fbb728fa55a68aea795db42c7eae605d123a24a59a8730220ddc98e88dfbff60220ce8c6952ca7fc0c3e33d472acae09864a29bfe11d90fcca1 SHA512 13397f66a9fc735e1143eb9e3dd584280e955adf49de467bf56c1a98952903720480ab8d505921b7e22c16453498625ad93421a64e520f15ea3566472849a8fd
+DIST h5py-3.10.0-cython3.patch.xz 3868 BLAKE2B 3c0d952bdca5307ebf0bf878c26b94d0593bb89ac538a51017fb94e1e488bffc1583dcf4e713005b87d1b5e20d7b73043b24d65404faf60fb69515e598ca2133 SHA512 a0a0e3d1a9bccad1c89aa7efe3ba1e080eb70cae1f42f8de1021c212817970eaaa7070131e8e39859eea3c18d6c1243a17e7f53f2179f34ff6c406b315bab8fa
+DIST h5py-3.10.0.tar.gz 403716 BLAKE2B a8e4351a15aee5fe9d23f9c5f9b6ff44e688a391ba17e27338675bde60415c73e3cd97a4a0c05490df849f649d626450d3dbecc9ae6ea3d24d784a0a4aaa1850 SHA512 840d7f2b9b9d5e22e8edae21c84884abec64acdd6c36437a4921ce9dc1b343c55f66f72b699146d71fe55688f6f948787b62335a24906288e9565b2b19b24b01
+DIST h5py-3.11.0.tar.gz 406519 BLAKE2B a5568c96290eee1f6da965174b6fa398f94e2e1825ec4ec50efd856b37ccf2bf634cfeb32101c7c53712fe9c68b0617774e9339a3f0d9373d3df24e6763a20cf SHA512 05d99093d5e7c280779b4167bd3594488dfc348b800da95c2275ddc8d77b4208fd1353942bf8863c4859d0208e8aa8bf84e628b3c5942eb947ecdcf0a7d19e88
diff --git a/dev-python/h5py/files/h5py-3.7.0-types.patch b/dev-python/h5py/files/h5py-3.7.0-types.patch
deleted file mode 100644
index 47058879445f..000000000000
--- a/dev-python/h5py/files/h5py-3.7.0-types.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 873077a5b132c4294f0ea6af2eb29d61352c6688 Mon Sep 17 00:00:00 2001
-From: Gyeongjae Choi <def6488@gmail.com>
-Date: Fri, 2 Sep 2022 07:54:44 +0000
-Subject: [PATCH] Fix incompatible pointer type
-
----
- h5py/_errors.pxd | 2 +-
- h5py/_errors.pyx | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/h5py/_errors.pxd b/h5py/_errors.pxd
-index 13b299e27..e7791a6bd 100644
---- a/h5py/_errors.pxd
-+++ b/h5py/_errors.pxd
-@@ -412,7 +412,7 @@ cdef extern from "hdf5.h":
-
- herr_t H5Eprint(hid_t estack_id, void *stream)
-
-- ctypedef herr_t (*H5E_walk_t)(int n, H5E_error_t *err_desc, void* client_data)
-+ ctypedef herr_t (*H5E_walk_t)(unsigned int n, const H5E_error_t *err_desc, void* client_data)
- herr_t H5Ewalk(hid_t estack_id, H5E_direction_t direction, H5E_walk_t func, void* client_data)
-
- # --- Functions for managing the HDF5 error callback mechanism ---
-diff --git a/h5py/_errors.pyx b/h5py/_errors.pyx
-index 612052fb2..ca7b1c48c 100644
---- a/h5py/_errors.pyx
-+++ b/h5py/_errors.pyx
-@@ -94,7 +94,7 @@ cdef struct err_data_t:
- H5E_error_t err
- int n
-
--cdef herr_t walk_cb(int n, H5E_error_t *desc, void *e) nogil:
-+cdef herr_t walk_cb(unsigned int n, const H5E_error_t *desc, void *e) nogil:
-
- cdef err_data_t *ee = <err_data_t*>e
-
diff --git a/dev-python/h5py/h5py-3.10.0-r1.ebuild b/dev-python/h5py/h5py-3.10.0-r1.ebuild
new file mode 100644
index 000000000000..0f1d899e8504
--- /dev/null
+++ b/dev-python/h5py/h5py-3.10.0-r1.ebuild
@@ -0,0 +1,66 @@
+# 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="
+ >=sci-libs/hdf5-1.10.4:=[hl(+)]
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/numpy-1.17.3[${PYTHON_USEDEP}]
+"
+
+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}]
+ )
+"
+
+PATCHES=(
+ "${WORKDIR}"/${PN}-3.10.0-cython3.patch
+)
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/alabaster
+
+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.ebuild b/dev-python/h5py/h5py-3.11.0.ebuild
new file mode 100644
index 000000000000..31a64dcc7d6d
--- /dev/null
+++ b/dev-python/h5py/h5py-3.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_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="
+ >=sci-libs/hdf5-1.10.4:=[hl(+)]
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/numpy-1.17.3[${PYTHON_USEDEP}]
+"
+
+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/h5py/h5py-3.7.0.ebuild b/dev-python/h5py/h5py-3.7.0.ebuild
deleted file mode 100644
index 4bde6fa3be73..000000000000
--- a/dev-python/h5py/h5py-3.7.0.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple Python interface to HDF5 files"
-HOMEPAGE="
- https://www.h5py.org/
- https://github.com/h5py/h5py/
- https://pypi.org/project/h5py/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~riscv x86 ~amd64-linux ~x86-linux"
-# disable mpi until mpi4py gets python3_8
-#IUSE="examples mpi"
-IUSE="examples"
-
-#RDEPEND="sci-libs/hdf5:=[mpi=,hl(+)]
-DEPEND="
- sci-libs/hdf5:=[hl(+)]
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/numpy-1.14.5[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- dev-python/cython[${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() {
- local PATCHES=(
- "${FILESDIR}"/${P}-types.patch
- )
-
- # 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.8.0.ebuild b/dev-python/h5py/h5py-3.8.0.ebuild
deleted file mode 100644
index 2eb6cdb7db99..000000000000
--- a/dev-python/h5py/h5py-3.8.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple Python interface to HDF5 files"
-HOMEPAGE="
- https://www.h5py.org/
- https://github.com/h5py/h5py/
- https://pypi.org/project/h5py/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~riscv ~x86 ~amd64-linux ~x86-linux"
-# disable mpi until mpi4py gets python3_8
-#IUSE="examples mpi"
-IUSE="examples"
-
-#RDEPEND="sci-libs/hdf5:=[mpi=,hl(+)]
-DEPEND="
- sci-libs/hdf5:=[hl(+)]
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/numpy-1.14.5[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- dev-python/cython[${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/happybase/happybase-1.2.0-r1.ebuild b/dev-python/happybase/happybase-1.2.0-r1.ebuild
new file mode 100644
index 000000000000..3abcbdcf6c5e
--- /dev/null
+++ b/dev-python/happybase/happybase-1.2.0-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2021-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
+
+COMMIT_HASH="f5b6d104140c2be93e4175c0c844aaf094eb43da"
+
+DESCRIPTION="A developer-friendly Python library to interact with Apache HBase"
+HOMEPAGE="
+ https://github.com/python-happybase/happybase
+ https://happybase.readthedocs.io/
+"
+SRC_URI="
+ https://github.com/python-happybase/happybase/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/thriftpy2[${PYTHON_USEDEP}]
+"
+
+# tests require a running thrift server
+RESTRICT="test"
+
+distutils_enable_tests pytest
diff --git a/dev-python/happybase/happybase-1.2.0.ebuild b/dev-python/happybase/happybase-1.2.0.ebuild
deleted file mode 100644
index 6fad91aef385..000000000000
--- a/dev-python/happybase/happybase-1.2.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-COMMIT_HASH="f5b6d104140c2be93e4175c0c844aaf094eb43da"
-
-DESCRIPTION="A developer-friendly Python library to interact with Apache HBase"
-HOMEPAGE="https://github.com/python-happybase/happybase https://happybase.readthedocs.io/"
-SRC_URI="
- https://github.com/python-happybase/happybase/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/thriftpy2[${PYTHON_USEDEP}]
-"
-
-# tests require a running thrift server
-RESTRICT="test"
-
-distutils_enable_tests pytest
diff --git a/dev-python/hatch-fancy-pypi-readme/Manifest b/dev-python/hatch-fancy-pypi-readme/Manifest
index df2b2585a3e6..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-22.8.0.gh.tar.gz 25993 BLAKE2B 9fd04c07040db2371340c18915764c7905dc2eb61ee25d65a82ad1372bf3c0e7e5d45fc6a06e13e5153c1fa65cd61bd54021d2c471ece38f2bd05884d54a4255 SHA512 84982266cbed8cb6803b9e76458e19c374492119a970219338a8ffb6e5f9bae1df3622ac574528e33f4061217938e37a943e12a7494f415d74d872b1a65a53e8
+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-22.8.0.ebuild b/dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-22.8.0.ebuild
deleted file mode 100644
index 25444e129711..000000000000
--- a/dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-22.8.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_{9..11} )
-
-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"
-
-RDEPEND="
- dev-python/hatchling[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.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..a2ca280ae91b
--- /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..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-jupyter-builder/Manifest b/dev-python/hatch-jupyter-builder/Manifest
new file mode 100644
index 000000000000..2f96d02f6119
--- /dev/null
+++ b/dev-python/hatch-jupyter-builder/Manifest
@@ -0,0 +1 @@
+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.9.1.ebuild b/dev-python/hatch-jupyter-builder/hatch-jupyter-builder-0.9.1.ebuild
new file mode 100644
index 000000000000..f682c5d45186
--- /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..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 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-jupyter-builder/metadata.xml b/dev-python/hatch-jupyter-builder/metadata.xml
new file mode 100644
index 000000000000..af696c7da7fe
--- /dev/null
+++ b/dev-python/hatch-jupyter-builder/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@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">hatch-jupyter-builder</remote-id>
+ <remote-id type="github">jupyterlab/hatch-jupyter-builder</remote-id>
+ </upstream>
+</pkgmetadata>
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..37d84a552281
--- /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..12} )
+
+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 ~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 13c3c01cb31e..217ef9dd6465 100644
--- a/dev-python/hatch-vcs/Manifest
+++ b/dev-python/hatch-vcs/Manifest
@@ -1 +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/hatch-vcs-0.3.0.ebuild b/dev-python/hatch-vcs/hatch-vcs-0.3.0.ebuild
deleted file mode 100644
index 56b375eb4b11..000000000000
--- a/dev-python/hatch-vcs/hatch-vcs-0.3.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=hatchling
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-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="amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/setuptools_scm-6.4.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-vcs/git
- )
-"
-
-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
new file mode 100644
index 000000000000..08720366cf75
--- /dev/null
+++ b/dev-python/hatch-vcs/hatch-vcs-0.4.0.ebuild
@@ -0,0 +1,34 @@
+# 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 ~mips 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
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/hatchling/Manifest b/dev-python/hatchling/Manifest
index 3942cce2a0f1..1553bbd52bd4 100644
--- a/dev-python/hatchling/Manifest
+++ b/dev-python/hatchling/Manifest
@@ -1,4 +1,5 @@
-DIST hatch-hatchling-v1.11.1.gh.tar.gz 367624 BLAKE2B 006f9f9ab266eba7b7e489d4359a9ddb17a6e079c31e189662da8c4d090884eeae4bf108301d5c315d823e92cb813841e41211cc55618f4ee9109bccdde61e1e SHA512 7bdf5a2930950503dbe534f6ead724ed84420193ba55137600a5b98a085e94588e333bb5a14ad944746dc400522ebbea4849718686420fd6ed7de3d6e8852d8e
-DIST hatch-hatchling-v1.12.0.gh.tar.gz 379902 BLAKE2B 831ab78bff6a039a1941ca171aaccbfb97d1d31c14505d3dde60ee4283b317cc80b6e6072b63fe9e69cccbf759bf4f7db6a371502451ffa5303547273e8d2341 SHA512 40c1684bcc730e809cdbda9d15494f07bead69b1b4bf9c98a1d2a84d2053bb7b104d6bcab1e72a4de66081dd839b7ccae96d877760353e3528e8676cea5d2a5c
-DIST hatch-hatchling-v1.12.1.gh.tar.gz 380805 BLAKE2B da99130ac6d07517976a6e078e8a35896202e066b124ec96577cc1e57f59a2b3476623b9af15dd9e04b2d69e7219c13ad71e55c3bf02e7beee1a10bf37ee5882 SHA512 8a8cc7fa706dcbb95bf35525351dbf0e5dc61041c7e210d81479df84cd40019b727c4244cb83af93c466f676fcf1279155f470c80e63689af01efcb0f38cdb25
-DIST hatch-hatchling-v1.12.2.gh.tar.gz 381872 BLAKE2B 6290daca1f2d2cd4eb9479b2f34b782881651c0106008c8876c355e5f3aa12cdbd0168765fdc04dd7870f9b88d44cc1be8d3849b2f20393bf64bebe9dbf09dd9 SHA512 74404b3b5369f6a8350cbde9675de6d9d7a72aca721714d47d8c4052c341affed1ebb4f4caae96877c2ccf2c4bab29b8323643e2a3d7de67bfe5888f3a08cdca
+DIST hatch-hatchling-v1.21.1.gh.tar.gz 774577 BLAKE2B 31e2b50598b4fe120ecea407a37e3262876a2ec1e8cf02f272c25838e73afc37f2fef1f8fab08b2e3b83bfd828f6c558ce303b084081b83504343a8bb057c341 SHA512 91b5684737fac19758d7095b357f99031d46e9f981e093cab848ce770fd1f9440b69212f3ef2217e3700e7dd7985a97c2735bbd27b306c7b8aa7bffc5c950fb4
+DIST hatch-hatchling-v1.22.5.gh.tar.gz 782757 BLAKE2B 3431ef7c4e5f0754e51507e29d88ed0277b530d220eb75bdeab459d88172ba51de3cf2456074fa88483cc89e72726f3e147b97e995f9ccaf699b6c2699776a8c SHA512 d4e77872e34e3aba3fce286f911861b795005c37550a2ca72a83216cea67d53be891afc8861b11582c66d38748f9c8d4980548d216c0fb21b2b4e1cadc314e58
+DIST hatch-hatchling-v1.23.0.gh.tar.gz 802345 BLAKE2B 571ae18bda737acf05bd830c4d835b2c785a595844cefbed030383e9ede166b0cd8bba2d7a6e0a4c7b504be825fbca4fa89861e9ae265e9a24bc756025da8d07 SHA512 ed504577d856e42b46ab861972cfb1c47589ae85887c2fc0aa78ded7a2f1cc8eaef796b9331d4ff853a86b6d808080b15d11943775c600c5d10b191ae65cb400
+DIST hatch-hatchling-v1.24.0.gh.tar.gz 802778 BLAKE2B d2dc29c551767cf090588533c47d936aeb38cda14154edc1a78496d0dbad3aecab3869e1f8e877c71a798f4a7ad2c853550ab2d7b9748e4d7f6c37e58811bfe8 SHA512 466748bff35acf7556cad6ee42ad2767c1a52734e1de9ac7b60867714e1707f508c27bcc5573100d68ace950aa9e42122235e439d5ea0ff0b713fa713ef503c6
+DIST hatch-hatchling-v1.24.1.gh.tar.gz 803276 BLAKE2B 61966dbc170ef2b130ae49f78e9c99f81eedc69f6d7f30b28c48be8a2d6aa17f128ca08adc3740c3dead0da30581208b967a3b8e02fd5d3f3f46ab9be1813460 SHA512 47c6f93072f82b15c56eb61b342cde44bb34cc23b89ac426120215ae71ea956380a1a66d12a70a11088df921c0df31a448bb40953e2e3bb32c74ed34a94b9640
diff --git a/dev-python/hatchling/hatchling-1.11.1.ebuild b/dev-python/hatchling/hatchling-1.11.1.ebuild
deleted file mode 100644
index 4a2101315a07..000000000000
--- a/dev-python/hatchling/hatchling-1.11.1.ebuild
+++ /dev/null
@@ -1,77 +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_{9..11} )
-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="amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-# 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)
-"
-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/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
- )
-
- # top-level "tests" directory contains tests both for hatch
- # and hatchling
- cd "${WORKDIR}/${MY_P}" || die
- local -x PYTHONPATH="src:${PYTHONPATH}"
- epytest tests/backend
-}
diff --git a/dev-python/hatchling/hatchling-1.12.0.ebuild b/dev-python/hatchling/hatchling-1.12.0.ebuild
deleted file mode 100644
index 9b92d2a41c5b..000000000000
--- a/dev-python/hatchling/hatchling-1.12.0.ebuild
+++ /dev/null
@@ -1,77 +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_{9..11} )
-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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-# 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)
-"
-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/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
- )
-
- # top-level "tests" directory contains tests both for hatch
- # and hatchling
- cd "${WORKDIR}/${MY_P}" || die
- local -x PYTHONPATH="src:${PYTHONPATH}"
- epytest tests/backend
-}
diff --git a/dev-python/hatchling/hatchling-1.12.1.ebuild b/dev-python/hatchling/hatchling-1.12.1.ebuild
deleted file mode 100644
index 9b92d2a41c5b..000000000000
--- a/dev-python/hatchling/hatchling-1.12.1.ebuild
+++ /dev/null
@@ -1,77 +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_{9..11} )
-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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-# 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)
-"
-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/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
- )
-
- # top-level "tests" directory contains tests both for hatch
- # and hatchling
- cd "${WORKDIR}/${MY_P}" || die
- local -x PYTHONPATH="src:${PYTHONPATH}"
- epytest tests/backend
-}
diff --git a/dev-python/hatchling/hatchling-1.12.2.ebuild b/dev-python/hatchling/hatchling-1.12.2.ebuild
deleted file mode 100644
index 9b92d2a41c5b..000000000000
--- a/dev-python/hatchling/hatchling-1.12.2.ebuild
+++ /dev/null
@@ -1,77 +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_{9..11} )
-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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-# 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)
-"
-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/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
- )
-
- # top-level "tests" directory contains tests both for hatch
- # and hatchling
- cd "${WORKDIR}/${MY_P}" || die
- local -x PYTHONPATH="src:${PYTHONPATH}"
- epytest tests/backend
-}
diff --git a/dev-python/hatchling/hatchling-1.21.1-r1.ebuild b/dev-python/hatchling/hatchling-1.21.1-r1.ebuild
new file mode 100644
index 000000000000..6919c16fa12c
--- /dev/null
+++ b/dev-python/hatchling/hatchling-1.21.1-r1.ebuild
@@ -0,0 +1,91 @@
+# 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..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.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
+
+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.22.5-r1.ebuild b/dev-python/hatchling/hatchling-1.22.5-r1.ebuild
new file mode 100644
index 000000000000..92ad9f5f8392
--- /dev/null
+++ b/dev-python/hatchling/hatchling-1.22.5-r1.ebuild
@@ -0,0 +1,92 @@
+# 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..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
+# editables are optional but required for editable installs
+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.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
+
+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_binary.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.23.0.ebuild b/dev-python/hatchling/hatchling-1.23.0.ebuild
new file mode 100644
index 000000000000..0f7cc99b5b95
--- /dev/null
+++ b/dev-python/hatchling/hatchling-1.23.0.ebuild
@@ -0,0 +1,92 @@
+# 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..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
+# 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
+
+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_binary.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.24.0.ebuild b/dev-python/hatchling/hatchling-1.24.0.ebuild
new file mode 100644
index 000000000000..0f7cc99b5b95
--- /dev/null
+++ b/dev-python/hatchling/hatchling-1.24.0.ebuild
@@ -0,0 +1,92 @@
+# 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..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
+# 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
+
+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_binary.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.24.1.ebuild b/dev-python/hatchling/hatchling-1.24.1.ebuild
new file mode 100644
index 000000000000..0f7cc99b5b95
--- /dev/null
+++ b/dev-python/hatchling/hatchling-1.24.1.ebuild
@@ -0,0 +1,92 @@
+# 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..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
+# 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
+
+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_binary.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/hcloud-python/Manifest b/dev-python/hcloud-python/Manifest
deleted file mode 100644
index 1751a6ea6fb4..000000000000
--- a/dev-python/hcloud-python/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST hcloud-python-1.18.1.gh.tar.gz 99042 BLAKE2B 159b2fb29021ca7993f75c4731867ed1bc57e2c9a3cf68a45acf43bb45e9a0862717907d1dfce45c960064ad82b71422e76b290db3516ea3744be95797db5e1e SHA512 6d172c214d25ae846b5561e4caa6b70d4f4e765e064ae971d5b216ceb743ab269f735e2c9adb68f1cf99ef429621b6998a34c8c7befa6d527dc3b774c0639bae
-DIST hcloud-python-1.18.2.gh.tar.gz 98998 BLAKE2B b4f8d3335c4589c8e5f453ed60299b222f002de1d8ae5ba95dcc35c6d4c4c4f649e6924037ed935651976fce06aa4ff61b893e3dcbdf745c6c1d9ff678b04dcd SHA512 da71f5590514d45b630662b1bedf7907e5ba33a48617131615377724e1377a2776f979c00e50521c513052b4f540224439e048e2e1215973b76c55a8a20e1a45
diff --git a/dev-python/hcloud-python/hcloud-python-1.18.1.ebuild b/dev-python/hcloud-python/hcloud-python-1.18.1.ebuild
deleted file mode 100644
index fe0571dbaf26..000000000000
--- a/dev-python/hcloud-python/hcloud-python-1.18.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_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Official Hetzner Cloud python library"
-HOMEPAGE="https://github.com/hetznercloud/hcloud-python"
-SRC_URI="
- https://github.com/hetznercloud/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE="examples"
-
-RDEPEND="
- >=dev-python/future-0.17.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.7.5[${PYTHON_USEDEP}]
- >=dev-python/requests-2.20[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs \
- 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-python/hcloud-python-1.18.2.ebuild b/dev-python/hcloud-python/hcloud-python-1.18.2.ebuild
deleted file mode 100644
index 85299e1fcb4d..000000000000
--- a/dev-python/hcloud-python/hcloud-python-1.18.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Official Hetzner Cloud python library"
-HOMEPAGE="https://github.com/hetznercloud/hcloud-python"
-SRC_URI="
- https://github.com/hetznercloud/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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/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/Manifest b/dev-python/hcloud/Manifest
new file mode 100644
index 000000000000..77ff91cd8b81
--- /dev/null
+++ b/dev-python/hcloud/Manifest
@@ -0,0 +1,2 @@
+DIST hcloud-python-1.34.0.gh.tar.gz 114383 BLAKE2B bc1976205c8d9c6ee92bfaf818052eced54bb871fbb83f794d3a56367964dd060530912879332e13abc7dbf5fa868d0b0350bd1ce05f185d7c0fa6fed75cbcf4 SHA512 813eba0619dbb27671001d9692cfc5034c7345e148ca560ad8379901f88f30bd657ce06e8cf5e5de3ecc4f614335f6dae570d154a6293ea4a3ffa1355adb3f40
+DIST hcloud-python-1.35.0.gh.tar.gz 114672 BLAKE2B 1742d571fccc369245d9bf9c8f85da1c37061a13368dfe928b666e4f514ed5bf9f87f61bc4e5859ec7a759f5dfa6364c60ff851572071b46b2df21c0fe6f02a6 SHA512 48cee279b4f0025c61662304e67b8cee6a718c071f801daac440054439dedb21ab656c244f486860b056edd8bdc9330d3134ec936085297f24442a93cbbcc9e4
diff --git a/dev-python/hcloud/hcloud-1.34.0.ebuild b/dev-python/hcloud/hcloud-1.34.0.ebuild
new file mode 100644
index 000000000000..179cbe6f39fc
--- /dev/null
+++ b/dev-python/hcloud/hcloud-1.34.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
+
+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-1.35.0.ebuild b/dev-python/hcloud/hcloud-1.35.0.ebuild
new file mode 100644
index 000000000000..4d1d123f8d66
--- /dev/null
+++ b/dev-python/hcloud/hcloud-1.35.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
+
+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-python/metadata.xml b/dev-python/hcloud/metadata.xml
index c16b1ab713e4..c16b1ab713e4 100644
--- a/dev-python/hcloud-python/metadata.xml
+++ b/dev-python/hcloud/metadata.xml
diff --git a/dev-python/helpdev/helpdev-0.7.1-r1.ebuild b/dev-python/helpdev/helpdev-0.7.1-r1.ebuild
index 34fb6e26645e..6f63a43472b1 100644
--- a/dev-python/helpdev/helpdev-0.7.1-r1.ebuild
+++ b/dev-python/helpdev/helpdev-0.7.1-r1.ebuild
@@ -4,22 +4,21 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Helping users and developers to get information about the environment"
-HOMEPAGE="https://gitlab.com/dpizetta/helpdev"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://gitlab.com/dpizetta/helpdev/
+ https://pypi.org/project/helpdev/
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="
- $(python_gen_cond_dep '
- dev-python/importlib_metadata[${PYTHON_USEDEP}]
- ' 3.8 )
dev-python/psutil[${PYTHON_USEDEP}]
"
BDEPEND="
@@ -29,5 +28,5 @@ BDEPEND="
"
distutils_enable_sphinx docs \
- dev-python/sphinx_rtd_theme
+ dev-python/sphinx-rtd-theme
distutils_enable_tests pytest
diff --git a/dev-python/helpdev/metadata.xml b/dev-python/helpdev/metadata.xml
index f7e675703673..5ae74662dd68 100644
--- a/dev-python/helpdev/metadata.xml
+++ b/dev-python/helpdev/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>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">helpdev</remote-id>
<remote-id type="gitlab">dpizetta/helpdev</remote-id>
diff --git a/dev-python/hidapi/Manifest b/dev-python/hidapi/Manifest
index 6eb2b30285c8..4413e92216a1 100644
--- a/dev-python/hidapi/Manifest
+++ b/dev-python/hidapi/Manifest
@@ -1 +1 @@
-DIST hidapi-0.13.1.tar.gz 130169 BLAKE2B 127e622e4b85880f1c20ccb819b806c66357d8cfa6c15d370c13a6a0a3838ac6acf0673c7edbf5309a91f55051b6177800328b8f897ff43cd1e0af1b511c52a6 SHA512 8e6a7a6bf47e24f6f637cc036dc306518d893fc9fdf94639f626725e8f8767d7e85496d8db5f9f394d648ef5af4dd5ead0f0a6d452a019b5d9fa0716371febed
+DIST hidapi-0.14.0.tar.gz 143052 BLAKE2B ebf3fb9608b1f18d9fa24aaa4bca7b2e5cbbbbcbdb6a33da41456f614d0cace556231bb8eb17c21e2a79a5292970cb37f7a46fb6cd1e82efb0a646cf8a942d2a SHA512 228fac22621e36a3108cefd418937a7ed0153e334e19999e947aad341a753d614877cd3f7add90d78037ebe9c7b3f6cbc42973a8e680188da14928311d317b17
diff --git a/dev-python/hidapi/files/hidapi-0.14.0-cython3.patch b/dev-python/hidapi/files/hidapi-0.14.0-cython3.patch
new file mode 100644
index 000000000000..681f9a427934
--- /dev/null
+++ b/dev-python/hidapi/files/hidapi-0.14.0-cython3.patch
@@ -0,0 +1,134 @@
+https://bugs.gentoo.org/898678
+
+1. https://github.com/trezor/cython-hidapi/commit/749da6931f57c4c30596de678125648ccfd6e1cd
+2. https://github.com/trezor/cython-hidapi/pull/159
+
+From 749da6931f57c4c30596de678125648ccfd6e1cd Mon Sep 17 00:00:00 2001
+From: Pavol Rusnak <pavol@rusnak.io>
+Date: Thu, 20 Jul 2023 13:09:19 +0200
+Subject: [PATCH] Require Cython<3 instead of Cython
+
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index 7e3eb29c..4c311ba4 100755
+--- a/setup.py
++++ b/setup.py
+@@ -136,6 +136,6 @@ def find_version():
+ "Programming Language :: Python :: 3.9",
+ ],
+ ext_modules=modules,
+- setup_requires=["Cython"],
++ setup_requires=["Cython<3"],
+ install_requires=["setuptools>=19.0"],
+ )
+
+From 7dad82b125fdca5df83c00fc711151c35aaa5125 Mon Sep 17 00:00:00 2001
+From: Shawn Hoffman <godisgovernment@gmail.com>
+Date: Mon, 11 Sep 2023 17:27:52 -0700
+Subject: [PATCH 1/4] use pyxdep file to locate chid.pxd
+
+---
+ hid.pyxdep | 1 +
+ setup.py | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+ create mode 100644 hid.pyxdep
+
+diff --git a/hid.pyxdep b/hid.pyxdep
+new file mode 100644
+index 00000000..7480bc82
+--- /dev/null
++++ b/hid.pyxdep
+@@ -0,0 +1 @@
++chid.pxd
+diff --git a/setup.py b/setup.py
+index 4c311ba4..73066b06 100755
+--- a/setup.py
++++ b/setup.py
+@@ -9,7 +9,7 @@
+ hidapi_include = os.path.join(hidapi_topdir, "hidapi")
+ system_hidapi = 0
+ libs = []
+-src = ["hid.pyx", "chid.pxd"]
++src = ["hid.pyx"]
+
+
+ def hidapi_src(platform):
+@@ -42,7 +42,7 @@ def hidapi_src(platform):
+ )
+ )
+ libs = ["udev", "rt"]
+- src = ["hidraw.pyx", "chid.pxd"]
++ src = ["hidraw.pyx"]
+ if system_hidapi == 1:
+ libs.append("hidapi-hidraw")
+ else:
+
+From 4c78f61c7815d1005023d69c42ae777cfee021c1 Mon Sep 17 00:00:00 2001
+From: Shawn Hoffman <godisgovernment@gmail.com>
+Date: Mon, 11 Sep 2023 17:28:33 -0700
+Subject: [PATCH 2/4] specify language_level for cython
+
+---
+ setup.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index 73066b06..6a3e0af0 100755
+--- a/setup.py
++++ b/setup.py
+@@ -1,5 +1,6 @@
+ #!/usr/bin/python
+ from setuptools import setup, Extension
++from Cython.Build import cythonize
+ import os
+ import sys
+ import subprocess
+@@ -135,7 +136,7 @@ def find_version():
+ "Programming Language :: Python :: 3.8",
+ "Programming Language :: Python :: 3.9",
+ ],
+- ext_modules=modules,
++ ext_modules=cythonize(modules, language_level=3),
+ setup_requires=["Cython<3"],
+ install_requires=["setuptools>=19.0"],
+ )
+
+From d73b4cc6706d4220d28df866504e989ab616616a Mon Sep 17 00:00:00 2001
+From: Shawn Hoffman <godisgovernment@gmail.com>
+Date: Mon, 11 Sep 2023 17:31:37 -0700
+Subject: [PATCH 3/4] use pyproject.toml allow using recent cython the
+ expectation is that one would use the `build` tool instead of invoking
+ setup.py.
+
+---
+ pyproject.toml | 3 +++
+ setup.py | 1 -
+ 3 files changed, 3 insertions(+), 2 deletions(-)
+ create mode 100644 pyproject.toml
+ delete mode 100644 requirements.txt
+
+diff --git a/pyproject.toml b/pyproject.toml
+new file mode 100644
+index 00000000..c07b1d35
+--- /dev/null
++++ b/pyproject.toml
+@@ -0,0 +1,3 @@
++[build-system]
++requires = ["setuptools", "Cython"]
++build-backend = "setuptools.build_meta"
+diff --git a/setup.py b/setup.py
+index 6a3e0af0..9dcdb0ee 100755
+--- a/setup.py
++++ b/setup.py
+@@ -137,6 +137,5 @@ def find_version():
+ "Programming Language :: Python :: 3.9",
+ ],
+ ext_modules=cythonize(modules, language_level=3),
+- setup_requires=["Cython<3"],
+ install_requires=["setuptools>=19.0"],
+ )
+
+
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 fe4ec8ca7aa0..000000000000
--- a/dev-python/hidapi/hidapi-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
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="A Cython interface to HIDAPI library"
-HOMEPAGE="https://github.com/trezor/cython-hidapi"
-MY_PV=$(ver_rs 3 .post)
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${PN}-${MY_PV}.tar.gz"
-
-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}]"
-
-distutils_enable_tests pytest
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-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
new file mode 100644
index 000000000000..890f3675ed06
--- /dev/null
+++ b/dev-python/hidapi/hidapi-0.14.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+PYTHON_COMPAT=( python3_{10..12} )
+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}"
+BDEPEND="dev-python/cython[${PYTHON_USEDEP}]"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.14.0-cython3.patch
+)
+
+distutils_enable_tests pytest
+
+python_configure_all() {
+ DISTUTILS_ARGS=( --with-system-hidapi )
+}
+
+python_test() {
+ epytest tests.py
+}
diff --git a/dev-python/hidapi/metadata.xml b/dev-python/hidapi/metadata.xml
index 59255f6b605d..6da494f40c3b 100644
--- a/dev-python/hidapi/metadata.xml
+++ b/dev-python/hidapi/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>sultan@gentoo.org</email>
- <name>Stephan Hartmann</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">trezor/cython-hidapi</remote-id>
<remote-id type="pypi">hidapi</remote-id>
diff --git a/dev-python/hiredis/Manifest b/dev-python/hiredis/Manifest
index d7d0946290e8..6d51028a1b45 100644
--- a/dev-python/hiredis/Manifest
+++ b/dev-python/hiredis/Manifest
@@ -1 +1 @@
-DIST hiredis-2.0.0.tar.gz 75807 BLAKE2B dc7535f117c8ecfb2c924fe44a1cba2f02271c544588249de6794ce3aec27f66038ecb9f6364ca87b71f66ba13870a3be192eb79c1f360d2eb6dcb6dcae41caa SHA512 b9a313acdd00676dc046713a81bbf4336959f49f09bd2828997c23ca41259935047c657a4b6f81913715141a75fb6bbe7fc4429c7a5b0f4bc3d5de66b9cfa909
+DIST hiredis-py-2.3.2.gh.tar.gz 19076 BLAKE2B 4a3e747765f559407b3ad84524bc1040e3a530723b5756320743fc20400bc70e867d48e71696d732a5fa5eb231199cbefb6f487d0b5ece6fc8f6c41f10f3c0d8 SHA512 1a22ab324f9675973c3dc37c55d6dd9cf43fbc161003003a73b2e1dfbb3fed7dcb1433f4fc51045a88cb2735f7c8495b93a819a0a9f6300e05b0cc85160eaace
diff --git a/dev-python/hiredis/files/hiredis-2.0.0-CVE-2021-32765.patch b/dev-python/hiredis/files/hiredis-2.0.0-CVE-2021-32765.patch
deleted file mode 100644
index ad1bb80ac0de..000000000000
--- a/dev-python/hiredis/files/hiredis-2.0.0-CVE-2021-32765.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- a/vendor/hiredis/alloc.c
-+++ b/vendor/hiredis/alloc.c
-@@ -68,6 +68,10 @@ void *hi_malloc(size_t size) {
- }
-
- void *hi_calloc(size_t nmemb, size_t size) {
-+ /* Overflow check as the user can specify any arbitrary allocator */
-+ if (SIZE_MAX / size < nmemb)
-+ return NULL;
-+
- return hiredisAllocFns.callocFn(nmemb, size);
- }
-
-diff --git a/alloc.h b/alloc.h
-index 34a05f4..771f9fe 100644
---- a/vendor/hiredis/alloc.h
-+++ b/vendor/hiredis/alloc.h
-@@ -32,6 +32,7 @@
- #define HIREDIS_ALLOC_H
-
- #include <stddef.h> /* for size_t */
-+#include <stdint.h>
-
- #ifdef __cplusplus
- extern "C" {
-@@ -59,6 +60,10 @@ static inline void *hi_malloc(size_t size) {
- }
-
- static inline void *hi_calloc(size_t nmemb, size_t size) {
-+ /* Overflow check as the user can specify any arbitrary allocator */
-+ if (SIZE_MAX / size < nmemb)
-+ return NULL;
-+
- return hiredisAllocFns.callocFn(nmemb, size);
- }
-
diff --git a/dev-python/hiredis/files/hiredis-2.0.0-system-libs.patch b/dev-python/hiredis/files/hiredis-2.0.0-system-libs.patch
deleted file mode 100644
index 74f14cdc00b4..000000000000
--- a/dev-python/hiredis/files/hiredis-2.0.0-system-libs.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- hiredis-2.0.0/setup.py
-+++ hiredis-2.0.0/setup.py
-@@ -11,9 +11,8 @@
- return module.__version__
-
- ext = Extension("hiredis.hiredis",
-- sources=sorted(glob.glob("src/*.c") +
-- ["vendor/hiredis/%s.c" % src for src in ("alloc", "read", "sds")]),
-- include_dirs=["vendor"])
-+ sources=sorted(glob.glob("src/*.c")),
-+ libraries=["hiredis"])
-
- setup(
- name="hiredis",
diff --git a/dev-python/hiredis/files/hiredis-2.2.2-system-libs.patch b/dev-python/hiredis/files/hiredis-2.2.2-system-libs.patch
new file mode 100644
index 000000000000..67f6a5650f66
--- /dev/null
+++ b/dev-python/hiredis/files/hiredis-2.2.2-system-libs.patch
@@ -0,0 +1,53 @@
+--- 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",
+--- hiredis-2.2.2.orig/src/pack.c
++++ hiredis-2.2.2/src/pack.c
+@@ -16,7 +16,7 @@
+ extern sds sdsnewlen(const void *init, size_t initlen);
+ #endif
+
+-#include <hiredis/sdsalloc.h>
++#include <hiredis/sds.h>
+
+ PyObject *
+ pack_command(PyObject *cmd)
+@@ -32,7 +32,7 @@
+ }
+
+ Py_ssize_t tokens_number = PyTuple_Size(cmd);
+- sds *tokens = s_malloc(sizeof(sds) * tokens_number);
++ sds *tokens = sds_malloc(sizeof(sds) * tokens_number);
+ if (tokens == NULL)
+ {
+ return PyErr_NoMemory();
diff --git a/dev-python/hiredis/hiredis-2.0.0-r2.ebuild b/dev-python/hiredis/hiredis-2.0.0-r2.ebuild
deleted file mode 100644
index 6714e80ba795..000000000000
--- a/dev-python/hiredis/hiredis-2.0.0-r2.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} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="Python extension that wraps hiredis"
-HOMEPAGE="https://github.com/redis/hiredis-py/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
-IUSE="system-libs"
-
-DEPEND="system-libs? ( >=dev-libs/hiredis-1.0.0:= )"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-CVE-2021-32765.patch
-)
-
-src_prepare() {
- use system-libs && PATCHES+=(
- "${FILESDIR}"/${P}-system-libs.patch
- )
- sed -i -e 's:description-file:description_file:' setup.cfg || die
- default
-}
-
-python_test() {
- cd test || die
- "${EPYTHON}" -m unittest -v reader.ReaderTest || die "tests failed"
-}
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..181f00fa3dd0
--- /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..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/metadata.xml b/dev-python/hiredis/metadata.xml
index 260530157e29..3f8f3a47818f 100644
--- a/dev-python/hiredis/metadata.xml
+++ b/dev-python/hiredis/metadata.xml
@@ -13,7 +13,4 @@
<remote-id type="pypi">hiredis</remote-id>
<remote-id type="github">redis/hiredis-py</remote-id>
</upstream>
- <use>
- <flag name="system-libs">Use <pkg>dev-libs/hiredis</pkg> from system</flag>
- </use>
</pkgmetadata>
diff --git a/dev-python/hishel/Manifest b/dev-python/hishel/Manifest
new file mode 100644
index 000000000000..273ee5c48ac2
--- /dev/null
+++ b/dev-python/hishel/Manifest
@@ -0,0 +1 @@
+DIST hishel-0.0.25.gh.tar.gz 825114 BLAKE2B dd7d7bec47700a1ab07976ba31b951adacf7e917dd7ba09419cc6e3b81f1b6609a1f7f14a6c176b0c151ed255cf099f3da60122717b2be9161bd41b7ba080f36 SHA512 16aec1ea495075b4932e1e9d16b07af060b49bb74faed097343bde99c5d2b656b36762b2f2d67fd46c31b700206eec77ecdfb364a1c2cd19bb67c3055abc9e98
diff --git a/dev-python/hishel/hishel-0.0.25-r1.ebuild b/dev-python/hishel/hishel-0.0.25-r1.ebuild
new file mode 100644
index 000000000000..99f6858c366c
--- /dev/null
+++ b/dev-python/hishel/hishel-0.0.25-r1.ebuild
@@ -0,0 +1,61 @@
+# 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..12} )
+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"
+
+RDEPEND="
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ ${RDEPEND}
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ test? (
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/boto3[${PYTHON_USEDEP}]
+ dev-python/moto[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # tests that need anysqlite
+ "tests/_async/test_storages.py::test_sqlitestorage[asyncio]"
+ "tests/_async/test_storages.py::test_sqlitestorage[trio]"
+
+ # tests that need a running redis instance
+ "tests/_async/test_storages.py::test_redisstorage[asyncio]"
+ "tests/_async/test_storages.py::test_redisstorage_expired[asyncio]"
+ "tests/_async/test_storages.py::test_sqlite_expired[asyncio]"
+ "tests/_sync/test_storages.py::test_redisstorage[asyncio]"
+ "tests/_sync/test_storages.py::test_redisstorage_expired[asyncio]"
+ "tests/_sync/test_storages.py::test_redisstorage[trio]"
+ "tests/_sync/test_storages.py::test_redisstorage_expired[trio]"
+)
+
+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
+}
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/hpack/Manifest b/dev-python/hpack/Manifest
index 5a78d6f92ee8..854dd72c0ae9 100644
--- a/dev-python/hpack/Manifest
+++ b/dev-python/hpack/Manifest
@@ -1,2 +1 @@
-DIST hpack-3.0.0.tar.gz 5305971 BLAKE2B d1df8a1b2a1ce8b91e63cab475d3957f937fb74c0bec343d342971be1bb7cfbc929c53cf041845df2965cef0cfb098345bf0612acabc7ef3e5e23f6f0aa44f2f SHA512 7b9cf5e643dff2a6454bfe419b797c8ed1a0fe6ec3b725d2696da5a820ab96fe87a64e600b1831c7024bd82616b155a0aa058301acb32172155b6538ba0a73c6
DIST hpack-4.0.0.tar.gz 5301419 BLAKE2B 0164f6aafc0d1f17f6c397efe710503a22501faae3c7dbba4e57ca2dc76e4d373bc5e65bf55acda8bc61975d12f8a2084de0e0c4587539e5a3102e3cf66d562b SHA512 f482d086d7a82649393e3cfea55c98966ce57055cb1826bc4dec1ea334661c02708e7903f2e8e588ee1c30df41373e1de9fb960c2e7bbc18d0ace0b8f97b195b
diff --git a/dev-python/hpack/files/hpack-3.0.0-hypothesis-healthcheck.patch b/dev-python/hpack/files/hpack-3.0.0-hypothesis-healthcheck.patch
deleted file mode 100644
index aaabac3b3046..000000000000
--- a/dev-python/hpack/files/hpack-3.0.0-hypothesis-healthcheck.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/test/conftest.py b/test/conftest.py
-index f5801da..c5e3c66 100644
---- a/test/conftest.py
-+++ b/test/conftest.py
-@@ -4,11 +4,16 @@ import os
- import json
- import sys
-
-+from hypothesis import settings, HealthCheck
- from hypothesis.strategies import text
-
- if sys.version_info[0] == 2:
- from codecs import open
-
-+settings.register_profile("gentoo",
-+ suppress_health_check=(HealthCheck.too_slow,))
-+settings.load_profile("gentoo")
-+
- # We need to grab one text example from hypothesis to prime its cache.
- text().example()
-
diff --git a/dev-python/hpack/hpack-3.0.0-r1.ebuild b/dev-python/hpack/hpack-3.0.0-r1.ebuild
deleted file mode 100644
index 5ce4b72bd759..000000000000
--- a/dev-python/hpack/hpack-3.0.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure-Python HPACK header compression"
-HOMEPAGE="
- https://python-hyper.org/projects/hpack/en/latest/
- 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"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-# dev-python/pytest-relaxed causes tests to fail
-BDEPEND="
- test? (
- >=dev-python/hypothesis-3.4.2[${PYTHON_USEDEP}]
- !!dev-python/pytest-relaxed[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/hpack-3.0.0-hypothesis-healthcheck.patch
-)
-
-EPYTEST_DESELECT=(
- # relies on outdated exception strings
- test/test_table.py::TestHeaderTable::test_get_by_index_out_of_range
-)
-
-EPYTEST_IGNORE=(
- bench
-)
diff --git a/dev-python/hpack/hpack-3.0.0.ebuild b/dev-python/hpack/hpack-3.0.0.ebuild
deleted file mode 100644
index 5486b7db607d..000000000000
--- a/dev-python/hpack/hpack-3.0.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=7
-PYTHON_COMPAT=( python3_{9..10} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure-Python HPACK header compression"
-HOMEPAGE="
- https://python-hyper.org/hpack/en/latest/
- https://pypi.org/project/hpack/"
-SRC_URI="https://github.com/python-hyper/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-# dev-python/pytest-relaxed causes tests to fail
-BDEPEND="
- test? (
- >=dev-python/hypothesis-3.4.2[${PYTHON_USEDEP}]
- !!dev-python/pytest-relaxed[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/hpack-3.0.0-hypothesis-healthcheck.patch
-)
-
-python_test() {
- local deselect=(
- # relies on outdated exception strings
- test/test_table.py::TestHeaderTable::test_get_by_index_out_of_range
- )
-
- epytest hpack test ${deselect[@]/#/--deselect }
-}
diff --git a/dev-python/hpack/hpack-4.0.0-r1.ebuild b/dev-python/hpack/hpack-4.0.0-r1.ebuild
index 3c364d22a005..213a5bca45cc 100644
--- a/dev-python/hpack/hpack-4.0.0-r1.ebuild
+++ b/dev-python/hpack/hpack-4.0.0-r1.ebuild
@@ -4,7 +4,7 @@
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/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 8e2c2aeb8752..000000000000
--- a/dev-python/html2text/html2text-2020.1.16-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=( pypy3 python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Turn HTML into equivalent Markdown-structured text"
-HOMEPAGE="https://github.com/Alir3z4/html2text
- https://pypi.org/project/html2text/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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..eb6c94f19db2
--- /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..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 ~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 779cb539bac6..03cda8f52145 100644
--- a/dev-python/html5-parser/Manifest
+++ b/dev-python/html5-parser/Manifest
@@ -1 +1 @@
-DIST html5-parser-0.4.10.tar.gz 272814 BLAKE2B 5759c872e65080ea059b81e632ed70a94e6677ef01af1e50ab1822128cc75ccbd3361c9d4e5e94fc4cc78996b3dbde97ffe435f083c492df2815c67d929cabc7 SHA512 45accb891261e1b82185de1cb0e06915e0ff487fe2cfc81b79f5653c8e9d7b9848349ab94657f8fb5eb116311b1d2b0d19f504f841ee8af0cf4a23601a5000aa
+DIST html5-parser-0.4.12.tar.gz 270861 BLAKE2B 34cd247004956205c8aa67b6863a16950b28b92274feb4ddf1fe5ab177bd6e58d2835775a6e12cb6ee56a9bfcf3ad40f5c645fc380be1364acb8cfbfd6eabb3e SHA512 5dc45c54c53fc6492b645977940ebaf4bc4fee141767d9d6066ecc1c8547a2343f29c39c65f97d827863c499d48f54fae9309b8b25aa636ae3e4e42e97ec1f17
diff --git a/dev-python/html5-parser/html5-parser-0.4.10-r1.ebuild b/dev-python/html5-parser/html5-parser-0.4.10-r1.ebuild
deleted file mode 100644
index 058a3b4032eb..000000000000
--- a/dev-python/html5-parser/html5-parser-0.4.10-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
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1 toolchain-funcs
-
-DESCRIPTION="Fast C based HTML 5 parsing for python"
-HOMEPAGE="https://github.com/kovidgoyal/html5-parser/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm x86"
-
-BDEPEND="
- virtual/pkgconfig
-"
-DEPEND="dev-libs/libxml2:="
-RDEPEND="${DEPEND}
- dev-python/chardet[${PYTHON_USEDEP}]
- >=dev-python/lxml-3.8.0[${PYTHON_USEDEP}]"
-
-distutils_enable_tests setup.py
-
-src_prepare() {
- # Soup is not used when lxml is available.
- rm test/soup.py || die
- sed -i -e 's:-O3::' setup.py build.py || die
- distutils-r1_src_prepare
-}
-
-src_configure() {
- export PKGCONFIG_EXE=$(tc-getPKG_CONFIG)
-}
diff --git a/dev-python/html5-parser/html5-parser-0.4.12.ebuild b/dev-python/html5-parser/html5-parser-0.4.12.ebuild
new file mode 100644
index 000000000000..1483349909d5
--- /dev/null
+++ b/dev-python/html5-parser/html5-parser-0.4.12.ebuild
@@ -0,0 +1,47 @@
+# 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 ~arm64 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}
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ )
+"
+
+src_configure() {
+ export PKGCONFIG_EXE=$(tc-getPKG_CONFIG)
+}
+
+python_test() {
+ "${EPYTHON}" run_tests.py || die
+}
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
index 9dbcfed268c4..85d2d88a1104 100644
--- a/dev-python/html5lib/html5lib-1.1-r1.ebuild
+++ b/dev-python/html5lib/html5lib-1.1-r1.ebuild
@@ -1,13 +1,13 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 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 )
PYTHON_REQ_USE="xml(+)"
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="HTML parser based on the HTML5 specification"
HOMEPAGE="
@@ -15,7 +15,6 @@ HOMEPAGE="
https://html5lib.readthedocs.io/
https://pypi.org/project/html5lib/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
@@ -37,3 +36,8 @@ BDEPEND="
"
distutils_enable_tests pytest
+
+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 e0747ae48590..a11b8caf1617 100644
--- a/dev-python/httmock/httmock-1.4.0-r1.ebuild
+++ b/dev-python/httmock/httmock-1.4.0-r1.ebuild
@@ -4,18 +4,26 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="A mocking library for requests"
-HOMEPAGE="https://github.com/patrys/httmock"
-SRC_URI="https://github.com/patrys/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+HOMEPAGE="
+ https://github.com/patrys/httmock/
+ https://pypi.org/project/httmock/
+"
+SRC_URI="
+ https://github.com/patrys/httmock/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
-RDEPEND=">=dev-python/requests-1.0.0[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+"
distutils_enable_tests unittest
diff --git a/dev-python/http-parser/Manifest b/dev-python/http-parser/Manifest
deleted file mode 100644
index 60d5c5e9c20d..000000000000
--- a/dev-python/http-parser/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST http-parser-0.9.0.gh.tar.gz 101174 BLAKE2B 92b74dffd2c35672bc383ccda59f93723c0f83ecb0fbf0470f5daacdd37f68d4d63de7d4ea53f86d2109349a793b7535cc864f014311dee6ac5e67d0ca751931 SHA512 75e51bef43d9d7698aad69f8bfe651e24784b97603cac55f33bf4c12c86792c8c71d6206f31847d052e4d8621a5ea65a7b34eca5bebdb8189f58e6d98d33139d
diff --git a/dev-python/http-parser/http-parser-0.9.0-r1.ebuild b/dev-python/http-parser/http-parser-0.9.0-r1.ebuild
deleted file mode 100644
index 6e5148fe0101..000000000000
--- a/dev-python/http-parser/http-parser-0.9.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="HTTP request/response parser for python in C"
-HOMEPAGE="
- https://github.com/benoitc/http-parser/
- https://pypi.org/project/http-parser/
-"
-SRC_URI="
- https://github.com/benoitc/http-parser/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~s390 ~sparc x86"
-IUSE="examples"
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_configure_all() {
- cython -3 http_parser/parser.pyx || die
-}
-
-python_install_all() {
- local DOCS=( README.rst )
- 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/http-parser/metadata.xml b/dev-python/http-parser/metadata.xml
deleted file mode 100644
index 2a327a6a2f76..000000000000
--- a/dev-python/http-parser/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">http-parser</remote-id>
- <remote-id type="github">benoitc/http-parser</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/httpauth/httpauth-0.3-r1.ebuild b/dev-python/httpauth/httpauth-0.3-r1.ebuild
index 6ddc5f435f9f..cba95c2a12f2 100644
--- a/dev-python/httpauth/httpauth-0.3-r1.ebuild
+++ b/dev-python/httpauth/httpauth-0.3-r1.ebuild
@@ -4,13 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A WSGI middleware that secures routes using HTTP Digest Authentication"
-HOMEPAGE="https://github.com/jonashaag/httpauth/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/jonashaag/httpauth/
+ https://pypi.org/project/httpauth/
+"
LICENSE="ISC"
SLOT="0"
diff --git a/dev-python/httpbin/Manifest b/dev-python/httpbin/Manifest
index 35a573821dbf..f21fd6043cd9 100644
--- a/dev-python/httpbin/Manifest
+++ b/dev-python/httpbin/Manifest
@@ -1 +1 @@
-DIST httpbin-0.7.0.tar.gz 92613 BLAKE2B 59252df1d4d0ef853ec65263b472d3ba6c597336d844f9b457f2d0a009048d4222f715a7f6fb120aca00fa641d1687e302036dc151bd2fd67ba98cf5fc47a63a SHA512 82e80058b58943637e9f8191764cea79bf7a6e40f36069f9b5d3f908585dbef20a03ef070d1f865d350920b6e874a93a48a544b05c14ff4911038ec2c20f6f63
+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.7.0-brotlicffi.patch b/dev-python/httpbin/files/httpbin-0.7.0-brotlicffi.patch
deleted file mode 100644
index 8031ad72de5b..000000000000
--- a/dev-python/httpbin/files/httpbin-0.7.0-brotlicffi.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 69d1e62e69b7f886ebbb41b8e9aae62e76adf375 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Wed, 2 Dec 2020 10:42:52 +0100
-Subject: [PATCH] Replace brotlipy with brotlicffi
-
-The brotlipy package has been renamed to brotlicffi. Update the imports
-and dependencies accordingly. The major advanage of the new package
-is that it no longer collides with the Python bindings provided
-by brotli itself.
----
- httpbin/filters.py | 2 +-
- setup.py | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/httpbin/filters.py b/httpbin/filters.py
-index c6268b6..4deeaaa 100644
---- a/httpbin/filters.py
-+++ b/httpbin/filters.py
-@@ -10,7 +10,7 @@ This module provides response filter decorators.
- import gzip as gzip2
- import zlib
-
--import brotli as _brotli
-+import brotlicffi as _brotli
-
- from six import BytesIO
- from decimal import Decimal
-diff --git a/setup.py b/setup.py
-index 7f9956b..8e17ef3 100644
---- a/setup.py
-+++ b/setup.py
-@@ -34,7 +34,7 @@ setup(
- packages=find_packages(),
- include_package_data = True, # include files listed in MANIFEST.in
- install_requires=[
-- 'Flask', 'MarkupSafe', 'decorator', 'itsdangerous', 'six', 'brotlipy',
-+ 'Flask', 'MarkupSafe', 'decorator', 'itsdangerous', 'six', 'brotlicffi',
- 'werkzeug>=0.14.1'
- ],
- )
---
-2.29.2
-
diff --git a/dev-python/httpbin/files/httpbin-0.7.0-optional-raven.patch b/dev-python/httpbin/files/httpbin-0.7.0-optional-raven.patch
deleted file mode 100644
index 5d626768bd27..000000000000
--- a/dev-python/httpbin/files/httpbin-0.7.0-optional-raven.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff -dupr a/httpbin/core.py b/httpbin/core.py
---- a/httpbin/core.py 2018-05-08 13:41:03.000000000 +0200
-+++ b/httpbin/core.py 2019-11-22 15:07:27.516500217 +0100
-@@ -21,7 +21,6 @@ from werkzeug.datastructures import WWWA
- from werkzeug.http import http_date
- from werkzeug.wrappers import BaseResponse
- from werkzeug.http import parse_authorization_header
--from raven.contrib.flask import Sentry
-
- from . import filters
- from .helpers import get_headers, status_code, get_dict, get_request_range, check_basic_auth, check_digest_auth, \
-@@ -58,6 +57,7 @@ app.debug = bool(os.environ.get('DEBUG')
-
- # Send app errors to Sentry.
- if 'SENTRY_DSN' in os.environ:
-+ from raven.contrib.flask import Sentry
- sentry = Sentry(app, dsn=os.environ['SENTRY_DSN'])
-
- # Set up Bugsnag exception tracking, if desired. To use Bugsnag, install the
-diff --git a/setup.py b/setup.py
-index 7f9956b..3cab2ae 100644
---- a/setup.py
-+++ b/setup.py
-@@ -35,6 +35,6 @@ setup(
- include_package_data = True, # include files listed in MANIFEST.in
- install_requires=[
- 'Flask', 'MarkupSafe', 'decorator', 'itsdangerous', 'six', 'brotlipy',
-- 'raven[flask]', 'werkzeug>=0.14.1'
-+ 'werkzeug>=0.14.1'
- ],
- )
diff --git a/dev-python/httpbin/files/httpbin-0.7.0-test-werkzeug.patch b/dev-python/httpbin/files/httpbin-0.7.0-test-werkzeug.patch
deleted file mode 100644
index 956a2f5235ca..000000000000
--- a/dev-python/httpbin/files/httpbin-0.7.0-test-werkzeug.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -dupr a/test_httpbin.py b/test_httpbin.py
---- a/test_httpbin.py 2019-11-22 15:06:56.199774070 +0100
-+++ b/test_httpbin.py 2019-11-22 15:18:58.010069445 +0100
-@@ -144,7 +144,6 @@ class HttpbinTestCase(unittest.TestCase)
- data = json.loads(response.data.decode('utf-8'))
- self.assertEqual(data['args'], {})
- self.assertEqual(data['headers']['Host'], 'localhost')
-- self.assertEqual(data['headers']['Content-Length'], '0')
- self.assertEqual(data['headers']['User-Agent'], 'test')
- # self.assertEqual(data['origin'], None)
- self.assertEqual(data['url'], 'http://localhost/get')
-@@ -158,7 +157,6 @@ class HttpbinTestCase(unittest.TestCase)
- data = json.loads(response.data.decode('utf-8'))
- self.assertEqual(data['args'], {})
- self.assertEqual(data['headers']['Host'], 'localhost')
-- self.assertEqual(data['headers']['Content-Length'], '0')
- self.assertEqual(data['url'], 'http://localhost/anything/foo/bar')
- self.assertEqual(data['method'], 'GET')
- self.assertTrue(response.data.endswith(b'\n'))
diff --git a/dev-python/httpbin/files/httpbin-0.7.0-werkzeug-2.1.patch b/dev-python/httpbin/files/httpbin-0.7.0-werkzeug-2.1.patch
deleted file mode 100644
index cf7871268d99..000000000000
--- a/dev-python/httpbin/files/httpbin-0.7.0-werkzeug-2.1.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 5cc81ce87a3c447a127e4a1a707faf9f3b1c9b6b Mon Sep 17 00:00:00 2001
-From: Maximino BOGADO <bogamax2@hotmail.fr>
-Date: Wed, 30 Mar 2022 16:26:31 +0200
-Subject: [PATCH] Replace BaseResponse to Response class (new werkzeug version
- 2.1.0)
-
----
- httpbin/core.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/httpbin/core.py b/httpbin/core.py
-index 305c9882..2bad408e 100644
---- a/httpbin/core.py
-+++ b/httpbin/core.py
-@@ -29,7 +29,7 @@
- from six.moves import range as xrange
- from werkzeug.datastructures import WWWAuthenticate, MultiDict
- from werkzeug.http import http_date
--from werkzeug.wrappers import BaseResponse
-+from werkzeug.wrappers import Response
- from werkzeug.http import parse_authorization_header
- from flasgger import Swagger, NO_SANITIZER
-
-@@ -77,7 +77,7 @@ def jsonify(*args, **kwargs):
-
-
- # Prevent WSGI from correcting the casing of the Location header
--BaseResponse.autocorrect_location_header = False
-+Response.autocorrect_location_header = False
-
- # Find the correct template folder when running from a different location
- tmpl_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "templates")
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..6aecdd6bc65a
--- /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..12} 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/httpbin/httpbin-0.7.0-r5.ebuild b/dev-python/httpbin/httpbin-0.7.0-r5.ebuild
deleted file mode 100644
index 485913522e82..000000000000
--- a/dev-python/httpbin/httpbin-0.7.0-r5.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="HTTP Request and Response Service"
-HOMEPAGE="
- https://github.com/postmanlabs/httpbin/
- https://pypi.org/project/httpbin/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.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/brotlicffi[${PYTHON_USEDEP}]
- dev-python/decorator[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/itsdangerous[${PYTHON_USEDEP}]
- dev-python/markupsafe[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- >=dev-python/werkzeug-2.0[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- # do not import raven if it's not going to be used
- # (upstream removed it completely in git anyway)
- "${FILESDIR}"/${P}-optional-raven.patch
- # fix tests with new versions of werkzeug
- "${FILESDIR}"/${P}-test-werkzeug.patch
- # use brotlicffi instead of brotlipy
- "${FILESDIR}"/${P}-brotlicffi.patch
- # fix compat with werkzeug 2.1
- # https://github.com/postmanlabs/httpbin/pull/674
- "${FILESDIR}"/${P}-werkzeug-2.1.patch
-)
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # a new version of flask or whatever converts relative redirects
- # to absolute; this package is dead anyway, so just skip
- # the relevant tests
- sed -e 's:test_redirect:_&:' \
- -e 's:test_relative:_&:' \
- -i test_httpbin.py || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/httpbin/metadata.xml b/dev-python/httpbin/metadata.xml
index 2dfdc52db349..14a302ee42d6 100644
--- a/dev-python/httpbin/metadata.xml
+++ b/dev-python/httpbin/metadata.xml
@@ -9,5 +9,6 @@
<upstream>
<remote-id type="pypi">httpbin</remote-id>
<remote-id type="github">postmanlabs/httpbin</remote-id>
+ <remote-id type="github">psf/httpbin</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/httpcore/Manifest b/dev-python/httpcore/Manifest
index 7e3b6100d260..7a7176fa1fda 100644
--- a/dev-python/httpcore/Manifest
+++ b/dev-python/httpcore/Manifest
@@ -1,2 +1 @@
-DIST httpcore-0.16.2.gh.tar.gz 78465 BLAKE2B f028bc524dcf865b5213d4ff21dcfff525ac34d4dfa1301ebc56392f3082b3b76b6ec1da5e50a01c416cd09d53ad5edd5f2a6d6d4f9dd78e8a579812c0cebc36 SHA512 d11fe4f6a59e2dc1bce6724941db5978f0863f73e39786121f775d9c1702a32741de2cb4a0588fc907294d1b244713222cc57ef19a0d66e4075075c621f17d9b
-DIST httpcore-0.16.3.gh.tar.gz 79132 BLAKE2B c06d55ce1390085db6c15d3e96160cfb037a935d1298304856defd1778783ad1954924a48653ce165dae9cde18abec157aa72865f57e97d91a564d1b823c863c SHA512 d889da0a3fee4f190ecc3981b8af34fa9b285d00f4ad92158a085c65f3ad8fa5a97a8c711bd51f8b9518b9d2c90ecd457dee1a3d7bbf853715473f4707cc421a
+DIST httpcore-1.0.5.gh.tar.gz 97696 BLAKE2B 2e05f790e0e67c36f86ac1ee47eea716f820d68678eff63e73bce0f652448d782c66764e7f1ab3f8e891ebf2243b96ba79ca211ea769bbf5df117342e2942cbb SHA512 4b37f3874e65908598b906167d5b0840f66ffef95b65110d318d9e64df5fd23770a08ea44ea2f3cf6f9db50f20bb9fec99b40323b959675b37168414cf397bf8
diff --git a/dev-python/httpcore/httpcore-0.16.2.ebuild b/dev-python/httpcore/httpcore-0.16.2.ebuild
deleted file mode 100644
index 15e252a39e22..000000000000
--- a/dev-python/httpcore/httpcore-0.16.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=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-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="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="
- 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-0.16.3.ebuild b/dev-python/httpcore/httpcore-0.16.3.ebuild
deleted file mode 100644
index fcc4eef3b30b..000000000000
--- a/dev-python/httpcore/httpcore-0.16.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=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-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="~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="
- 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..29e200461117
--- /dev/null
+++ b/dev-python/httpcore/httpcore-1.0.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=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/httplib2/Manifest b/dev-python/httplib2/Manifest
index 5c971426580d..f6cbc21cab80 100644
--- a/dev-python/httplib2/Manifest
+++ b/dev-python/httplib2/Manifest
@@ -1 +1 @@
-DIST httplib2-0.21.0.gh.tar.gz 373245 BLAKE2B d7194773c2b61cbf579da5aea7f52cb3481eed86896be215b942de7f9418a39c4a934868c9e01b6bfb050a32e4b7bc7ff775b28af5ba5db2827131e436bf0b04 SHA512 8269014f05f5e4b668c7dea8ae708b27a60b4216d712a93ab58b74f399ab5bc0dcdcd8c1411ccff587c7bdb6bc20917451ad969e5bef2d5c5262327cabe17bbb
+DIST httplib2-0.22.0.gh.tar.gz 373972 BLAKE2B 6adfbc61d4f898666512da5d02cf082fcaf76bf1816de955510f5c4721a36c38d99fef963d5150b62cca091543ed65bb1ef5f33ce99123e1cd2abe467d4970e3 SHA512 77210f85ccaa2d2cf4a6c89f5146ca5eb9a6f26f00e862f6d0716ec73baffdf94714ae1d5eaced4349920b91276a7835e2f028c6d9156e84c241514b198791e5
diff --git a/dev-python/httplib2/httplib2-0.21.0.ebuild b/dev-python/httplib2/httplib2-0.21.0.ebuild
deleted file mode 100644
index 504e8447a22d..000000000000
--- a/dev-python/httplib2/httplib2-0.21.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A comprehensive HTTP client library"
-HOMEPAGE="
- https://pypi.org/project/httplib2/
- https://github.com/httplib2/httplib2/
-"
-SRC_URI="
- https://github.com/httplib2/httplib2/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 ~x64-macos"
-
-RDEPEND="
- app-misc/ca-certificates
- dev-python/pyparsing[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-libs/openssl
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=( "${FILESDIR}"/${PN}-0.12.1-use-system-cacerts.patch )
-
-src_prepare() {
- sed -i -e '/--cov/d' setup.cfg || die
- # cryptography dep is entirely optional, and has a good fallback
- sed -i -e 's:from cryptography.*:pass:' tests/__init__.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken by using system certificates
- tests/test_cacerts_from_env.py::test_certs_file_from_builtin
- tests/test_cacerts_from_env.py::test_certs_file_from_environment
- tests/test_cacerts_from_env.py::test_with_certifi_removed_from_modules
-
- # broken by new PySocks, probably
- tests/test_proxy.py::test_server_not_found_error_is_raised_for_invalid_hostname
- tests/test_proxy.py::test_socks5_auth
-
- # broken by recerting (TODO)
- tests/test_https.py::test_min_tls_version
- tests/test_https.py::test_max_tls_version
-
- # new cryptography or openssl-3?
- tests/test_https.py::test_client_cert_password_verified
- )
-
- # tests in python* are replaced by tests/
- # upstream fails at cleaning up stuff
- epytest tests
-}
diff --git a/dev-python/httplib2/httplib2-0.22.0.ebuild b/dev-python/httplib2/httplib2-0.22.0.ebuild
new file mode 100644
index 000000000000..ed1ee5aad216
--- /dev/null
+++ b/dev-python/httplib2/httplib2-0.22.0.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2023 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 comprehensive HTTP client library"
+HOMEPAGE="
+ https://pypi.org/project/httplib2/
+ https://github.com/httplib2/httplib2/
+"
+SRC_URI="
+ https://github.com/httplib2/httplib2/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 ~x64-macos"
+
+RDEPEND="
+ app-misc/ca-certificates
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-libs/openssl
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=( "${FILESDIR}"/${PN}-0.12.1-use-system-cacerts.patch )
+
+src_prepare() {
+ sed -i -e '/--cov/d' setup.cfg || die
+ # cryptography dep is entirely optional, and has a good fallback
+ sed -i -e 's:from cryptography.*:pass:' tests/__init__.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken by using system certificates
+ tests/test_cacerts_from_env.py::test_certs_file_from_builtin
+ tests/test_cacerts_from_env.py::test_certs_file_from_environment
+ tests/test_cacerts_from_env.py::test_with_certifi_removed_from_modules
+
+ # broken by new PySocks, probably
+ tests/test_proxy.py::test_server_not_found_error_is_raised_for_invalid_hostname
+ tests/test_proxy.py::test_socks5_auth
+
+ # broken by recerting (TODO)
+ tests/test_https.py::test_min_tls_version
+ tests/test_https.py::test_max_tls_version
+
+ # new cryptography or openssl-3?
+ tests/test_https.py::test_client_cert_password_verified
+ )
+
+ # tests in python* are replaced by tests/
+ # upstream fails at cleaning up stuff
+ epytest tests
+}
diff --git a/dev-python/httpretty/httpretty-1.1.4-r1.ebuild b/dev-python/httpretty/httpretty-1.1.4-r1.ebuild
index a716e09aa750..13a6a1c00021 100644
--- a/dev-python/httpretty/httpretty-1.1.4-r1.ebuild
+++ b/dev-python/httpretty/httpretty-1.1.4-r1.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="HTTP client mock for Python"
HOMEPAGE="
https://github.com/gabrielfalcao/httpretty/
https://pypi.org/project/httpretty/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="MIT"
diff --git a/dev-python/httpx-socks/Manifest b/dev-python/httpx-socks/Manifest
index 5846d3d30a62..cac3b106869d 100644
--- a/dev-python/httpx-socks/Manifest
+++ b/dev-python/httpx-socks/Manifest
@@ -1 +1 @@
-DIST httpx-socks-0.7.5.gh.tar.gz 24847 BLAKE2B 9c119b756bf493df47a1bc9c36339508a2192d2bd4392113955fed6929d7c79654f17c069f9d952a11d8c95cf210cdf54af1bb59f47dc50b26b180f0915d3fe9 SHA512 df921af0c5fd0e8b4cb127cd13d5285ae57eb6ff9bc95f9422c02c79771ef55f345ef1618156fd0887467ed81cad2081ea9f2a56a03dc1d80948ed9eabe67aee
+DIST httpx-socks-0.9.1.gh.tar.gz 15210 BLAKE2B 88f38797110227c4e4f01fea7e47c9403573c3c06f6bd644858a6ad4947d90dcbd33c03a0d30a91f227b0e3f341c249dcdef2b009065447e95579e561fee7f4b SHA512 dec2a0eb2dbc692a7e45a2f0df3711057fdc50e7284985d234ed68b3af01372faaa532d070736a005eb49191d55927dc949e9297a6a471b89cf085ef38b56910
diff --git a/dev-python/httpx-socks/httpx-socks-0.7.5.ebuild b/dev-python/httpx-socks/httpx-socks-0.7.5.ebuild
deleted file mode 100644
index d17ff2fc4a73..000000000000
--- a/dev-python/httpx-socks/httpx-socks-0.7.5.ebuild
+++ /dev/null
@@ -1,43 +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..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Proxy (HTTP, SOCKS) transports for httpx"
-HOMEPAGE="
- https://github.com/romis2012/httpx-socks/
- https://pypi.org/project/httpx-socks/
-"
-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 arm64 ~loong ppc ppc64 ~riscv x86"
-
-RDEPEND="
- <dev-python/httpx-0.24.0[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.21.0[${PYTHON_USEDEP}]
- <dev-python/httpcore-0.17.0[${PYTHON_USEDEP}]
- >=dev-python/httpcore-0.14.0[${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..7831c1c74cd7
--- /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..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.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 5ab15debe0a2..6dfbfb2e792e 100644
--- a/dev-python/httpx/Manifest
+++ b/dev-python/httpx/Manifest
@@ -1 +1 @@
-DIST httpx-0.23.3.gh.tar.gz 2163546 BLAKE2B 96903669ca9d22cbb85bd322a407aa2b6799b5f8bfce277a763248ac2d65d60b85c0c71f24af99098eaca585f8136d9db687d6d0ab8cf2347d3c6fe28222def0 SHA512 d4f051578de63e677492727c466d44858c31d1b85441621667d4aeaec5cd2ebd0257a1db115f1b4d77d563359dfc81c2cd1221c0cc66c891b461fa1f4e8a5aee
+DIST httpx-0.27.0.gh.tar.gz 2168004 BLAKE2B 2bfe58ffa9bd75b602acf844967d399c2173499981e73296bfc0726ee738219031ac3ac04517dd027f769966b77bf225287490c55435a53aec44b9784a0c4b2e SHA512 9db19cced6554effdb5fb0b442cbe05dc66cbfbdb23e8fbc19f43e1acc81028bca9e0fba5d2dae617b19be9f64baa0f02e727e92fef3f3f1288aa19ae07f35c6
diff --git a/dev-python/httpx/httpx-0.23.3-r1.ebuild b/dev-python/httpx/httpx-0.23.3-r1.ebuild
deleted file mode 100644
index 9b24e4b5407e..000000000000
--- a/dev-python/httpx/httpx-0.23.3-r1.ebuild
+++ /dev/null
@@ -1,82 +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_{9..11} )
-
-inherit distutils-r1 optfeature # docs
-
-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="amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="cli"
-
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- <dev-python/httpcore-0.17[${PYTHON_USEDEP}]
- >=dev-python/httpcore-0.15[${PYTHON_USEDEP}]
- >=dev-python/rfc3986-1.3[${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/anyio[${PYTHON_USEDEP}]
- dev-python/brotlicffi[${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 '/rfc3986/s:,<2::' -e '/rich/s:,<13::' pyproject.toml || 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..108c55923dff
--- /dev/null
+++ b/dev-python/httpx/httpx-0.27.0.ebuild
@@ -0,0 +1,83 @@
+# 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 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
+
+ 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/huawei-lte-api/Manifest b/dev-python/huawei-lte-api/Manifest
index 4271fd295819..19461dec9f57 100644
--- a/dev-python/huawei-lte-api/Manifest
+++ b/dev-python/huawei-lte-api/Manifest
@@ -1 +1 @@
-DIST huawei-lte-api-1.6.11.gh.tar.gz 38037 BLAKE2B be2da7d8918d367e589937cdd70222afdafd6082e6c25c7238a7ba6bb160bc1410cf682a79b41c4d9e0eca3c337130e5a33a3a7985f9cb1ff6c78fe5bfbf6358 SHA512 4e7248438882988c6eadb61c57e53a773f65737ca4ee770cf1a9a8e99a10d1a930c412f3d3d3235edb5061d00a56da75e92a58af095fe79db98ce024a2acb773
+DIST huawei-lte-api-1.8.1.gh.tar.gz 40698 BLAKE2B 61e2e6399b106e7efe68ed50d0d3e17ca4b243d62c2b4d00215141931f806ef09c7bee826e50b2b37f7bc8cdb663912019470932a1aa491e0ca582f4ea7baa8d SHA512 704c9f18db74aaa544888c761a934e9886460ce5e1848e1e221ed05cedf1357a0bcce758d2afe126dfd39739d7819520a5fc82a19315647f38f058fbe60d0511
diff --git a/dev-python/huawei-lte-api/huawei-lte-api-1.6.11.ebuild b/dev-python/huawei-lte-api/huawei-lte-api-1.6.11.ebuild
deleted file mode 100644
index 05b4b5be98f5..000000000000
--- a/dev-python/huawei-lte-api/huawei-lte-api-1.6.11.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_{9..11} )
-
-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.8.1.ebuild b/dev-python/huawei-lte-api/huawei-lte-api-1.8.1.ebuild
new file mode 100644
index 000000000000..8793f24f8b46
--- /dev/null
+++ b/dev-python/huawei-lte-api/huawei-lte-api-1.8.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=( 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/humanfriendly/humanfriendly-10.0-r1.ebuild b/dev-python/humanfriendly/humanfriendly-10.0-r1.ebuild
index de2770418f18..b0c40d48af3b 100644
--- a/dev-python/humanfriendly/humanfriendly-10.0-r1.ebuild
+++ b/dev-python/humanfriendly/humanfriendly-10.0-r1.ebuild
@@ -1,22 +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
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
PYTHON_REQ_USE="threads(+)"
DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
+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/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="MIT"
-KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
# This is completely broken
# AttributeError: module 'humanfriendly.tests' has no attribute 'connect'
diff --git a/dev-python/humanize/Manifest b/dev-python/humanize/Manifest
index 92ad9dc9970b..1a4751b20e78 100644
--- a/dev-python/humanize/Manifest
+++ b/dev-python/humanize/Manifest
@@ -1 +1 @@
-DIST humanize-4.4.0.tar.gz 78519 BLAKE2B f61b654e201995479ace22b5aac106b08304ed9212cf5c6c7f87731d861c42c5e0243f7bb0b7f2c29b870421fa81fba0c36e4ead90ff90f207bc984286ac119a SHA512 bbbd386d9af82d9db0f2edc4653928654203c4239419232abfc15c51ccd865b355366549c46651e1291d4222ca8b2a297ffc0fce3cc32be4ae2f904ae308a8e4
+DIST humanize-4.9.0.tar.gz 78465 BLAKE2B bb13199f7ed9b833891e1e5f166dce33e167224c5fb75ab33130a551680e802aa347f5e19cd1162caa79917af6e0acbbb36226d5051a9d4eef07bc554ba0e19e SHA512 64238f6717302cec4cac853fd2813647132eb4f6cd73cc61fd43346577cd42bbc2cf5a7345910393cd9a4e9c2b5e949a50c6259b0bd8254a05e08d0d8d70a5d5
diff --git a/dev-python/humanize/humanize-4.4.0.ebuild b/dev-python/humanize/humanize-4.4.0.ebuild
deleted file mode 100644
index dc90c714fbb7..000000000000
--- a/dev-python/humanize/humanize-4.4.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Common humanization utilities"
-HOMEPAGE="
- https://github.com/python-humanize/humanize/
- https://pypi.org/project/humanize/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-BDEPEND="
- dev-python/setuptools_scm[${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
new file mode 100644
index 000000000000..49c71858c30b
--- /dev/null
+++ b/dev-python/humanize/humanize-4.9.0.ebuild
@@ -0,0 +1,28 @@
+# 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/hvac/Manifest b/dev-python/hvac/Manifest
index 3fb991294562..01156ac30d21 100644
--- a/dev-python/hvac/Manifest
+++ b/dev-python/hvac/Manifest
@@ -1 +1 @@
-DIST hvac-1.0.2.gh.tar.gz 309384 BLAKE2B bb492de18a6041b9a478554c1f750540195f8476f74ccf1c9eac3ca04812dfa9c653263b523d0b34efdf1e4cfffebb64ca110023c840abcc97ec7b5534a7d1b1 SHA512 e0f81682be5308a418c2246b03573f0001b9e619e1dc6435b9c9bb608e496a6406b862e28c337afe56cd2d2432d9a0240af5529841d3d6b1b60b662b9b56b668
+DIST hvac-2.1.0.tar.gz 325532 BLAKE2B 61c78e2bcbfcf95c853aef825f68b510522c66fd2f4c526043abd2ea4de166ab4972a5de4e2829ba28a8bc6ac43a0cf5c38ffcb31e4ec050db0cf3f49c86541b SHA512 331effd50a11544683d9b0e186c7b56d9480826c645969940c19b7528d5f4f1fd09f0867f61f421948ddb9558d76d9e68e3a189652e00093ad22cfa8be785825
diff --git a/dev-python/hvac/hvac-1.0.2.ebuild b/dev-python/hvac/hvac-1.0.2.ebuild
deleted file mode 100644
index d45f728b4f29..000000000000
--- a/dev-python/hvac/hvac-1.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_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="hashicorp vault client in python"
-HOMEPAGE="https://github.com/hvac/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-2.1.0.ebuild b/dev-python/hvac/hvac-2.1.0.ebuild
new file mode 100644
index 000000000000..f9565b6f997b
--- /dev/null
+++ b/dev-python/hvac/hvac-2.1.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..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/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 09c22ff73087..3f70248adae6 100644
--- a/dev-python/hypercorn/Manifest
+++ b/dev-python/hypercorn/Manifest
@@ -1 +1 @@
-DIST hypercorn-0.14.3.gh.tar.gz 154930 BLAKE2B da827d586307ace6ef9ddb8ca4046ebc5c745df1d48152ed78b948751a7d472c73d5f8310e58266158af4739e14f2960a46c2e7fc7f12bf7629a3edb3821b58f SHA512 f0d69ab1883379058112907547e6f89a4a7114d7f4851b92f0c465d73def9cc15508e3981bda7e66ce3c00e896f7fb221b3dcd8bee6a51d8429572b678b7ade8
+DIST hypercorn-0.16.0.gh.tar.gz 159038 BLAKE2B d17fde74af7f3a0157af22465f52a46967b8c4297eb5f602614d5337ca511d365e391630495535b56650fc4bfac864d30c5b281c04beddb0fec9bfcecd0f0c00 SHA512 75d75f0a0c1726b83d8ee38d5a15f4241130369904c9925cc3b87d1bf92f0d6a59ae7e7c83434c60ceae4bb628f6a51a42eda00c68a226c0bea6ef1c6fb8cb2c
diff --git a/dev-python/hypercorn/files/hypercorn-0.14.3-tomli.patch b/dev-python/hypercorn/files/hypercorn-0.14.3-tomli.patch
deleted file mode 100644
index a438680423a9..000000000000
--- a/dev-python/hypercorn/files/hypercorn-0.14.3-tomli.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From 676612c73d3c231f823f88ea0995e80522db6178 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Mon, 19 Dec 2022 15:27:41 +0100
-Subject: [PATCH] Use tomllib/tomli for .toml support
-
-Replace the unmaintained and non-conformant `toml` library with
-the built-in `tomllib` module in Python 3.11+, with fallback to `tomli`
-(featuring the same ABI) in Python 3.10 and older.
----
- pyproject.toml | 2 +-
- src/hypercorn/config.py | 10 +++++++---
- src/hypercorn/logging.py | 10 +++++++---
- tox.ini | 1 -
- 4 files changed, 15 insertions(+), 8 deletions(-)
-
-diff --git a/pyproject.toml b/pyproject.toml
-index 71ceaff..1334fcf 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -30,7 +30,7 @@ h11 = "*"
- h2 = ">=3.1.0"
- priority = "*"
- pydata_sphinx_theme = { version = "*", optional = true }
--toml = "*"
-+tomli = { version = "*", python = "<3.11" }
- trio = { version = ">=0.11.0", optional = true }
- typing_extensions = { version = ">=3.7.4", python = "<3.8" }
- uvloop = { version = "*", markers = "platform_system != 'Windows'", optional = true }
-diff --git a/src/hypercorn/config.py b/src/hypercorn/config.py
-index f9a9d66..ecfa1bd 100644
---- a/src/hypercorn/config.py
-+++ b/src/hypercorn/config.py
-@@ -6,6 +6,7 @@ import logging
- import os
- import socket
- import stat
-+import sys
- import types
- import warnings
- from dataclasses import dataclass
-@@ -22,7 +23,10 @@ from time import time
- from typing import Any, AnyStr, Dict, List, Mapping, Optional, Tuple, Type, Union
- from wsgiref.handlers import format_date_time
-
--import toml
-+if sys.version_info >= (3, 11):
-+ import tomllib
-+else:
-+ import tomli as tomllib
-
- from .logging import Logger
-
-@@ -355,8 +359,8 @@ class Config:
- filename: The filename which gives the path to the file.
- """
- file_path = os.fspath(filename)
-- with open(file_path) as file_:
-- data = toml.load(file_)
-+ with open(file_path, "rb") as file_:
-+ data = tomllib.load(file_)
- return cls.from_mapping(data)
-
- @classmethod
-diff --git a/src/hypercorn/logging.py b/src/hypercorn/logging.py
-index 3c2c657..8ca6105 100644
---- a/src/hypercorn/logging.py
-+++ b/src/hypercorn/logging.py
-@@ -9,7 +9,11 @@ from http import HTTPStatus
- from logging.config import dictConfig, fileConfig
- from typing import Any, IO, Mapping, Optional, TYPE_CHECKING, Union
-
--import toml
-+if sys.version_info >= (3, 11):
-+ import tomllib
-+else:
-+ import tomli as tomllib
-+
-
- if TYPE_CHECKING:
- from .config import Config
-@@ -65,8 +69,8 @@ class Logger:
- with open(config.logconfig[5:]) as file_:
- dictConfig(json.load(file_))
- elif config.logconfig.startswith("toml:"):
-- with open(config.logconfig[5:]) as file_:
-- dictConfig(toml.load(file_))
-+ with open(config.logconfig[5:], "rb") as file_:
-+ dictConfig(tomllib.load(file_))
- else:
- log_config = {
- "__file__": config.logconfig,
-diff --git a/tox.ini b/tox.ini
-index 675992b..0f636fb 100644
---- a/tox.ini
-+++ b/tox.ini
-@@ -47,7 +47,6 @@ basepython = python3.10
- deps =
- mypy
- pytest
-- types-toml
- commands =
- mypy src/hypercorn/ tests/
-
---
-2.39.0
-
diff --git a/dev-python/hypercorn/hypercorn-0.14.3-r1.ebuild b/dev-python/hypercorn/hypercorn-0.14.3-r1.ebuild
deleted file mode 100644
index c354b3fef2c2..000000000000
--- a/dev-python/hypercorn/hypercorn-0.14.3-r1.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=poetry
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-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 arm64 ~loong ppc ppc64 ~riscv 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/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[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}"/${P}-tomli.patch
- )
-
- sed -i -e 's:--no-cov-on-fail::' pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/hypercorn/hypercorn-0.16.0.ebuild b/dev-python/hypercorn/hypercorn-0.16.0.ebuild
new file mode 100644
index 000000000000..bd2f8dec4eb5
--- /dev/null
+++ b/dev-python/hypercorn/hypercorn-0.16.0.ebuild
@@ -0,0 +1,49 @@
+# 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} )
+
+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 ppc ppc64 ~riscv ~s390 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/metadata.xml b/dev-python/hypercorn/metadata.xml
index 1d8855d3b9ff..aef6884c023c 100644
--- a/dev-python/hypercorn/metadata.xml
+++ b/dev-python/hypercorn/metadata.xml
@@ -7,7 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="pypi">hypercorn</remote-id>
+ <remote-id type="pypi">Hypercorn</remote-id>
<remote-id type="github">pgjones/hypercorn</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/hyperframe/Manifest b/dev-python/hyperframe/Manifest
index a0d0ca8259e9..8881616826eb 100644
--- a/dev-python/hyperframe/Manifest
+++ b/dev-python/hyperframe/Manifest
@@ -1,2 +1 @@
-DIST hyperframe-5.2.0.tar.gz 19115 BLAKE2B 6dfd7c6e7f07eb52a499794709fb498a30bc4b534fb49d57295cf280afa200342139fa6c794613e518bbd0e2301672b05826d2adcdd7eebf528469af5e9441f7 SHA512 2e04b48c6d31adb0893a3246046b447c32f3d4485ffe9b08370b6c534ed4273c19e2e2c1a23d48268e333d91d8e911578829776076d8f73743cd9ef597926e3c
DIST hyperframe-6.0.1.tar.gz 25008 BLAKE2B c5cea5b54fd9ecfc0d619c07c484cdd1e2813c656120faadf3f1b61739c608b43d19bd7527b221ad25ea824da05b5747d38f3a6e27d058c1030cce2c4069f10e SHA512 2a5101b2e91e047fe39b32f81a1a8b2240c371fed28a5e1581e743371418388a7dfb55bc819c46a45804e7f00a5231ca54c92aa1b5b41ffeb714b8cb3ac485ca
diff --git a/dev-python/hyperframe/hyperframe-5.2.0-r1.ebuild b/dev-python/hyperframe/hyperframe-5.2.0-r1.ebuild
deleted file mode 100644
index 4070ba3e30ef..000000000000
--- a/dev-python/hyperframe/hyperframe-5.2.0-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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="HTTP/2 framing layer for Python"
-HOMEPAGE="
- https://python-hyper.org/projects/hyperframe/en/latest/
- https://pypi.org/project/hyperframe/
- https://github.com/python-hyper/hyperframe/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.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
diff --git a/dev-python/hyperframe/hyperframe-5.2.0.ebuild b/dev-python/hyperframe/hyperframe-5.2.0.ebuild
deleted file mode 100644
index 30f6dd625521..000000000000
--- a/dev-python/hyperframe/hyperframe-5.2.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=7
-PYTHON_COMPAT=( python3_{9..10} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="HTTP/2 framing layer for Python"
-HOMEPAGE="https://python-hyper.org/en/latest/
- https://pypi.org/project/hyperframe/
- https://github.com/python-hyper/hyperframe"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.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
diff --git a/dev-python/hyperframe/hyperframe-6.0.1-r1.ebuild b/dev-python/hyperframe/hyperframe-6.0.1-r1.ebuild
index fb5eb92c2726..fd61495e21b9 100644
--- a/dev-python/hyperframe/hyperframe-6.0.1-r1.ebuild
+++ b/dev-python/hyperframe/hyperframe-6.0.1-r1.ebuild
@@ -4,9 +4,9 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="HTTP/2 framing layer for Python"
HOMEPAGE="
@@ -14,7 +14,6 @@ HOMEPAGE="
https://pypi.org/project/hyperframe/
https://github.com/python-hyper/hyperframe/
"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/hyperlink/hyperlink-21.0.0-r1.ebuild b/dev-python/hyperlink/hyperlink-21.0.0-r1.ebuild
index 9d0fceecb4aa..61ec4a926554 100644
--- a/dev-python/hyperlink/hyperlink-21.0.0-r1.ebuild
+++ b/dev-python/hyperlink/hyperlink-21.0.0-r1.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A featureful, correct URL for Python"
HOMEPAGE="
https://github.com/python-hyper/hyperlink/
https://pypi.org/project/hyperlink/
"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD MIT"
SLOT="0"
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 88797fd43007..8f2f7fd907f7 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,6 +1,2 @@
-DIST hypothesis-6.62.1.gh.tar.gz 9342261 BLAKE2B 68ffa2294e667e1182ddc96d2b2595723ae38077a63c8f5c8d45ed232536f6749c15912ca9fa61280e9564ac117fc8f94555a564aef5bdfcb8f9bdc38faa8c3e SHA512 1f886de0ae1c4e3371a60e45f00f265542cefa89ce1a109f794ceff3eaa648e2faf566b86b0921e5741b5d8b8d285169387426d8a069410e86642a95380e312e
-DIST hypothesis-6.63.0.gh.tar.gz 9342417 BLAKE2B edd4795c9fc4e254fda89fff7554965f350c9dcb738095f4ddb1da16a169ea0b72a52ce4321543efa97f69382a76307d622c37e81e3372867e57ad9ef2060d0b SHA512 9e863d72abea9431d027fbffe39107bb95dc9e80c423d2a69b039489119841fbcc99ddf54248b5d8a797bccdeb450760101862baa3be113c7715430591d054a6
-DIST hypothesis-6.64.0.gh.tar.gz 9345246 BLAKE2B 2ee9a14e84bb72a8248c28096a31b4873f51c121b6446cbcd5d2831418f769ba464d2aead1a52f3da23e640f46e05e7af8927c65113fc7fb3ea59086324c2210 SHA512 4da49b4ab62e9c90770c098653d3b43bbf3fbf8b7aca27546ae2ce0be7923cbabe240a73d124e4e48fc9b8a3e06d31e336b18b875b743992e175acfe2cddd270
-DIST hypothesis-6.65.0.gh.tar.gz 9347619 BLAKE2B 5e67e4659d883209aefe3a459620a2d9774122cb15137851f291365846b179130a1209b18aabd4cb120dd5f522e2ac1b3928904e9b25b10109ae779926712220 SHA512 93ecf5bd72e6f8ff69acb8056f2bb26011cbc997c58bbf3055f17c4690d6fe21f22d6e2a86bc3e7172063c85278b7abc42904028ac73174d6f2855ff7175449f
-DIST hypothesis-6.65.1.gh.tar.gz 9347804 BLAKE2B 555b8eb742b35cffbc0985394b7b830fbff0c601c031b270ffb50c8e1e8437b99c4f827b92cfc74f5239aac43b34e70520b3674129c70338ad010b289552b14b SHA512 faa1330477a5932b47af5c0b70742a81455aba85f5ba19e355a1678a23e62612a8972e510f3bd0f133491fdd5c2f293a4ea2f75e181dedaa3304d789e3bc90cc
-DIST hypothesis-6.65.2.gh.tar.gz 9349189 BLAKE2B 4a36cde376a56c9eee7645c76606777e8c40144f0495a1a6f2d2d840262be26f52e077f932e90790214decfbc3fbb9b3f64add1830e451bb8e56b8c9c5ba5f34 SHA512 0955e95d9d97f44170dfc937c3ea6b43f6c4ac74dbb48e16a4998e735310f72448083382f6628b4bb9620ac0d21d6c749a5464c6a7caee24cdb7af8cd0c01dcb
+DIST hypothesis-6.100.1.gh.tar.gz 9450717 BLAKE2B b27e3be6b43ee7d140ee00064748cd651683414b1b9f8d697c166ddec7596c11e2c47a814de91b567b4d08568e7bcaab42a88665f8b6882d2807afcfdb967257 SHA512 4b46c5dfb330c65c8fc4afce90ed28309fc377e39d65b1ba0bf086efb5fe53b2be021bcb5e6a90fa6bdad463de6254761faab14fe2ad7814e84dfff08ff1a9d9
+DIST hypothesis-6.99.13.gh.tar.gz 9450425 BLAKE2B cb8d559d95c60a931640c978ad3ed4c9898cc048254f105f9cb79cd8e36c8b28712d48304b17f5a837a1fd69b88102461a057d5d9ea3786a846d61362137d426 SHA512 0d74dcb6c5d8015c8c660b66298a3053fce1ad04191f81b216a05b08f24fdaaccc7470937459614b95810dad4e37c4712da67eeff414ca50af1d1e5fa81b4d64
diff --git a/dev-python/hypothesis/hypothesis-6.100.1.ebuild b/dev-python/hypothesis/hypothesis-6.100.1.ebuild
new file mode 100644
index 000000000000..13d62b8d6bd1
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.100.1.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
+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-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
+ )
+"
+
+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.62.1.ebuild b/dev-python/hypothesis/hypothesis-6.62.1.ebuild
deleted file mode 100644
index 53e3bebd8313..000000000000
--- a/dev-python/hypothesis/hypothesis-6.62.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
-CLI_COMPAT=( python3_{9..10} )
-PYTHON_COMPAT=( "${CLI_COMPAT[@]}" python3_11 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.8 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/mock[${PYTHON_USEDEP}]
- 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,pytest_forked,_hypothesis_pytestplugin
-
- epytest tests/cover tests/pytest tests/quality -n "$(makeopts_jobs)"
-}
-
-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.63.0.ebuild b/dev-python/hypothesis/hypothesis-6.63.0.ebuild
deleted file mode 100644
index c793a8a143d2..000000000000
--- a/dev-python/hypothesis/hypothesis-6.63.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
-CLI_COMPAT=( python3_{9..10} )
-PYTHON_COMPAT=( "${CLI_COMPAT[@]}" python3_11 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.8 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/mock[${PYTHON_USEDEP}]
- 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,pytest_forked,_hypothesis_pytestplugin
-
- epytest tests/cover tests/pytest tests/quality -n "$(makeopts_jobs)"
-}
-
-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.64.0.ebuild b/dev-python/hypothesis/hypothesis-6.64.0.ebuild
deleted file mode 100644
index c793a8a143d2..000000000000
--- a/dev-python/hypothesis/hypothesis-6.64.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
-CLI_COMPAT=( python3_{9..10} )
-PYTHON_COMPAT=( "${CLI_COMPAT[@]}" python3_11 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.8 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/mock[${PYTHON_USEDEP}]
- 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,pytest_forked,_hypothesis_pytestplugin
-
- epytest tests/cover tests/pytest tests/quality -n "$(makeopts_jobs)"
-}
-
-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.65.0.ebuild b/dev-python/hypothesis/hypothesis-6.65.0.ebuild
deleted file mode 100644
index c793a8a143d2..000000000000
--- a/dev-python/hypothesis/hypothesis-6.65.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
-CLI_COMPAT=( python3_{9..10} )
-PYTHON_COMPAT=( "${CLI_COMPAT[@]}" python3_11 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.8 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/mock[${PYTHON_USEDEP}]
- 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,pytest_forked,_hypothesis_pytestplugin
-
- epytest tests/cover tests/pytest tests/quality -n "$(makeopts_jobs)"
-}
-
-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.65.1.ebuild b/dev-python/hypothesis/hypothesis-6.65.1.ebuild
deleted file mode 100644
index c793a8a143d2..000000000000
--- a/dev-python/hypothesis/hypothesis-6.65.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
-CLI_COMPAT=( python3_{9..10} )
-PYTHON_COMPAT=( "${CLI_COMPAT[@]}" python3_11 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.8 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/mock[${PYTHON_USEDEP}]
- 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,pytest_forked,_hypothesis_pytestplugin
-
- epytest tests/cover tests/pytest tests/quality -n "$(makeopts_jobs)"
-}
-
-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.65.2.ebuild b/dev-python/hypothesis/hypothesis-6.65.2.ebuild
deleted file mode 100644
index c793a8a143d2..000000000000
--- a/dev-python/hypothesis/hypothesis-6.65.2.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
-CLI_COMPAT=( python3_{9..10} )
-PYTHON_COMPAT=( "${CLI_COMPAT[@]}" python3_11 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.8 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/mock[${PYTHON_USEDEP}]
- 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,pytest_forked,_hypothesis_pytestplugin
-
- epytest tests/cover tests/pytest tests/quality -n "$(makeopts_jobs)"
-}
-
-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.99.13.ebuild b/dev-python/hypothesis/hypothesis-6.99.13.ebuild
new file mode 100644
index 000000000000..231433159471
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.99.13.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
+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-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
+ )
+"
+
+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 e9d39d48d487..5843b4248195 100644
--- a/dev-python/icalendar/Manifest
+++ b/dev-python/icalendar/Manifest
@@ -1,2 +1 @@
-DIST icalendar-5.0.3.tar.gz 101431 BLAKE2B 4c98880f661c5cd8025e7e281dbd392ff9333c3a4c3850d7826cbbb15401d0916e24c1478ac3098c58709a065f3de21b7d8fea56ad7df40aec06b989a77deac5 SHA512 ee278a4776cbac3dfa99e8931fc48be49b06e3354689c8d5132ff53092edb913c24a61a69dac7f5de3defdb929a6b53374209d3f7a8dd5af53f414e5aadfa44f
-DIST icalendar-5.0.4.tar.gz 102093 BLAKE2B 5bb618f8abfa8c96cdf45b0fd85f97ecfbe99361fb2eda08fe6ba43da1d01642e116218bc01353a745f6dc401278887d5ffc616fcf666691360174459c896362 SHA512 5b9b1b770c903bec4d8e5a4dc20b82d8e35eb86e6421d62abad640e65db20ccc71757a939e9ccb051653962ab5725e80dbc024703de158fee2cb0d608b8b5732
+DIST icalendar-5.0.12.tar.gz 115981 BLAKE2B b6a778f78977b2e967f639ca1a6209002c003c0729a993217da2fa7d3e407d5fa696740daae7b3c1084588140675a2fb1346b39042fe869195d917b3a2436f49 SHA512 0b608054b955223c1b876c8395b94a501f6b5afb92285561750749882cde2d55cbb48487f7fcd64188d2d6cd193f3bdb5634871352eb5b7a445c483075a62453
diff --git a/dev-python/icalendar/icalendar-5.0.12.ebuild b/dev-python/icalendar/icalendar-5.0.12.ebuild
new file mode 100644
index 000000000000..eb9ec50820c7
--- /dev/null
+++ b/dev-python/icalendar/icalendar-5.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=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-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-5.0.3.ebuild b/dev-python/icalendar/icalendar-5.0.3.ebuild
deleted file mode 100644
index 9c6d5b342cd7..000000000000
--- a/dev-python/icalendar/icalendar-5.0.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Package used for parsing and generating iCalendar files (RFC 2445)"
-HOMEPAGE="
- https://github.com/collective/icalendar/
- https://pypi.org/project/icalendar/
-"
-SRC_URI="mirror://pypi/${P::1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/backports-zoneinfo[${PYTHON_USEDEP}]
- ' 3.8)
-"
-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.4.ebuild b/dev-python/icalendar/icalendar-5.0.4.ebuild
deleted file mode 100644
index b6a133d9c990..000000000000
--- a/dev-python/icalendar/icalendar-5.0.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Package used for parsing and generating iCalendar files (RFC 2445)"
-HOMEPAGE="
- https://github.com/collective/icalendar/
- https://pypi.org/project/icalendar/
-"
-SRC_URI="mirror://pypi/${P::1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-
-RDEPEND="
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/backports-zoneinfo[${PYTHON_USEDEP}]
- ' 3.8)
-"
-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/identify/Manifest b/dev-python/identify/Manifest
index 4b31f8d58682..7e529f529c50 100644
--- a/dev-python/identify/Manifest
+++ b/dev-python/identify/Manifest
@@ -1,4 +1 @@
-DIST identify-2.5.11.gh.tar.gz 101504 BLAKE2B 0415e9ab67c4254f3dd096364f518b131568c2180b8fdc5096405bae11854d5ef953eae01ad13292b6948d76f02adeee4607cd9485b705b1a303c44bc7110409 SHA512 cba8df5abacfc4db4305501eb6566ef3c9b3e0557796c046159f60a88ee3d0e206e13b070a01c3f7da74f8abf7a17e1374c40dc61814b5b580d1f8508034c402
-DIST identify-2.5.12.gh.tar.gz 101331 BLAKE2B 5335d8e4628921ca813c37197adc8802dc64adec021c80a3babfe2a8f9d27d96c00ae6dcfb0b3aaa6c4ffbde4c74fca6113e94abe7a79122605475c0f9f697d8 SHA512 6b2e9818bdce4c8944fed380708edac0f46f5ff481dfe19358aaf19996af5c9631bd1d68c399bef04768e924423a02519bcd28c58b0f83d455151f90afe4b2a6
-DIST identify-2.5.13.gh.tar.gz 101385 BLAKE2B 2425fd7d1283067215eb776a635421e126ce307c6d94c618bfa2397c0a8e857e34a99c70d8d425f55c577158544165ab8d59b65a879bd6ce113416a99c2684d2 SHA512 efdc3e8d5293fac7f51c72408010b86bf0e84258e114bf2130105d1d6c74ed8d969b92b0bd9a06029c373a767f184c9e3006df1284393d95a6f0b386f9fc69da
-DIST identify-2.5.15.gh.tar.gz 101380 BLAKE2B b00d46dbb492464d819abb8c3fb8782c56351c3f61d635bcf40feb4a5aea175e65f3a0ba2b5ecdfc87fe62b7f9c69f36ede9b6d5d02dd4a579286790a8f16f29 SHA512 898a25399589897833b330b2d17814962f644b60ea80327c32de146b7827d548807ca13a5b6737e5bf0a9dc9bc798eb449aed964f62bc552a71c57baabe46e57
+DIST identify-2.5.35.gh.tar.gz 101691 BLAKE2B 931169744a9126d82b32bd4dea1731f1f4ad209b78d3df9ce490891994194797a7adcaff19400e9856716528f5b3490e05c8e06614c788b089251ef92cd1dd03 SHA512 1d01535f95818533220c06988eb2d9f495c004b41fd197482ab0e3520f81ab2aebce0344dffeb0449423abd6574c21043fa0ad20472b3aaff6cb97986f31fd88
diff --git a/dev-python/identify/identify-2.5.11.ebuild b/dev-python/identify/identify-2.5.11.ebuild
deleted file mode 100644
index 5f8200bbe066..000000000000
--- a/dev-python/identify/identify-2.5.11.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="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 ~hppa ~ppc ~ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/ukkonen[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/identify/identify-2.5.12.ebuild b/dev-python/identify/identify-2.5.12.ebuild
deleted file mode 100644
index a0d521fdd551..000000000000
--- a/dev-python/identify/identify-2.5.12.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="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 ~hppa ~ppc ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- dev-python/ukkonen[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/identify/identify-2.5.13.ebuild b/dev-python/identify/identify-2.5.13.ebuild
deleted file mode 100644
index a0d521fdd551..000000000000
--- a/dev-python/identify/identify-2.5.13.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="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 ~hppa ~ppc ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- dev-python/ukkonen[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/identify/identify-2.5.15.ebuild b/dev-python/identify/identify-2.5.15.ebuild
deleted file mode 100644
index a0d521fdd551..000000000000
--- a/dev-python/identify/identify-2.5.15.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="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 ~hppa ~ppc ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- dev-python/ukkonen[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/identify/identify-2.5.35.ebuild b/dev-python/identify/identify-2.5.35.ebuild
new file mode 100644
index 000000000000..6d0d4666c11a
--- /dev/null
+++ b/dev-python/identify/identify-2.5.35.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..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/idna/Manifest b/dev-python/idna/Manifest
index 35fb56f3169a..ca35c4d0d260 100644
--- a/dev-python/idna/Manifest
+++ b/dev-python/idna/Manifest
@@ -1 +1 @@
-DIST idna-3.4.tar.gz 183077 BLAKE2B dd6c94104e17b441a7a63aec4e28f1969278996964c402865da8ad1040878539f798956e26532281cc44934544fd6fa33407949caf4a34fa2b48d7aafbb8fb5e SHA512 4060a9304c9bac04efdd0b97ec8f5aeb7e17417e767bf51c5dfc26605edad25ab67456cf6f6a3c5a9f32b8247e46f6343edfd8a6ffbcd6d1075c71e66d089d6a
+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 9285a7c43316..000000000000
--- a/dev-python/idna/idna-3.4.ebuild
+++ /dev/null
@@ -1,23 +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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Internationalized Domain Names in Applications (IDNA)"
-HOMEPAGE="
- https://github.com/kjd/idna/
- https://pypi.org/project/idna/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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..078243431a5a
--- /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..12} 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 71af9347b3a0..6996bb6b4caa 100644
--- a/dev-python/ifaddr/ifaddr-0.2.0.ebuild
+++ b/dev-python/ifaddr/ifaddr-0.2.0.ebuild
@@ -4,19 +4,18 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Enumerate IP addresses on the local network adapters"
HOMEPAGE="
https://github.com/pydron/ifaddr/
https://pypi.org/project/ifaddr/
"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
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 2f3344affaf0..00e0660e689b 100644
--- a/dev-python/ifaddr/metadata.xml
+++ b/dev-python/ifaddr/metadata.xml
@@ -11,5 +11,6 @@
<!-- not suitable for ALLARCHES - uses cdll -->
<upstream>
<remote-id type="pypi">ifaddr</remote-id>
+ <remote-id type="github">pydron/ifaddr</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/ijson/Manifest b/dev-python/ijson/Manifest
index 61a46c4495ed..088eea6410ef 100644
--- a/dev-python/ijson/Manifest
+++ b/dev-python/ijson/Manifest
@@ -1,2 +1 @@
-DIST ijson-3.1.4.tar.gz 125725 BLAKE2B 870439690c0b776d04c3023fb910d0f9ff2ca573be728c06802fbbbd5de1d5dcb8e677b778d30cb134d181dfc4ffd53c686af3d57458501d9548ddbdba8bf6d7 SHA512 7e64c4fec84fd6942c83809849eefc1c299c597524c0fe73e2cdc542e113faad8f35cc5219b0bc4e05842ac69d8608089d7cbb2dc006e404c184505392b21baa
-DIST ijson-3.2.0.post0.gh.tar.gz 127558 BLAKE2B 38e06039bb177c43e4744f145fed2159e317a0b8da628b85a62215cdfe6693b271c39629811513d2e563b532244950616b9105134916bc577446a0b5e5ce25f7 SHA512 b926253a3d6a070e2ac27c61542d340e4a1498de7642957dbe59e9fd3c53d700ed4e8ee71c83efcb90b2c302d15b0d268c38054c10728bbb436521aa5b42050b
+DIST ijson-3.2.3.tar.gz 57596 BLAKE2B e85465829f8319e2e227b7b72633b65e7e77a8cd24fee877aded1f50383ffbbaddd82e5e3942c0b3f637a8e601c5101aa390889e8509ee2c61b6f3c9cf9a7249 SHA512 ca72ed08c7804611d7f9c5218d217087fe17358859d080741726b42072df1407afcf1f701e30d33f3f615e8c78ba247a3cc45e8e7e373f1d3168a63f397fd6eb
diff --git a/dev-python/ijson/ijson-3.1.4.ebuild b/dev-python/ijson/ijson-3.1.4.ebuild
deleted file mode 100644
index 51d0badeee14..000000000000
--- a/dev-python/ijson/ijson-3.1.4.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} pypy3 )
-inherit distutils-r1
-
-MY_PV="${PV//_p/.post}"
-DESCRIPTION="Iterative JSON parser with a Pythonic interface"
-HOMEPAGE="
- https://github.com/ICRAR/ijson
- https://pypi.org/project/ijson/
-"
-SRC_URI="https://github.com/ICRAR/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 x86"
-
-RDEPEND="dev-libs/yajl"
-DEPEND="${RDEPEND}"
-
-distutils_enable_tests pytest
diff --git a/dev-python/ijson/ijson-3.2.0_p0.ebuild b/dev-python/ijson/ijson-3.2.0_p0.ebuild
deleted file mode 100644
index 27616bae9846..000000000000
--- a/dev-python/ijson/ijson-3.2.0_p0.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} pypy3 )
-
-inherit distutils-r1
-
-MY_P="${P//_p/.post}"
-DESCRIPTION="Iterative JSON parser with a Pythonic interface"
-HOMEPAGE="
- https://github.com/ICRAR/ijson/
- https://pypi.org/project/ijson/
-"
-SRC_URI="
- https://github.com/ICRAR/${PN}/archive/v${PV/_p/.post}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
-
-DEPEND="
- dev-libs/yajl
-"
-RDEPEND="
- ${DEPEND}
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/ijson/ijson-3.2.3.ebuild b/dev-python/ijson/ijson-3.2.3.ebuild
new file mode 100644
index 000000000000..46197f79a09f
--- /dev/null
+++ b/dev-python/ijson/ijson-3.2.3.ebuild
@@ -0,0 +1,36 @@
+# 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 ~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 001645b4d617..319324fea8e0 100644
--- a/dev-python/imageio-ffmpeg/Manifest
+++ b/dev-python/imageio-ffmpeg/Manifest
@@ -1 +1 @@
-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
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 ca982bebfc7e..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_{9..11} )
-
-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 ~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..71869a870c23
--- /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..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
+
+PATCHES=(
+ # https://github.com/imageio/imageio-ffmpeg/pull/107
+ "${FILESDIR}/${P}-ffmpeg-6.patch"
+)
diff --git a/dev-python/imageio/Manifest b/dev-python/imageio/Manifest
index 2ea982d7c270..2412a00ebe94 100644
--- a/dev-python/imageio/Manifest
+++ b/dev-python/imageio/Manifest
@@ -1,3 +1,3 @@
-DIST imageio-2.25.0.gh.tar.gz 401690 BLAKE2B 3c7faa7aae06b098a171ad168cd28d14abbc32d519a373ab77c4bec30913faa7baafc2f0b4721a80ee72a6e7b479c12fe27e707c4a90bcaaf2ebceb2b4b39577 SHA512 e887d8572f4698b6cd6fad832054cbce2550a4165e65704c2f990b500234cc938c68b9840bc8961a7258cf4cfa91c3ac909c7965de689b00b04195ab1120850c
+DIST imageio-2.34.0.gh.tar.gz 413125 BLAKE2B c6f9650265924f370634f5ab87bed94bdb501d078a154b93400d8c89847da3fef7196f18db0682bbfc99ac5c9f4156a113bb2d74f572c010842b9b9593d7c13e SHA512 d28b5b849a8d7fc90c4c4a82b2056431e5351ecce709cd48ccb9aaf58a50964a1b77faf4663d3fdeb4757951fb8a03b5bf632e57f78ddd59d5a9acdb62b78f48
DIST imageio-chelsea.png 221294 BLAKE2B 58537d7a1678fa5be4cc899e5bacd925bfc180eb4ae691330a53749a49ff544e979609b529ed27e5c1fc9efe4bc050ca1ce49b777f4016fb1d66affd926ef9d3 SHA512 48470cdb843eed4dfa6673811c09c5aac9869ee23dd36be0c6b653d9f108d61d21b148c2a4435aaa6604887ba030e5bbc5e35d378da876366445dfc2d0ba4e27
DIST imageio-cockatoo.mp4 728751 BLAKE2B 45b22cd517c1cb7c0cd12f8865facaca6a847047aea716e49633cf2b1dc13826f94787c8a8f9dd5f48c6a896f5d37794c0058da1bde9e1469f196916476dbfa2 SHA512 e9cb7c25de8019c59ba4090cf10ab29f2b5d62ada37a877081ca07d2ecfe010036222ae843b41bbcc843130d97fa5e14421de252639e9481df1d1c27b19add49
diff --git a/dev-python/imageio/imageio-2.25.0.ebuild b/dev-python/imageio/imageio-2.25.0.ebuild
deleted file mode 100644
index 30875e33909b..000000000000
--- a/dev-python/imageio/imageio-2.25.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=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 ~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
-)
diff --git a/dev-python/imageio/imageio-2.34.0.ebuild b/dev-python/imageio/imageio-2.34.0.ebuild
new file mode 100644
index 000000000000..9c415ea19f7b
--- /dev/null
+++ b/dev-python/imageio/imageio-2.34.0.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+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-0.4.9-r1[${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/imagesize/imagesize-1.4.1.ebuild b/dev-python/imagesize/imagesize-1.4.1.ebuild
index c1f566d94652..bc4a64bf8c86 100644
--- a/dev-python/imagesize/imagesize-1.4.1.ebuild
+++ b/dev-python/imagesize/imagesize-1.4.1.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Pure Python module for getting image size from png/jpeg/jpeg2000/gif files"
HOMEPAGE="
https://github.com/shibukawa/imagesize_py/
https://pypi.org/project/imagesize/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/imapclient/Manifest b/dev-python/imapclient/Manifest
index 1fb691c27a24..58df94c4468f 100644
--- a/dev-python/imapclient/Manifest
+++ b/dev-python/imapclient/Manifest
@@ -1 +1 @@
-DIST imapclient-2.3.1.gh.tar.gz 91141 BLAKE2B c4efbdb4a513277039389e13d0f86498df3bb4c466026510fba55a8cf88316a3c5b02c15215e3e40e8e0b6206e8bd4659e75b1f83ba2a905a2aaec21f8af4b48 SHA512 06a9264e8cc001b8a4a6a855032bbb9b904c94999d090c3f1bedea1ae3a16524f668eb4dfa36e7a23a0622bd9d3e83191dcc1e5e30275cb6fcb7604142e5e2a6
+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 ae5dee39f694..000000000000
--- a/dev-python/imapclient/imapclient-2.3.1.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="easy-to-use, pythonic, and complete IMAP client library"
-HOMEPAGE="https://github.com/mjs/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.1.ebuild b/dev-python/imapclient/imapclient-3.0.1.ebuild
new file mode 100644
index 000000000000..813c6d61a9ef
--- /dev/null
+++ b/dev-python/imapclient/imapclient-3.0.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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/iminuit/Manifest b/dev-python/iminuit/Manifest
index df9151b21fc8..fabf738080d9 100644
--- a/dev-python/iminuit/Manifest
+++ b/dev-python/iminuit/Manifest
@@ -1 +1,2 @@
-DIST iminuit-2.18.0.tar.gz 431770 BLAKE2B 66511da5c0704253bdabd7ea531b4506da4b4f660f4960f3fc88c138c2e67715db0e2cc0e6c6674df22d57dc94bc70b87a1c3b979a0354d2a58bbd500ee3951f SHA512 f9589c18c6c203cbd4d2a0243d9ec0ea30db25c37c4857e97ea8e1e8f7ad4b72e0f20745601ab655bacb56db69445584c7712796623764fbc29106f091231a09
+DIST iminuit-2.21.3.tar.gz 437827 BLAKE2B 5196e896769f6312bb6ba9af8d6f03bea6023a9459ccbe8553e4c10ba5dc2ed90e4e4b57bdd104f7b72e7514a50c0d4c717c76adf206d7eaddcd3c4c54c4d210 SHA512 5e48d4451caf56688143fa4590528fb4ed0660e144dbb3d1c409b84f793593478979728b4af9748b7bbdb7063e2ef7e05476a2ecd52af089f351522aadfc9ba4
+DIST iminuit-2.25.2.tar.gz 2929388 BLAKE2B e7e7a8c1d27538a95b527dcd8c01eeefac98914c568dcc58a234e37224cee5234bc107c6774a08f1117e28cf7919147ca832f6f3f150f95eaf0b03c5ce1ea312 SHA512 110eb0920262f9599defb1db984de6266200de5998fa81d2015e81bc1bb3e0b26524a706c060666f1e6248bc95ff17df7453bb53d20f703522b90889bedc1dc4
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
new file mode 100644
index 000000000000..765b2f555ac4
--- /dev/null
+++ b/dev-python/iminuit/files/iminuit-2.21.3-gcc-13.patch
@@ -0,0 +1,21 @@
+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.18.0.ebuild b/dev-python/iminuit/iminuit-2.18.0.ebuild
deleted file mode 100644
index 22b65376546d..000000000000
--- a/dev-python/iminuit/iminuit-2.18.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_{9..11} )
-
-# forced implicitly
-CMAKE_MAKEFILE_GENERATOR=emake
-inherit cmake distutils-r1 virtualx
-
-DESCRIPTION="Minuit numerical function minimization in Python"
-HOMEPAGE="https://github.com/scikit-hep/iminuit/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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}]
- )
-"
-
-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.21.3.ebuild b/dev-python/iminuit/iminuit-2.21.3.ebuild
new file mode 100644
index 000000000000..19e4fd25024d
--- /dev/null
+++ b/dev-python/iminuit/iminuit-2.21.3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 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.25.2.ebuild b/dev-python/iminuit/iminuit-2.25.2.ebuild
new file mode 100644
index 000000000000..ae167b13d180
--- /dev/null
+++ b/dev-python/iminuit/iminuit-2.25.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_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=(
+ # 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
new file mode 100644
index 000000000000..8d959079bcca
--- /dev/null
+++ b/dev-python/immutabledict/Manifest
@@ -0,0 +1 @@
+DIST immutabledict-4.2.0.tar.gz 6165 BLAKE2B 6176a186e8108134f3e54e8d98712f2f825f3750685da72bb654b0eb2a1c75e87f6c8bf95dc6c4c06b2da68b4fa541fde32f2988735bf93cf57f772a29c8368b SHA512 56be1239ea8161e54744a7bf5d17c0cc29410d7a7327fe97b3290f9e566dd19f662bac0e4e9f3c060cceece0df5d39638bf4258f3edfcf693f7f9b2bddc1d6b7
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..ed9483252f7c
--- /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..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 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/immutabledict/metadata.xml b/dev-python/immutabledict/metadata.xml
new file mode 100644
index 000000000000..09523557b469
--- /dev/null
+++ b/dev-python/immutabledict/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>arkamar@gentoo.org</email>
+ <name>Petr Vaněk</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">corenting/immutabledict</remote-id>
+ <remote-id type="pypi">immutabledict</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/immutables/Manifest b/dev-python/immutables/Manifest
index a3c018b52751..aba8fbe43b0a 100644
--- a/dev-python/immutables/Manifest
+++ b/dev-python/immutables/Manifest
@@ -1 +1 @@
-DIST immutables-0.19.gh.tar.gz 85695 BLAKE2B b6457bd4e61c79ffc4ae83c1be3845ea1914ef6604ee8b0886c1ab24dba96e226444af5adc1032dc36e6f3058acac8a8f0289ce97f97874b02aae85eb3bc2ee1 SHA512 b1027e9ab4a304dcb953037a1ea4af082d0524255bcf3f3f368deda85b9a9e5b1c556638aab7a10cbf200fc14b85c8b739f212035f8ead1dff941b8f6da09668
+DIST immutables-0.20.gh.tar.gz 88169 BLAKE2B fb76793d8d908ea35999a9d3d36cdb6cc2021fda07d0822b23bf1eb7fe02031ac26a7aa3e83e890af24b949eedf6d81089a3670e96f9873a60339d0da44d2484 SHA512 b20a661e4a9161a2fe3db674aac8e84a36dd3e56083e6f6d6b1261a00d38adc136c0a2dce67243a5a4cd5b0568aa48a9d4c758fb27cf74e055f378a501c0f725
diff --git a/dev-python/immutables/immutables-0.19.ebuild b/dev-python/immutables/immutables-0.19.ebuild
deleted file mode 100644
index 3ce66183ff41..000000000000
--- a/dev-python/immutables/immutables-0.19.ebuild
+++ /dev/null
@@ -1,39 +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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A high-performance immutable mapping type for Python"
-HOMEPAGE="
- https://github.com/MagicStack/immutables/
- https://pypi.org/project/immutables/
-"
-SRC_URI="
- https://github.com/MagicStack/${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"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/mypy/d' tests/conftest.py || die
- distutils-r1_src_prepare
-}
-
-src_test() {
- local EPYTEST_IGNORE=(
- tests/test_mypy.py
- )
-
- rm -r immutables || die
- distutils-r1_src_test
-}
diff --git a/dev-python/immutables/immutables-0.20.ebuild b/dev-python/immutables/immutables-0.20.ebuild
new file mode 100644
index 000000000000..bac9e6016261
--- /dev/null
+++ b/dev-python/immutables/immutables-0.20.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2019-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="A high-performance immutable mapping type for Python"
+HOMEPAGE="
+ https://github.com/MagicStack/immutables/
+ https://pypi.org/project/immutables/
+"
+SRC_URI="
+ https://github.com/MagicStack/${PN}/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"
+IUSE="+native-extensions"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ 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
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/test_mypy.py
+ )
+
+ rm -rf immutables || die
+ epytest
+}
diff --git a/dev-python/immutables/metadata.xml b/dev-python/immutables/metadata.xml
index 40858156f47d..853993018918 100644
--- a/dev-python/immutables/metadata.xml
+++ b/dev-python/immutables/metadata.xml
@@ -8,4 +8,10 @@
<remote-id type="pypi">immutables</remote-id>
<remote-id type="github">MagicStack/immutables</remote-id>
</upstream>
+ <use>
+ <flag name="native-extensions">
+ Compiles native "C" extensions (speedups, instead of using Python
+ fallback code).
+ </flag>
+ </use>
</pkgmetadata>
diff --git a/dev-python/importlib-metadata/Manifest b/dev-python/importlib-metadata/Manifest
new file mode 100644
index 000000000000..36fd4cdb9b93
--- /dev/null
+++ b/dev-python/importlib-metadata/Manifest
@@ -0,0 +1 @@
+DIST importlib_metadata-7.1.0.tar.gz 52120 BLAKE2B a43a1f0724b3197f51c055d36d31700d67b3bcae849fd648c7cd1ac158a410fdf05a27f2c7003a30e566f86ec5dcbf7cf386ebe4e0ed0a1ce2e89e280ab9e1d3 SHA512 e75db6da03c251acc690ceef6ab2b668acfcf5499032cff370a574b31a5fd7afcbf9756bc20e44e6e649767c1609c7ebb40203aa6406ec5341f27fba886d208e
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/metadata.xml b/dev-python/importlib-metadata/metadata.xml
new file mode 100644
index 000000000000..cd2f6fd0e33d
--- /dev/null
+++ b/dev-python/importlib-metadata/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-metadata</remote-id>
+ <remote-id type="github">python/importlib_metadata</remote-id>
+ <bugs-to>https://github.com/python/importlib_metadata/issues</bugs-to>
+ <doc>https://importlib-metadata.readthedocs.io/</doc>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/importlib_metadata/Manifest b/dev-python/importlib_metadata/Manifest
deleted file mode 100644
index 874109a57bc3..000000000000
--- a/dev-python/importlib_metadata/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST importlib_metadata-4.13.0.tar.gz 50445 BLAKE2B 0f52430bdcf63275d16d330fd2ec6a85926ab75cc2c14d0e996dc29a1258ba71e12253dd36f776f280c68cfc0d68058ce52d246fef5eccd9c3b7e5ea9bab5441 SHA512 68deb9b017d89df05b613c564bfaafd9024f9a6b1b14973bb75c0756f29911c6a2516a87b4fad60cb15b66bca79a275163fb8db2cfbd088ab952633de056d1e1
-DIST importlib_metadata-5.1.0.tar.gz 49216 BLAKE2B 6f44926a1c98e21d4ddabe1885d37385f4b8888c35733bf87a00286bb001f403d8c733b3d355da0361bafc65d3176c7d20e46104067e66373c3777156289638b SHA512 9e3d42771f4fcbe334c1b4044415e91abd677f99adbe704fb7cd006659376052642c16b3890458ec9a700b34f75541318060e9563353659d33b4f16ed790ecc1
-DIST importlib_metadata-5.2.0.tar.gz 49561 BLAKE2B 8841818eea459abd9ec8b7741418482b25e8c0d9bf94f34a60f3decd79a9753be2b8be24f58aad6d03bff75e22474642730c4a58911ec4b2c962d3098a9150d2 SHA512 9168af203b60751e5a28c14bdb327c9471f0f4d712f3ac9f8e69cbf3d3c6d999aa15ae7b16c036e47ec6802ca155d75c204e90caf8776a197562b514a36bbb0f
-DIST importlib_metadata-6.0.0.tar.gz 49776 BLAKE2B 9c4e6b20b725e263dad4acc4553b0067777c7332b33c0e56344aa2ceb09e93d71db14aebc522ae81e068a1a82ad48947f6f72eaec932933ae61d4daa2e043e63 SHA512 7d5cea465bf02722b28542f374e36ed55ab09455e1e548e838acf0cb38dcd84a79f5ef7cd673400852ff3a33271078ec8476f02aa7bf7748d3b85f4cefe3f678
diff --git a/dev-python/importlib_metadata/importlib_metadata-4.13.0.ebuild b/dev-python/importlib_metadata/importlib_metadata-4.13.0.ebuild
deleted file mode 100644
index 420a55560754..000000000000
--- a/dev-python/importlib_metadata/importlib_metadata-4.13.0.ebuild
+++ /dev/null
@@ -1,51 +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
-# 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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Read metadata from Python packages"
-HOMEPAGE="https://github.com/python/importlib_metadata"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- dev-python/zipp[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pyfakefs[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/importlib_resources[${PYTHON_USEDEP}]
- ' 3.8)
- )
-"
-
-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-5.1.0.ebuild b/dev-python/importlib_metadata/importlib_metadata-5.1.0.ebuild
deleted file mode 100644
index c8e0f3296a1c..000000000000
--- a/dev-python/importlib_metadata/importlib_metadata-5.1.0.ebuild
+++ /dev/null
@@ -1,54 +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
-# 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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Read metadata from Python packages"
-HOMEPAGE="
- https://github.com/python/importlib_metadata/
- https://pypi.org/project/importlib-metadata/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- dev-python/zipp[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pyfakefs[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/importlib_resources[${PYTHON_USEDEP}]
- ' 3.8)
- )
-"
-
-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-5.2.0.ebuild b/dev-python/importlib_metadata/importlib_metadata-5.2.0.ebuild
deleted file mode 100644
index f9680502aeec..000000000000
--- a/dev-python/importlib_metadata/importlib_metadata-5.2.0.ebuild
+++ /dev/null
@@ -1,54 +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
-# 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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Read metadata from Python packages"
-HOMEPAGE="
- https://github.com/python/importlib_metadata/
- https://pypi.org/project/importlib-metadata/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- dev-python/zipp[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pyfakefs[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/importlib_resources[${PYTHON_USEDEP}]
- ' 3.8)
- )
-"
-
-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.0.0.ebuild b/dev-python/importlib_metadata/importlib_metadata-6.0.0.ebuild
deleted file mode 100644
index f9680502aeec..000000000000
--- a/dev-python/importlib_metadata/importlib_metadata-6.0.0.ebuild
+++ /dev/null
@@ -1,54 +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
-# 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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Read metadata from Python packages"
-HOMEPAGE="
- https://github.com/python/importlib_metadata/
- https://pypi.org/project/importlib-metadata/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- dev-python/zipp[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pyfakefs[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/importlib_resources[${PYTHON_USEDEP}]
- ' 3.8)
- )
-"
-
-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/metadata.xml b/dev-python/importlib_metadata/metadata.xml
deleted file mode 100644
index d28bf37c8ce8..000000000000
--- a/dev-python/importlib_metadata/metadata.xml
+++ /dev/null
@@ -1,19 +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>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">importlib-metadata</remote-id>
- <remote-id type="github">python/importlib_metadata</remote-id>
- <bugs-to>https://github.com/python/importlib_metadata/issues</bugs-to>
- <doc>https://importlib-metadata.readthedocs.io/</doc>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/importlib_resources/Manifest b/dev-python/importlib_resources/Manifest
deleted file mode 100644
index 2176094bae05..000000000000
--- a/dev-python/importlib_resources/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST importlib_resources-5.10.1.gh.tar.gz 34781 BLAKE2B 63b516e1bd9cdb141751dc432944b520227a9b5e18b814db8204e1a5820a410d6101a2c902d25855796d3d1fbb790e2bc1f9327a47f828e946419fb8e787fb4e SHA512 1a3a6e36e30d72ceefe014beafc668624975c74e1ac4c2f526c377443e93792e432f4aa22d3c7d08101dabf906f50227f8716a0ee7f60d62ea24ca99641f8c67
-DIST importlib_resources-5.10.2.gh.tar.gz 34882 BLAKE2B df84de4cf9f6f912c034c8a85be1005782ff6ac48df61c251d09990033ebc6bedc0db5913f556b9b2825c19a2dd1962d9481404b7ab85b4156ab685857ae6cb1 SHA512 891db784e030ab3262361165cef8730cb26f6a4526e279c13b8e538bed5d0035cb63ee6f4c62eb9d43ccfabfd97fb5b0effafda688185b89de8718910631b4d4
diff --git a/dev-python/importlib_resources/importlib_resources-5.10.1.ebuild b/dev-python/importlib_resources/importlib_resources-5.10.1.ebuild
deleted file mode 100644
index c0eef94b99eb..000000000000
--- a/dev-python/importlib_resources/importlib_resources-5.10.1.ebuild
+++ /dev/null
@@ -1,49 +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
-# This is a backport of Python 3.9's importlib.resources
-PYTHON_COMPAT=( pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Read resources from Python packages"
-HOMEPAGE="
- https://github.com/python/importlib_resources/
- https://pypi.org/project/importlib-resources/
-"
-SRC_URI="
- https://github.com/python/importlib_resources/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 ~x64-solaris"
-
-RDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/zipp-3.7.0-r1[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-
-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_resources"
- version = "${PV}"
- description = "Read resources from Python packages"
- EOF
-}
diff --git a/dev-python/importlib_resources/importlib_resources-5.10.2.ebuild b/dev-python/importlib_resources/importlib_resources-5.10.2.ebuild
deleted file mode 100644
index ddcd02a543b7..000000000000
--- a/dev-python/importlib_resources/importlib_resources-5.10.2.ebuild
+++ /dev/null
@@ -1,49 +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
-# This is a backport of Python 3.9's importlib.resources
-PYTHON_COMPAT=( pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Read resources from Python packages"
-HOMEPAGE="
- https://github.com/python/importlib_resources/
- https://pypi.org/project/importlib-resources/
-"
-SRC_URI="
- https://github.com/python/importlib_resources/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 ~x64-solaris"
-
-RDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/zipp-3.7.0-r1[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-
-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_resources"
- version = "${PV}"
- description = "Read resources from Python packages"
- EOF
-}
diff --git a/dev-python/importlib_resources/metadata.xml b/dev-python/importlib_resources/metadata.xml
deleted file mode 100644
index cc4d43162e73..000000000000
--- a/dev-python/importlib_resources/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>sbraz@gentoo.org</email>
- <name>Louis Sautier</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <longdescription>
- Backport of Python standard library importlib.resources module
- for Python 2.7, and 3.4 through 3.8. Users of Python 3.9 and beyond
- should use the standard library module, since for these versions,
- importlib_resources just delegates to that module.
- </longdescription>
- <upstream>
- <remote-id type="github">python/importlib_resources</remote-id>
- <remote-id type="pypi">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
new file mode 100644
index 000000000000..f61cdd0845f9
--- /dev/null
+++ b/dev-python/incremental/incremental-22.10.0-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 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="Incremental is a small library that versions your Python projects"
+HOMEPAGE="https://github.com/twisted/incremental https://pypi.org/project/incremental/"
+
+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 )"
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+BDEPEND="
+ test? ( dev-python/twisted[${PYTHON_USEDEP}] )"
+
+python_test() {
+ "${EPYTHON}" -m twisted.trial incremental ||
+ die "Tests failed on ${EPYTHON}"
+}
diff --git a/dev-python/incremental/incremental-22.10.0.ebuild b/dev-python/incremental/incremental-22.10.0.ebuild
deleted file mode 100644
index f3089418dd16..000000000000
--- a/dev-python/incremental/incremental-22.10.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Incremental is a small library that versions your Python projects"
-HOMEPAGE="https://github.com/twisted/incremental https://pypi.org/project/incremental/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]"
-BDEPEND="
- test? ( dev-python/twisted[${PYTHON_USEDEP}] )"
-
-python_test() {
- "${EPYTHON}" -m twisted.trial incremental ||
- die "Tests failed on ${EPYTHON}"
-}
diff --git a/dev-python/indexed-gzip/Manifest b/dev-python/indexed-gzip/Manifest
new file mode 100644
index 000000000000..c598e074137a
--- /dev/null
+++ b/dev-python/indexed-gzip/Manifest
@@ -0,0 +1 @@
+DIST indexed_gzip-1.8.7.tar.gz 74172 BLAKE2B a3feddb50a165a73dcf5af79f1470c0ec2933002ef162fc323a66d8d4782b318f52dd92ca81f413b6b4571f2fcc5be7f74e088de6876bd180a2cf7d3360f18b9 SHA512 89b902d3511927d45d424ea09dfcec3037ec1f295cdac30aa5ae50d664bdb75ef1bdaad6e12f317a51bb9c01485aa09d2c0a07923b544307f762dc280048327a
diff --git a/dev-python/indexed-gzip/indexed-gzip-1.8.7.ebuild b/dev-python/indexed-gzip/indexed-gzip-1.8.7.ebuild
new file mode 100644
index 000000000000..45265669e01d
--- /dev/null
+++ b/dev-python/indexed-gzip/indexed-gzip-1.8.7.ebuild
@@ -0,0 +1,60 @@
+# 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="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}]
+ )
+"
+
+EPYTEST_XDIST=1
+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
+ # 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/metadata.xml b/dev-python/indexed-gzip/metadata.xml
index 88a3a568d717..88a3a568d717 100644
--- a/dev-python/indexed_gzip/metadata.xml
+++ b/dev-python/indexed-gzip/metadata.xml
diff --git a/dev-python/indexed_gzip/Manifest b/dev-python/indexed_gzip/Manifest
deleted file mode 100644
index 865b6bdb499f..000000000000
--- a/dev-python/indexed_gzip/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST indexed_gzip-1.7.0.tar.gz 103849 BLAKE2B b33ef1f19e47c2dc12fd6e6fcc972badf4faaecaa5571aa44c765a6fafbec8e32fe2c4254d4e62722b6e744cfa27470ce517d08025b0492e8c032663b094344e SHA512 80f82699c6b64248f0609fb34e54e3838e642040820381cc64feb70b46721b69207686f9cccd55ebfb10dfcdee5fb5c1bf6404d1cfec07eb5a97767635c5dc4e
diff --git a/dev-python/indexed_gzip/indexed_gzip-1.7.0.ebuild b/dev-python/indexed_gzip/indexed_gzip-1.7.0.ebuild
deleted file mode 100644
index 859539ace845..000000000000
--- a/dev-python/indexed_gzip/indexed_gzip-1.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Fast random access of gzip files in Python"
-HOMEPAGE="
- https://pypi.org/project/indexed-gzip/
- https://github.com/pauldmccarthy/indexed_gzip/
-"
-SRC_URI="
- https://github.com/pauldmccarthy/indexed_gzip/archive/v${PV}.tar.gz
- -> ${P}.tar.gz
-"
-
-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}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # strip custom "clean" command that doesn't support "-a"
- # https://bugs.gentoo.org/838955
- # TODO: this can be removed once distutils-r1 stops using clean
- sed -e '/cmdclass/d' -i setup.py || die
- distutils-r1_src_prepare
-}
-
-src_compile() {
- if use test; then
- export INDEXED_GZIP_TESTING=1
- fi
- distutils-r1_src_compile
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)/indexed_gzip/tests" || die
- epytest
-}
diff --git a/dev-python/inflect/Manifest b/dev-python/inflect/Manifest
index eaa1d45e364d..c7a30ab3dc63 100644
--- a/dev-python/inflect/Manifest
+++ b/dev-python/inflect/Manifest
@@ -1 +1,2 @@
-DIST inflect-6.0.2.tar.gz 70830 BLAKE2B 8faa09c53f836429b6e1a2965da3c4315260e1cb3ae7dc40fe226d7f4595e9bd54498167c044f67fed5f79e2997af5425cc13680b9c2b722ffd702095f60b038 SHA512 ddb0439eeffbd21b3293208eb7e89f97fe556a3ba1e88de7e15d1c6bc5a59cdb25a224d7cfec5a010dd384728b15317c1dc752e3a8d4d95dd6eea8224a4f2877
+DIST inflect-7.0.0.tar.gz 70963 BLAKE2B ae896109acd33946e05902d121ecbd95e04dc33a1d6da6035148521de5baff8cff877a5c56c104bde29d56025e231e20f97e0ee50686de0ec19b567d53612314 SHA512 b2ca39d0e36cda8c8c42d208443d3b84b10d659dcd0d368273503d6e76df19c61ac3c623d526ea918ca8b347d6db8bdfb691609e480eaa33dd4f1c37e008473b
+DIST inflect-7.2.0.tar.gz 71448 BLAKE2B 33d7d8cf4b4de05a035e1929fd6c70c3635290cf1387927e5fe15315c06135a6b2daf6b67f044b9ea004c2345bdeb8b2f17e5f54daa9cb18f0d3bc1935295439 SHA512 13b698637a8049987675dd419359907baba6d8a9805c3602bbc414ed8fb422bfaa32ec26bcc309508ead5cb72bed632d9142f7796c981269551f1238b88c9019
diff --git a/dev-python/inflect/inflect-6.0.2.ebuild b/dev-python/inflect/inflect-6.0.2.ebuild
deleted file mode 100644
index fc71ca7dfd88..000000000000
--- a/dev-python/inflect/inflect-6.0.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Correctly inflect words and numbers"
-HOMEPAGE="
- https://pypi.org/project/inflect/
- https://github.com/jaraco/inflect/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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/pydantic-1.9.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools_scm-3.4.1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/inflect/inflect-7.0.0.ebuild b/dev-python/inflect/inflect-7.0.0.ebuild
new file mode 100644
index 000000000000..2081c97362fb
--- /dev/null
+++ b/dev-python/inflect/inflect-7.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=( 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
+
+EPYTEST_DESELECT=(
+ # broken upstream
+ # https://github.com/jaraco/inflect/issues/204
+ inflect/__init__.py::inflect.engine.compare
+)
diff --git a/dev-python/inflect/inflect-7.2.0.ebuild b/dev-python/inflect/inflect-7.2.0.ebuild
new file mode 100644
index 000000000000..a1a608f28790
--- /dev/null
+++ b/dev-python/inflect/inflect-7.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..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}]
+ dev-python/typeguard[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-3.4.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # broken upstream
+ # https://github.com/jaraco/inflect/issues/204
+ inflect/__init__.py::inflect.engine.compare
+)
diff --git a/dev-python/inflection/inflection-0.5.1-r1.ebuild b/dev-python/inflection/inflection-0.5.1-r1.ebuild
index f991cc249c30..794220dcbe5e 100644
--- a/dev-python/inflection/inflection-0.5.1-r1.ebuild
+++ b/dev-python/inflection/inflection-0.5.1-r1.ebuild
@@ -3,17 +3,20 @@
EAPI=8
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
+
+inherit distutils-r1 pypi
DESCRIPTION="A port of Ruby on Rails' inflector to Python"
-HOMEPAGE="https://github.com/jpvanhal/inflection"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/jpvanhal/inflection/
+ https://pypi.org/project/inflection/
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
distutils_enable_sphinx docs
distutils_enable_tests pytest
diff --git a/dev-python/ini2toml/Manifest b/dev-python/ini2toml/Manifest
index fba01729057a..b52a49ba0198 100644
--- a/dev-python/ini2toml/Manifest
+++ b/dev-python/ini2toml/Manifest
@@ -1 +1 @@
-DIST ini2toml-0.11.3.gh.tar.gz 94011 BLAKE2B c827b4030f7c80fa749cdccc170dfced7c869836c90e3350e486be94a30541983c79161e6fb4b007258a692abd62e8b724ac758f6c952b0c7b820e9b5679706d SHA512 f1331bc47a2d4593788de9d8b1fdbc2231ac22524aaf3a83695c810e0dcbdce4bb46c48363ea150a583e4b24264d7a25f85ece737b31fa0ec0b8a6a2e098a9d5
+DIST ini2toml-0.13.tar.gz 102729 BLAKE2B 27094e0f329ce5d0da3ca1793b5b92e97eba5068225c55fcc9e0c61ead607967b8718976bfa13f76638c1b2bd8ee2a532b8eaf2023895f2ffdeacacd072fff9c SHA512 9700affeeb0434699e708fbeffb34e68f54882d7c5ada25cbdcdf47fed70bf8b5e8ff46503c19aa135079bc8770bdc48e991212b07b6409adf57d197a5ed998e
diff --git a/dev-python/ini2toml/ini2toml-0.11.3.ebuild b/dev-python/ini2toml/ini2toml-0.11.3.ebuild
deleted file mode 100644
index 898f058ebca0..000000000000
--- a/dev-python/ini2toml/ini2toml-0.11.3.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Automatically conversion of .ini/.cfg files to TOML equivalents"
-HOMEPAGE="
- https://pypi.org/project/ini2toml/
- https://github.com/abravalheri/ini2toml/
-"
-SRC_URI="
- https://github.com/abravalheri/ini2toml/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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/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
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-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.13.ebuild b/dev-python/ini2toml/ini2toml-0.13.ebuild
new file mode 100644
index 000000000000..7d727f2ab4f7
--- /dev/null
+++ b/dev-python/ini2toml/ini2toml-0.13.ebuild
@@ -0,0 +1,46 @@
+# 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/iniconfig/Manifest b/dev-python/iniconfig/Manifest
index 75386e40fa89..b8e9cf1e05c2 100644
--- a/dev-python/iniconfig/Manifest
+++ b/dev-python/iniconfig/Manifest
@@ -1,2 +1 @@
-DIST iniconfig-1.1.1.tar.gz 8104 BLAKE2B 31301484887018a6aa75c944e2f8643f85b2433534ae46a8da893a113f2376eca14cbee88095a3784d1c52f26d4c748260c1df59c46b8f94cd342038f93242e8 SHA512 c9341db7e3ec2204b6a674fca7824cbeb492e3576d5ac3f084b234c82842b28f2f6acbfdb812e183f4334a95b990551f942a4caf548f5ce7ef14885f931535ee
DIST iniconfig-2.0.0.gh.tar.gz 8077 BLAKE2B bb24006bafed64bc28d7a784ed24663dbcea782ef241b9c7ccb5dc0268f6d6ce149882155617d4c021805457c7c5e4775437d267da6905266fb84e877f16e09c SHA512 e474aaa904070ed79dbbd2b4b572574ebb591b97a4ca0f9c4e4aef437af01035d2f73c48bb670afcec2cd8b7ea093b92d6b0c0eca7ba42033418a2b0e0ac80ad
diff --git a/dev-python/iniconfig/files/iniconfig-1.1.1-py.patch b/dev-python/iniconfig/files/iniconfig-1.1.1-py.patch
deleted file mode 100644
index c1722bd3a466..000000000000
--- a/dev-python/iniconfig/files/iniconfig-1.1.1-py.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 6b714f558b6cfb9f25c58b70eeb134f3bfa1bebd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Lum=C3=ADr=20=27Frenzy=27=20Balhar?=
- <frenzy.madness@gmail.com>
-Date: Wed, 30 Nov 2022 22:47:56 +0100
-Subject: [PATCH] Drop dependency on py
-
-pytest 7.2 and tox 4 no longer depend on py and it's not needed here as well.
----
- testing/test_iniconfig.py | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/testing/test_iniconfig.py b/testing/test_iniconfig.py
-index fe12421..027949d 100644
---- a/testing/test_iniconfig.py
-+++ b/testing/test_iniconfig.py
-@@ -1,4 +1,3 @@
--import py
- import pytest
- from iniconfig import IniConfig, ParseError, __all__ as ALL
- from iniconfig import iscommentline
-@@ -100,7 +99,7 @@ def parse(input):
-
-
- def parse_a_error(input):
-- return py.test.raises(ParseError, parse, input)
-+ return pytest.raises(ParseError, parse, input)
-
-
- def test_tokenize(input, expected):
-@@ -135,7 +134,7 @@ def test_section_cant_be_empty():
- assert excinfo.value.lineno == 0
-
-
--@py.test.mark.parametrize('line', [
-+@pytest.mark.parametrize('line', [
- '!!',
- ])
- def test_error_on_weird_lines(line):
---
-2.39.0
-
diff --git a/dev-python/iniconfig/iniconfig-1.1.1-r1.ebuild b/dev-python/iniconfig/iniconfig-1.1.1-r1.ebuild
deleted file mode 100644
index 7b80e71f636b..000000000000
--- a/dev-python/iniconfig/iniconfig-1.1.1-r1.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Brain-dead simple config-ini parsing"
-HOMEPAGE="
- https://github.com/pytest-dev/iniconfig/
- https://pypi.org/project/iniconfig/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${P}-py.patch
-)
diff --git a/dev-python/iniconfig/iniconfig-2.0.0.ebuild b/dev-python/iniconfig/iniconfig-2.0.0.ebuild
index 4526776c3862..3518b8c151bb 100644
--- a/dev-python/iniconfig/iniconfig-2.0.0.ebuild
+++ b/dev-python/iniconfig/iniconfig-2.0.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
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 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+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"
BDEPEND="
dev-python/hatch-vcs[${PYTHON_USEDEP}]
diff --git a/dev-python/iniparse/Manifest b/dev-python/iniparse/Manifest
index 5c42f6cb341c..48595da808ef 100644
--- a/dev-python/iniparse/Manifest
+++ b/dev-python/iniparse/Manifest
@@ -1 +1 @@
-DIST iniparse-0.5.tar.gz 32233 BLAKE2B 3da99f9d828318f78ddb8789afe63a7fdec017eaf41df5f420b0f358a9724eb787f312c9964238d9e42ebecce143d37f72858c7935cafbcf0221229b89033026 SHA512 b3f10d1b36497c3c5c71cb0a1ac73d74d8944f4ad3b7acc4a4b0246c2f1a20c184d9af20bbb3cb8ec4f57fddfb5e103b92688847debb4200ef0583353d7f9556
+DIST python-iniparse-ab623b0e287a9303bdb0c5213c485110e68dac12.tar.gz 33680 BLAKE2B 66ff134b1df28ae9c3e86110e7f8ad8dc0e24ed48f09db0c7554464e8d919aca49a7e43156c4acb8602af134c2f9d6c046d05cf1764f29285d8586329708a65a SHA512 57c43f7e0d28eab0e41bb819f7c06821d77f9bc5f3d0986f85dd4852b2edd468bb7b2737733e2f00faeac2e1211998d2e99b54ec92959eaf6d7d10897b176eaf
diff --git a/dev-python/iniparse/iniparse-0.5-r1.ebuild b/dev-python/iniparse/iniparse-0.5-r1.ebuild
deleted file mode 100644
index a73807a689e2..000000000000
--- a/dev-python/iniparse/iniparse-0.5-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="Better INI parser for Python"
-HOMEPAGE="
- https://github.com/candlepin/python-iniparse/
- https://pypi.org/project/iniparse/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT PSF-2"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-IUSE=""
-
-RDEPEND="
- >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
-"
-
-python_test() {
- "${EPYTHON}" runtests.py || die
-}
-
-python_install_all() {
- rm -rf "${ED}/usr/share/doc/${P}" || die
- distutils-r1_python_install_all
-}
diff --git a/dev-python/iniparse/iniparse-0.5_p20221102.ebuild b/dev-python/iniparse/iniparse-0.5_p20221102.ebuild
new file mode 100644
index 000000000000..f6c69f6ad934
--- /dev/null
+++ b/dev-python/iniparse/iniparse-0.5_p20221102.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+EGIT_COMMIT=ab623b0e287a9303bdb0c5213c485110e68dac12
+MY_P=python-iniparse-${EGIT_COMMIT}
+
+DESCRIPTION="Better INI parser for Python"
+HOMEPAGE="
+ https://github.com/candlepin/python-iniparse/
+ https://pypi.org/project/iniparse/
+"
+SRC_URI="
+ https://github.com/candlepin/python-iniparse/archive/${EGIT_COMMIT}.tar.gz
+ -> ${MY_P}.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT PSF-2"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+python_test() {
+ "${EPYTHON}" runtests.py || die
+}
+
+python_install_all() {
+ rm -rf "${ED}/usr/share/doc" || die
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/iniparse/metadata.xml b/dev-python/iniparse/metadata.xml
index 9e054d64db3f..4ea3528ed3ef 100644
--- a/dev-python/iniparse/metadata.xml
+++ b/dev-python/iniparse/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">candlepin/python-iniparse</remote-id>
<remote-id type="pypi">iniparse</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/insipid-sphinx-theme/Manifest b/dev-python/insipid-sphinx-theme/Manifest
new file mode 100644
index 000000000000..3526152b8a53
--- /dev/null
+++ b/dev-python/insipid-sphinx-theme/Manifest
@@ -0,0 +1 @@
+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.2.ebuild b/dev-python/insipid-sphinx-theme/insipid-sphinx-theme-0.4.2.ebuild
new file mode 100644
index 000000000000..11fec16ffe77
--- /dev/null
+++ b/dev-python/insipid-sphinx-theme/insipid-sphinx-theme-0.4.2.ebuild
@@ -0,0 +1,31 @@
+# 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="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/insipid-sphinx-theme/metadata.xml b/dev-python/insipid-sphinx-theme/metadata.xml
new file mode 100644
index 000000000000..0382d0765e75
--- /dev/null
+++ b/dev-python/insipid-sphinx-theme/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-needed -->
+ <upstream>
+ <remote-id type="pypi">insipid-sphinx-theme</remote-id>
+ <remote-id type="github">mgeier/insipid-sphinx-theme</remote-id>
+ <doc>https://insipid-sphinx-theme.readthedocs.io/</doc>
+ <bugs-to>https://github.com/mgeier/insipid-sphinx-theme/issues</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/installer/Manifest b/dev-python/installer/Manifest
index ef2653b968aa..2dad2ff96f1e 100644
--- a/dev-python/installer/Manifest
+++ b/dev-python/installer/Manifest
@@ -1,2 +1,2 @@
-DIST installer-0.6.0-py3-none-any.whl.zip 452554 BLAKE2B 58a38d07256ed4fde3ab9495d47c117966155067fb6e903e2c1979272055b252e81f514cc67f5d0cda12e870f0a4f68f4c44bbfd6af38628e64726bdbcb17b50 SHA512 eca4f06e078c920085090a24c6083fceba2d52e433b21e1f2fb4d4e2e457f0dcca0e0307fb3239ab6018a92a3cb2e797499f050264ca2918bd268699357140b7
-DIST installer-0.6.0.gh.tar.gz 469015 BLAKE2B c7e297724a634377d312ef408627e40c8a8aa7f67824331b657d13aa2908df2a59b935d7774437aa56b4b41bc7418f6f2e575c1e0fb6b282a124cf0440f74b89 SHA512 0952bbf245359d6f660f98e59096ed3d57facb5bad0e9715fe525bd52f50cce198b481811d2ba4d204776f7ae9bec9c3431ae044d6ef9a8db8d873c170cf13fb
+DIST installer-0.7.0-py3-none-any.whl.zip 453838 BLAKE2B 59bb698e7a4232a5254b6f6c4a042c68a22a26e15c1205707d3c9734513e92bf4518a09341619eab9ef0023ee65fcaa9837a4befb7a2452f1592411654374595 SHA512 8e10013521238ef8fb2f5ab4bd00f6154c05046011cad8824d96b7cdc4ed235b87e534d1e163a47a11dbfb5bb3cf19d9a2ea3edd1e9c9ce5fbc9a375010c36dc
+DIST installer-0.7.0.tar.gz 474349 BLAKE2B 76b86d14c0f4f0eba091ff08ef27e1b2f23c93318d197b3c41f5fef45eb11acc54bb1d35e3afc1e0dd98b30cc4cd3d9963ab1ba0bfe9d294ee3d0933ddaa24db SHA512 e89c2d28ca73d9c4291d645dda675fdcfcaba2e4f8765b9fa4a2f211e27711510f3d171b96a6b024c11808ba7f06b7b560a7cb31fafba815bd5c7396f26789f7
diff --git a/dev-python/installer/installer-0.6.0.ebuild b/dev-python/installer/installer-0.6.0.ebuild
deleted file mode 100644
index 5310b5520a29..000000000000
--- a/dev-python/installer/installer-0.6.0.ebuild
+++ /dev/null
@@ -1,42 +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=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A library for installing Python wheels"
-HOMEPAGE="
- https://pypi.org/project/installer/
- https://github.com/pypa/installer/
- https://installer.readthedocs.io/en/latest/
-"
-SRC_URI="
- https://github.com/pypa/installer/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- https://files.pythonhosted.org/packages/py3/${PN::1}/${PN}/${P%_p*}-py3-none-any.whl
- -> ${P%_p*}-py3-none-any.whl.zip
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-BDEPEND="
- app-arch/unzip
-"
-
-distutils_enable_tests pytest
-
-python_compile() {
- python_domodule src/installer "${WORKDIR}"/*.dist-info
-}
-
-python_install() {
- distutils-r1_python_install
- python_optimize
-}
diff --git a/dev-python/installer/installer-0.7.0.ebuild b/dev-python/installer/installer-0.7.0.ebuild
new file mode 100644
index 000000000000..1d8b92cdcbda
--- /dev/null
+++ b/dev-python/installer/installer-0.7.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2022-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=no
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A library for installing Python wheels"
+HOMEPAGE="
+ https://pypi.org/project/installer/
+ https://github.com/pypa/installer/
+ https://installer.readthedocs.io/en/latest/
+"
+SRC_URI+="
+ $(pypi_wheel_url --unpack)
+"
+
+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="
+ app-arch/unzip
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ python_domodule src/installer "${WORKDIR}"/*.dist-info
+}
+
+python_install() {
+ distutils-r1_python_install
+ python_optimize
+}
diff --git a/dev-python/intelhex/intelhex-2.3.0-r1.ebuild b/dev-python/intelhex/intelhex-2.3.0-r1.ebuild
index 022200544a9f..1b26b4518590 100644
--- a/dev-python/intelhex/intelhex-2.3.0-r1.ebuild
+++ b/dev-python/intelhex/intelhex-2.3.0-r1.ebuild
@@ -4,19 +4,18 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Python library for Intel HEX files manipulations"
HOMEPAGE="
https://github.com/python-intelhex/intelhex/
https://pypi.org/project/intelhex/
"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
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
new file mode 100644
index 000000000000..a1a366d75741
--- /dev/null
+++ b/dev-python/intervaltree/intervaltree-3.1.0-r1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2023 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="Editable interval tree data structure for Python 2 and 3"
+HOMEPAGE="https://pypi.org/project/intervaltree/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="dev-python/sortedcontainers[${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
diff --git a/dev-python/intervaltree/intervaltree-3.1.0.ebuild b/dev-python/intervaltree/intervaltree-3.1.0.ebuild
deleted file mode 100644
index f316297f1857..000000000000
--- a/dev-python/intervaltree/intervaltree-3.1.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=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Editable interval tree data structure for Python 2 and 3"
-HOMEPAGE="https://pypi.org/project/intervaltree/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="dev-python/sortedcontainers[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/intervaltree/metadata.xml b/dev-python/intervaltree/metadata.xml
index 04ccf9d87c64..8ae1effdbaef 100644
--- a/dev-python/intervaltree/metadata.xml
+++ b/dev-python/intervaltree/metadata.xml
@@ -8,5 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">intervaltree</remote-id>
+ <remote-id type="github">chaimleib/intervaltree</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/iocapture/iocapture-0.1.2-r3.ebuild b/dev-python/iocapture/iocapture-0.1.2-r3.ebuild
index 9a128e3b501f..22892654d5ca 100644
--- a/dev-python/iocapture/iocapture-0.1.2-r3.ebuild
+++ b/dev-python/iocapture/iocapture-0.1.2-r3.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
DESCRIPTION="Capture stdout, stderr easily"
diff --git a/dev-python/ioflo/ioflo-2.0.2-r3.ebuild b/dev-python/ioflo/ioflo-2.0.2-r3.ebuild
deleted file mode 100644
index 9e19ae329e46..000000000000
--- a/dev-python/ioflo/ioflo-2.0.2-r3.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
-
-PYTHON_COMPAT=( python3_10 )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="Automated Reasoning Engine and Flow Based Programming Framework"
-HOMEPAGE="https://github.com/ioflo/ioflo/"
-SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-IUSE="test"
-
-RDEPEND="
- $(python_gen_cond_dep '>=dev-lang/python-3.7.4' python3_7)
-"
-BDEPEND="${RDEPEND}
- test? (
- dev-python/pytest-salt-factories[${PYTHON_USEDEP}]
- app-admin/salt[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/ioflo-1.7.8-network-test.patch"
- "${FILESDIR}/ioflo-2.0.2-python39.patch"
- "${FILESDIR}/ioflo-2.0.2-tests.patch"
- "${FILESDIR}/ioflo-2.0.2-py310.patch"
-)
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -e 's:"setuptools_git[^"]*",::' -i setup.py || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/ioflo/ioflo-2.0.2-r4.ebuild b/dev-python/ioflo/ioflo-2.0.2-r4.ebuild
new file mode 100644
index 000000000000..335aa9ac4663
--- /dev/null
+++ b/dev-python/ioflo/ioflo-2.0.2-r4.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 Reasoning Engine and Flow Based Programming Framework"
+HOMEPAGE="
+ https://github.com/ioflo/ioflo/
+ https://pypi.org/project/ioflo/
+"
+SRC_URI="
+ https://github.com/ioflo/ioflo/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+PATCHES=(
+ "${FILESDIR}/ioflo-1.7.8-network-test.patch"
+ "${FILESDIR}/ioflo-2.0.2-python39.patch"
+ "${FILESDIR}/ioflo-2.0.2-tests.patch"
+ "${FILESDIR}/ioflo-2.0.2-py310.patch"
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -e 's:"setuptools_git[^"]*",::' -i setup.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/ipaddr/ipaddr-2.2.0-r2.ebuild b/dev-python/ipaddr/ipaddr-2.2.0-r2.ebuild
index 423fc22dc94a..20b2a1e67181 100644
--- a/dev-python/ipaddr/ipaddr-2.2.0-r2.ebuild
+++ b/dev-python/ipaddr/ipaddr-2.2.0-r2.ebuild
@@ -4,13 +4,12 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Python IP address manipulation library"
HOMEPAGE="https://github.com/google/ipaddr-py https://pypi.org/project/ipaddr/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
diff --git a/dev-python/ipdb/Manifest b/dev-python/ipdb/Manifest
index 6af4113bdafd..51b77090020f 100644
--- a/dev-python/ipdb/Manifest
+++ b/dev-python/ipdb/Manifest
@@ -1 +1 @@
-DIST ipdb-0.13.11.tar.gz 16770 BLAKE2B 849bb91f9fd2d0443f7696aee5e2b1de87a284b410189a471be91175e792132e816abcace865b788454d59ddbf5bc443c98e6308d0453b7a7a81a580c3afd24e SHA512 c44e012db71aa543742f16bd737e1e18db3f060b65c8fa0eaa6ce7567f99f44b5aa09bfb44457c6e4d6fb1fac8d822ece580bc4036adbd612f4d50a82f0eba21
+DIST ipdb-0.13.13.tar.gz 17042 BLAKE2B 8f7a5b96816e97e9bad969889c9ee8d22870890eff6052828b1fbc65ff10b7719cecf2d5c5b59d3a4fceedf4cd829bddfd7fa09e57e6fef16295fb807bc4be0f SHA512 941c353ca4412bab54f3630825cb426534330fef3b00d39c1a492219b4d85783abf3a41c16c8516011df751b1e17a35a20dde66f3efca0948acdf870ae6bf089
diff --git a/dev-python/ipdb/ipdb-0.13.11.ebuild b/dev-python/ipdb/ipdb-0.13.11.ebuild
deleted file mode 100644
index 4ef46a32d896..000000000000
--- a/dev-python/ipdb/ipdb-0.13.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="IPython-enabled pdb"
-HOMEPAGE="
- https://github.com/gotcha/ipdb/
- https://pypi.org/project/ipdb/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- >=dev-python/ipython-7.17[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
- )
-"
-
-DOCS=( AUTHORS HISTORY.txt README.rst )
-
-distutils_enable_tests unittest
-
-pkg_postinst() {
- optfeature "pyproject.toml support" dev-python/tomli
-}
diff --git a/dev-python/ipdb/ipdb-0.13.13.ebuild b/dev-python/ipdb/ipdb-0.13.13.ebuild
new file mode 100644
index 000000000000..f8a7558144b1
--- /dev/null
+++ b/dev-python/ipdb/ipdb-0.13.13.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="IPython-enabled pdb"
+HOMEPAGE="
+ https://github.com/gotcha/ipdb/
+ https://pypi.org/project/ipdb/
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ >=dev-python/ipython-7.17[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ )
+"
+
+DOCS=( AUTHORS HISTORY.txt README.rst )
+
+distutils_enable_tests unittest
+
+pkg_postinst() {
+ optfeature "pyproject.toml support" dev-python/tomli
+}
diff --git a/dev-python/ipykernel/Manifest b/dev-python/ipykernel/Manifest
index 1866901c2fc5..21ce450be7ab 100644
--- a/dev-python/ipykernel/Manifest
+++ b/dev-python/ipykernel/Manifest
@@ -1,3 +1 @@
-DIST ipykernel-6.19.4.tar.gz 144072 BLAKE2B 25e2031a9198079488ef43b9c65e656be720ec8ac6648cb3eb65705be5c117d32c783776c0d8f5da466e745979ccb64573720146c0b41835ecb646bf25e7d4f8 SHA512 623a8cac7abfce0147a08fe55bf88772bfaf317431a608a99ae3e7058ebb120464d751a8b95633ccde5201b4cc2c1bde32dd823add96e5f2bb1ef20da19652dd
-DIST ipykernel-6.20.1.tar.gz 149147 BLAKE2B 9d05f1f43aa1a77dd63fac60fdd44d56dd03cc8b5025a99b29e04e30ca90ec5e6d541ab86c9fa1490b97b198e829058d14273823ad55321b1f8fe1b028d1bc62 SHA512 7a9b2ac79255e3049ee5847f5b424d2dff0a325e9f294b416d905907753c98751c70ff69ba496831eb98430532f438e5bd7edcb2c12b8b5c56f5b5c79b30c3d1
-DIST ipykernel-6.20.2.tar.gz 149263 BLAKE2B 38b3afdbe237ec2facb3af42311315a060f1dba845cb3f7ce10a3d5f68679804640b0dbda869395817a8612af2033f5936ff7f6f3b3b822f47ed512a3b8c0c4d SHA512 9c79c7fa175cd81a920e6b1f2159dda30ba9068437cb1d24b09d864ded36b439045e58f240daee1a46ae375f1990cf318cd8b2e2c02aa6d6e2004d90aff5225a
+DIST ipykernel-6.29.4.tar.gz 162958 BLAKE2B 887d33b433f5fba70273e4020a79bb511bd076fe536c04ebc5f7e838637ff120889789783f9a3a41b4669b0b51d44401215ed3feac413382b953edf9d1b6cb48 SHA512 488d43c1c9f416281b23ba0f31311c7327ef97034d6cf1776392c0f7b193f52f1434e81ae0c45759a0b15354ef9d178c3fc835c6be4408880209e41b91e5602b
diff --git a/dev-python/ipykernel/ipykernel-6.19.4.ebuild b/dev-python/ipykernel/ipykernel-6.19.4.ebuild
deleted file mode 100644
index 9f3ac5371719..000000000000
--- a/dev-python/ipykernel/ipykernel-6.19.4.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..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="IPython Kernel for Jupyter"
-HOMEPAGE="
- https://github.com/ipython/ipykernel/
- https://pypi.org/project/ipykernel/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/comm-0.1.1[${PYTHON_USEDEP}]
- >=dev-python/debugpy-1.0[${PYTHON_USEDEP}]
- >=dev-python/ipython-7.23.1[${PYTHON_USEDEP}]
- >=dev-python/jupyter_client-6.1.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-17[${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-timeout[${PYTHON_USEDEP}]
- dev-python/ipyparallel[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # TODO
- ipykernel/tests/test_debugger.py::test_attach_debug
- ipykernel/tests/test_debugger.py::test_breakpoint_in_cell_with_leading_empty_lines
- ipykernel/tests/test_debugger.py::test_rich_inspect_at_breakpoint
- ipykernel/tests/test_debugger.py::test_rich_inspect_not_at_breakpoint
- ipykernel/tests/test_debugger.py::test_set_breakpoints
- ipykernel/tests/test_debugger.py::test_stop_on_breakpoint
-)
-
-src_prepare() {
- sed -i -e 's:^TIMEOUT = .*:TIMEOUT = 120:' ipykernel/tests/*.py || 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
-}
diff --git a/dev-python/ipykernel/ipykernel-6.20.1.ebuild b/dev-python/ipykernel/ipykernel-6.20.1.ebuild
deleted file mode 100644
index 4b2d1c25e75a..000000000000
--- a/dev-python/ipykernel/ipykernel-6.20.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=( python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="IPython Kernel for Jupyter"
-HOMEPAGE="
- https://github.com/ipython/ipykernel/
- https://pypi.org/project/ipykernel/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/comm-0.1.1[${PYTHON_USEDEP}]
- >=dev-python/debugpy-1.0[${PYTHON_USEDEP}]
- >=dev-python/ipython-7.23.1[${PYTHON_USEDEP}]
- >=dev-python/jupyter_client-6.1.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-17[${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-timeout[${PYTHON_USEDEP}]
- dev-python/ipyparallel[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e 's:^TIMEOUT = .*:TIMEOUT = 120:' ipykernel/tests/*.py || 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
- ipykernel/tests/test_debugger.py::test_attach_debug
- ipykernel/tests/test_debugger.py::test_breakpoint_in_cell_with_leading_empty_lines
- ipykernel/tests/test_debugger.py::test_rich_inspect_at_breakpoint
- ipykernel/tests/test_debugger.py::test_rich_inspect_not_at_breakpoint
- ipykernel/tests/test_debugger.py::test_set_breakpoints
- ipykernel/tests/test_debugger.py::test_stop_on_breakpoint
- # hangs?
- ipykernel/tests/test_eventloop.py::test_tk_loop
- )
-
- virtx distutils-r1_src_test
-}
diff --git a/dev-python/ipykernel/ipykernel-6.20.2.ebuild b/dev-python/ipykernel/ipykernel-6.20.2.ebuild
deleted file mode 100644
index 4b2d1c25e75a..000000000000
--- a/dev-python/ipykernel/ipykernel-6.20.2.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=( python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="IPython Kernel for Jupyter"
-HOMEPAGE="
- https://github.com/ipython/ipykernel/
- https://pypi.org/project/ipykernel/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/comm-0.1.1[${PYTHON_USEDEP}]
- >=dev-python/debugpy-1.0[${PYTHON_USEDEP}]
- >=dev-python/ipython-7.23.1[${PYTHON_USEDEP}]
- >=dev-python/jupyter_client-6.1.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-17[${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-timeout[${PYTHON_USEDEP}]
- dev-python/ipyparallel[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e 's:^TIMEOUT = .*:TIMEOUT = 120:' ipykernel/tests/*.py || 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
- ipykernel/tests/test_debugger.py::test_attach_debug
- ipykernel/tests/test_debugger.py::test_breakpoint_in_cell_with_leading_empty_lines
- ipykernel/tests/test_debugger.py::test_rich_inspect_at_breakpoint
- ipykernel/tests/test_debugger.py::test_rich_inspect_not_at_breakpoint
- ipykernel/tests/test_debugger.py::test_set_breakpoints
- ipykernel/tests/test_debugger.py::test_stop_on_breakpoint
- # hangs?
- ipykernel/tests/test_eventloop.py::test_tk_loop
- )
-
- 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/ipyparallel/Manifest b/dev-python/ipyparallel/Manifest
index 6fec217c7f7b..c766b375c7dd 100644
--- a/dev-python/ipyparallel/Manifest
+++ b/dev-python/ipyparallel/Manifest
@@ -1 +1,2 @@
-DIST ipyparallel-8.4.1.tar.gz 6843301 BLAKE2B 1ca0056cfa6827f5eb145584ea634d224119a485f1139964988b07bcd164fe392bb032794098bccdf67b31f74030e62e917c0a451809e0d14fae323308b2b0ab SHA512 640489b3920b91e1b2f83def00a06e8ec45c61bd7ebe33a3e4a30560e2b0acdbe0a98a685d868dd7bce4c65920d378ab69efca75cf0ae7f164ee792c870a297e
+DIST ipyparallel-8.7.0.tar.gz 6798726 BLAKE2B 2f948ab19883e9364cab82227ad9918010f144ccf8d9899c54e4a3a9df99bd42faf6001ba837e6c7bfb25738c6ad25f766396b76ba7fa5097d84f385d69dbc68 SHA512 96b9a3c1435dcb609c81856e5fc2763265a14610483e9d6c1a0b1fe5f7d6981d42d8f0d7b0c245cdf1fec10d4a832854dc745ca02ce90623734216dc858bb322
+DIST ipyparallel-8.8.0.tar.gz 6800541 BLAKE2B ae40aa60eec2c07bb1ecce696df9f8429293e1602bced8e6220e6a93b780b44131a4fcbd01c921952cae9945fc509f6084570b96ce0c3da7ce4f0cc1d853db1b SHA512 9b0a03e1f581acbe56e3b51331d9fb97c422469e1d93348e6403d7c95a985f1f5a2a390645222fc4b60c0027ba168933679662561adb618d19ae7d680a2bb680
diff --git a/dev-python/ipyparallel/files/ipyparallel-8.3.0-additional-test-timeouts.patch b/dev-python/ipyparallel/files/ipyparallel-8.3.0-additional-test-timeouts.patch
deleted file mode 100644
index 22b2910d4d10..000000000000
--- a/dev-python/ipyparallel/files/ipyparallel-8.3.0-additional-test-timeouts.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-https://bugs.gentoo.org/834198
-
-diff --git a/ipyparallel/tests/test_view.py b/ipyparallel/tests/test_view.py
-index 5b5ca41..4c04d02 100644
---- a/ipyparallel/tests/test_view.py
-+++ b/ipyparallel/tests/test_view.py
-@@ -628,7 +628,7 @@ class TestView(ClusterTestCase):
- """exceptions in execute requests raise appropriately"""
- view = self.client[-1]
- ar = view.execute("1/0")
-- self.assertRaisesRemote(ZeroDivisionError, ar.get, 2)
-+ self.assertRaisesRemote(ZeroDivisionError, ar.get, 20)
-
- def test_remoteerror_render_exception(self):
- """RemoteErrors get nice tracebacks"""
-@@ -637,7 +637,7 @@ class TestView(ClusterTestCase):
- ip = get_ipython()
- ip.user_ns['ar'] = ar
- with capture_output() as io:
-- ip.run_cell("ar.get(2)")
-+ ip.run_cell("ar.get(20)")
-
- self.assertTrue('ZeroDivisionError' in io.stdout, io.stdout)
-
-@@ -649,7 +649,7 @@ class TestView(ClusterTestCase):
- ip.user_ns['ar'] = ar
-
- with capture_output() as io:
-- ip.run_cell("ar.get(2)")
-+ ip.run_cell("ar.get(20)")
-
- count = min(error.CompositeError.tb_limit, len(view))
-
-@@ -689,10 +689,10 @@ class TestView(ClusterTestCase):
- view = self.client[-1]
- ar = view.execute("%pylab inline")
- # at least check if this raised:
-- reply = ar.get(5)
-+ reply = ar.get(50)
- # include imports, in case user config
- ar = view.execute("plot(rand(100))", silent=False)
-- reply = ar.get(5)
-+ reply = ar.get(50)
- assert ar.wait_for_output(5)
- self.assertEqual(len(reply.outputs), 1)
- output = reply.outputs[0]
diff --git a/dev-python/ipyparallel/ipyparallel-8.4.1.ebuild b/dev-python/ipyparallel/ipyparallel-8.4.1.ebuild
deleted file mode 100644
index c1a4fd459941..000000000000
--- a/dev-python/ipyparallel/ipyparallel-8.4.1.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Interactive Parallel Computing with IPython"
-HOMEPAGE="
- https://ipyparallel.readthedocs.io/
- https://github.com/ipython/ipyparallel/
- https://pypi.org/project/ipyparallel/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~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
- "${FILESDIR}"/${PN}-8.3.0-additional-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
- )
- [[ ${EPYTHON} == python3.10 ]] && EPYTEST_DESELECT+=(
- # failing due to irrelevant warnings
- ipyparallel/tests/test_client.py::TestClient::test_local_ip_true_doesnt_trigger_warning
- )
- 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.7.0.ebuild b/dev-python/ipyparallel/ipyparallel-8.7.0.ebuild
new file mode 100644
index 000000000000..3a037aa11b4c
--- /dev/null
+++ b/dev-python/ipyparallel/ipyparallel-8.7.0.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=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
+)
+
+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..86168fffc4d2
--- /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..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-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 4ae0bfc3290a..fc48e57709ee 100644
--- a/dev-python/ipython/Manifest
+++ b/dev-python/ipython/Manifest
@@ -1,3 +1,2 @@
-DIST ipython-8.7.0.tar.gz 5329857 BLAKE2B 876ed4e16377f2a4d1c0aa83a7e2e0dfda64100de97ff349911d10b07acf351329b0bff75bcf6085f9fadf773fa6762ed88586e1132cabf6479790a38a0bc4e6 SHA512 4652d06d1a0cf33a2b55f640d6bcc3fd9f1f644c848e869bc3807da8f4166060798ea5629fa80cc98a4a79b8ea1cde6013507eae859354a5db270b7fb3cca6bf
-DIST ipython-8.8.0.tar.gz 5341086 BLAKE2B 6cab547c693494aed85c750ae566947c8035018213839c36ec906cf11c80e93269c4b861a5a4d72994bc4e5fc8f2787fd7674fdb836dad22c8c04c33d8f37de3 SHA512 18e8eaa285fe6278a27ffd2edcf4eccf629e05a8718faa721013d0433822ff8b850a2060135f26b5254a96b7ae0139e2ff4338676c08d3271a12c1b91532d7d1
-DIST ipython-8.9.0.tar.gz 5454595 BLAKE2B bb091bf9c2d9571ded5e1007d9fe60d34b9b0010747759ccceee3368822e3e190766439e3dd9b26df2dbb136ed2b81bc0d89d9b8857baae6e4d86a3524c07972 SHA512 2a9df79ff26bb34866dc523e75ba8e8d8de25d510fc273cbbf762b3011e53ff5331869f1d6fc8c44df6c9a8b5745a0545fe301a556b7f20e3a3dfca994316735
+DIST ipython-8.22.2.tar.gz 5490399 BLAKE2B 61d7d30d77c0b422ba174ac3c3f17c753502d9469d1d2ba8e3f2583761ab1f26230172b7e2efa680bb8f7ef23ef47cfe56241344380591e3da0da5d15f385727 SHA512 ff9c56b0594e63dbb26aad466eb9449d41db4002da61837363aaff817b99a54f310152994e4d361dfd5b6c40452dedf3eb74825c6d0a7d8c5fff84c1ac20f7ff
+DIST ipython-8.23.0.tar.gz 5491405 BLAKE2B c4273d20bccdf07283abf9a69b8d64a27be3aa2e0672d14781cd9035ff39a5392518d7e22f45cdd20c8e110111a601d4bdbc36659efde153742de731d574e4be SHA512 4e6f061dba024f5e717f6497706a144c5568c9d650215d898fe8e5efc85b92445f64e2c8eb6ef3c9bfe1a305c9098cc49e79b6d1cc25c8be5add1497682fce28
diff --git a/dev-python/ipython/ipython-8.22.2.ebuild b/dev-python/ipython/ipython-8.22.2.ebuild
new file mode 100644
index 000000000000..35f532e97131
--- /dev/null
+++ b/dev-python/ipython/ipython-8.22.2.ebuild
@@ -0,0 +1,174 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE='readline(+),sqlite,threads(+)'
+
+inherit distutils-r1 optfeature pypi virtualx
+
+DESCRIPTION="Advanced interactive shell for Python"
+HOMEPAGE="
+ https://ipython.org/
+ https://github.com/ipython/ipython/
+ https://pypi.org/project/ipython/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+IUSE="doc examples notebook nbconvert qt5 +smp test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/decorator[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.16[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
+ >=dev-python/prompt-toolkit-3.0.41[${PYTHON_USEDEP}]
+ <dev-python/prompt-toolkit-3.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
+ dev-python/stack-data[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.13.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ app-text/dvipng[truetype]
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ dev-python/pickleshare[${PYTHON_USEDEP}]
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-2[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+RDEPEND+="
+ nbconvert? (
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ $(python_gen_cond_dep '
+ notebook? (
+ dev-python/notebook[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/widgetsnbextension[${PYTHON_USEDEP}]
+ )
+ qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
+ ' 'python*')
+ smp? (
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/2.1.0-substitute-files.patch
+)
+
+python_prepare_all() {
+ # Remove out of date insource files
+ #rm IPython/extensions/cythonmagic.py || die
+ #rm IPython/extensions/rmagic.py || die
+
+ # Prevent un-needed download during build
+ if use doc; then
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/source/conf.py || die
+ fi
+
+ # Rename the test directory to reduce sys.path pollution
+ # https://github.com/ipython/ipython/issues/12892
+ mv IPython/extensions/{,ipython_}tests || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ emake -C docs html_noapi
+ HTML_DOCS=( docs/build/html/. )
+ fi
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x IPYTHON_TESTING_TIMEOUT_SCALE=20
+ local EPYTEST_DESELECT=(
+ # TODO: looks to be a regression due to a newer dep
+ IPython/core/tests/test_oinspect.py::test_class_signature
+ IPython/core/tests/test_oinspect.py::test_render_signature_long
+ IPython/terminal/tests/test_shortcuts.py::test_modify_shortcut_with_filters
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # https://github.com/numpy/numpy/issues/25164
+ IPython/lib/tests/test_display.py::TestAudioDataWithoutNumpy
+ )
+ ;;
+ esac
+
+ # nonfatal implied by virtx
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest || die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Create ipythonX.Y symlinks.
+ # TODO:
+ # 1. do we want them for pypy? No. pypy has no numpy
+ # 2. handle it in the eclass instead (use _python_ln_rel).
+ # With pypy not an option the dosym becomes unconditional
+ dosym ../lib/python-exec/${EPYTHON}/ipython \
+ /usr/bin/ipython${EPYTHON#python}
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
+
+pkg_postinst() {
+ optfeature "code formatting" dev-python/black
+ optfeature "sympyprinting" dev-python/sympy
+ optfeature "cythonmagic" dev-python/cython
+ optfeature "%lprun magic command" dev-python/line-profiler
+ optfeature "%matplotlib magic command" dev-python/matplotlib-inline
+
+ if use nbconvert; then
+ if ! has_version virtual/pandoc ; then
+ einfo "Node.js will be used to convert notebooks to other formats"
+ einfo "like HTML. Support for that is still experimental. If you"
+ einfo "encounter any problems, please use app-text/pandoc instead."
+ fi
+ fi
+}
diff --git a/dev-python/ipython/ipython-8.23.0.ebuild b/dev-python/ipython/ipython-8.23.0.ebuild
new file mode 100644
index 000000000000..aa975d4a0a8f
--- /dev/null
+++ b/dev-python/ipython/ipython-8.23.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.7.0.ebuild b/dev-python/ipython/ipython-8.7.0.ebuild
deleted file mode 100644
index fd4be714c1c9..000000000000
--- a/dev-python/ipython/ipython-8.7.0.ebuild
+++ /dev/null
@@ -1,156 +0,0 @@
-# Copyright 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='readline,sqlite,threads(+)'
-
-inherit distutils-r1 optfeature virtualx
-
-DESCRIPTION="Advanced interactive shell for Python"
-HOMEPAGE="
- https://ipython.org/
- https://github.com/ipython/ipython/
- https://pypi.org/project/ipython/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="doc examples matplotlib notebook nbconvert qt5 +smp test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/backcall[${PYTHON_USEDEP}]
- dev-python/decorator[${PYTHON_USEDEP}]
- >=dev-python/jedi-0.16[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
- dev-python/pickleshare[${PYTHON_USEDEP}]
- >=dev-python/prompt_toolkit-2[${PYTHON_USEDEP}]
- <dev-python/prompt_toolkit-3.1[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/stack_data[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- app-text/dvipng[truetype]
- >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- dev-python/nbformat[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.20[${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="
- notebook? (
- dev-python/notebook[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/widgetsnbextension[${PYTHON_USEDEP}]
- )
- qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
- 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
- )
- # 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 "%mprun magic command" dev-python/memory_profiler
-
- if use nbconvert; then
- if ! has_version app-text/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.8.0.ebuild b/dev-python/ipython/ipython-8.8.0.ebuild
deleted file mode 100644
index a4017727bc05..000000000000
--- a/dev-python/ipython/ipython-8.8.0.ebuild
+++ /dev/null
@@ -1,156 +0,0 @@
-# Copyright 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='readline,sqlite,threads(+)'
-
-inherit distutils-r1 optfeature virtualx
-
-DESCRIPTION="Advanced interactive shell for Python"
-HOMEPAGE="
- https://ipython.org/
- https://github.com/ipython/ipython/
- https://pypi.org/project/ipython/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="doc examples matplotlib notebook nbconvert qt5 +smp test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/backcall[${PYTHON_USEDEP}]
- dev-python/decorator[${PYTHON_USEDEP}]
- >=dev-python/jedi-0.16[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
- dev-python/pickleshare[${PYTHON_USEDEP}]
- >=dev-python/prompt_toolkit-2[${PYTHON_USEDEP}]
- <dev-python/prompt_toolkit-3.1[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/stack_data[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- app-text/dvipng[truetype]
- >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- dev-python/nbformat[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.20[${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="
- notebook? (
- dev-python/notebook[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/widgetsnbextension[${PYTHON_USEDEP}]
- )
- qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
- 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
- )
- # 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 "%mprun magic command" dev-python/memory_profiler
-
- if use nbconvert; then
- if ! has_version app-text/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.9.0.ebuild b/dev-python/ipython/ipython-8.9.0.ebuild
deleted file mode 100644
index 432e2adecfdb..000000000000
--- a/dev-python/ipython/ipython-8.9.0.ebuild
+++ /dev/null
@@ -1,156 +0,0 @@
-# Copyright 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='readline,sqlite,threads(+)'
-
-inherit distutils-r1 optfeature virtualx
-
-DESCRIPTION="Advanced interactive shell for Python"
-HOMEPAGE="
- https://ipython.org/
- https://github.com/ipython/ipython/
- https://pypi.org/project/ipython/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="doc examples matplotlib notebook nbconvert qt5 +smp test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/backcall[${PYTHON_USEDEP}]
- dev-python/decorator[${PYTHON_USEDEP}]
- >=dev-python/jedi-0.16[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
- dev-python/pickleshare[${PYTHON_USEDEP}]
- >=dev-python/prompt_toolkit-3.0.30[${PYTHON_USEDEP}]
- <dev-python/prompt_toolkit-3.1[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/stack_data[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- app-text/dvipng[truetype]
- >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- dev-python/nbformat[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.20[${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="
- notebook? (
- dev-python/notebook[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/widgetsnbextension[${PYTHON_USEDEP}]
- )
- qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
- 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
- )
- # 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 "%mprun magic command" dev-python/memory_profiler
-
- if use nbconvert; then
- if ! has_version app-text/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/metadata.xml b/dev-python/ipython/metadata.xml
index 8b83b8aabf3a..fc4a56363789 100644
--- a/dev-python/ipython/metadata.xml
+++ b/dev-python/ipython/metadata.xml
@@ -43,7 +43,6 @@
</longdescription>
<stabilize-allarches/>
<use>
- <flag name="matplotlib">Add support for <pkg>dev-python/matplotlib</pkg></flag>
<flag name="notebook">Install requirements for the web notebook based on <pkg>dev-python/tornado</pkg></flag>
<flag name="nbconvert">Enable support for converting notebooks to various formats using <pkg>app-text/pandoc</pkg></flag>
</use>
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 77d15c514320..f25bd3446f45 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
@@ -4,20 +4,24 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Vestigial utilities from IPython"
-HOMEPAGE="https://github.com/ipython/ipython_genutils"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/ipython/ipython_genutils/
+ https://pypi.org/project/ipython_genutils/
+"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
# Needed because package provides decorators which use pytest (after patch)
-RDEPEND="dev-python/pytest[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
PATCHES=(
"${FILESDIR}/${P}-remove-nose.patch"
diff --git a/dev-python/ipywidgets/Manifest b/dev-python/ipywidgets/Manifest
index 0d6801940b4b..1443735e1c3b 100644
--- a/dev-python/ipywidgets/Manifest
+++ b/dev-python/ipywidgets/Manifest
@@ -1 +1 @@
-DIST ipywidgets-8.0.4.tar.gz 114780 BLAKE2B c29c431f6ba576b96792700ba325665be682f8263938dfb6e5f2c727bcdb059ed7f2997cf68ec4d76c636e99d1010b16779377a717b466005743a0fa85a2ac3a SHA512 74bdbcd7406b3a9a968842859de345c024cadc0fad3758bc02298c67d2f7b6c99c5130949a9817bf9d43f4b002c5207732dd1a42792b9ef8fceb57c36a228727
+DIST ipywidgets-8.1.2.tar.gz 116492 BLAKE2B 0fc8283b332447cd3659d39d4564e2e794678169c7bc156660f3478251c4df23de1719e4fcf9651b9766506edf359bdfc803b1450520a3cbce290b39bd95bd3c SHA512 59ddc92bb9b18b6cd36b1499465e700ce9b11010e2d51cdf0a820b36efecbea1facab42ced2f61de312319f4fd4e672bb27b248d40ee0088f3b58acfd102ab61
diff --git a/dev-python/ipywidgets/ipywidgets-8.0.4.ebuild b/dev-python/ipywidgets/ipywidgets-8.0.4.ebuild
deleted file mode 100644
index 266ae2486280..000000000000
--- a/dev-python/ipywidgets/ipywidgets-8.0.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="IPython HTML widgets for Jupyter"
-HOMEPAGE="
- https://ipywidgets.readthedocs.io/
- https://github.com/jupyter-widgets/ipywidgets/
- https://pypi.org/project/ipywidgets/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/ipykernel-4.5.1[${PYTHON_USEDEP}]
- >=dev-python/ipython_genutils-0.2.0[${PYTHON_USEDEP}]
- >=dev-python/traitlets-4.3.1[${PYTHON_USEDEP}]
- >=dev-python/widgetsnbextension-3.6.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${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.2.ebuild b/dev-python/ipywidgets/ipywidgets-8.1.2.ebuild
new file mode 100644
index 000000000000..8e184bc948ff
--- /dev/null
+++ b/dev-python/ipywidgets/ipywidgets-8.1.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=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.10[${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
+}
+
+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 1053f596b198..2d23e5fe9e0a 100644
--- a/dev-python/irc/Manifest
+++ b/dev-python/irc/Manifest
@@ -1 +1 @@
-DIST irc-20.1.0.tar.gz 89157 BLAKE2B 42498e63e1d62a5c2e545f1d0d581bdbc9f49228ec14e523f4add130b903be2a736072b8ad53775a7f16298a7c57761d8c06053570dc01a338491593564b3fd7 SHA512 83a988b5f75c1d55376a140519725749824dbc9f32e6b0e5d3684d9c58973a746ae517441594cfa745edb89a0fbd98ef847e937a620548fed4e344b66a97ad1c
+DIST irc-20.4.0.tar.gz 91215 BLAKE2B 39244605b7ad47d4fd9c22b4040f14ad46ec79c339e1ffd8451fad04a3d2b7c4945d8474f4c9c9cf3c620cfc3b0298123ba21844849d5070cc85993f46997025 SHA512 ff75593cf9606c724232517c8340beb115ceda254acb5989c043bd0653f215b928b663570c98c27b845cc7431ea142514c85968e3e3b9bda0406ce799a2b1d2e
diff --git a/dev-python/irc/irc-20.1.0.ebuild b/dev-python/irc/irc-20.1.0.ebuild
deleted file mode 100644
index bd05274ef856..000000000000
--- a/dev-python/irc/irc-20.1.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
-
-DESCRIPTION="IRC client framework written in Python"
-HOMEPAGE="
- https://github.com/jaraco/irc/
- https://pypi.org/project/irc/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~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.0.ebuild b/dev-python/irc/irc-20.4.0.ebuild
new file mode 100644
index 000000000000..83d818d2289e
--- /dev/null
+++ b/dev-python/irc/irc-20.4.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="IRC client framework written in Python"
+HOMEPAGE="
+ https://github.com/jaraco/irc/
+ https://pypi.org/project/irc/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/jaraco-collections[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-functools-1.20[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-itertools-1.8[${PYTHON_USEDEP}]
+ dev-python/jaraco-logging[${PYTHON_USEDEP}]
+ dev-python/jaraco-stream[${PYTHON_USEDEP}]
+ dev-python/jaraco-text[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/tempora-1.6[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-3.4.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/scripts"
+ dodoc -r scripts
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/irc/metadata.xml b/dev-python/irc/metadata.xml
index d2cbdfd7af67..778730dfba44 100644
--- a/dev-python/irc/metadata.xml
+++ b/dev-python/irc/metadata.xml
@@ -18,6 +18,5 @@
<remote-id type="pypi">irc</remote-id>
<remote-id type="github">jaraco/irc</remote-id>
<bugs-to>https://github.com/jaraco/irc/issues</bugs-to>
- <changelog>https://github.com/jaraco/irc/blob/master/CHANGES.rst</changelog>
</upstream>
</pkgmetadata>
diff --git a/dev-python/irctokens/Manifest b/dev-python/irctokens/Manifest
new file mode 100644
index 000000000000..b9f9db553e38
--- /dev/null
+++ b/dev-python/irctokens/Manifest
@@ -0,0 +1 @@
+DIST irctokens-2.0.2.gh.tar.gz 10409 BLAKE2B ce52fdf7aec203c962429ff7f2cbbab8a1173f5813abf410df7487cbe270483a96e91bab2e7f7d9aeec7c93a8f15b9b0e054d18d8db7ef1c22404eaeb70c7530 SHA512 09be87e1c3f3d34383fc59e7ef6ac955de2fd09e0a888c685475b7fb93749fa019c383ae24e4e60c697e08d6ade635666feb96db5b6b5f35fb3d75d6d60cd571
diff --git a/dev-python/irctokens/files/irctokens-2.0.2-exclude-tests.patch b/dev-python/irctokens/files/irctokens-2.0.2-exclude-tests.patch
new file mode 100644
index 000000000000..be93c6d0a03a
--- /dev/null
+++ b/dev-python/irctokens/files/irctokens-2.0.2-exclude-tests.patch
@@ -0,0 +1,11 @@
+--- a/setup.py
++++ b/setup.py
+@@ -14,7 +14,7 @@ setuptools.setup(
+ long_description=long_description,
+ long_description_content_type="text/markdown",
+ url="https://github.com/jesopo/irctokens",
+- packages=setuptools.find_packages(),
++ packages=setuptools.find_packages(exclude=["test", "test.*"]),
+ package_data={"irctokens": ["py.typed"]},
+ classifiers=[
+ "Programming Language :: Python :: 3",
diff --git a/dev-python/irctokens/irctokens-2.0.2.ebuild b/dev-python/irctokens/irctokens-2.0.2.ebuild
new file mode 100644
index 000000000000..ddf4c05d60c2
--- /dev/null
+++ b/dev-python/irctokens/irctokens-2.0.2.ebuild
@@ -0,0 +1,36 @@
+# 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="RFC1459 and IRCv3 protocol tokeniser library"
+HOMEPAGE="
+ https://github.com/jesopo/irctokens
+ https://pypi.org/project/irctokens/
+"
+# sdist is broken (missing VERSION)
+SRC_URI="
+ https://github.com/jesopo/irctokens/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.0.2-exclude-tests.patch
+)
+
+BDEPEND="
+ test? (
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/irctokens/metadata.xml b/dev-python/irctokens/metadata.xml
new file mode 100644
index 000000000000..948ec2ee0303
--- /dev/null
+++ b/dev-python/irctokens/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">irctokens</remote-id>
+ <remote-id type="github">jesopo/irctokens</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/iso8601/Manifest b/dev-python/iso8601/Manifest
index 3590dadfadb5..22e010757d7d 100644
--- a/dev-python/iso8601/Manifest
+++ b/dev-python/iso8601/Manifest
@@ -1 +1 @@
-DIST iso8601-1.1.0.tar.gz 12836 BLAKE2B 7860d52002008a76c1d28ae94abe5100c3ea434f8e19dcb677dfc84366e898d2d277d88e6591d663579281c4ee668e77db96fd586edbe8b027433844462071e9 SHA512 f3f9621863abcbcde467d38416391cd8c98f59b7b863845b670e11060f0f81bcf4979fadc51c19eb55a5fe44ee1af922976b11cc97bf7b2dc090a485ad9979ac
+DIST iso8601-2.1.0.tar.gz 6522 BLAKE2B 49d8aca4bb5e75647335c5a2d047adeccb716050d8e34024d695bf605065507eeae3481e1d6f79e2051c77cde43072091324fc62d3a803fcaf52715c0e8efdb6 SHA512 db57ab2a25ef91e3bc479c8539d27e853cf1fbf60986820b8999ae15d7e566425a1e0cfba47d0f3b23aa703db0576db368e6c110ba2a2f46c9a34e8ee3611fb7
diff --git a/dev-python/iso8601/iso8601-1.1.0.ebuild b/dev-python/iso8601/iso8601-1.1.0.ebuild
deleted file mode 100644
index 3ca8978647ba..000000000000
--- a/dev-python/iso8601/iso8601-1.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple module to parse ISO 8601 dates"
-HOMEPAGE="
- https://github.com/micktwomey/pyiso8601/
- https://pypi.org/project/iso8601/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~sparc-solaris ~x64-solaris"
-
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/iso8601/iso8601-2.1.0.ebuild b/dev-python/iso8601/iso8601-2.1.0.ebuild
new file mode 100644
index 000000000000..d6dcf0a800fe
--- /dev/null
+++ b/dev-python/iso8601/iso8601-2.1.0.ebuild
@@ -0,0 +1,28 @@
+# 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="Simple module to parse ISO 8601 dates"
+HOMEPAGE="
+ https://github.com/micktwomey/pyiso8601/
+ https://pypi.org/project/iso8601/
+"
+
+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"
+
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/isodate/isodate-0.6.1-r1.ebuild b/dev-python/isodate/isodate-0.6.1-r1.ebuild
index 784763b1a395..17b514d09b1c 100644
--- a/dev-python/isodate/isodate-0.6.1-r1.ebuild
+++ b/dev-python/isodate/isodate-0.6.1-r1.ebuild
@@ -4,20 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="ISO 8601 date/time/duration parser and formatter"
HOMEPAGE="
https://github.com/gweis/isodate/
https://pypi.org/project/isodate/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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"
+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/six[${PYTHON_USEDEP}]
diff --git a/dev-python/isoduration/isoduration-20.11.0-r1.ebuild b/dev-python/isoduration/isoduration-20.11.0-r1.ebuild
index 63110e7a158f..9f3939e12bef 100644
--- a/dev-python/isoduration/isoduration-20.11.0-r1.ebuild
+++ b/dev-python/isoduration/isoduration-20.11.0-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="ISC"
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 ~arm64-macos ~x64-macos"
RDEPEND="
>=dev-python/arrow-0.15.0[${PYTHON_USEDEP}]
diff --git a/dev-python/isort/Manifest b/dev-python/isort/Manifest
index 4d7f9756102c..9122a8f7a2dc 100644
--- a/dev-python/isort/Manifest
+++ b/dev-python/isort/Manifest
@@ -1 +1 @@
-DIST isort-5.11.4.gh.tar.gz 733368 BLAKE2B 82a9738cf48fd662c6128c7f58766e6b204d93fee73cbdd0d84850a62a1a714322dc6c31429a3b043401a963178c4aa3120e98c8f590f24799b75a92f9427798 SHA512 fd7dd8938cc700fa4a295bf1aabb9dc479e1b837e443e3210e4f2234316e207293eeb6f666b49ed2bc4f92942b3185de64439ce86ece201093072fee905766a8
+DIST isort-5.13.2.gh.tar.gz 755256 BLAKE2B 4cc8a0209ba954d93c030e6ad038933b50aa2f17b173762f598bc8038f36f72ecd1e7a3f6e73398bbfc99f464d14927f77044ca68126815023a8d456497985a1 SHA512 fe2bd27f0aa6219d44c3124782d400338a801a911d6a09ad51e7f80cbcbce250838350ad6cc80a35f641e0a319778ddcfb4dc61c8c76999ebc63a5147953e378
diff --git a/dev-python/isort/isort-5.11.4.ebuild b/dev-python/isort/isort-5.11.4.ebuild
deleted file mode 100644
index 86119ad4b7f7..000000000000
--- a/dev-python/isort/isort-5.11.4.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_{9..11} )
-
-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/pylama[${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
- # leftover toml import used to determine .toml support
- sed -i -e 's:import toml:toml = True:' tests/unit/test_isort.py || 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
- )
- 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..f17443c55098
--- /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..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="
+ $(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..f1ce7421bb69 100644
--- a/dev-python/itsdangerous/Manifest
+++ b/dev-python/itsdangerous/Manifest
@@ -1 +1,2 @@
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
index 8abc972ce72c..9ef836ae8a8b 100644
--- a/dev-python/itsdangerous/itsdangerous-2.1.2.ebuild
+++ b/dev-python/itsdangerous/itsdangerous-2.1.2.ebuild
@@ -4,9 +4,9 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Various helpers to pass trusted data to untrusted environments and back"
HOMEPAGE="
@@ -14,7 +14,6 @@ HOMEPAGE="
https://github.com/pallets/itsdangerous/
https://pypi.org/project/itsdangerous/
"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
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..69483573c260
--- /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..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/itunespy/itunespy-1.6-r1.ebuild b/dev-python/itunespy/itunespy-1.6-r1.ebuild
deleted file mode 100644
index c8faaee18db8..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/itypes/Manifest b/dev-python/itypes/Manifest
deleted file mode 100644
index 94c22396d982..000000000000
--- a/dev-python/itypes/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST itypes-1.2.0.gh.tar.gz 5578 BLAKE2B c4025c2ad54203c4f3bbcd6f369fc6a86d21bd54a63c42acd68a98b6b44404340c3242e3c7a896483860eaa7f3df156fec79a71974e3cbb7b984fd83aa631eb2 SHA512 94421fa3f9ec7d18989332ca518607f09bd9d674e80bbca4a3c7324c20c3ae4e0679457e6a328e50ffe3d94c6db733f092798293133d42c1f07d959e0f837891
diff --git a/dev-python/itypes/itypes-1.2.0-r1.ebuild b/dev-python/itypes/itypes-1.2.0-r1.ebuild
deleted file mode 100644
index 21300814466a..000000000000
--- a/dev-python/itypes/itypes-1.2.0-r1.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="basic immutable container types for python"
-HOMEPAGE="https://github.com/PavanTatikonda/itypes/"
-SRC_URI="
- https://github.com/PavanTatikonda/itypes/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest tests.py
-}
diff --git a/dev-python/itypes/metadata.xml b/dev-python/itypes/metadata.xml
deleted file mode 100644
index 9b383a6d5c73..000000000000
--- a/dev-python/itypes/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">PavanTatikonda/itypes</remote-id>
- <remote-id type="pypi">itypes</remote-id>
- </upstream>
-</pkgmetadata>
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 ead99d7dbbef..777f02512d6a 100644
--- a/dev-python/jack-client/jack-client-0.5.4.ebuild
+++ b/dev-python/jack-client/jack-client-0.5.4.ebuild
@@ -1,22 +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
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="JACK-Client"
-inherit distutils-r1 virtualx
-
-MY_PN="JACK-Client"
-MY_P="${MY_PN}-${PV}"
+inherit distutils-r1 virtualx pypi
DESCRIPTION="JACK Audio Connection Kit client for Python"
HOMEPAGE="
https://pypi.org/project/JACK-Client/
https://github.com/spatialaudio/jackclient-python
"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
LICENSE="MIT"
SLOT="0"
@@ -32,8 +30,6 @@ RDEPEND="${BDEPEND}
dev-python/numpy[${PYTHON_USEDEP}]
virtual/jack"
-S="${WORKDIR}"/${MY_P}
-
# sphinx_last_updated_by_git not in the tree yet
#distutils_enable_sphinx doc dev-python/sphinx-last-updated-by-git
distutils_enable_tests pytest
diff --git a/dev-python/jaraco-classes/Manifest b/dev-python/jaraco-classes/Manifest
index 40579d74960d..e95945d6c19e 100644
--- a/dev-python/jaraco-classes/Manifest
+++ b/dev-python/jaraco-classes/Manifest
@@ -1 +1,2 @@
-DIST jaraco.classes-3.2.3.tar.gz 9416 BLAKE2B 00de6548b746d2e6136572d2bcbc8a9c3e6f6570a02ee27e679e6bab7b9f4b8a327acf2b8854045b5348df8760763a7bc52fedb0b3504629ceced3dd3b4588ad SHA512 73fe80de5c50b553efee6aa51fff98e30e72dcb4167b6056628d3cbbb897e29abde4fa9da79a2b413830d8440055a43ea97ace4daa62853d874419cb36c43fee
+DIST jaraco.classes-3.3.1.tar.gz 11699 BLAKE2B 4510bc79d9fb0697aabfa5211c250e362048091b38dc1f6d404abc80ded078744dda29e91bc82ff30fbfe352614f3be14e1cf2cebea0ce7bd839d21b6897817d SHA512 368a45965e321506bb4a66c80ddf79e8e58f25f92bf9bbd1cffc9118f696ea23dcca6f9277544d1c2af1cbc18fe0cc5a2bdc7b9ad865f54ac0776b0b58aca90b
+DIST jaraco.classes-3.4.0.tar.gz 11780 BLAKE2B e16f76f58fae8b42864e5055e8fd97fff634223aa28499fcc8a204f52aec9f2cc66b5cdf53e08acac85bfdeff46b7bdeb8b5bcc9da10fee16f3a5bd84026cd1d SHA512 94e5163120117c51f129d43e85f92ee19efcf8b10683142679511f8b33f4a1fd6c51516b7551aeab9d68c1936791bafc47328b5560ee3fe28e553fe463ea968f
diff --git a/dev-python/jaraco-classes/jaraco-classes-3.2.3.ebuild b/dev-python/jaraco-classes/jaraco-classes-3.2.3.ebuild
deleted file mode 100644
index 2e24fdbc7d0a..000000000000
--- a/dev-python/jaraco-classes/jaraco-classes-3.2.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P="${P/-/.}"
-DESCRIPTION="Classes used by other projects by developer jaraco"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.classes/
- https://pypi.org/project/jaraco.classes/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-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.3.1.ebuild b/dev-python/jaraco-classes/jaraco-classes-3.3.1.ebuild
new file mode 100644
index 000000000000..297d1f822d5e
--- /dev/null
+++ b/dev-python/jaraco-classes/jaraco-classes-3.3.1.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..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..6374ebe23e5a
--- /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..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-collections/Manifest b/dev-python/jaraco-collections/Manifest
index 4f76b87500f5..bd384cecbf1b 100644
--- a/dev-python/jaraco-collections/Manifest
+++ b/dev-python/jaraco-collections/Manifest
@@ -1 +1,2 @@
-DIST jaraco.collections-3.8.0.tar.gz 17021 BLAKE2B d1439d2ac8e1c62a87f85775d58a1ea30abfb9eeae2d04c00eaaca9452cd3d46c668841073ee41913a52afa519ecbbddba321ec06584c8cab29dd736f4337219 SHA512 3d20c07d616e82c8c2699f2a5e7a0c42e8a4e5314535d4521a2e3457db510cd24019b23128682ac60c34b47fc4b5232ba0fd2e463c199aef6f6eb6d6ee4347ac
+DIST jaraco.collections-5.0.0.tar.gz 17852 BLAKE2B 2ba362417835faea2f3ebfb24c8eeac2b302c64d2f653cf820f16218b5ae92aff270a14680ecee82847f65338d1dafbf9951e92f5874e7df79fd27918d9a2456 SHA512 bc4bf9159c3f2878fb3ed57e311c894986fa106af96423a612f25dbefb51f8dfc77fa1468612a224fbe26c64270745ff1c1db7d05d7c3f5d51040a8773298a73
+DIST jaraco.collections-5.0.1.tar.gz 17990 BLAKE2B a78de1a3222492dde34271edd8032dc5b8737dc428c1aa6b55ebda799ef4ff986cb0cf495bdbc35f9c776e1d576c2970ae6736ba8d8aa7f2fcc2e6766aefbbc3 SHA512 88b0f261acd91d585e643b810818762af7165eaf505099701b99ee3be6955eebcfd1c95690faa3ecb56b25f6982a8cee242e687e50ead56a557a5b2b72ec6dfe
diff --git a/dev-python/jaraco-collections/jaraco-collections-3.8.0.ebuild b/dev-python/jaraco-collections/jaraco-collections-3.8.0.ebuild
deleted file mode 100644
index 3663727cd6fe..000000000000
--- a/dev-python/jaraco-collections/jaraco-collections-3.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Models and classes to supplement the stdlib collections module"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.collections/
- https://pypi.org/project/jaraco.collections/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- dev-python/jaraco-classes[${PYTHON_USEDEP}]
- 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.0.ebuild b/dev-python/jaraco-collections/jaraco-collections-5.0.0.ebuild
new file mode 100644
index 000000000000..0a799c220252
--- /dev/null
+++ b/dev-python/jaraco-collections/jaraco-collections-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
+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 ~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-collections/jaraco-collections-5.0.1.ebuild b/dev-python/jaraco-collections/jaraco-collections-5.0.1.ebuild
new file mode 100644
index 000000000000..c57882621616
--- /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..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 ~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-collections/metadata.xml b/dev-python/jaraco-collections/metadata.xml
index c974d8dc1f1b..02d1978b533b 100644
--- a/dev-python/jaraco-collections/metadata.xml
+++ b/dev-python/jaraco-collections/metadata.xml
@@ -10,6 +10,5 @@
<remote-id type="pypi">jaraco.collections</remote-id>
<remote-id type="github">jaraco/jaraco.collections</remote-id>
<bugs-to>https://github.com/jaraco/jaraco.collections/issues</bugs-to>
- <changelog>https://github.com/jaraco/jaraco.collections/blob/master/CHANGES.rst</changelog>
</upstream>
</pkgmetadata>
diff --git a/dev-python/jaraco-context/Manifest b/dev-python/jaraco-context/Manifest
index b104febc0253..e95f206d6d7f 100644
--- a/dev-python/jaraco-context/Manifest
+++ b/dev-python/jaraco-context/Manifest
@@ -1,3 +1,3 @@
-DIST jaraco.context-4.2.0.tar.gz 9308 BLAKE2B 047474e325846a5e01407cd5c6c64da4f7185d3a26b3664f06e3ca76bdb5989fd741a62ab32a667d56a80a4280824e8614cc64a27aa45f97f81d93c344f06f31 SHA512 829284682ead392ae7620c1881e89b7091e7ddc7c1d293c05792f7ce4276a5745554598a222a52ed93a7b2b401d20f3d066cfd32de65ad2f0f3c8c5f5cd2c75a
-DIST jaraco.context-4.2.1.tar.gz 9526 BLAKE2B f4543528ac24ed0005955cee49b1e4723b6d6240125eda3b6f58307a22180df41ed90069328e8e0efe460040dbadd2948d3728ccf2c01953b7e5d6bfb43e378d SHA512 34b4a051e4a50c24313bee4b80106cc5b3bb71cafc4b2eb4e8cf061b270f5ccf0ff550b58d7b05d7407f2cd7aa8ec4baf113de6dcd064d91e3f2619c5e0ce284
DIST jaraco.context-4.3.0.tar.gz 9764 BLAKE2B 2905723ec54c6ae63b2088d677cd486dcdc06dfea06bb058eeb512da508b2ae74990894cb62f3751321cb4c813b66ffe9a3084b21eb0cb4236a9515969432dfc SHA512 8882229fa1a68f2733ec4103fbeaf47625b19790f4461ab18df4c1f1a99d4d26d10d7381ab68ba5df48616a1fdb2d5e4a767496a0e40658fd011ed9cd39255de
+DIST jaraco.context-5.1.0.tar.gz 11626 BLAKE2B c6ac691c6493e0aed5d606784f8418e55fb0c6c8094aa75251ffb12008fb9b4fbfe0912e6ef316d7799d2c0f55be6ba542202f6b8b2bc93afa3a79da4224d35f SHA512 b92c72947060e2219c172c43104055d026f66b119676fcfa31dff34640539d34376b61d209291fffeb558e6051fb92a2a34390fbd3a72f87ee15c5926cb387e5
+DIST jaraco.context-5.3.0.tar.gz 13345 BLAKE2B d2f429335ea80a6b50ea9574adc45c25c0fc78e8ebb5edde218bcbbe7a2b27ae6b5c17453e71904240d0d873ebef36f7c7aeda4424d3fea2dd9aaf01af6fb4c5 SHA512 f63bf272c45ff5c43499621651b78841259040ac98d67c9db75fadebb1c497c1156e05f23bf7c91df3e91f1e070acb9f7dc665e7b242ba7b1ac1cf99a619494d
diff --git a/dev-python/jaraco-context/jaraco-context-4.2.0.ebuild b/dev-python/jaraco-context/jaraco-context-4.2.0.ebuild
deleted file mode 100644
index 7fecbb66c13a..000000000000
--- a/dev-python/jaraco-context/jaraco-context-4.2.0.ebuild
+++ /dev/null
@@ -1,48 +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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Context managers by jaraco"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.context/
- https://pypi.org/project/jaraco.context/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/.}/${MY_P}.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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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-4.2.1.ebuild b/dev-python/jaraco-context/jaraco-context-4.2.1.ebuild
deleted file mode 100644
index 100882e1beea..000000000000
--- a/dev-python/jaraco-context/jaraco-context-4.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
-
-# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
-EAPI=7
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Context managers by jaraco"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.context/
- https://pypi.org/project/jaraco.context/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/.}/${MY_P}.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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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-4.3.0.ebuild b/dev-python/jaraco-context/jaraco-context-4.3.0.ebuild
index 100882e1beea..b0c8171ea6e6 100644
--- a/dev-python/jaraco-context/jaraco-context-4.3.0.ebuild
+++ b/dev-python/jaraco-context/jaraco-context-4.3.0.ebuild
@@ -5,22 +5,21 @@
EAPI=7
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P=${P/-/.}
DESCRIPTION="Context managers by jaraco"
HOMEPAGE="
https://github.com/jaraco/jaraco.context/
https://pypi.org/project/jaraco.context/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/.}/${MY_P}.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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+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
diff --git a/dev-python/jaraco-context/jaraco-context-5.1.0.ebuild b/dev-python/jaraco-context/jaraco-context-5.1.0.ebuild
new file mode 100644
index 000000000000..7cf576c0a86a
--- /dev/null
+++ b/dev-python/jaraco-context/jaraco-context-5.1.0.ebuild
@@ -0,0 +1,47 @@
+# 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..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..40bdfafed439
--- /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..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="~amd64 ~arm ~arm64 ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86"
+
+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/Manifest b/dev-python/jaraco-env/Manifest
new file mode 100644
index 000000000000..b05b5dbbb791
--- /dev/null
+++ b/dev-python/jaraco-env/Manifest
@@ -0,0 +1 @@
+DIST jaraco.env-1.0.0.tar.gz 6664 BLAKE2B c5559444d386fe34d6f639795f9adb68bc750452a7a3b2360971b07bc9876921466e6da9ff1f2d1891910c94891759de8550af0c4f9da311ae7443bfc7c3bdf1 SHA512 67879bd531bb1056bab0dfa47f92a7257e184b8db2a9bf3d588460070401e76e884cf3134ee4c01a6c517d48a0e111fec3a4759d305ee7608797816b27d33473
diff --git a/dev-python/jaraco-env/jaraco-env-1.0.0.ebuild b/dev-python/jaraco-env/jaraco-env-1.0.0.ebuild
new file mode 100644
index 000000000000..1f1fda78a4b8
--- /dev/null
+++ b/dev-python/jaraco-env/jaraco-env-1.0.0.ebuild
@@ -0,0 +1,27 @@
+# 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="Facilities for environment variables"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.env/
+ https://pypi.org/project/jaraco.env/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/jaraco-env/metadata.xml b/dev-python/jaraco-env/metadata.xml
new file mode 100644
index 000000000000..493b35446cb9
--- /dev/null
+++ b/dev-python/jaraco-env/metadata.xml
@@ -0,0 +1,14 @@
+<?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">jaraco.env</remote-id>
+ <remote-id type="github">jaraco/jaraco.env</remote-id>
+ <bugs-to>https://github.com/jaraco/jaraco.env/issues</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jaraco-envs/Manifest b/dev-python/jaraco-envs/Manifest
index 140639959e89..12cff85e52ae 100644
--- a/dev-python/jaraco-envs/Manifest
+++ b/dev-python/jaraco-envs/Manifest
@@ -1 +1 @@
-DIST jaraco.envs-2.4.0.tar.gz 7101 BLAKE2B 0858732706a71ac359b97c0a841c5370f35011968ee76364a06aa67231992bd04e200362d245c3fe8d035b7018be15bdc4117a76e86ac35bb0fff8958af9a0f6 SHA512 d4da2a3f8ec9add63a0b2f754523da5b6593d869537e38c33ea86e59105c4be0cea15546897d70b869cf81be709d9b3fa2cfa35bbefcb9ab32a373ea620553aa
+DIST jaraco.envs-2.6.0.tar.gz 8028 BLAKE2B af9eb47e4f0856a3c3d7ae028e6cebbfc74a6502a5442aa9518b7ab0f927dbc0dcd5e68240dc43868ccb505b0d75c7e9e0162d54620765559f5643f13019a0ba SHA512 8c1d4717f45b805ae3afa1308a60c0f6f03af2a0976f2fb52329d05114282c2f33085865c93e34065bfd978e52ed8bd65f9903ed8e3c7d8b23bf6a050a32bd08
diff --git a/dev-python/jaraco-envs/jaraco-envs-2.4.0.ebuild b/dev-python/jaraco-envs/jaraco-envs-2.4.0.ebuild
deleted file mode 100644
index bfcdd4499f69..000000000000
--- a/dev-python/jaraco-envs/jaraco-envs-2.4.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Classes for orchestrating Python (virtual) environments"
-HOMEPAGE="https://github.com/jaraco/jaraco.envs"
-SRC_URI="mirror://pypi/${MY_P::1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- dev-python/path[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
-"
-
-# there are no actual tests, just flake8 etc
-RESTRICT="test"
-
-src_prepare() {
- # optional runtime dep, not used by anything in ::gentoo
- sed -i -e '/tox/d' setup.cfg || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/jaraco-envs/jaraco-envs-2.6.0.ebuild b/dev-python/jaraco-envs/jaraco-envs-2.6.0.ebuild
new file mode 100644
index 000000000000..c74d398bc787
--- /dev/null
+++ b/dev-python/jaraco-envs/jaraco-envs-2.6.0.ebuild
@@ -0,0 +1,40 @@
+# 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="Classes for orchestrating Python (virtual) environments"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.envs/
+ https://pypi.org/project/jaraco.envs/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ dev-python/path[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # optional runtime dep, not used by anything in ::gentoo
+ sed -i -e '/tox/d' setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ epytest tests
+}
diff --git a/dev-python/jaraco-functools/Manifest b/dev-python/jaraco-functools/Manifest
index 2956ec32876b..0c8e216ae791 100644
--- a/dev-python/jaraco-functools/Manifest
+++ b/dev-python/jaraco-functools/Manifest
@@ -1 +1,2 @@
-DIST jaraco.functools-3.5.2.tar.gz 14650 BLAKE2B 63db54c5f3dea7b0ce939ad51fc4c4f5831a620a37a47d416079d4c9ad30cb3d401567a8da036178122431cafd8dc18e4a9b59241cd1fc0b8bd1c057dfb8a034 SHA512 3f67d151f4f6553b3e560b0e6ab71cf726d6c8f36ef5e9f69b6325605547797e19a3f9eb1331cf332db498538953ccaeb75820528e6599fd7cf125abdc073e69
+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-3.5.2.ebuild b/dev-python/jaraco-functools/jaraco-functools-3.5.2.ebuild
deleted file mode 100644
index 3e23a97da1dd..000000000000
--- a/dev-python/jaraco-functools/jaraco-functools-3.5.2.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 7 -- sys-apps/portage dep
-EAPI=7
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Additional functions used by other projects by developer jaraco"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.functools/
- https://pypi.org/project/jaraco.functools/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN/-/.}/${MY_P}.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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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.0.ebuild b/dev-python/jaraco-functools/jaraco-functools-4.0.0.ebuild
new file mode 100644
index 000000000000..56f61ce83156
--- /dev/null
+++ b/dev-python/jaraco-functools/jaraco-functools-4.0.0.ebuild
@@ -0,0 +1,56 @@
+# 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..5d3cc9f68a82
--- /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..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/metadata.xml b/dev-python/jaraco-functools/metadata.xml
index 360b23630476..27794568db97 100644
--- a/dev-python/jaraco-functools/metadata.xml
+++ b/dev-python/jaraco-functools/metadata.xml
@@ -10,6 +10,5 @@
<remote-id type="pypi">jaraco.functools</remote-id>
<remote-id type="github">jaraco/jaraco.functools</remote-id>
<bugs-to>https://github.com/jaraco/jaraco.functools/issues</bugs-to>
- <changelog>https://github.com/jaraco/jaraco.functools/blob/master/CHANGES.rst</changelog>
</upstream>
</pkgmetadata>
diff --git a/dev-python/jaraco-itertools/Manifest b/dev-python/jaraco-itertools/Manifest
index 7b0b77ea1a5a..9dd39379f378 100644
--- a/dev-python/jaraco-itertools/Manifest
+++ b/dev-python/jaraco-itertools/Manifest
@@ -1 +1 @@
-DIST jaraco.itertools-6.2.1.tar.gz 16813 BLAKE2B 7bf4b3818bcf66ad49643aaa1c606953d8d920c970fa4a4159796c042a1d5b77e53240e8a260b24b337cd65398758d2392fe2a5f73cf784aeeac9b4d0a128181 SHA512 7b4c27143848d899472a9ce207819062719adbef2cf038754c9236fee7da39f62238b85f8d83bdc41bf5a37e8d102e79dd4afbc6efa46c2d7c7ca04c032c67d3
+DIST jaraco.itertools-6.4.1.tar.gz 18202 BLAKE2B f384e7bdbe6068ed85a19e12aeae2ac0ca4bea52a4c3f4840a7ce258440c0a73c0f9f6928be59a1db2f2bef887710a95c423cbf1854bd0e58f068bd4fd833d08 SHA512 57c3ce37d1fb39c7140fc0581bbeacd75479ae1c375af4041144d41bf184299898069418e046f21872c290708ccb44728d1111cb3cfffac4a1d703f1cb86a70a
diff --git a/dev-python/jaraco-itertools/jaraco-itertools-6.2.1.ebuild b/dev-python/jaraco-itertools/jaraco-itertools-6.2.1.ebuild
deleted file mode 100644
index 9351e8966bb8..000000000000
--- a/dev-python/jaraco-itertools/jaraco-itertools-6.2.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Tools for working with iterables. Complements itertools and more_itertools"
-HOMEPAGE="https://github.com/jaraco/jaraco.itertools"
-SRC_URI="mirror://pypi/${MY_P::1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- dev-python/inflect[${PYTHON_USEDEP}]
- >=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools_scm-1.15.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-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-itertools/jaraco-itertools-6.4.1.ebuild b/dev-python/jaraco-itertools/jaraco-itertools-6.4.1.ebuild
new file mode 100644
index 000000000000..cb4f9a22a429
--- /dev/null
+++ b/dev-python/jaraco-itertools/jaraco-itertools-6.4.1.ebuild
@@ -0,0 +1,31 @@
+# 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="Tools for working with iterables. Complements itertools and more_itertools"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.itertools/
+ https://pypi.org/project/jaraco.itertools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ dev-python/inflect[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-1.15.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/jaraco-itertools/metadata.xml b/dev-python/jaraco-itertools/metadata.xml
index 01f46e8a1c4d..4e9c4fa2dc3e 100644
--- a/dev-python/jaraco-itertools/metadata.xml
+++ b/dev-python/jaraco-itertools/metadata.xml
@@ -10,6 +10,5 @@
<remote-id type="pypi">jaraco.itertools</remote-id>
<remote-id type="github">jaraco/jaraco.itertools</remote-id>
<bugs-to>https://github.com/jaraco/jaraco.itertools/issues</bugs-to>
- <changelog>https://github.com/jaraco/jaraco.itertools/blob/master/CHANGES.rst</changelog>
</upstream>
</pkgmetadata>
diff --git a/dev-python/jaraco-logging/Manifest b/dev-python/jaraco-logging/Manifest
index 481c6361f06b..ebc159c91d92 100644
--- a/dev-python/jaraco-logging/Manifest
+++ b/dev-python/jaraco-logging/Manifest
@@ -1 +1 @@
-DIST jaraco.logging-3.1.2.gh.tar.gz 7193 BLAKE2B fab2b65f2cc40d96df1a145bd047aecfca9af8c54c438ec40f965c8698d5db328591c7857390638b6bb48d2faae5cd1ad4541f6eb7c3b85a7ca06d257ad15c98 SHA512 deebf628dd62b6948cdf12931018407de1fb653279e57efce0df1acdf11e4ebab33840ef1e1e452b711ddc70b62fe925ebaf49e065d3450a96f8f6c8bbb0120c
+DIST jaraco.logging-3.3.0.tar.gz 9082 BLAKE2B 8dadd0ef5c13fda35c580a4ff4fb011d35f28461471f353efe1211240e5bac52419bb1d7a6034db3d46c1bb0a73654ded5f50b296b3c5f16e821588d445e597f SHA512 edb0ce89420a05d0f0634b3486b831e01a51e9a8e186afc3a496013c4326aeb3f67f5492900de8991e18faf171ae1785eda60b0523da7065da9fdb0a2fa10a5d
diff --git a/dev-python/jaraco-logging/jaraco-logging-3.1.2.ebuild b/dev-python/jaraco-logging/jaraco-logging-3.1.2.ebuild
deleted file mode 100644
index 9a59eed8640b..000000000000
--- a/dev-python/jaraco-logging/jaraco-logging-3.1.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P="${P/-/.}"
-DESCRIPTION="Additional facilities to supplement Python's stdlib logging module"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.logging/
- https://pypi.org/project/jaraco.logging/
-"
-SRC_URI="
- https://github.com/jaraco/jaraco.logging/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-RDEPEND="
- dev-python/tempora[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools_scm-1.15.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-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..786cbbc50940
--- /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..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-path/Manifest b/dev-python/jaraco-path/Manifest
index 7624d3f8e93d..4c94de7835b1 100644
--- a/dev-python/jaraco-path/Manifest
+++ b/dev-python/jaraco-path/Manifest
@@ -1 +1 @@
-DIST jaraco.path-3.4.0.tar.gz 9574 BLAKE2B 41c7b65be0f7f8ae93b2137f1527145ac91acde2a2d4e338cd68e35f7e5233e6a8dcfe9a0c07f36ae9cd2a00946031eb6b692cfaf1a299bf7a451f25b39cc8cc SHA512 00a853bffdde4a931938b1d193898c039e253018f06ca9d102ee8e07f797b4c9dac33eb50243f714e3f3e151b6ce2fed7d47e1b82ab18d3e8715525b57040a6a
+DIST jaraco.path-3.7.0.tar.gz 11039 BLAKE2B d861cf9af9723d0dd59dff61242c7a5e7de439d0156e4fcc024c30c5cde2773ca0b501527fbade2cae84cc236f74d0e242179a4f51775dbde92cc0c9bed5b267 SHA512 22eba78273da9b354153bb45b2d62d9ba35466f78ad2bf728f4c284d19572443e7267c39008b3fd43b975c9dc258cddf3a3287adddd243e1031d182e6562072a
diff --git a/dev-python/jaraco-path/jaraco-path-3.4.0.ebuild b/dev-python/jaraco-path/jaraco-path-3.4.0.ebuild
deleted file mode 100644
index 52c7e2a1c426..000000000000
--- a/dev-python/jaraco-path/jaraco-path-3.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} pypy3 )
-
-inherit distutils-r1
-
-MY_P="${P/-/.}"
-DESCRIPTION="Miscellaneous path functions"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.path/
- https://pypi.org/project/jaraco.path/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN/-/.}/${MY_P}.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 ~x64-macos"
-
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest tests
-}
diff --git a/dev-python/jaraco-path/jaraco-path-3.7.0.ebuild b/dev-python/jaraco-path/jaraco-path-3.7.0.ebuild
new file mode 100644
index 000000000000..47bb3cf8e848
--- /dev/null
+++ b/dev-python/jaraco-path/jaraco-path-3.7.0.ebuild
@@ -0,0 +1,31 @@
+# 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="Miscellaneous path functions"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.path/
+ https://pypi.org/project/jaraco.path/
+"
+
+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
+
+python_test() {
+ epytest tests
+}
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 2ec31f67576c..2fdadea0c5cb 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
@@ -4,25 +4,24 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P=${P/-/.}
DESCRIPTION="Routines for handling streaming data"
HOMEPAGE="
https://github.com/jaraco/jaraco.stream/
https://pypi.org/project/jaraco.stream/
"
-SRC_URI="mirror://pypi/${MY_P::1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
+KEYWORDS="amd64 arm64 ~riscv x86"
BDEPEND="
- >=dev-python/setuptools_scm-1.15.0[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-1.15.0[${PYTHON_USEDEP}]
test? (
dev-python/more-itertools[${PYTHON_USEDEP}]
)
diff --git a/dev-python/jaraco-test/Manifest b/dev-python/jaraco-test/Manifest
index c7955cb3bd47..4bb20d6aab0f 100644
--- a/dev-python/jaraco-test/Manifest
+++ b/dev-python/jaraco-test/Manifest
@@ -1,3 +1 @@
-DIST jaraco.test-5.1.0.tar.gz 6700 BLAKE2B 69ac08ab7e1c8aeff45d25483f2bb2648ad57a5977dbff8aab844f114a15f054b782ad5b424d9baa805ab80fc7483362dc97320965ef0abe86573b1e7f40b97b SHA512 d1d93eab85068fcba94530df50da9221b7f574e58b2c4ed519c8c4dec7231aa982d588e29137418226f23e0f94bd98f47c0859cf14d7a58c1683ac8ccc24d900
-DIST jaraco.test-5.2.0.tar.gz 8000 BLAKE2B 21e0714537a9966cc285eb1458f313c354226903ee3da816d7a6620676716cf9c220f82963c8b8ea7ac7a1d641f174d5c72dcca43c68c62e4f929c411aa00d62 SHA512 25cd7d5defda6941569958ce61cf41b54555d54c7dc1e115de409d6da352f8e8c09b8671adbdfdc00cf6f1c60a0d43201680c40dbeda44bdcf11a0e64cb23751
-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.1.0-r1.ebuild b/dev-python/jaraco-test/jaraco-test-5.1.0-r1.ebuild
deleted file mode 100644
index 339a07fef366..000000000000
--- a/dev-python/jaraco-test/jaraco-test-5.1.0-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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Testing support by jaraco"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.test/
- https://pypi.org/project/jaraco.test/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc x86"
-
-RDEPEND="
- dev-python/jaraco-collections[${PYTHON_USEDEP}]
- dev-python/jaraco-context[${PYTHON_USEDEP}]
- dev-python/jaraco-functools[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # stray dep
- sed -i -e '/toml/d' setup.cfg || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/jaraco-test/jaraco-test-5.2.0.ebuild b/dev-python/jaraco-test/jaraco-test-5.2.0.ebuild
deleted file mode 100644
index 309e9485b670..000000000000
--- a/dev-python/jaraco-test/jaraco-test-5.2.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Testing support by jaraco"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.test/
- https://pypi.org/project/jaraco.test/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~x86"
-
-RDEPEND="
- dev-python/jaraco-context[${PYTHON_USEDEP}]
- dev-python/jaraco-functools[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
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 b14814239a70..000000000000
--- a/dev-python/jaraco-test/jaraco-test-5.3.0.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Testing support by jaraco"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.test/
- https://pypi.org/project/jaraco.test/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~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..185131c7284f
--- /dev/null
+++ b/dev-python/jaraco-test/jaraco-test-5.4.0.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
+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-collections[${PYTHON_USEDEP}]
+ 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
+ )
+ 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 22567de66748..876b22720a95 100644
--- a/dev-python/jaraco-text/Manifest
+++ b/dev-python/jaraco-text/Manifest
@@ -1,2 +1 @@
-DIST jaraco.text-3.11.0.tar.gz 15883 BLAKE2B f0f3fe33901a68741cb26270384750f070476ef921bf2822f81dddfc1c66e41016757579e310bd20fc8a7f02b188de96f07bf58db41cca51252e46ebbbddcff9 SHA512 ad3ac412df5e21cef86dc56cdc869a93a660a103a676c1d187e5ea762690b89d61c8f68994e6a891e3d98071b440a052fad60a37f71066e4e11a2cfaf45ae009
-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
diff --git a/dev-python/jaraco-text/jaraco-text-3.11.0.ebuild b/dev-python/jaraco-text/jaraco-text-3.11.0.ebuild
deleted file mode 100644
index bda79d6b75c3..000000000000
--- a/dev-python/jaraco-text/jaraco-text-3.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
-
-# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
-EAPI=7
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Text utilities used by other projects by developer jaraco"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.text/
- https://pypi.org/project/jaraco.text/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/.}/${MY_P}.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/jaraco-context-4.1.1-r1[${PYTHON_USEDEP}]
- >=dev-python/jaraco-functools-3.5.0-r1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_resources-5.4.0-r3[${PYTHON_USEDEP}]
- ' 3.8)
-"
-# needed only for CLI tool, make it PDEPEND to reduce pain in setuptools
-# bootstrap
-PDEPEND="
- dev-python/autocommand[${PYTHON_USEDEP}]
- dev-python/inflect[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${PDEPEND}
- $(python_gen_cond_dep '
- dev-python/pathlib2[${PYTHON_USEDEP}]
- ' 3.8 3.9)
- )
-"
-
-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
-}
-
-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.11.1.ebuild b/dev-python/jaraco-text/jaraco-text-3.11.1.ebuild
deleted file mode 100644
index befb604a10f1..000000000000
--- a/dev-python/jaraco-text/jaraco-text-3.11.1.ebuild
+++ /dev/null
@@ -1,71 +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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Text utilities used by other projects by developer jaraco"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.text/
- https://pypi.org/project/jaraco.text/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/.}/${MY_P}.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/jaraco-context-4.1.1-r1[${PYTHON_USEDEP}]
- >=dev-python/jaraco-functools-3.5.0-r1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_resources-5.4.0-r3[${PYTHON_USEDEP}]
- ' 3.8)
-"
-# needed only for CLI tool, make it PDEPEND to reduce pain in setuptools
-# bootstrap
-PDEPEND="
- dev-python/autocommand[${PYTHON_USEDEP}]
- dev-python/inflect[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${PDEPEND}
- $(python_gen_cond_dep '
- dev-python/pathlib2[${PYTHON_USEDEP}]
- ' 3.8 3.9)
- )
-"
-
-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
-}
-
-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
new file mode 100644
index 000000000000..407c5792a3af
--- /dev/null
+++ b/dev-python/jaraco-text/jaraco-text-3.12.0.ebuild
@@ -0,0 +1,57 @@
+# 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/metadata.xml b/dev-python/jaraco-text/metadata.xml
index 53b2aac86a52..0ca273bb4c56 100644
--- a/dev-python/jaraco-text/metadata.xml
+++ b/dev-python/jaraco-text/metadata.xml
@@ -10,6 +10,5 @@
<remote-id type="pypi">jaraco.text</remote-id>
<remote-id type="github">jaraco/jaraco.text</remote-id>
<bugs-to>https://github.com/jaraco/jaraco.text/issues</bugs-to>
- <changelog>https://github.com/jaraco/jaraco.text/blob/master/CHANGES.rst</changelog>
</upstream>
</pkgmetadata>
diff --git a/dev-python/jc/Manifest b/dev-python/jc/Manifest
index 44ecc8158bca..146485c5d2aa 100644
--- a/dev-python/jc/Manifest
+++ b/dev-python/jc/Manifest
@@ -1 +1,2 @@
-DIST jc-1.22.5.gh.tar.gz 12820323 BLAKE2B 2248ce17322b79f6902d595d1afa9a9afff64c153f08396de7b4441f5be0bda000188740a39435f7049e2a0d940e3fb5e6a53b4cca20c518b4522145b7447264 SHA512 72f4d0389ccc716ff61cb182ce26597a65ae1b1a449ad24078f5369b3b4c824ff27366d06456075ee55b24c5c91beb59f2dc8ec86f9b7db47728808e0647724b
+DIST jc-1.25.1.gh.tar.gz 13459638 BLAKE2B 0ad2d106145330529bdf67496e6eb1e60960679f57c11c5aed1797eb437e1fa4df7ef39143f72e933b10d0a4d0b0b32efe1a617f935b45bd99715d68b20a2d2f SHA512 48279932b21bfd88458e22c077d1e6c5109efe2feee8e42c770c1bf7f9f1faadc980d2d3a2ab0a38070fd7ed26603273e86394c26e75fdc335c6cc4255e834da
+DIST jc-1.25.2.gh.tar.gz 13483247 BLAKE2B 2c7ff002d45ed587e1d6578a8f4be9f25a3e1f182e2652faceaa513684b5a02616708f0225217942ba9a20df54675d7cee792ad11bdfdef5bd89f87e53d2df86 SHA512 853c1c4e2b63c2ba1e428a429e7b0635c1916cfd9f8df6026acd7b761c051efd1052328ebfbcc503aa3d36429ee5c7ce0cb76a178cf3d3724f0597e229d57123
diff --git a/dev-python/jc/jc-1.22.5.ebuild b/dev-python/jc/jc-1.22.5.ebuild
deleted file mode 100644
index 90c6c8f3f7cb..000000000000
--- a/dev-python/jc/jc-1.22.5.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_{9..11} )
-
-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/
-"
-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.25.1.ebuild b/dev-python/jc/jc-1.25.1.ebuild
new file mode 100644
index 000000000000..3d8d793333ec
--- /dev/null
+++ b/dev-python/jc/jc-1.25.1.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/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 42500e8e84c7..d841468f664c 100644
--- a/dev-python/jdcal/jdcal-1.4.1-r1.ebuild
+++ b/dev-python/jdcal/jdcal-1.4.1-r1.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Julian dates from proleptic Gregorian and Julian calendars"
HOMEPAGE="https://github.com/phn/jdcal"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
-KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm arm64 x86 ~amd64-linux ~x86-linux"
SLOT="0"
distutils_enable_tests pytest
diff --git a/dev-python/jedi/Manifest b/dev-python/jedi/Manifest
index a9b20b34903a..9ac00c7dec03 100644
--- a/dev-python/jedi/Manifest
+++ b/dev-python/jedi/Manifest
@@ -1,3 +1,3 @@
DIST django-stubs-fd057010f6cbf176f57d1099e82be46d39b99cb9.tar.gz 183312 BLAKE2B a68f6139903f5001db994ee0d881f40ab74932e81c3e2c3a0c22dc56e6be681d0fb42ce837603b21e4d0d448ccb25884ef0f69039305f309e82603267cee9f6a SHA512 506322c132f94e6a1e88cdbde6027a566387731fa6ad59934f95c3511f49d90eff2a3138363811be648b096407d418cd1f801df0bc35b1e464ef181e4076ada1
-DIST jedi-0.18.2.gh.tar.gz 469286 BLAKE2B 6b65a231d092a6869b55c14a8254c4716695f46cdc9733f50607cf7bb8c864f319e2abfbe812bffc514c78cd92059fc29fa9cc0a38b1e14d6bc8bf3ad3596097 SHA512 1df24190c7d468f388e7175f4625670df81cd9a533c8bde12b1e0eaf982a173bdd001bbea6680144cc50ca263fa2b802da5d71de555f81717f4377c46826d0d1
+DIST jedi-0.19.1.gh.tar.gz 472341 BLAKE2B 34238969acb5b6e6db0307d1d18c1c6f3cf666c00e590c5f2338584526135b75e56a3b4e0cef63dc52fd96db4078cb4b82e0652a9ca092c99f4da8448bf65d1f SHA512 aaa2684b787ec99d2477755d7b6ef4ec727fd244bb55178cf3a9e78b50f660c6fab7b88d09e3d02e76f17e656cd1cdb6078282b63516e5e52a1852a821540105
DIST typeshed-ae9d4f4b21bb5e1239816c301da7b1ea904b44c3.tar.gz 602044 BLAKE2B 53298918a7e9a1163e76d4c70ad2a2117ee90b49329aa82d82b2aaaeaf000c971872f83ed283af6dc4be068b813876760c8b1b4acb4131865572a4aed3ea9230 SHA512 b3b9da66b6c6e03e0b262b3262df31215a5e080468ca9ebf4332ed53d715cd3956db7067fad3ec267042ff704f81ac665c703ef2fd0c5b445d440bd8e52bf1aa
diff --git a/dev-python/jedi/jedi-0.18.2.ebuild b/dev-python/jedi/jedi-0.18.2.ebuild
deleted file mode 100644
index f03c9842c4aa..000000000000
--- a/dev-python/jedi/jedi-0.18.2.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-TYPESHED_P="typeshed-ae9d4f4b21bb5e1239816c301da7b1ea904b44c3"
-DJANGO_STUBS_P="django-stubs-fd057010f6cbf176f57d1099e82be46d39b99cb9"
-
-DESCRIPTION="Autocompletion library for Python"
-HOMEPAGE="
- https://github.com/davidhalter/jedi/
- https://pypi.org/project/jedi/
-"
-SRC_URI="
- https://github.com/davidhalter/${PN}/archive/v${PV}.tar.gz
- -> ${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
-"
-
-LICENSE="
- MIT
- test? ( Apache-2.0 )
-"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- =dev-python/parso-0.8*[${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
-
- # don't run doctests, don't depend on colorama
- sed -i "s:'docopt',:: ; s:'colorama',::" setup.py || die
- sed -i "s: --doctest-modules::" pytest.ini || 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
- )
- [[ ${EPYTHON} != python3.8 ]] && EPYTEST_DESELECT+=(
- # TODO
- 'test/test_integration.py::test_completion[lambdas:112]'
- )
-
- # some plugin breaks case-insensitivity on completions
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # django and pytest tests are very version dependent
- epytest -k "not django and not pytest"
-}
diff --git a/dev-python/jedi/jedi-0.19.1.ebuild b/dev-python/jedi/jedi-0.19.1.ebuild
new file mode 100644
index 000000000000..3cfa00a0c4e2
--- /dev/null
+++ b/dev-python/jedi/jedi-0.19.1.ebuild
@@ -0,0 +1,83 @@
+# 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
+
+TYPESHED_P="typeshed-ae9d4f4b21bb5e1239816c301da7b1ea904b44c3"
+DJANGO_STUBS_P="django-stubs-fd057010f6cbf176f57d1099e82be46d39b99cb9"
+
+DESCRIPTION="Autocompletion library for Python"
+HOMEPAGE="
+ https://github.com/davidhalter/jedi/
+ https://pypi.org/project/jedi/
+"
+SRC_URI="
+ https://github.com/davidhalter/jedi/archive/v${PV}.tar.gz
+ -> ${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
+"
+
+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 5ecc06911b60..0535bb47b0a8 100644
--- a/dev-python/jeepney/jeepney-0.8.0.ebuild
+++ b/dev-python/jeepney/jeepney-0.8.0.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Low-level, pure Python DBus protocol wrapper"
HOMEPAGE="
https://gitlab.com/takluyver/jeepney/
https://pypi.org/project/jeepney/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
@@ -32,7 +31,7 @@ BDEPEND="
distutils_enable_tests pytest
distutils_enable_sphinx docs \
- dev-python/sphinx_rtd_theme
+ dev-python/sphinx-rtd-theme
src_test() {
local dbus_params=(
diff --git a/dev-python/jellyfish/Manifest b/dev-python/jellyfish/Manifest
index fa2d2b3cc630..249f53a5b17b 100644
--- a/dev-python/jellyfish/Manifest
+++ b/dev-python/jellyfish/Manifest
@@ -1 +1,51 @@
-DIST jellyfish-0.9.0.tar.gz 132588 BLAKE2B e7490da91d1a53b775ef145151c6dba5b16c938f59773e205b5cf01e1a262d36bb07a49d8c5d823fa722e2d244fc8af1bf9a603911411461a97b155cfdd0ce83 SHA512 1faa3ea03ec8b26085b5db34339f0aea061d3e4897f29235eca56995bea36ae8c152ae0ab0c67279dab4844d92d89293e2de2126c1d449407652b77da258e9f0
+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 cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST csv-1.3.0.crate 888212 BLAKE2B df05956223c50cde32f4ae6df922fbdedd8b50008a8898dd49bcc8bb7430d25727a03430c32ec23cc44ced043709de1f80f4d750e335bd12b22d0b06050881c6 SHA512 1b9e870c433e4d37e61cd604d2712c59ccd392cab55b8c88596a7094245072dcae02ecc80d3ee7cdaaa083ec2c2865b71712330c55e93715917a86106a2230ed
+DIST csv-core-0.1.11.crate 25852 BLAKE2B 9f56cea786b5b35f6fd5c4f41fc3cc06d777f6d643d939ca7d57b1f1a24d4ee16ae3a4de629e484b0e4cf87009abf4911dc4d1bc199968ef5c7f4100cd238d1a SHA512 0445c8a4d4d0f90f03e5d6507c26454aaeac0b355fb39d19e1676a7cb27b4372db3541367ce838d38151862b7bfbf19750cb550e24e74ab5e07ae9bb4edeedee
+DIST getrandom-0.2.11.crate 35391 BLAKE2B cc3af20769f8effebcd6fe4f48bb762211f78cfad016b796ce4b6b83a25d0a758ecee4352af18ef97e84c17fb4efb0c7bf113b53d2dd30eaa32067fed97978fa SHA512 2230c219e1080b4b13f207bdfd54b1acff37d9e5fec5263ec9952df9c0279939b231c722b54524deab85002caf1047a471f3fba8090428d918e99d53edf82345
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+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.3.tar.gz 363670 BLAKE2B eea18515960933fe98ecea1928b2d5e31ca6daacac9f8c4b52004cce8f37c5288e4358e04d662d119b96060cf5d1b15d4aa09ffa51c4829eb004dd2e7eb5494d SHA512 dc977cff57c3aaad3564dabcae1155e05389bd16c37f0b836f81fea26df42dc0b4397ed17ee3f130d53c967007c3c7a322a917dfdc7a87cf2c340ce33552b09a
+DIST libc-0.2.150.crate 719359 BLAKE2B d08e17fb29992c76337bb5862cbc1cdaf7b9d7749cd65021f145fcf49fa7954d6251c8c2f3c9a796b46283c3bc014bccfd259ea52824459841911ad847fd7f5a SHA512 7ae8fe6a1db38ac6d951c0b4880d25a02f064f5e61d6057c20f7208dec8395d58efd085e41857bcf5f4da2b014d2952dc4ddaf18ac4acd3a23675bb659e70385
+DIST lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f855883e3df5a482de2c76814c48739582d3079d76a2bdd14a6999204b7fd31dcd8fd06d1dc7f9418f0e2f70a1450e SHA512 9946adf313a5c67a0dd87a1b679b7d9d16a86149fb95974d3f28aa57a9a1a3932e4a5ee1d332097559329c5e3b2295be2e4b655b115d9f75269f33a758b17fb3
+DIST memchr-2.6.4.crate 94439 BLAKE2B d1136f7105a33565214fdeecdc5a95e74d7fc7cf45997f81bf3cf389f3015fa561ab326433ddcff2db0b7259246eb6d26fc7b4e3c90c3af8b9b7ed7e8ec56ba0 SHA512 1065a67e04ec9210c70e430288e0a8d39f36ce6414722099553e99112ea2f8f710eae44bf39f8775b9850e6c8a50e634a1b1b084a8eb4f6b2eae6697dcf5b5f4
+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.9.crate 32445 BLAKE2B 811d8de671bf6e0911cf0df7dcaee4fb03a3b223173a3bb8cee65a28724eeb7bac87f62aa7b1df5ea3fc93af3cee3ef30b83d06c6773d6b856a7e6fa5fa197ea SHA512 7f0df70f9f1ca8d3da0b9dcc96e49daf05d95c3a995289266b5333f68818d686d32b0c733dfe3a0f62da78fa45caa843a963923b2d0c80899c33413dc749c032
+DIST proc-macro2-1.0.69.crate 44271 BLAKE2B 9d1531a0b123e6238363d574bee03ad050454b65710b9800c12597f3a9ae2f9bf50c617da0472b7ac0b549afaca19c546ccd6519e648598500efda9c0db2ef6d SHA512 d197cbe9b6100c3193a01fd7dd6b4e49d440290012ababb5d9f139409f0afe816f213d67a03abeb1f3227228e0a1f2446d1dc0a2775363a15d1237c38b45d6a1
+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 ryu-1.0.15.crate 46906 BLAKE2B 6d6949e43aaa27fba0ec6002fa11ba859af8d867f87c90d88413267186abbf6302b817985bca3d577ab3fab2e319e11756f144473a16330dfd8fc7b604cdc4b3 SHA512 4655b5647f919082a9b84b889539ae7fb23a1201057cf280efe79c58cb5f040864efb7812cda5021bf6d34838a15d173ac8bdb0fb9fa2dba85173d3efa5a826b
+DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
+DIST serde-1.0.192.crate 76866 BLAKE2B 4920089921e23bbc9180d413cff34277683db1881d7e65c5fd9dc8bad2beae954d2429c9c2049b3e98bc04314ef059e59562c936d6c767681e75b84aa0a2a468 SHA512 b34cea6034a14a6785b3023d0a1c2cb5b1c2756c28f02ea20ba62a657ba54e9d04096a54c4fdde3ff4094913dba46c99713828de4287186bf9dd3f7d89dda0c3
+DIST serde_derive-1.0.192.crate 55690 BLAKE2B 1e9706fdf38880989cf907c36d1f72b5b211fc6f263a4ee35d5f7106aea0a792fd79a3361d09f831e06ce0a43680647952a8478bd1001f617d2571be428b5516 SHA512 67ad208291c8d7063adce4bface5d963488c43a326e77a89970f86f65e8f77856e173d134718f64eb80dce67283df1951022c12300dea0b4d9570fb7f637643a
+DIST smallvec-1.11.2.crate 34801 BLAKE2B 58645e99db8f02db64d02c75860c7ea41836c427c03ee3b0b23365e73a406e4fd6ac312bf13fc5faef8bb6111c10fcfd5f839d5b3686e9b34d1626f8469fc327 SHA512 5cfb427c3b99b0dbd71f6154ed899abcde9d7d2992977ac7b2ef3a4c3ff51e4efafd133071a69609b4ed6cb269bdc26b79eb72e1988f10dfcaef8185d950cd1d
+DIST syn-2.0.39.crate 244129 BLAKE2B 2cff6626624d03f70f1662af45a8644c28a9f92e2dfe38999bef3ba4a4c1ce825ae598277e9cb7abd5585eebfb17b239effc8d0bbf1c6ac196499f0d288e5e01 SHA512 96cc347cfdb0f9ca0b6c7289279a1cad8fc401625783742292564f7ceca8237ced8d9a3f62069696f6132ed06092dff2baaf4be09ef53b21260d93785b0e27c3
+DIST target-lexicon-0.12.12.crate 25156 BLAKE2B f3803596c75f6c89438592a1176c3748fc2c0524d7d50a20056de1cd26d40c572b05bafcdf6dd702752864bea37c8b4f28f96dadc12a5b3bb1d279b25e489f85 SHA512 6147295c43ba1b7b087a3c5ab51534b2985e4e77e5e15687978cfb9d07e21c4fd9bc7191576d6cabd268d08a44dc733c4a957e59dba8b948c2055d8bb433aeca
+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.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
diff --git a/dev-python/jellyfish/jellyfish-0.9.0-r1.ebuild b/dev-python/jellyfish/jellyfish-0.9.0-r1.ebuild
deleted file mode 100644
index 19834db9a286..000000000000
--- a/dev-python/jellyfish/jellyfish-0.9.0-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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python module for doing approximate and phonetic matching of strings"
-HOMEPAGE="https://github.com/jamesturk/jellyfish https://pypi.org/project/jellyfish/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~riscv x86"
-
-distutils_enable_tests pytest
-
-src_test() {
- rm -r jellyfish || die
- distutils-r1_src_test
-}
-
-python_test() {
- epytest --pyargs jellyfish.test
-}
diff --git a/dev-python/jellyfish/jellyfish-1.0.3.ebuild b/dev-python/jellyfish/jellyfish-1.0.3.ebuild
new file mode 100644
index 000000000000..210b729bc9d2
--- /dev/null
+++ b/dev-python/jellyfish/jellyfish-1.0.3.ebuild
@@ -0,0 +1,85 @@
+# 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/jinja/Manifest b/dev-python/jinja/Manifest
index db7582319811..4bbe2f1c3895 100644
--- a/dev-python/jinja/Manifest
+++ b/dev-python/jinja/Manifest
@@ -1,2 +1 @@
-DIST jinja-2.11.3.tar.gz 258057 BLAKE2B 4735464d044718ce1e6b2663ecb1b238b38fbf0f37ed683257775fe9e853186c089b98494209e511be5aa96bf6df8f6d472be132b6184a7d9213e182099c0433 SHA512 f8e2951edf780d7b44ac74d36579c89b0a5c076b4250faf643ae7e3ff6a431fedaabed640e5efb496cda1a79a4057bf312ae652484c8d4631d521689eb0adbc1
-DIST jinja-3.1.2.gh.tar.gz 272546 BLAKE2B dc4bc81900c07e7816ff63259073409650f1f679e00d76b9574aaba301b36a7037aaf77a87cc1c160ea2aa2272ceb67e2fd20fbd74bb9850880fb909babded8e SHA512 50feebc7eed4c8b5bb0c2951784c1c115e3ee1c0e0c91bbf1884551b1312ef8fce24804a2ca1dfd8c543406529afe4817567c39e7cfd15028b54049853623144
+DIST jinja-3.1.3.gh.tar.gz 274692 BLAKE2B 0c66600104db89ed17c0a0c58180e8a348f9d505504f4ae1bee01c8c09053994140f87a4d336255e292258f15adc3e535deef494e8fda980ef76547268ddc4fa SHA512 1f4384b3a1cd0f8e128608aa11d00c41f93b6be41459d9e5d8f50e6f879d2427aaea5d04681c85a1577651b9dc434c11c5e7c7caecef6f5fe26518a3d2fdc77e
diff --git a/dev-python/jinja/jinja-2.11.3-r1.ebuild b/dev-python/jinja/jinja-2.11.3-r1.ebuild
deleted file mode 100644
index 7f1982612b37..000000000000
--- a/dev-python/jinja/jinja-2.11.3-r1.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 pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="A full-featured template engine for Python"
-HOMEPAGE="https://jinja.palletsprojects.com/ https://pypi.org/project/Jinja2/"
-# pypi tarball is missing tests
-SRC_URI="https://github.com/pallets/jinja/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris"
-IUSE="examples"
-
-RDEPEND="
- dev-python/markupsafe[${PYTHON_USEDEP}]
- !dev-python/jinja:compat"
-
-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 -e '/sphinxcontrib.log_cabinet/ d' docs/conf.py || die
- # fix compat with markupsafe-2.1.0+
- sed -i -e 's:soft_unicode:soft_str:g' src/jinja2/*.py || die
-
- distutils-r1_src_prepare
-}
-
-python_install_all() {
- if use examples ; then
- docinto examples
- dodoc -r examples/.
- fi
-
- distutils-r1_python_install_all
-
- insinto /usr/share/vim/vimfiles/syntax
- doins ext/Vim/*
-}
-
-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.2.ebuild b/dev-python/jinja/jinja-3.1.2.ebuild
deleted file mode 100644
index a74e811210f9..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..11} 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 ~sparc-solaris ~sparc64-solaris ~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.3.ebuild b/dev-python/jinja/jinja-3.1.3.ebuild
new file mode 100644
index 000000000000..5c0fbaaf2526
--- /dev/null
+++ b/dev-python/jinja/jinja-3.1.3.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..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/jinja2-time/jinja2-time-0.2.0-r1.ebuild b/dev-python/jinja2-time/jinja2-time-0.2.0-r1.ebuild
index b594958790b7..e1f064fa6fd8 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
@@ -4,20 +4,20 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Jinja2 Extension for Dates and Times"
HOMEPAGE="
https://github.com/hackebrot/jinja2-time/
https://pypi.org/project/jinja2-time/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
RDEPEND="
dev-python/arrow[${PYTHON_USEDEP}]
diff --git a/dev-python/jinja2_pluralize/jinja2_pluralize-0.3.0-r1.ebuild b/dev-python/jinja2_pluralize/jinja2_pluralize-0.3.0-r1.ebuild
index 83a1a4aa7d7b..06212623a6f4 100644
--- a/dev-python/jinja2_pluralize/jinja2_pluralize-0.3.0-r1.ebuild
+++ b/dev-python/jinja2_pluralize/jinja2_pluralize-0.3.0-r1.ebuild
@@ -4,9 +4,9 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Jinja2 pluralize filters"
HOMEPAGE="
@@ -14,8 +14,6 @@ HOMEPAGE="
https://pypi.org/project/jinja2_pluralize/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/jmespath/jmespath-1.0.1.ebuild b/dev-python/jmespath/jmespath-1.0.1.ebuild
index aead35d0a4c7..feef6572c14e 100644
--- a/dev-python/jmespath/jmespath-1.0.1.ebuild
+++ b/dev-python/jmespath/jmespath-1.0.1.ebuild
@@ -4,7 +4,7 @@
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/joblib/Manifest b/dev-python/joblib/Manifest
index 54208e24f11f..f54e2992b3dd 100644
--- a/dev-python/joblib/Manifest
+++ b/dev-python/joblib/Manifest
@@ -1 +1,2 @@
-DIST joblib-1.1.0.tar.gz 350428 BLAKE2B 6b9b449e012752e561b267c8e27475252fee8d56406430bc570abc6da22b913bb09b7ad8708c29c7d7c338e4f541144b4514976a9f4ce017c3764b4d717eaba8 SHA512 5efcf9fc6dd4e2cf30599dc50373e40580be38fa15c2295519eb8c3b94a07b0fe2d1a9960ec4a67846aa3176335a2634b21107664032966166b973dcbded0cea
+DIST joblib-1.3.2.tar.gz 1987720 BLAKE2B f16235ead3ef0172a1e0dc2abad44967b029196f6c8c7a7e0c64283cac80e2b942ebfc2df5fa975bc152f574db023a9705f48b38855a11878e5c21e04cf7d831 SHA512 9b5acba1321351cf2ae548161ced18774b8b316aaf883cc8e77bf58898d1913361a3845d64f1f1f87e4e2394eafd92e0a6a8d67947db0c9a95a40e5f579baae6
+DIST joblib-1.4.0.tar.gz 2115863 BLAKE2B cd61f3523ee697382db601ebb460aa6f4cd35947978fb07473c5e2e5337713a05aee8339acee211be0076d84a00174c37623cd6010b492aee84337abc2e5e633 SHA512 5c7e5475347906cdc8575eac8d2052470408c4ed5267d59a88a9d3126fb72b977d20b24fb0983b070e2f3c101e7da000fc03231733fef62531f9aeffacc47baf
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
new file mode 100644
index 000000000000..a9865e00380e
--- /dev/null
+++ b/dev-python/joblib/files/joblib-1.3.2-py3.12-avoid-ast.num-and-node.n.patch
@@ -0,0 +1,15 @@
+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
new file mode 100644
index 000000000000..4d5a28815e4a
--- /dev/null
+++ b/dev-python/joblib/files/joblib-1.3.2-py3.12-no-depr-warn.patch
@@ -0,0 +1,15 @@
+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.1.0-r1.ebuild b/dev-python/joblib/joblib-1.1.0-r1.ebuild
deleted file mode 100644
index 0564a64a7661..000000000000
--- a/dev-python/joblib/joblib-1.1.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="Tools to provide lightweight pipelining in Python"
-HOMEPAGE="https://joblib.readthedocs.io/en/latest/
- https://github.com/joblib/joblib"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ppc64 ~riscv x86"
-
-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}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # unbundle
- rm -r joblib/externals || die
- sed -e "s:'joblib.externals[^']*',\?::g" -i setup.py || die
- find -name '*.py' -exec \
- sed -e 's:\(joblib\)\?\.externals\.::' \
- -e 's:from \.externals ::' \
- -i {} + || die
-
- # https://github.com/joblib/joblib/issues/1115
- sed -e 's:test_parallel_call_cached_function_defined_in_jupyter:_&:' \
- -i joblib/test/test_memory.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/joblib/joblib-1.3.2.ebuild b/dev-python/joblib/joblib-1.3.2.ebuild
new file mode 100644
index 000000000000..eacb811bfeb7
--- /dev/null
+++ b/dev-python/joblib/joblib-1.3.2.ebuild
@@ -0,0 +1,60 @@
+# 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.0.ebuild b/dev-python/joblib/joblib-1.4.0.ebuild
new file mode 100644
index 000000000000..428a8245bd46
--- /dev/null
+++ b/dev-python/joblib/joblib-1.4.0.ebuild
@@ -0,0 +1,55 @@
+# 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 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}]
+ )
+"
+
+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
+ # https://github.com/joblib/joblib/issu
+ joblib/test/test_parallel.py::test_main_thread_renamed_no_warning
+)
+
+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/josepy/Manifest b/dev-python/josepy/Manifest
index b7d48b5be013..baceee45c55d 100644
--- a/dev-python/josepy/Manifest
+++ b/dev-python/josepy/Manifest
@@ -1 +1 @@
-DIST josepy-1.13.0.tar.gz 59045 BLAKE2B e4f3caed3be0775a49d6a9c38bf6e2b61ecc50b4e3804afa9e597b741821ab63a27fe95d1592531fee7152e2076760d838f4efa50ab8b3e2f1e129c9d7457f8c SHA512 fb91946ac4bbb2a81195d200e4fdf06d40865b345005ab4ee328fd72545da2345b44c5b9ffb3115b16ffed65ab3a0c01d5b20d0d2ff3c2c2af30537a6a4721df
+DIST josepy-1.14.0.tar.gz 58794 BLAKE2B f7f6568dd3ffceda2a15297c26cee84efc88cfb666a6edacb6528fe77404a21fc5a77e691eb4260bd9c52125092d3cef3cbf76195f9a9f9800804020d18eea55 SHA512 e003916fb6c8d0907c5b63a20a37f167ca720d377f4fbb434884cc0d50c63aa100ff62ca753615b810b9874f4f95249f9c7c7fa03fa25b1449d2e5a9d4f7f167
diff --git a/dev-python/josepy/josepy-1.13.0.ebuild b/dev-python/josepy/josepy-1.13.0.ebuild
deleted file mode 100644
index f54a6d3c03e4..000000000000
--- a/dev-python/josepy/josepy-1.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
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="JOSE protocol implementation in Python"
-HOMEPAGE="
- https://github.com/certbot/josepy/
- https://pypi.org/project/josepy/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/cryptography-0.8[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # Remove coverage/flake8 options
- sed -e '/^addopts =/d' -e '/^flake8-ignore/d' -i pytest.ini || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/josepy/josepy-1.14.0.ebuild b/dev-python/josepy/josepy-1.14.0.ebuild
new file mode 100644
index 000000000000..8a586a4a7835
--- /dev/null
+++ b/dev-python/josepy/josepy-1.14.0.ebuild
@@ -0,0 +1,33 @@
+# 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="JOSE protocol implementation in Python"
+HOMEPAGE="
+ https://github.com/certbot/josepy/
+ https://pypi.org/project/josepy/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/cryptography-1.5[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # I haven't seen a single switch to poetry without major bugs yet...
+ sed -i -e 's:^include:exclude:' pyproject.toml || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/jq/Manifest b/dev-python/jq/Manifest
index 252c25e96b41..df3fd7230d38 100644
--- a/dev-python/jq/Manifest
+++ b/dev-python/jq/Manifest
@@ -1,2 +1 @@
-DIST jq-1.3.0.gh.tar.gz 2648187 BLAKE2B 61b6d4dbb2163477d09e69c25e0bec98780f39088d4e689a7e13ed8d64749c2e238f2bf7d1f6c47f3cebe1c94a1e5fa5322a988ce251e8417aac77c789975064 SHA512 cf3c1ac7954d36d808b9f9841ff7f71835e3324f6f8eb09ef3a66b446b47a354d8ff090dc3529b9936ec5d7a33ba5163354d3534f0dfc0cb467222a990e58fb5
-DIST jq.py-1.4.0.gh.tar.gz 2648402 BLAKE2B 5efc35fd9ee52e5c1c87ac46d980d1557121eedb14beb5d534987d81a37b05c5c765ef69cecf65141d7c451623d05d378bdcf9a6e48667c07a9f52e7d0317bbf SHA512 8acd9c4094e0e6f5ffd43303432347448e8cb160f2c33250a386afc75eac53134b15142da3f344b0ea3eac4df838ffa322771580a27349299f32a2c525e09555
+DIST jq.py-1.7.0.gh.tar.gz 1953673 BLAKE2B 861dcb706ef801ff3abb47a6b85fb8aad03988c717a67063d737667ce6853c89dbe10bf61dac517701b8b3e3af6b97d12a15ed03aa0d5a6e6d0d3fa2697e9284 SHA512 918e4537eacf55d0cce888b1946b13acb6d177906d704c99e0b1cc88a55a2929fbeccef7d3fa61daaf0290a97afec581d23a641bdbfc0c700744422135fbcad6
diff --git a/dev-python/jq/jq-1.3.0.ebuild b/dev-python/jq/jq-1.3.0.ebuild
deleted file mode 100644
index aec93a8565ff..000000000000
--- a/dev-python/jq/jq-1.3.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for jq"
-HOMEPAGE="https://github.com/mwilliamson/jq.py"
-SRC_URI="
- https://github.com/mwilliamson/jq.py/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}/jq.py-${PV}"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-BDEPEND="dev-python/cython[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
-
-python_compile() {
- # 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.4.0.ebuild b/dev-python/jq/jq-1.4.0.ebuild
deleted file mode 100644
index 417b5256add9..000000000000
--- a/dev-python/jq/jq-1.4.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-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"
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_compile() {
- # 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..2727438ff8be
--- /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..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/
+"
+# 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 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/Manifest b/dev-python/js2py/Manifest
index 0976011c6290..b697ae236583 100644
--- a/dev-python/js2py/Manifest
+++ b/dev-python/js2py/Manifest
@@ -1,2 +1 @@
-DIST Js2Py-0.71_p20210918.tar.gz 1970784 BLAKE2B 4ea446b306e858c2acb192a699b4c098cca1a334fd97246d3149186795a013fa1ff9cf45ecc5cd9bed241b13b3eb003ebf272f5af4ed24a608564fd4709e4ff1 SHA512 810363e4b0716e324e6deb5f373968c9c57e7ecf120710c064601ad46ca2f24bc8da52f779f861296dd506de06d664be86b3c0d72bcb811892fe4e6c22ad7a6d
DIST Js2Py-0.74.tar.gz 2504984 BLAKE2B 1e4f34ad94947118aeaf84ff438f9bec5b2a8ca3c722d907d3b8015acfcaafe1f229cfe401ae0f3d07c0f074ecf2f9ca3aeb94ef9c394b7ed6d90f1279c1ffa2 SHA512 cb2f42c2bec0c15dadc301ee0a7ac452cc8c4bba4669e95f1155863590d6d00781883b54d4dab755a0f66eb6e30990fedca732494b1f8b6c07dc29f5203a8c8c
diff --git a/dev-python/js2py/js2py-0.71_p20210918.ebuild b/dev-python/js2py/js2py-0.71_p20210918.ebuild
deleted file mode 100644
index 7a513afcf9f4..000000000000
--- a/dev-python/js2py/js2py-0.71_p20210918.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
-
-H=b16d7ce90ac9c03358010c1599c3e87698c9993f
-MY_PN=Js2Py
-MY_P=${MY_PN}-${PV}
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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/"
-SRC_URI="https://github.com/PiotrDabkowski/${MY_PN}/archive/${H}.tar.gz
- -> ${MY_P}.tar.gz"
-S="${WORKDIR}"/${MY_PN}-${H}
-
-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/js2py/js2py-0.74.ebuild b/dev-python/js2py/js2py-0.74.ebuild
index 462bb6fe6a1c..22032fcf8e3b 100644
--- a/dev-python/js2py/js2py-0.74.ebuild
+++ b/dev-python/js2py/js2py-0.74.ebuild
@@ -3,20 +3,17 @@
EAPI=8
-MY_PN=Js2Py
-MY_P=${MY_PN}-${PV}
-
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="Js2Py"
PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+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/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/jschema_to_python/Manifest b/dev-python/jschema-to-python/Manifest
index da7796f56a79..da7796f56a79 100644
--- a/dev-python/jschema_to_python/Manifest
+++ b/dev-python/jschema-to-python/Manifest
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
new file mode 100644
index 000000000000..43e878dbdec1
--- /dev/null
+++ b/dev-python/jschema-to-python/jschema-to-python-1.2.3-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2021-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="Generate source code for Python classes from a JSON schema"
+HOMEPAGE="
+ https://pypi.org/project/jschema-to-python/
+ https://github.com/microsoft/jschema-to-python/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/jsonpickle[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/jschema_to_python/metadata.xml b/dev-python/jschema-to-python/metadata.xml
index 61b1962fbb79..61b1962fbb79 100644
--- a/dev-python/jschema_to_python/metadata.xml
+++ b/dev-python/jschema-to-python/metadata.xml
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
deleted file mode 100644
index 9f4da0ad1b32..000000000000
--- a/dev-python/jschema_to_python/jschema_to_python-1.2.3-r1.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="Generate source code for Python classes from a JSON schema"
-HOMEPAGE="
- https://pypi.org/project/jschema-to-python/
- https://github.com/microsoft/jschema-to-python/"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/jsonpickle[${PYTHON_USEDEP}]
- dev-python/pbr[${PYTHON_USEDEP}]"
-BDEPEND="
- dev-python/pbr[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/jsmin/jsmin-3.0.1.ebuild b/dev-python/jsmin/jsmin-3.0.1.ebuild
index b0f34fef0f89..6ce6d117b6ba 100644
--- a/dev-python/jsmin/jsmin-3.0.1.ebuild
+++ b/dev-python/jsmin/jsmin-3.0.1.ebuild
@@ -4,14 +4,16 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+inherit distutils-r1 pypi
DESCRIPTION="JavaScript minifier"
-HOMEPAGE="https://pypi.org/project/jsmin/ https://github.com/tikitu/jsmin/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://pypi.org/project/jsmin/
+ https://github.com/tikitu/jsmin/
+"
-KEYWORDS="amd64 ~ppc ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/json-rpc/Manifest b/dev-python/json-rpc/Manifest
index 301ad9ead39e..089392233569 100644
--- a/dev-python/json-rpc/Manifest
+++ b/dev-python/json-rpc/Manifest
@@ -1,2 +1 @@
-DIST json-rpc-1.13.0.tar.gz 31089 BLAKE2B f2058bf78cf1924aff7bf7882aa693cbbb5419624bf3e3508a344754265985907cb16456de611b9be23afd701bd2f664ccb05f954622e543bd9db0ab8be52101 SHA512 76cd320b29c32a79fcafbd415cea8d4ca98a349b22b29c379aa06a89a76cd2b5bcba2e0883d8cad75ee43c4a979759a6af513d3cfb30076965de08e1ee801b9e
-DIST json-rpc-1.14.0.tar.gz 28789 BLAKE2B 7d5c0677452481e39be2698a1d303eb0677dd31f0861aac5b0ddfe850aea6f612ce5cf07f85df8d3b02b29a3d31c5249f49138603d6842b1ca56e8dc0ddcf668 SHA512 01e6a27509eb694d26b64b634a17fd2d36124f1602469293541f4f48b9de8046dcd5dccdc2a6f3e413c47eac4ed245495ce3e4c41fab42074a13e11f52a5c79e
+DIST json-rpc-1.15.0.tar.gz 28854 BLAKE2B e9883171f7d63b9d198d5f3f0155609397a84a5f97f5c2b0b20535615067e8d5941357e6293f1917aeec5193c4e4d30a9d930807d2de8f02c87ea45967a507e1 SHA512 5d6d0dbbbbcfa6a63fe20d78726c42449f60eb6fc1c08939ecf8e9a9ee487850f975df06f71b17b0545e7f2f8f6a971642a01f85bbd01c46b66df6f1b2c2f327
diff --git a/dev-python/json-rpc/json-rpc-1.13.0-r1.ebuild b/dev-python/json-rpc/json-rpc-1.13.0-r1.ebuild
deleted file mode 100644
index fa48385199dd..000000000000
--- a/dev-python/json-rpc/json-rpc-1.13.0-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
-
-DESCRIPTION="JSON-RPC transport implementation for python"
-HOMEPAGE="https://github.com/pavlov99/json-rpc"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
-
-RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-
-BDEPEND="
- test? ( dev-python/flask[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/json-rpc/json-rpc-1.14.0.ebuild b/dev-python/json-rpc/json-rpc-1.14.0.ebuild
deleted file mode 100644
index ea3698fbe514..000000000000
--- a/dev-python/json-rpc/json-rpc-1.14.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="JSON-RPC transport implementation for python"
-HOMEPAGE="
- https://github.com/pavlov99/json-rpc/
- https://pypi.org/project/json-rpc/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/flask[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
- # bundled, sigh.
- rm jsonrpc/six.py || die
- sed -i -e 's:from . import six:import six:' jsonrpc/*.py || die
-}
diff --git a/dev-python/json-rpc/json-rpc-1.15.0.ebuild b/dev-python/json-rpc/json-rpc-1.15.0.ebuild
new file mode 100644
index 000000000000..c150dde004ab
--- /dev/null
+++ b/dev-python/json-rpc/json-rpc-1.15.0.ebuild
@@ -0,0 +1,39 @@
+# 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="JSON-RPC transport implementation for python"
+HOMEPAGE="
+ https://github.com/pavlov99/json-rpc/
+ https://pypi.org/project/json-rpc/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/flask[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+ # bundled, sigh.
+ rm jsonrpc/six.py || die
+ sed -i -e 's:from . import six:import six:' jsonrpc/*.py || die
+}
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..fe65b21d9761 100644
--- a/dev-python/json5/Manifest
+++ b/dev-python/json5/Manifest
@@ -1 +1,2 @@
-DIST pyjson5-0.9.11.gh.tar.gz 111445 BLAKE2B 038ac1fab6e56e6dc45dc9bff1fc5e0da21c594cb0ac1f6d888f0207fddace9663b0dbd6abbfabce857cb9fcb40348002b10a6b4133e2f2ebb2081c543e1ad9c SHA512 aca3f38cd79d4bf52ceaf1b3dd27e30bf7598fa0b369216ac820f0c913797ebf542c9eaac17e562ee07006bf83c09210c799bc1b715c7b6e7689d2dcd702d414
+DIST json5-0.9.24.tar.gz 40085 BLAKE2B 6e2823eb9aa982837111d587fc775fe6da11a5071a677d50ede6124cac7133faf99f8c73eeb61820eda2efe798d8ed8b30d3fb4601728a66cde294adcadd1b21 SHA512 ccc9fdc129a8857ca507601a7e52c119648550ecd9d256caf5bf558c7338998712b0e1d9294eb0fc62f630f53897f6993a56a352a5b7bcb49e21c4b989ac4ef3
+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 a66765329c6f..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=( python3_{9..11} )
-
-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 ~x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/json5/json5-0.9.24.ebuild b/dev-python/json5/json5-0.9.24.ebuild
new file mode 100644
index 000000000000..90c8fcac19c6
--- /dev/null
+++ b/dev-python/json5/json5-0.9.24.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..12} )
+
+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/json5/json5-0.9.25.ebuild b/dev-python/json5/json5-0.9.25.ebuild
new file mode 100644
index 000000000000..ef679f5690a7
--- /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..12} )
+
+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/jsondiff-2.0.0-r1.ebuild b/dev-python/jsondiff/jsondiff-2.0.0-r1.ebuild
index 31ea00eca463..ea2d7a917ad2 100644
--- a/dev-python/jsondiff/jsondiff-2.0.0-r1.ebuild
+++ b/dev-python/jsondiff/jsondiff-2.0.0-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
PATCHES=(
# https://github.com/xlwings/jsondiff/pull/51
diff --git a/dev-python/jsonext/jsonext-0.4.2-r1.ebuild b/dev-python/jsonext/jsonext-0.4.2-r1.ebuild
index 03d6e374025d..2a7b50f6a05d 100644
--- a/dev-python/jsonext/jsonext-0.4.2-r1.ebuild
+++ b/dev-python/jsonext/jsonext-0.4.2-r1.ebuild
@@ -4,20 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Well-structured helpers for serializing commonly encountered structures to JSON"
HOMEPAGE="
https://github.com/mbr/jsonext/
https://pypi.org/project/jsonext/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="
dev-python/arrow[${PYTHON_USEDEP}]
diff --git a/dev-python/jsonmerge/Manifest b/dev-python/jsonmerge/Manifest
index d0d0cc0aded3..27f51e68b787 100644
--- a/dev-python/jsonmerge/Manifest
+++ b/dev-python/jsonmerge/Manifest
@@ -1 +1 @@
-DIST jsonmerge-1.9.0.tar.gz 32995 BLAKE2B 33615feb31114042e941bf69b9a3b2b26aaff9251b3683d77da53efd449c58fb0cf13ae4f60c441282e1e81896a8d58f1a91b51ae1ba18acb793bc99e4898c8d SHA512 c271c7bcc10d574c60bcf77f47a24c56b9df086bc87b8da4db0b2b356abba22010492664b56df7d0babd2c8a33fd0ecbc0cbaddbc5eed07c19f2a6874ed6c1e1
+DIST jsonmerge-1.9.2.tar.gz 34717 BLAKE2B 651e6c745c651882b54c4bd46bd658de20fd0cdd90b2e05af8396a55c68efffc2fe5d4758891151db8df79cdfb118b94a6af11c7d0648fbfcbde510283585556 SHA512 cba0c2b0f3d5ff70f7680768a036a10a1d7464da9a4693a5a836fbcb9f7dba080ec041c34b351f843a4c38fb2e45c4c845a3c5453df35e1b51e1a65b245071f8
diff --git a/dev-python/jsonmerge/jsonmerge-1.9.0.ebuild b/dev-python/jsonmerge/jsonmerge-1.9.0.ebuild
deleted file mode 100644
index 81bd2f38d75d..000000000000
--- a/dev-python/jsonmerge/jsonmerge-1.9.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Merge a series of JSON documents"
-HOMEPAGE="
- https://github.com/avian2/jsonmerge/
- https://pypi.org/project/jsonmerge/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/jsonschema[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/jsonmerge/jsonmerge-1.9.2.ebuild b/dev-python/jsonmerge/jsonmerge-1.9.2.ebuild
new file mode 100644
index 000000000000..059f3dc68c7d
--- /dev/null
+++ b/dev-python/jsonmerge/jsonmerge-1.9.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Merge a series of JSON documents"
+HOMEPAGE="
+ https://github.com/avian2/jsonmerge/
+ https://pypi.org/project/jsonmerge/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/jsonpatch/Manifest b/dev-python/jsonpatch/Manifest
index 89d81b34902a..ec6703058afd 100644
--- a/dev-python/jsonpatch/Manifest
+++ b/dev-python/jsonpatch/Manifest
@@ -1 +1 @@
-DIST jsonpatch-1.32.tar.gz 27988 BLAKE2B b60dc7607f644f1ffd095486c237e3bb537b465132725e98fc8799a42a92dcbb43e1e41d281fbc2ce2c4efec327ad681d7740129be55d94c51321e620d084d95 SHA512 4e2978555dd506e09553014d426c4e3a6c6d5c865428f11450952704007c8a0b2060b945cf1fa33a128151427e1c66919891466e095e96fff4316304f0b3ad1d
+DIST python-json-patch-1.33.gh.tar.gz 28475 BLAKE2B 7d95ab23e09141cbe26618c91b12558d5fbfecda3e5b148d834753a364155d30859a9bdc3d321bdfcc5269f7e0170671524ae78f5fe65a8c97041bab3fb522b9 SHA512 0685f63949bee135b19d0962bdaab32ba97e02772b6650d885be57c09a2e89546222ebba1a4cf146b2f91027790b0a3ff2ea072d66dcebf9153aa601638bbfa2
diff --git a/dev-python/jsonpatch/jsonpatch-1.32.ebuild b/dev-python/jsonpatch/jsonpatch-1.32.ebuild
deleted file mode 100644
index a1091af90b37..000000000000
--- a/dev-python/jsonpatch/jsonpatch-1.32.ebuild
+++ /dev/null
@@ -1,28 +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="Apply JSON-Patches like http://tools.ietf.org/html/draft-pbryan-json-patch-04"
-HOMEPAGE="https://github.com/stefankoegl/python-json-patch"
-SRC_URI="https://github.com/stefankoegl/python-json-patch/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/python-json-patch-${PV}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND=">=dev-python/jsonpointer-1.9[${PYTHON_USEDEP}]"
-BDEPEND="
- test? ( ${RDEPEND} )
-"
-
-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/jsonpatch/jsonpatch-1.33.ebuild b/dev-python/jsonpatch/jsonpatch-1.33.ebuild
new file mode 100644
index 000000000000..0dcdc83e1831
--- /dev/null
+++ b/dev-python/jsonpatch/jsonpatch-1.33.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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-json-patch-${PV}
+DESCRIPTION="Apply JSON-Patches like http://tools.ietf.org/html/draft-pbryan-json-patch-04"
+HOMEPAGE="
+ https://github.com/stefankoegl/python-json-patch/
+ https://pypi.org/project/jsonpatch/
+"
+SRC_URI="
+ https://github.com/stefankoegl/python-json-patch/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/jsonpointer-1.9[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ )
+"
+
+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
new file mode 100644
index 000000000000..7d340c03496d
--- /dev/null
+++ b/dev-python/jsonpath-ng/Manifest
@@ -0,0 +1 @@
+DIST jsonpath-ng-1.6.1.tar.gz 36024 BLAKE2B ed6b47974e55c8bb5e086249c24d847dc0e1719d6912c0097bf6bcc06ad096f54b99f9c7053c088bb2efae4c612a49364cae3b061593890508e408b6776e73fb SHA512 84f4ceb3b2e76665b56df6c6cd9bf8c155d3677cc6b4798531bb35e95a591e98186c7fa756d400cbbde4c62acc7da077d0fdf989f5101846fb74bba83dd4be58
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..6369ea08875d
--- /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..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/metadata.xml b/dev-python/jsonpath-ng/metadata.xml
new file mode 100644
index 000000000000..220b98b8a585
--- /dev/null
+++ b/dev-python/jsonpath-ng/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <name>Florian Schmaus</name>
+ <email>flow@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">h2non/jsonpath-ng</remote-id>
+ <remote-id type="pypi">jsonpath-ng</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jsonpickle/Manifest b/dev-python/jsonpickle/Manifest
index 0f06523c022f..0379ee7ba86a 100644
--- a/dev-python/jsonpickle/Manifest
+++ b/dev-python/jsonpickle/Manifest
@@ -1 +1,2 @@
-DIST jsonpickle-3.0.1.gh.tar.gz 257651 BLAKE2B 4875985085c8303b316b387968ad46bc35672259f8f6799270bff5dee1b4d341bd92e520155d5c5ff644b289ac21275e95911a38165303c07c4634a93e17ae62 SHA512 3190716491c01de1e5ce16cd8fee3163c20831521503803a5282b43c6653756554fa6184de78755f3232ac6c9bc51baccb91305f9ac9462c8e22fc57fbcc52eb
+DIST jsonpickle-3.0.3.gh.tar.gz 259093 BLAKE2B a281f2054a4b7d66c746abecebb06326682e365941cfb880426bafc3aa0156202463a222a5c24a8eed89eb16ed90d01f38fa9728385e301c62ce27ee6abac770 SHA512 c3576c80d727f7b4f43e993a1dc68b0194dc4308cab9c7a9e3bd7e220a51fe2c2524c02d6afb5c1ead3c37c02d10c1106e89650fe6e609b5052f2a367150e8d1
+DIST jsonpickle-3.0.4.gh.tar.gz 260847 BLAKE2B ba990a59276463b66401cc9fdad2c91dfd18a172fa1cb2f0b89cbeb1a280360f6e1d5bf7cc3ec94069b1d05e4eb11d3fc52a594542f31ead220622aa01e0df99 SHA512 e6ad7ae30cc4d56323b612fcf599109828fcf76acfba266a1bed850a633603edc8829f29d8981659460a9941531d6735375a03775c9d7bd51c210edbf7414b1c
diff --git a/dev-python/jsonpickle/jsonpickle-3.0.1.ebuild b/dev-python/jsonpickle/jsonpickle-3.0.1.ebuild
deleted file mode 100644
index 80dd9905bbab..000000000000
--- a/dev-python/jsonpickle/jsonpickle-3.0.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_{9..11} )
-
-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/gmpy[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/simplejson[${PYTHON_USEDEP}]
- dev-python/sqlalchemy[${PYTHON_USEDEP}]
- dev-python/ujson[${PYTHON_USEDEP}]
- )
-"
-
-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_IGNORE=(
- # unpackaged bson dependency
- tests/bson_test.py
- )
- 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.0.3.ebuild b/dev-python/jsonpickle/jsonpickle-3.0.3.ebuild
new file mode 100644
index 000000000000..5cef5c19d745
--- /dev/null
+++ b/dev-python/jsonpickle/jsonpickle-3.0.3.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=( 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 ~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}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/ujson[${PYTHON_USEDEP}]
+ )
+"
+
+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_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.0.4.ebuild b/dev-python/jsonpickle/jsonpickle-3.0.4.ebuild
new file mode 100644
index 000000000000..2f49cf2a4bad
--- /dev/null
+++ b/dev-python/jsonpickle/jsonpickle-3.0.4.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=( 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 ~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}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/ujson[${PYTHON_USEDEP}]
+ )
+"
+
+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_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 6a045e9b9fc2..316fa5dc2861 100644
--- a/dev-python/jsonpointer/Manifest
+++ b/dev-python/jsonpointer/Manifest
@@ -1 +1 @@
-DIST jsonpointer-2.3.tar.gz 9295 BLAKE2B 8a33c8ce21721b6c402a44d3d1572a767e3b7485fa1dd80baf98120c9822412841cc21e3bc2d6b7e058793ab4ade5993712c689631cb4a1237afc1d7f36e6bdf SHA512 e04da474a5ec376d1cd2c764c2d7a11ac296450df199449994cb1dedf02a49df3ae3a4e75b2963370dba1da166464602b849a79609f7a98d8246dab0b342c819
+DIST jsonpointer-2.4.tar.gz 9254 BLAKE2B 423a4ef71cd1029fe2c473940794a041df4c3422b8292d80290be7f11ac0e6b123d3074cb6f66a3d860274bdf5b0cd0716d24c9ee50b65e06139375dc93c84ad SHA512 41cc0f8b525bec4b18801aeaec1b2432c5f6475dd3f2bc0fb363cf6ceaac5c64e7993c72130a40c64427218a1eac352e93464137fe17427b9f8a34ae09699f4e
diff --git a/dev-python/jsonpointer/jsonpointer-2.3.ebuild b/dev-python/jsonpointer/jsonpointer-2.3.ebuild
deleted file mode 100644
index f12806369a1f..000000000000
--- a/dev-python/jsonpointer/jsonpointer-2.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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"
-
-python_test() {
- "${EPYTHON}" tests.py || die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/jsonpointer/jsonpointer-2.4.ebuild b/dev-python/jsonpointer/jsonpointer-2.4.ebuild
new file mode 100644
index 000000000000..88ebf8e38935
--- /dev/null
+++ b/dev-python/jsonpointer/jsonpointer-2.4.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 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="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 a571b0d43f76..6233424f0523 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_{9..11} )
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
distutils_enable_tests pytest
diff --git a/dev-python/jsonrpclib/jsonrpclib-0.4.3.2.ebuild b/dev-python/jsonrpclib/jsonrpclib-0.4.3.2.ebuild
index d9486941ad0f..80fbd733e95c 100644
--- a/dev-python/jsonrpclib/jsonrpclib-0.4.3.2.ebuild
+++ b/dev-python/jsonrpclib/jsonrpclib-0.4.3.2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/jsonrpclib/jsonrpclib-9999.ebuild b/dev-python/jsonrpclib/jsonrpclib-9999.ebuild
index 0e44520cf380..98f2cd35ac78 100644
--- a/dev-python/jsonrpclib/jsonrpclib-9999.ebuild
+++ b/dev-python/jsonrpclib/jsonrpclib-9999.ebuild
@@ -1,8 +1,10 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-PYTHON_COMPAT=( python3_{9..10} )
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -10,16 +12,38 @@ if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://github.com/tcalmant/jsonrpclib.git"
inherit git-r3
else
- SRC_URI="https://github.com/tcalmant/jsonrpclib/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~mips ~x86"
+ SRC_URI="
+ https://github.com/tcalmant/jsonrpclib/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~mips ~x86"
fi
DESCRIPTION="python implementation of the JSON-RPC spec (1.0 and 2.0)"
-HOMEPAGE="https://github.com/tcalmant/jsonrpclib"
+HOMEPAGE="
+ https://github.com/tcalmant/jsonrpclib/
+ https://pypi.org/project/jsonrpclib/
+"
LICENSE="Apache-2.0"
SLOT="0"
-RDEPEND="dev-python/simplejson[${PYTHON_USEDEP}]"
+BDEPEND="
+ test? (
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ dev-python/ujson[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest
-distutils_enable_tests setup.py
+ # NB: we need to run this test separately as it breaks
+ # tests/test_server.py::PooledServerTests
+ # see jsonlib.py, get_handler()
+ # the most preferred (first) lib that's in test deps
+ local -x JSONRPCLIB_TEST_EXPECTED_LIB=ujson
+ epytest tests/test_jsonlib.py::TestJsonLibLoading
+}
diff --git a/dev-python/jsonschema-path/Manifest b/dev-python/jsonschema-path/Manifest
new file mode 100644
index 000000000000..37d779c809dd
--- /dev/null
+++ b/dev-python/jsonschema-path/Manifest
@@ -0,0 +1 @@
+DIST jsonschema-path-0.3.2.gh.tar.gz 39521 BLAKE2B 871bb33c7839a3b9bf66e145c239cd6715cfaa2ae782f28b77de83228136af5259e1757856e47f0ac26f46572911553510a153f4f48e3b1d2a813160eb65c143 SHA512 e49b32c4609238d2808938976bd0022f86837e9d7d296a137d42f8e8c80d20d20fdd23a07b898063536290b36bd72df0abef64b65997a66cb3fb9c403cc275d3
diff --git a/dev-python/jsonschema-path/jsonschema-path-0.3.2-r1.ebuild b/dev-python/jsonschema-path/jsonschema-path-0.3.2-r1.ebuild
new file mode 100644
index 000000000000..e371fab4870e
--- /dev/null
+++ b/dev-python/jsonschema-path/jsonschema-path-0.3.2-r1.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..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"
+
+# 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-path/metadata.xml b/dev-python/jsonschema-path/metadata.xml
new file mode 100644
index 000000000000..ab4cdeab8d51
--- /dev/null
+++ b/dev-python/jsonschema-path/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">jsonschema-path</remote-id>
+ <remote-id type="github">p1c2u/jsonschema-path</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jsonschema-spec/Manifest b/dev-python/jsonschema-spec/Manifest
index 3d81a4c468e4..50476ced8758 100644
--- a/dev-python/jsonschema-spec/Manifest
+++ b/dev-python/jsonschema-spec/Manifest
@@ -1 +1 @@
-DIST jsonschema-spec-0.1.2.gh.tar.gz 21782 BLAKE2B 238f035e75ec45edade5fd00269d2fc208a73208d1e07586490728b8c97819d6fddd9b909d2af00e63ebc4c141cb8dbaaf8e3e7ce88c3ff58ada2ba147c1e2c9 SHA512 0cba83a14e88d4fe2fcce9e4d39fa4284f23366a1f8acab16fa4b7b824d0c02bf04429d61c51a39a7a188c4e2b79f4481bba14ca688edee71beb0060e16617e0
+DIST jsonschema-spec-0.2.4.gh.tar.gz 38882 BLAKE2B 0c7d1179003ef5cd8eb0a164e9e13473df233fc72dbe3d8f75e967bb238de7267a0ef154ac3a40d8ef1ee3bd34568bfd16baae33b6ecc88077fabf0bdf22c299 SHA512 87f0a227e5d12badaab30a6b512f735db968ecd25856d9005e7c7f265187a3092e12ee9c900b035c5f927f250cc9743547dab1bba5195dc7534cab256b1800c2
diff --git a/dev-python/jsonschema-spec/jsonschema-spec-0.1.2.ebuild b/dev-python/jsonschema-spec/jsonschema-spec-0.1.2.ebuild
deleted file mode 100644
index f288fef48a3b..000000000000
--- a/dev-python/jsonschema-spec/jsonschema-spec-0.1.2.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=poetry
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-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 ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/jsonschema-4.0.0[${PYTHON_USEDEP}]
- dev-python/pathable[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
- dev-python/pathable[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e '/--cov/d' -i 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..70471280c38b
--- /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..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"
+
+# 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-specifications/Manifest b/dev-python/jsonschema-specifications/Manifest
new file mode 100644
index 000000000000..9003b4f491b0
--- /dev/null
+++ b/dev-python/jsonschema-specifications/Manifest
@@ -0,0 +1 @@
+DIST jsonschema_specifications-2023.12.1.tar.gz 13983 BLAKE2B db3cad7a900b114eff4827b6653da9e88b80cedae8f724fe030f373d98c7771f427a9960fa47cbe4d4b677805385a059aca08665271659b3e5ab43719c9d74d1 SHA512 7027641c65a6f7c618fd8c3b91af10bc45604966b6cf50780ca72c31f2135ec9d8b14de35049b4897586ad651b65392bb650d162f3bb546c9d250a8cd257ad30
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..162b48ac20c6
--- /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..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/metadata.xml b/dev-python/jsonschema-specifications/metadata.xml
new file mode 100644
index 000000000000..200e1c356e60
--- /dev/null
+++ b/dev-python/jsonschema-specifications/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">python-jsonschema/jsonschema-specifications</remote-id>
+ <remote-id type="pypi">jsonschema-specifications</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jsonschema/Manifest b/dev-python/jsonschema/Manifest
index 42b7cff4e019..cbf323dbc218 100644
--- a/dev-python/jsonschema/Manifest
+++ b/dev-python/jsonschema/Manifest
@@ -1 +1 @@
-DIST jsonschema-4.17.3.tar.gz 297785 BLAKE2B a0383bf5612ae50e94c95dbc1774d796b62c74a7aae3056a40edb7e042ad07fd7885e61d86220120a906a4017afe30d8ee8edbbf0cf01a6dec1f212984ff1c1e SHA512 626fc913c37d2e49e4b47c9e058aab4a96c1dc50c35d8def0b2ea0ca464dc25e3318d4fde4927c11ca38068743cd81779d5189464b821407ac1de1788bad30e2
+DIST jsonschema-4.21.1.tar.gz 321491 BLAKE2B 5c8fad04bf62af3f9204818cc5cff88dcc492b7957439be2a2fd8c0731a986c223d1612ab79d47696fa5695224fceacea35b5e699466f14393adc2cf9d89c83f SHA512 b0744a80d64572307860c9238ff5048e062b7665d9ed97dd390bae0b168ab96497f359ddc4e95f052d8b177161e5b808ee432bd9fe182c1ea39cbad417db9278
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 f73ace7327e8..000000000000
--- a/dev-python/jsonschema/jsonschema-4.17.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=hatchling
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="An implementation of JSON-Schema validation for Python"
-HOMEPAGE="
- https://pypi.org/project/jsonschema/
- https://github.com/python-jsonschema/jsonschema/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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/attrs-17.4.0[${PYTHON_USEDEP}]
- >=dev-python/pyrsistent-0.18.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_resources-1.4.0[${PYTHON_USEDEP}]
- dev-python/pkgutil_resolve_name[${PYTHON_USEDEP}]
- ' 3.8)
-"
-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.21.1.ebuild b/dev-python/jsonschema/jsonschema-4.21.1.ebuild
new file mode 100644
index 000000000000..c3d90920dc23
--- /dev/null
+++ b/dev-python/jsonschema/jsonschema-4.21.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=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/jsonxs/jsonxs-0.6-r1.ebuild b/dev-python/jsonxs/jsonxs-0.6-r1.ebuild
index cfff1e51e163..39aeaffc85bd 100644
--- a/dev-python/jsonxs/jsonxs-0.6-r1.ebuild
+++ b/dev-python/jsonxs/jsonxs-0.6-r1.ebuild
@@ -4,17 +4,16 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Get/set values in JSON and Python datastructures"
HOMEPAGE="https://github.com/fboender/jsonxs"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
python_test() {
"${EPYTHON}" jsonxs/jsonxs.py -v || die "Tests failed with ${EPYTHON}"
diff --git a/dev-python/junit-xml/Manifest b/dev-python/junit-xml/Manifest
index 87a9856405ef..fd75afcdd8e7 100644
--- a/dev-python/junit-xml/Manifest
+++ b/dev-python/junit-xml/Manifest
@@ -1 +1 @@
-DIST junit-xml-1.9.tar.gz 11111 BLAKE2B e40914263421e7021d6bd697a03ae74b596d915479f24e8227d8b0b0bda51529df58f7aa54b27e981bb1df0aa36d7876f4f30fff8924188143bc4dd6b1d80b17 SHA512 73d5245f4a324485370e91d0d4d9a754133e0f90e5ad9ae7070bbb7aad29bee5fda4103548483358d536834c5fee9c8bd5fef79c4b66f905a2aeb0823ef02d22
+DIST python-junit-xml-19d3cc333d35dfd2d17d75c506336c15e5c6685a.gh.tar.gz 11111 BLAKE2B e40914263421e7021d6bd697a03ae74b596d915479f24e8227d8b0b0bda51529df58f7aa54b27e981bb1df0aa36d7876f4f30fff8924188143bc4dd6b1d80b17 SHA512 73d5245f4a324485370e91d0d4d9a754133e0f90e5ad9ae7070bbb7aad29bee5fda4103548483358d536834c5fee9c8bd5fef79c4b66f905a2aeb0823ef02d22
diff --git a/dev-python/junit-xml/junit-xml-1.9-r1.ebuild b/dev-python/junit-xml/junit-xml-1.9-r1.ebuild
new file mode 100644
index 000000000000..dd86eb10ad8d
--- /dev/null
+++ b/dev-python/junit-xml/junit-xml-1.9-r1.ebuild
@@ -0,0 +1,35 @@
+# 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
+
+EGIT_COMMIT="19d3cc333d35dfd2d17d75c506336c15e5c6685a"
+MY_P=python-junit-xml-${EGIT_COMMIT}
+
+DESCRIPTION="Create JUnit XML test result documents"
+HOMEPAGE="
+ https://github.com/kyrus/python-junit-xml/
+ https://pypi.org/project/junit-xml/
+"
+# upstream fails both at uploading to pypi and making tags
+# https://github.com/kyrus/python-junit-xml/issues/69
+# https://github.com/kyrus/python-junit-xml/issues/31
+SRC_URI="
+ https://github.com/kyrus/python-junit-xml/archive/${EGIT_COMMIT}.tar.gz
+ -> ${MY_P}.gh.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/junit-xml/junit-xml-1.9.ebuild b/dev-python/junit-xml/junit-xml-1.9.ebuild
deleted file mode 100644
index 4ed6f5735b24..000000000000
--- a/dev-python/junit-xml/junit-xml-1.9.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2021-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="Create JUnit XML test result documents"
-HOMEPAGE="
- https://pypi.org/project/junit-xml/
- https://github.com/kyrus/python-junit-xml"
-# upstream fails both at uploading to pypi and making tags
-# https://github.com/kyrus/python-junit-xml/issues/69
-# https://github.com/kyrus/python-junit-xml/issues/31
-EGIT_COMMIT="19d3cc333d35dfd2d17d75c506336c15e5c6685a"
-SRC_URI="
- https://github.com/kyrus/python-junit-xml/archive/${EGIT_COMMIT}.tar.gz
- -> ${P}.tar.gz"
-S=${WORKDIR}/python-junit-xml-${EGIT_COMMIT}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/jupyter-client/Manifest b/dev-python/jupyter-client/Manifest
new file mode 100644
index 000000000000..435290b2c378
--- /dev/null
+++ b/dev-python/jupyter-client/Manifest
@@ -0,0 +1 @@
+DIST jupyter_client-8.6.1.tar.gz 340957 BLAKE2B a9a7e7818a463927ec11a4adc6758addef38fae45e29be59b388951715898e5bc81e02035c33fa6e4a0208db47a87a2b793258f4a85739925827895ea357b8f8 SHA512 be70d1f250da6698998a5c523d733da386940952487335e615160e04600e00e7ff170cae7f0c03e3a000ecca2bac26855f100c95f2759983c0b50fde10ed8223
diff --git a/dev-python/jupyter-client/jupyter-client-8.6.1.ebuild b/dev-python/jupyter-client/jupyter-client-8.6.1.ebuild
new file mode 100644
index 000000000000..a7cf70811199
--- /dev/null
+++ b/dev-python/jupyter-client/jupyter-client-8.6.1.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..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-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_client/metadata.xml b/dev-python/jupyter-client/metadata.xml
index a41692a7eeae..a41692a7eeae 100644
--- a/dev-python/jupyter_client/metadata.xml
+++ b/dev-python/jupyter-client/metadata.xml
diff --git a/dev-python/jupyter-console/Manifest b/dev-python/jupyter-console/Manifest
new file mode 100644
index 000000000000..fac2c631a7dd
--- /dev/null
+++ b/dev-python/jupyter-console/Manifest
@@ -0,0 +1 @@
+DIST jupyter_console-6.6.3.tar.gz 34363 BLAKE2B fd5875f608bec0528f7751b7cb146bff3f5c6caeb531a360eb5dd6164c44b3a4a84d1371756f42c256fbada7572176172894a01bc5b7cca835f12a390815ff5a SHA512 fc896dfc783648127690458712e90eced9578629dd55e3bfc9e15319ffa919c118c78d7872f0274455c3996fa9321bccdfa204b94b45a2de733b7703894c9034
diff --git a/dev-python/jupyter-console/jupyter-console-6.6.3.ebuild b/dev-python/jupyter-console/jupyter-console-6.6.3.ebuild
new file mode 100644
index 000000000000..c718a5ec6798
--- /dev/null
+++ b/dev-python/jupyter-console/jupyter-console-6.6.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_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A terminal-based console frontend for Jupyter kernels"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/jupyter_console/
+ https://pypi.org/project/jupyter-console/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/ipykernel-6.14[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/prompt-toolkit-3.0.30[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-17[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.4[${PYTHON_USEDEP}]
+"
+# util-linux provides script(1)
+BDEPEND="
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ sys-apps/util-linux
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/jupyter_console/metadata.xml b/dev-python/jupyter-console/metadata.xml
index 0d62052f276f..0d62052f276f 100644
--- a/dev-python/jupyter_console/metadata.xml
+++ b/dev-python/jupyter-console/metadata.xml
diff --git a/dev-python/jupyter-core/Manifest b/dev-python/jupyter-core/Manifest
new file mode 100644
index 000000000000..d0fffd3eeb2c
--- /dev/null
+++ b/dev-python/jupyter-core/Manifest
@@ -0,0 +1 @@
+DIST jupyter_core-5.7.2.tar.gz 87629 BLAKE2B b8d460f239419c7f648a856e55e1570646b6a6cd38ee900bbeac0aa64965f8868a88be20f6b890f2f424f0752f0da44d79abd0b3d18d275ac3f9c574ad7d18b4 SHA512 1eb4766dbc10afdcbc469853b391a88a2551a0ee2b2a3f93a316b407371ca10f546746aa4a327f8c0423cc10e4de022630c04ca7547dcf7ee8d9a911e9a0e572
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..6cfca45bde13
--- /dev/null
+++ b/dev-python/jupyter-core/jupyter-core-5.7.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=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/metadata.xml b/dev-python/jupyter-core/metadata.xml
index f110b0a5181c..f110b0a5181c 100644
--- a/dev-python/jupyter_core/metadata.xml
+++ b/dev-python/jupyter-core/metadata.xml
diff --git a/dev-python/jupyter-events/Manifest b/dev-python/jupyter-events/Manifest
new file mode 100644
index 000000000000..a455c9ed0764
--- /dev/null
+++ b/dev-python/jupyter-events/Manifest
@@ -0,0 +1 @@
+DIST jupyter_events-0.10.0.tar.gz 61516 BLAKE2B 12cf323f65cd52a6c0aa29e7b75e7899ec245752a7c4e17d32650ae3e9b27f47a7e593b491747667dfc58bde5e0745077c72317dbfa6db1f266d7ada14bc8f6a SHA512 6e56b48a238353fbd5e6a1a8cb3fcc5a506063aa555c96172ec2e03a14fb527b39d03a9897de49353927e8993a770d028d6d0d2c9a92785c4b727e3da66676df
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..bf33bb189671
--- /dev/null
+++ b/dev-python/jupyter-events/jupyter-events-0.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_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_events/metadata.xml b/dev-python/jupyter-events/metadata.xml
index 0b3c9998d541..0b3c9998d541 100644
--- a/dev-python/jupyter_events/metadata.xml
+++ b/dev-python/jupyter-events/metadata.xml
diff --git a/dev-python/jupyter-kernel-test/Manifest b/dev-python/jupyter-kernel-test/Manifest
new file mode 100644
index 000000000000..8d7c00832bbb
--- /dev/null
+++ b/dev-python/jupyter-kernel-test/Manifest
@@ -0,0 +1,2 @@
+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
new file mode 100644
index 000000000000..10d144e7bdf1
--- /dev/null
+++ b/dev-python/jupyter-kernel-test/jupyter-kernel-test-0.6.0.ebuild
@@ -0,0 +1,31 @@
+# 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_kernel_test/metadata.xml b/dev-python/jupyter-kernel-test/metadata.xml
index 3161458dcfb4..3161458dcfb4 100644
--- a/dev-python/jupyter_kernel_test/metadata.xml
+++ b/dev-python/jupyter-kernel-test/metadata.xml
diff --git a/dev-python/jupyter-lsp/Manifest b/dev-python/jupyter-lsp/Manifest
index 3bb7a445cf96..36b7e12b5083 100644
--- a/dev-python/jupyter-lsp/Manifest
+++ b/dev-python/jupyter-lsp/Manifest
@@ -1 +1,2 @@
-DIST jupyter-lsp-1.5.1.tar.gz 35907 BLAKE2B bc69791253bfcf40188fe2bae24a2681ce17835f5eb1d2640edf93a69285b33d426bffdf09c66308e6f79e33c4778e539fc2a7ed056fe64758e82acc6374b4cf SHA512 585c7b3b7ea87fd9d3ad27e3e4473f3bce56ad41d3b028173e2fcad4b0d2db5b1c0c89cd8c976c3f8b4d30ae7a63018dc1e19d4527b56eafe21ec0b5e89a538b
+DIST jupyter-lsp-2.2.4.tar.gz 48663 BLAKE2B 7157d52657b614af1909e681903aa5fabd5b8d4f246f8e87b281615dc9c754c23da928a806980e1f7c8230786870263cb4d9fab32e365dfe660a2e578e40552b SHA512 01d2b18ec3f9575c1d2ab1ea64f94d093fa593374ab8a1343024b78c1baf935a9fd51a4f9a65a1094b6fc59384ca244714e73066d8db13fa00de5c1f625462c6
+DIST jupyter-lsp-2.2.5.tar.gz 48741 BLAKE2B c5ab6d735cab3585b5093bb3a60ae360c33414fe32ddd85bd926d71f92bb4997e846d3ac75ac8d502aacd1a296d7fd447d71cdc7d3c76f2856b2e5f5fd60f7dd SHA512 16c3b40a1557d0417553f0a9371dfa49e1b510a8fef77f4420adc2a521eeb57bb3d28d9c905388211174f47ae4dedf0c9213756288712dbe7430178d832f698b
diff --git a/dev-python/jupyter-lsp/jupyter-lsp-1.5.1.ebuild b/dev-python/jupyter-lsp/jupyter-lsp-1.5.1.ebuild
deleted file mode 100644
index 735722091cfd..000000000000
--- a/dev-python/jupyter-lsp/jupyter-lsp-1.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab"
-HOMEPAGE="https://github.com/krassowski/jupyterlab-lsp"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-# TODO: Find out what is going on here
-# asyncio.exceptions.TimeoutError
-RESTRICT="test"
-
-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
- # R lsp server not packaged
- sed -i -e 's:test_r_package_detection:_&:' \
- jupyter_lsp/tests/test_detect.py || die
-
- distutils-r1_python_prepare_all
-}
-
-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.4.ebuild b/dev-python/jupyter-lsp/jupyter-lsp-2.2.4.ebuild
new file mode 100644
index 000000000000..7bd7fd2446b8
--- /dev/null
+++ b/dev-python/jupyter-lsp/jupyter-lsp-2.2.4.ebuild
@@ -0,0 +1,85 @@
+# 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}]
+"
+
+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]"
+ )
+
+ case ${EPYTHON} in
+ python3.12)
+ EPYTEST_DESELECT+=(
+ jupyter_lsp/tests/test_session.py::test_start_unknown
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ 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..f3f2c82c7e6a
--- /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-lsp/metadata.xml b/dev-python/jupyter-lsp/metadata.xml
index 5753744d2233..81371c1865e8 100644
--- a/dev-python/jupyter-lsp/metadata.xml
+++ b/dev-python/jupyter-lsp/metadata.xml
@@ -8,6 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">jupyter-lsp</remote-id>
- <remote-id type="github">krassowski/jupyterlab-lsp</remote-id>
+ <remote-id type="github">jupyter-lsp/jupyterlab-lsp</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/jupyter_packaging/Manifest b/dev-python/jupyter-packaging/Manifest
index 5ee407d80a0d..5ee407d80a0d 100644
--- a/dev-python/jupyter_packaging/Manifest
+++ b/dev-python/jupyter-packaging/Manifest
diff --git a/dev-python/jupyter-packaging/jupyter-packaging-0.12.3.ebuild b/dev-python/jupyter-packaging/jupyter-packaging-0.12.3.ebuild
new file mode 100644
index 000000000000..66848c09d16d
--- /dev/null
+++ b/dev-python/jupyter-packaging/jupyter-packaging-0.12.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=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Tools to help build and install Jupyter Python packages"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/jupyter-packaging/
+ https://pypi.org/project/jupyter-packaging/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-60.2.0[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ dev-python/deprecation[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+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_packaging/metadata.xml b/dev-python/jupyter-packaging/metadata.xml
index 0160fed9fded..0160fed9fded 100644
--- a/dev-python/jupyter_packaging/metadata.xml
+++ b/dev-python/jupyter-packaging/metadata.xml
diff --git a/dev-python/jupyter_server_mathjax/Manifest b/dev-python/jupyter-server-mathjax/Manifest
index 425042501ef1..425042501ef1 100644
--- a/dev-python/jupyter_server_mathjax/Manifest
+++ b/dev-python/jupyter-server-mathjax/Manifest
diff --git a/dev-python/jupyter-server-mathjax/jupyter-server-mathjax-0.2.6.ebuild b/dev-python/jupyter-server-mathjax/jupyter-server-mathjax-0.2.6.ebuild
new file mode 100644
index 000000000000..136177d52e9a
--- /dev/null
+++ b/dev-python/jupyter-server-mathjax/jupyter-server-mathjax-0.2.6.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..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="MathJax resources as a Jupyter Server Extension"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter-server/jupyter_server_mathjax/
+ https://pypi.org/project/jupyter-server-mathjax/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/jupyter-server-1.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/jupyter-packaging[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ dev-python/pytest-jupyter[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Don't try (and fail) to fetch things from the internet with npm
+ # https://bugs.gentoo.org/820317
+ sed -i -e '/cmdclass=cmdclass/d' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
diff --git a/dev-python/jupyter_server_mathjax/metadata.xml b/dev-python/jupyter-server-mathjax/metadata.xml
index 7d03f215e7e4..7d03f215e7e4 100644
--- a/dev-python/jupyter_server_mathjax/metadata.xml
+++ b/dev-python/jupyter-server-mathjax/metadata.xml
diff --git a/dev-python/jupyter-server-proxy/Manifest b/dev-python/jupyter-server-proxy/Manifest
index f38de51d3986..eb0fe21f9ae2 100644
--- a/dev-python/jupyter-server-proxy/Manifest
+++ b/dev-python/jupyter-server-proxy/Manifest
@@ -1 +1,2 @@
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
index b7d96bbda0a0..00efa2d027c5 100644
--- 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
@@ -4,12 +4,12 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+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"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
# The GitHub tarball includes the tests, but does not have the js stuff we need
LICENSE="BSD"
@@ -18,10 +18,10 @@ KEYWORDS="~amd64 ~x86"
RDEPEND="
dev-python/aiohttp[${PYTHON_USEDEP}]
- >=dev-python/jupyter_server-1.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-server-1.0[${PYTHON_USEDEP}]
>=dev-python/simpervisor-0.4[${PYTHON_USEDEP}]
"
-BDEPEND="dev-python/jupyter_packaging[${PYTHON_USEDEP}]"
+BDEPEND="dev-python/jupyter-packaging[${PYTHON_USEDEP}]"
src_install() {
distutils-r1_src_install
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
new file mode 100644
index 000000000000..35f5a7436bc6
--- /dev/null
+++ b/dev-python/jupyter-server-terminals/Manifest
@@ -0,0 +1 @@
+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.5.3.ebuild b/dev-python/jupyter-server-terminals/jupyter-server-terminals-0.5.3.ebuild
new file mode 100644
index 000000000000..64ae1a8286a6
--- /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..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/metadata.xml b/dev-python/jupyter-server-terminals/metadata.xml
new file mode 100644
index 000000000000..94455bab1f48
--- /dev/null
+++ b/dev-python/jupyter-server-terminals/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@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">jupyter-server-terminals</remote-id>
+ <remote-id type="github">jupyter-server/jupyter_server_terminals</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jupyter-server/Manifest b/dev-python/jupyter-server/Manifest
new file mode 100644
index 000000000000..42c199aa5d5d
--- /dev/null
+++ b/dev-python/jupyter-server/Manifest
@@ -0,0 +1,2 @@
+DIST jupyter_server-2.13.0.tar.gz 718244 BLAKE2B 578e67c6f3cc94c167c27b59e6ef3a5c7dc69048731da9480b2a4021fa52a16cce02d97d4986f5cb739cafd4041b183ccff1a4fa5b22e0cca6e46cdb9d101e86 SHA512 114387c34bf759bc9d27eedf2cb2ab12c07ddaec33d0d37c3bcaa776058c028220dc148fd7bc270644192a693b613b54d0195b5b809c2732c1e04d551b4d060c
+DIST jupyter_server-2.14.0.tar.gz 719491 BLAKE2B 6a742c2b4a269a23af7c54e72d551045cc17b017efe88e0cb5848aff9d9a9d0855c74ed066b316bb87d15f49984cc5787250b6191f036c8ae8bd0af7a6b53695 SHA512 57258afae5e64af6b499795795c469fd08fb2562da770ba06b78716dccee12f6662b0d6465739857aa5f3fea084eb2d8553c7205edc7b6813e4f5d61815917b3
diff --git a/dev-python/jupyter-server/jupyter-server-2.13.0.ebuild b/dev-python/jupyter-server/jupyter-server-2.13.0.ebuild
new file mode 100644
index 000000000000..9392a70bc6b3
--- /dev/null
+++ b/dev-python/jupyter-server/jupyter-server-2.13.0.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Core services, APIs, and REST endpoints to Jupyter web applications"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter-server/jupyter_server/
+ https://pypi.org/project/jupyter-server/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/anyio-3.1.0[${PYTHON_USEDEP}]
+ dev-python/argon2-cffi[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-7.4.4[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-5.1.0[${PYTHON_USEDEP}]
+ dev-python/jupyter-server-terminals[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-events-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/nbconvert-6.4.4[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.3.0[${PYTHON_USEDEP}]
+ dev-python/overrides[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/prometheus-client[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-24[${PYTHON_USEDEP}]
+ >=dev-python/send2trash-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/terminado-0.8.3[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.2[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.6.0[${PYTHON_USEDEP}]
+ dev-python/websocket-client[${PYTHON_USEDEP}]
+
+"
+BDEPEND="
+ dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
+ >=dev-python/pytest-jupyter-0.7[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # This fails if your terminal is zsh (and maybe other non-bash as well?)
+ tests/test_terminal.py
+ # Fails because above is ignored
+ tests/auth/test_authorizer.py
+ # Fails with additional extensions installed
+ tests/extension/test_app.py::test_stop_extension
+ )
+
+ # FIXME: tests seem to be affected by previously installed version
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest \
+ -p pytest_tornasync.plugin \
+ -p jupyter_server.pytest_plugin \
+ -p pytest_console_scripts \
+ -p pytest_timeout \
+ -o tmp_path_retention_policy=all
+}
diff --git a/dev-python/jupyter-server/jupyter-server-2.14.0.ebuild b/dev-python/jupyter-server/jupyter-server-2.14.0.ebuild
new file mode 100644
index 000000000000..51d0d35e0e59
--- /dev/null
+++ b/dev-python/jupyter-server/jupyter-server-2.14.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=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Core services, APIs, and REST endpoints to Jupyter web applications"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter-server/jupyter_server/
+ https://pypi.org/project/jupyter-server/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/anyio-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/argon2-cffi-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/metadata.xml b/dev-python/jupyter-server/metadata.xml
index 7e3ab0d6de84..7e3ab0d6de84 100644
--- a/dev-python/jupyter_server/metadata.xml
+++ b/dev-python/jupyter-server/metadata.xml
diff --git a/dev-python/jupyter/jupyter-1.0.0-r4.ebuild b/dev-python/jupyter/jupyter-1.0.0-r4.ebuild
index fa40e2541a8b..8262bd0d987e 100644
--- a/dev-python/jupyter/jupyter-1.0.0-r4.ebuild
+++ b/dev-python/jupyter/jupyter-1.0.0-r4.ebuild
@@ -1,33 +1,33 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 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
+inherit distutils-r1 pypi
DESCRIPTION="Jupyter metapackage. Install all the Jupyter components in one go"
HOMEPAGE="https://jupyter.org"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- https://patch-diff.githubusercontent.com/raw/jupyter/jupyter/pull/198.patch -> ${P}-file-colision.patch
- "
+SRC_URI+="
+ https://patch-diff.githubusercontent.com/raw/jupyter/jupyter/pull/198.patch
+ -> ${P}-file-colision.patch
+"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 ~arm64 ~riscv x86"
RDEPEND="
dev-python/notebook[${PYTHON_USEDEP}]
dev-python/qtconsole[${PYTHON_USEDEP}]
- dev-python/jupyter_console[${PYTHON_USEDEP}]
+ dev-python/jupyter-console[${PYTHON_USEDEP}]
dev-python/nbconvert[${PYTHON_USEDEP}]
dev-python/ipykernel[${PYTHON_USEDEP}]
dev-python/ipywidgets[${PYTHON_USEDEP}]"
-PDEPEND=">=dev-python/jupyter_core-4.2.0[${PYTHON_USEDEP}]"
+PDEPEND=">=dev-python/jupyter-core-4.2.0[${PYTHON_USEDEP}]"
-distutils_enable_sphinx docs/source dev-python/sphinx_rtd_theme
+distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme
PATCHES=( "${DISTDIR}"/${P}-file-colision.patch )
diff --git a/dev-python/jupyter_client/Manifest b/dev-python/jupyter_client/Manifest
deleted file mode 100644
index 3160ccdaafb2..000000000000
--- a/dev-python/jupyter_client/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST jupyter_client-7.4.8.tar.gz 328958 BLAKE2B d05976563c5550ba46a9525c76dae325a107a664c7cc6711fc43333ea9ee747c4b69084e1f4d3118b0baa69bd42781bdd49ce59bf6e608f5520e82e295ffff2c SHA512 dc7eed72ac6c820448e6d8a96c2bee7964706ba608ecaddc8b8aa17f33727ffc04c5a509cd8d7ee78876ce646fc6a508bacdc7b07473555efdad9dd2960ad089
-DIST jupyter_client-7.4.9.tar.gz 329115 BLAKE2B 8b43b237ac79bc51e40e403cf4a3ada18d03437094dc1dd9b9988adb1bcfbc56ba4b2373d3dd858df583b723723127f934c01544f3d6a576886b012364674f0f SHA512 0de91309ffddd2da50ae69bff4f7ecd741398171982f66488e6367d78388c6844b353bed1834684fa4af890364120ce09f2fa6b3ed7778c501058ae558439969
-DIST jupyter_client-8.0.1.tar.gz 333329 BLAKE2B 90be4e3d0271d8fb957e2766e523d333ade3811877aabe55f4768c789cab2782ba6594943d040a23efedb266f2f873b51cd37bc48a9e2603618fb074ca2c1d48 SHA512 c7c643f71e25bbd2b6742e20a6609253517704ca15360ad7f4494e8c96155daa331e218d073f83bc75f23f1b242e626313da95fe1766c29d07e10cd65b7046f0
diff --git a/dev-python/jupyter_client/files/jupyter_client-7.0.6-test-timeout.patch b/dev-python/jupyter_client/files/jupyter_client-7.0.6-test-timeout.patch
deleted file mode 100644
index 740677c13d00..000000000000
--- a/dev-python/jupyter_client/files/jupyter_client-7.0.6-test-timeout.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Avoid test timeouts on slower hosts like e.g. ia64 (guppy):
-```
-FAILED jupyter_client/tests/test_kernelmanager.py::TestParallel::test_start_sequence_kernels[tcp] - Failed: Timeout >30.0s
-FAILED jupyter_client/tests/test_kernelmanager.py::TestParallel::test_start_sequence_kernels[ipc] - Failed: Timeout >30.0s
-```
---- a/jupyter_client/tests/test_client.py
-+++ b/jupyter_client/tests/test_client.py
-@@ -13,7 +13,7 @@ from jupyter_client.kernelspec import KernelSpecManager
- from jupyter_client.kernelspec import NATIVE_KERNEL_NAME
- from jupyter_client.kernelspec import NoSuchKernel
-
--TIMEOUT = 30
-+TIMEOUT = 180
-
- pjoin = os.path.join
-
---- a/jupyter_client/tests/test_kernelmanager.py
-+++ b/jupyter_client/tests/test_kernelmanager.py
-@@ -24,7 +24,7 @@ from jupyter_client import KernelManager
-
- pjoin = os.path.join
-
--TIMEOUT = 30
-+TIMEOUT = 180
-
-
- @pytest.fixture(params=["tcp", "ipc"])
---- a/jupyter_client/tests/test_multikernelmanager.py
-+++ b/jupyter_client/tests/test_multikernelmanager.py
-@@ -22,7 +22,7 @@ from jupyter_client import KernelManager
- from jupyter_client.multikernelmanager import AsyncMultiKernelManager
- from jupyter_client.multikernelmanager import MultiKernelManager
-
--TIMEOUT = 30
-+TIMEOUT = 180
-
-
- class TestKernelManager(TestCase):
diff --git a/dev-python/jupyter_client/jupyter_client-7.4.8.ebuild b/dev-python/jupyter_client/jupyter_client-7.4.8.ebuild
deleted file mode 100644
index 8afc6536f1c2..000000000000
--- a/dev-python/jupyter_client/jupyter_client-7.4.8.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_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Jupyter protocol implementation and client libraries"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/jupyter_client/
- https://pypi.org/project/jupyter-client/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/entrypoints[${PYTHON_USEDEP}]
- >=dev-python/jupyter_core-4.9.2[${PYTHON_USEDEP}]
- >=dev-python/nest_asyncio-1.5.4[${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}]
-"
-BDEPEND="
- test? (
- >=dev-python/ipykernel-6.12[${PYTHON_USEDEP}]
- dev-python/ipython[${PYTHON_USEDEP}]
- >=dev-python/pytest-asyncio-0.18[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-7.0.6-test-timeout.patch
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/jupyter_client/jupyter_client-7.4.9.ebuild b/dev-python/jupyter_client/jupyter_client-7.4.9.ebuild
deleted file mode 100644
index 0335960a6ed6..000000000000
--- a/dev-python/jupyter_client/jupyter_client-7.4.9.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_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Jupyter protocol implementation and client libraries"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/jupyter_client/
- https://pypi.org/project/jupyter-client/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/entrypoints[${PYTHON_USEDEP}]
- >=dev-python/jupyter_core-4.9.2[${PYTHON_USEDEP}]
- >=dev-python/nest_asyncio-1.5.4[${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}]
-"
-BDEPEND="
- test? (
- >=dev-python/ipykernel-6.12[${PYTHON_USEDEP}]
- dev-python/ipython[${PYTHON_USEDEP}]
- >=dev-python/pytest-asyncio-0.18[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-7.0.6-test-timeout.patch
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/jupyter_client/jupyter_client-8.0.1.ebuild b/dev-python/jupyter_client/jupyter_client-8.0.1.ebuild
deleted file mode 100644
index c930f1f2ad9c..000000000000
--- a/dev-python/jupyter_client/jupyter_client-8.0.1.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Jupyter protocol implementation and client libraries"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/jupyter_client/
- https://pypi.org/project/jupyter-client/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~x86"
-
-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_console/Manifest b/dev-python/jupyter_console/Manifest
deleted file mode 100644
index 7c0214dfb2ab..000000000000
--- a/dev-python/jupyter_console/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST jupyter_console-6.4.4.tar.gz 35145 BLAKE2B d37190c30eceba79c0d37ad60d88c9e691759aaccb29a64a9482b7c3cf3315efa3c902ac2244c2139ef2f94a77450115124227768f8291f73512796aaff1214a SHA512 1f06591ed2a0fcf56e783d4e9f2a7c3f58a4f566cfb63b3367edac23c7709aa1af7bf6639c7358227a987049804da90658144fa5ad38db120c0816e78ed465ef
diff --git a/dev-python/jupyter_console/jupyter_console-6.4.4.ebuild b/dev-python/jupyter_console/jupyter_console-6.4.4.ebuild
deleted file mode 100644
index 6a5840eb4276..000000000000
--- a/dev-python/jupyter_console/jupyter_console-6.4.4.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A terminal-based console frontend for Jupyter kernels"
-HOMEPAGE="https://jupyter.org"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/ipykernel[${PYTHON_USEDEP}]
- >=dev-python/jupyter_client-7.0.0[${PYTHON_USEDEP}]
- <dev-python/prompt_toolkit-3.1.0[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]"
-# util-linux provides script(1)
-BDEPEND="
- test? (
- dev-python/pexpect[${PYTHON_USEDEP}]
- sys-apps/util-linux
- )"
-
-distutils_enable_sphinx docs \
- dev-python/sphinxcontrib-github-alt \
- dev-python/sphinx_rtd_theme
-distutils_enable_tests pytest
diff --git a/dev-python/jupyter_core/Manifest b/dev-python/jupyter_core/Manifest
deleted file mode 100644
index fcccf392414d..000000000000
--- a/dev-python/jupyter_core/Manifest
+++ /dev/null
@@ -1,5 +0,0 @@
-DIST jupyter_core-5.1.1.tar.gz 81576 BLAKE2B 322d1475092e8308bc84eee3fa71b7dcfc6449cc30b5c6716dc97a71031bfc778035b1f508d5fa630ad29c373b4a2d6a2d576ed4736710c823f2a3fe383a073e SHA512 ba3075fe5ecf1130bd559646b59565bcae9649e9ef645bc3718a8c178d5e1fb5c97bdb2f6802a73245b5b3d1ab8df3f25e80e73ac0954db881ad7be8104e5a39
-DIST jupyter_core-5.1.2.tar.gz 82374 BLAKE2B aace9207d31c896017cf132f15da705118e050816123aade1602cbf9532950c8e495315d6562ce077801900d0d57adb30c66554d05bb891329cb8a59e3208375 SHA512 243a86f7f9a76dfe8a6888a287263d8bb0bab76b30d8177a2834d0767c1c3ef344317f94e223f1bb0b2b22d3c7fdece91fe313dfc20a1c90cb35393d55904c34
-DIST jupyter_core-5.1.3.tar.gz 82657 BLAKE2B d57f97bb698bc8caccce5dd5509f9288db418335bc24283e55200505b4cca04d420f00747e04429b4256b40f722ae8b21441455a5ee8509c3e2ea4f96edbb658 SHA512 49afdb2361eee88f19abd59d1e201d2234591041dd07d42f36c3a4eed039ed2d42bb39a1789be4d0ed03f02183b6ff598338cac85fdc17dad1dfc4c75e44f380
-DIST jupyter_core-5.1.4.tar.gz 82756 BLAKE2B 0d2653d4642ed9e83a1a52b1eb8c486cbaccf1e3f92b434895275320e710944704802b49a5ec1ed2bac4535b8db44ea6b987c381da842479aa5df3906800cd3a SHA512 a520dccdf6da56a9d7c001fd22566aa60c82451a08357ac2aa5098cfcbecad52f6b7166c22fcc61df314302758718dcf9db785a48001af42f130328e642bee9c
-DIST jupyter_core-5.1.5.tar.gz 82838 BLAKE2B 33e9f569bfcf66e679611b00fd99f272b845685d7132f616141143ab0b894b54cb499c6da2112ccd760a00e5313c742830943e77ac6b40277db371b6002b6220 SHA512 2fc9150de96e7a084aa9bf334a71e342f0ab1946943e25a66a4760097fa662290a732ac30356c8ddb595fc05414edb1d9c06ac5eaf41099aaccb695d6a9357a6
diff --git a/dev-python/jupyter_core/jupyter_core-5.1.1.ebuild b/dev-python/jupyter_core/jupyter_core-5.1.1.ebuild
deleted file mode 100644
index 2f6c05cb7ec0..000000000000
--- a/dev-python/jupyter_core/jupyter_core-5.1.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
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Core common functionality of Jupyter projects"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/jupyter_core/
- https://pypi.org/project/jupyter-core/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/platformdirs-2.5[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/ipython-4.0.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/myst_parser \
- dev-python/sphinxcontrib-github-alt \
- dev-python/traitlets
-distutils_enable_tests pytest
diff --git a/dev-python/jupyter_core/jupyter_core-5.1.2.ebuild b/dev-python/jupyter_core/jupyter_core-5.1.2.ebuild
deleted file mode 100644
index 632659336271..000000000000
--- a/dev-python/jupyter_core/jupyter_core-5.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_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Core common functionality of Jupyter projects"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/jupyter_core/
- https://pypi.org/project/jupyter-core/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/platformdirs-2.5[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/ipython-4.0.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/myst_parser \
- 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.1.3.ebuild b/dev-python/jupyter_core/jupyter_core-5.1.3.ebuild
deleted file mode 100644
index 632659336271..000000000000
--- a/dev-python/jupyter_core/jupyter_core-5.1.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_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Core common functionality of Jupyter projects"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/jupyter_core/
- https://pypi.org/project/jupyter-core/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/platformdirs-2.5[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/ipython-4.0.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/myst_parser \
- 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.1.4.ebuild b/dev-python/jupyter_core/jupyter_core-5.1.4.ebuild
deleted file mode 100644
index 632659336271..000000000000
--- a/dev-python/jupyter_core/jupyter_core-5.1.4.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Core common functionality of Jupyter projects"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/jupyter_core/
- https://pypi.org/project/jupyter-core/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/platformdirs-2.5[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/ipython-4.0.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/myst_parser \
- 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.1.5.ebuild b/dev-python/jupyter_core/jupyter_core-5.1.5.ebuild
deleted file mode 100644
index 632659336271..000000000000
--- a/dev-python/jupyter_core/jupyter_core-5.1.5.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Core common functionality of Jupyter projects"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/jupyter_core/
- https://pypi.org/project/jupyter-core/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/platformdirs-2.5[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/ipython-4.0.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/myst_parser \
- 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
deleted file mode 100644
index ce2dff3ba391..000000000000
--- a/dev-python/jupyter_events/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST jupyter_events-0.6.3.tar.gz 59393 BLAKE2B 0f747cc099e8b0e30024b7fa61007d4449fad1be3b4807021df28668969dca18087634606d6f2c453da81da9c107576133e13ec373cf34362d0182320e84e809 SHA512 a9b9c180f7b4759a3d2c99421947a837020149ec1a91ad0cd06971d7ae99ad1050652f01f78c9478ce3fd3f1a1ab6b579e90c279fcee0771546f3c346becd61f
diff --git a/dev-python/jupyter_events/jupyter_events-0.6.3.ebuild b/dev-python/jupyter_events/jupyter_events-0.6.3.ebuild
deleted file mode 100644
index bf8bb69a28f5..000000000000
--- a/dev-python/jupyter_events/jupyter_events-0.6.3.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
-
-DESCRIPTION="Jupyter Event System library"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/jupyter_events/
- https://pypi.org/project/jupyter-events/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~x86"
-
-# jsonschema[format-nongpl] deps are always on in our ebuild
-RDEPEND="
- >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/python-json-logger-2.0.4[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.3[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/click[${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
deleted file mode 100644
index 58e1d83071c0..000000000000
--- a/dev-python/jupyter_kernel_test/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST jupyter_kernel_test-0.4.5.tar.gz 14326 BLAKE2B ff33a2357969345ae7b62b7621c2a0552adf55d5d7cff341ccafd6224fded6db2a9f77a123a820a51b1a87d29e8a1e175e4a6a3dcdb9f77646edcb4aba4c1b3c SHA512 c12df619f6cd49507a3ac099e305ae8b3594796f2ae52cb2dad6a45d097d58d32c00ebf152c909d997be6447319162d54104af238e143f48560acb339bdf58ce
-DIST jupyter_kernel_test-0.5.0.tar.gz 15022 BLAKE2B ec02d8a4a1271b2aa6a9c04820c54abe312f7dddef62d5284b858ad5d63ff8b6af12714cc93a252b2594dec713f78d70d0433bac26e34055c4bf41c33f708c17 SHA512 9b440e170a70fb1f505a6cbda1642c68e9d4462dac7fbf7f103c6ef6fcd4adc5152b2cdf7538a78a6fbc02c504108d766ae8edab6d7dce421ae92648d2142b94
diff --git a/dev-python/jupyter_kernel_test/jupyter_kernel_test-0.4.5.ebuild b/dev-python/jupyter_kernel_test/jupyter_kernel_test-0.4.5.ebuild
deleted file mode 100644
index e1a89b60c61f..000000000000
--- a/dev-python/jupyter_kernel_test/jupyter_kernel_test-0.4.5.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_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Jupyter kernel for octave"
-HOMEPAGE="https://github.com/jupyter/jupyter_kernel_test"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~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.5.0.ebuild b/dev-python/jupyter_kernel_test/jupyter_kernel_test-0.5.0.ebuild
deleted file mode 100644
index a72d4577b96d..000000000000
--- a/dev-python/jupyter_kernel_test/jupyter_kernel_test-0.5.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Jupyter kernel for octave"
-HOMEPAGE="
- https://github.com/jupyter/jupyter_kernel_test/
- https://pypi.org/project/jupyter-kernel-test/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~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_packaging/jupyter_packaging-0.12.3.ebuild b/dev-python/jupyter_packaging/jupyter_packaging-0.12.3.ebuild
deleted file mode 100644
index 2d3a03e67efa..000000000000
--- a/dev-python/jupyter_packaging/jupyter_packaging-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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Tools to help build and install Jupyter Python packages"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/jupyter-packaging/
- https://pypi.org/project/jupyter-packaging/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/setuptools-60.2.0[${PYTHON_USEDEP}]
- dev-python/tomlkit[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- dev-python/deprecation[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/build[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # require Internet
- tests/test_build_api.py::test_build_package
- tests/test_build_api.py::test_deprecated_metadata
-)
diff --git a/dev-python/jupyter_server/Manifest b/dev-python/jupyter_server/Manifest
deleted file mode 100644
index 04bb910a76d2..000000000000
--- a/dev-python/jupyter_server/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST jupyter_server-1.19.1.tar.gz 453411 BLAKE2B 800231e7e7ddfcf2a2c2f2725971983d754c76940623ce000e6b86ad503bc6ca68a27e55ca3766193e58184a7148471464dfa9c27076e53ac84b176b8ff65897 SHA512 f4228c73950e49fe26add11c61f3de425b963726908a2df7dae21bb38b986c2ebb6abfc3319ef9e3acbc2fef9579a1a70ac594920985977adf580a082d272368
-DIST jupyter_server-2.0.6.tar.gz 686312 BLAKE2B dfa309146e74c646ab28f31a4a7293d2b658771077240179aebd13176151c982035649acf3b78c86ddb06e914e3342e5894fb55f8b8711cb493a6a7c4b259cfa SHA512 186b41b13cc727d0674a49abcb9b3a9aa5b898f0e9e42124e46e862ec62528b4127b159a30352f33e6b91321f1dd3f086f82dca72d5616755bcf3220d154faa6
-DIST jupyter_server-2.1.0.tar.gz 688227 BLAKE2B 8bc291d3c35a1eda61cb6eec4e19e42f8477252dddde194f10bfabd2035ca6c0e38a5e37a63ae8979eafa19ea0649c153db65686ec7fb91bc6c48dad8f7e61d4 SHA512 a33741425bc07250bf86e221f1fb330d65bb2984eb2db7bdd454670620f9d774a64f6a7b8ca5894e9ac1c175a3befc1ba2a516e30cde835c3ee29e7770505f6d
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-1.19.1.ebuild b/dev-python/jupyter_server/jupyter_server-1.19.1.ebuild
deleted file mode 100644
index 6d394ff204d6..000000000000
--- a/dev-python/jupyter_server/jupyter_server-1.19.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=jupyter
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Core services, APIs, and REST endpoints to Jupyter web applications"
-HOMEPAGE="https://jupyter.org"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/anyio-3.1.0[${PYTHON_USEDEP}]
- <dev-python/anyio-4[${PYTHON_USEDEP}]
- dev-python/argon2-cffi[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- >=dev-python/jupyter_client-6.1.1[${PYTHON_USEDEP}]
- >=dev-python/jupyter_core-4.7.0[${PYTHON_USEDEP}]
- >=dev-python/nbconvert-6.4.4[${PYTHON_USEDEP}]
- >=dev-python/nbformat-5.2.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/prometheus_client[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-17[${PYTHON_USEDEP}]
- dev-python/send2trash[${PYTHON_USEDEP}]
- >=dev-python/terminado-0.8.3[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.1[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.1[${PYTHON_USEDEP}]
- dev-python/websocket-client[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/pytest-tornasync[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs/source \
- dev-python/pydata-sphinx-theme \
- dev-python/myst_parser \
- dev-python/ipython \
- dev-python/sphinxemoji \
- dev-python/sphinxcontrib-github-alt \
- dev-python/sphinxcontrib-openapi
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # This fails if your terminal is zsh (and maybe other non-bash as well?)
- tests/test_terminal.py::test_culling
- tests/test_terminal.py::test_terminal_create_with_cwd
- tests/test_terminal.py::test_terminal_create_with_relative_cwd
-)
-
-src_prepare() {
- # disable npm use
- sed -i -e '/\[tool\.jupyter-packaging\.builder\]/,+1d' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- 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.0.6-r1.ebuild b/dev-python/jupyter_server/jupyter_server-2.0.6-r1.ebuild
deleted file mode 100644
index 92a4e4cdf64d..000000000000
--- a/dev-python/jupyter_server/jupyter_server-2.0.6-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
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Core services, APIs, and REST endpoints to Jupyter web applications"
-HOMEPAGE="https://jupyter.org"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/anyio-3.1.0[${PYTHON_USEDEP}]
- <dev-python/anyio-4[${PYTHON_USEDEP}]
- dev-python/argon2-cffi[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- >=dev-python/jupyter_client-6.1.1[${PYTHON_USEDEP}]
- >=dev-python/jupyter_core-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/jupyter_events-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/nbconvert-6.4.4[${PYTHON_USEDEP}]
- >=dev-python/nbformat-5.3.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/prometheus_client[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-24[${PYTHON_USEDEP}]
- dev-python/send2trash[${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/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() {
- 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.1.0.ebuild b/dev-python/jupyter_server/jupyter_server-2.1.0.ebuild
deleted file mode 100644
index 5b3fe1a3572f..000000000000
--- a/dev-python/jupyter_server/jupyter_server-2.1.0.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/anyio-3.1.0[${PYTHON_USEDEP}]
- <dev-python/anyio-4[${PYTHON_USEDEP}]
- dev-python/argon2-cffi[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- >=dev-python/jupyter_client-6.1.1[${PYTHON_USEDEP}]
- >=dev-python/jupyter_core-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/jupyter_events-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/nbconvert-6.4.4[${PYTHON_USEDEP}]
- >=dev-python/nbformat-5.3.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/prometheus_client[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-24[${PYTHON_USEDEP}]
- dev-python/send2trash[${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/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() {
- 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_mathjax/jupyter_server_mathjax-0.2.6.ebuild b/dev-python/jupyter_server_mathjax/jupyter_server_mathjax-0.2.6.ebuild
deleted file mode 100644
index 154555a3f0ae..000000000000
--- a/dev-python/jupyter_server_mathjax/jupyter_server_mathjax-0.2.6.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_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-DESCRIPTION="MathJax resources as a Jupyter Server Extension"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter-server/jupyter_server_mathjax/
- https://pypi.org/project/jupyter-server-mathjax/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/jupyter_server-1.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/jupyter_packaging[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-tornasync[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Don't try (and fail) to fetch things from the internet with npm
- # https://bugs.gentoo.org/820317
- sed -i -e '/cmdclass=cmdclass/d' setup.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- mv "${ED}/usr/etc" "${ED}/etc" || die
-}
diff --git a/dev-python/jupyterlab-lsp/Manifest b/dev-python/jupyterlab-lsp/Manifest
index 32ca9b4d8328..430554111965 100644
--- a/dev-python/jupyterlab-lsp/Manifest
+++ b/dev-python/jupyterlab-lsp/Manifest
@@ -1 +1,2 @@
-DIST jupyterlab-lsp-3.10.2.tar.gz 269490 BLAKE2B 43e4c79e94f85497f83c8034d63164ae5e0820dba6a725048c7f11522d2ab98326e637c254251e96d72d35d7ff8962ab8750a2ba42681c4ef34a65bbb42240d4 SHA512 e154b1f382d2a70a3378f821b055d9a05e9ba748f3ca3e61974655ec3a06f73bc864ad18917171e1101692760fab44b830d2eb70676961a09e383b3544d8ba71
+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-3.10.2.ebuild b/dev-python/jupyterlab-lsp/jupyterlab-lsp-3.10.2.ebuild
deleted file mode 100644
index 42280f81c237..000000000000
--- a/dev-python/jupyterlab-lsp/jupyterlab-lsp-3.10.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="Coding assistance for JupyterLab with Language Server Protocol"
-HOMEPAGE="https://github.com/jupyter-lsp/jupyterlab-lsp"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/jupyterlab-3.1.0[${PYTHON_USEDEP}]
- <dev-python/jupyterlab-4.0.0[${PYTHON_USEDEP}]
- >=dev-python/jupyter-lsp-1.4.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
new file mode 100644
index 000000000000..4d69ae3113ef
--- /dev/null
+++ b/dev-python/jupyterlab-pygments/Manifest
@@ -0,0 +1 @@
+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.3.0.ebuild b/dev-python/jupyterlab-pygments/jupyterlab-pygments-0.3.0.ebuild
new file mode 100644
index 000000000000..f29e5a551aaa
--- /dev/null
+++ b/dev-python/jupyterlab-pygments/jupyterlab-pygments-0.3.0.ebuild
@@ -0,0 +1,36 @@
+# 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} )
+
+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/
+"
+SRC_URI="$(pypi_wheel_url)"
+S=${WORKDIR}
+
+LICENSE="BSD"
+SLOT="0"
+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_pygments/metadata.xml b/dev-python/jupyterlab-pygments/metadata.xml
index 6e6dcc6948ee..6e6dcc6948ee 100644
--- a/dev-python/jupyterlab_pygments/metadata.xml
+++ b/dev-python/jupyterlab-pygments/metadata.xml
diff --git a/dev-python/jupyterlab-server/Manifest b/dev-python/jupyterlab-server/Manifest
new file mode 100644
index 000000000000..3865e8c202e7
--- /dev/null
+++ b/dev-python/jupyterlab-server/Manifest
@@ -0,0 +1,2 @@
+DIST jupyterlab_server-2.25.4.tar.gz 74772 BLAKE2B 8647840e2bb93244360db07524374f30e6831fddf6c2b89101b2a01f505470649fcc6aa31b40dc18a480628eeb791b4f7488cd91bb921796c3daad36102e535b SHA512 de04d1c5de3507a2465c316686be10ff6398be2f05d9d84ff6e79c376978503bc6ff836bfca67735d85f8ef23a15d6f30ad69268a25855dc4ebc1bd5f7c2fdaf
+DIST jupyterlab_server-2.26.0.tar.gz 75100 BLAKE2B 10f507cf8b6640ee4178d2850561a5d186f9b9004b2d74de7382b4c9a03494d3553e7a2397cafb45b3be60062baf0d3df3026b1f8613e5dd2a597faad0cfc9d5 SHA512 cb9c78ae8afed53637b441767c630666d391a7ce6a19cc5cf8bcc9c3149ef570c5aeaba204878bd4d52806a6e2b9e25f9724536f1addf084bfb15855f7700125
diff --git a/dev-python/jupyterlab-server/jupyterlab-server-2.25.4.ebuild b/dev-python/jupyterlab-server/jupyterlab-server-2.25.4.ebuild
new file mode 100644
index 000000000000..c8b6aabdf4a2
--- /dev/null
+++ b/dev-python/jupyterlab-server/jupyterlab-server-2.25.4.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=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.26.0.ebuild b/dev-python/jupyterlab-server/jupyterlab-server-2.26.0.ebuild
new file mode 100644
index 000000000000..023800f2076e
--- /dev/null
+++ b/dev-python/jupyterlab-server/jupyterlab-server-2.26.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=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/metadata.xml b/dev-python/jupyterlab-server/metadata.xml
index 83cc6e188b12..83cc6e188b12 100644
--- a/dev-python/jupyterlab_server/metadata.xml
+++ b/dev-python/jupyterlab-server/metadata.xml
diff --git a/dev-python/jupyterlab/Manifest b/dev-python/jupyterlab/Manifest
index 61ed55c0ddd2..d9b5563f4be6 100644
--- a/dev-python/jupyterlab/Manifest
+++ b/dev-python/jupyterlab/Manifest
@@ -1 +1,2 @@
-DIST jupyterlab-3.5.3.tar.gz 17114007 BLAKE2B 70d32721a2579331dd4e3481f7241f5e2c5aad6dac851f213de0ac1fc3b76667bea496bca5ea13ee562e9678d51ac45df91c5901d8d3b7dc839977d3d842e67d SHA512 fdacd34ab629da2b5c2eb23f11ba4d44d5b27872e1736850319bcabbe635d31cfa2891c1c5991b152a5c1d94221e3766a20fc91033f556d8e508374bc46d5fe2
+DIST jupyterlab-4.1.5.tar.gz 21797132 BLAKE2B f3bb8d2292cfa60392b7e97b7852479767e831c4131e1980deaedbf03332d2fec2f01f3e7a6c0f830528e1d99a77f6092a83eb5303d955165946199aed885ffd SHA512 ddd43d5cf7f3ffe18e3baa846270a61a1c5d588901dcc70a32d30ade29273e9c6975640aa89bc9daf58b7fdfc1eeff2f10a9b3f5d174141cbb13a2622579c15e
+DIST jupyterlab-4.1.6.tar.gz 21773628 BLAKE2B b2855ecc4fa0cc892fab9bb79c19a3cec0ea577c9c490571ad4028e9fe35bca87fc61d0035cc889bee14313475825344e1cea69f34af4a908c5d2a304250d983 SHA512 b895aac68c6df3affb47eaebc243ecf7d778228a5adec8b8a047783e341008ab4beb0fe50b92138f765e7a72acfbe906f63f41aebe1a72544fe3030105d52716
diff --git a/dev-python/jupyterlab/jupyterlab-3.5.3.ebuild b/dev-python/jupyterlab/jupyterlab-3.5.3.ebuild
deleted file mode 100644
index d6b258d2dcd4..000000000000
--- a/dev-python/jupyterlab/jupyterlab-3.5.3.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=jupyter
-
-inherit distutils-r1
-
-DESCRIPTION="JupyterLab computational environment"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyterlab/jupyterlab/
- https://pypi.org/project/jupyterlab/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD MIT GPL-3 Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/jupyter_core[${PYTHON_USEDEP}]
- >=dev-python/jupyterlab_server-2.10[${PYTHON_USEDEP}]
- >=dev-python/jupyter_server-1.16[${PYTHON_USEDEP}]
- >=dev-python/nbclassic-0.2[${PYTHON_USEDEP}]
- <dev-python/notebook-7[${PYTHON_USEDEP}]
- >=dev-python/jinja-2.1[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.2[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- net-libs/nodejs
-"
-
-BDEPEND="
- test? (
- dev-python/check-manifest[${PYTHON_USEDEP}]
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/jupyterlab_server[${PYTHON_USEDEP}]
- dev-python/openapi-core[${PYTHON_USEDEP}]
- dev-python/openapi-spec-validator[${PYTHON_USEDEP}]
- dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
- dev-python/pytest_jupyter[${PYTHON_USEDEP}]
- dev-python/pytest-tornasync[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- dev-python/requests-cache[${PYTHON_USEDEP}]
- dev-python/strict-rfc3339[${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
-)
-
-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.1.5.ebuild b/dev-python/jupyterlab/jupyterlab-4.1.5.ebuild
new file mode 100644
index 000000000000..72f5ef9f095b
--- /dev/null
+++ b/dev-python/jupyterlab/jupyterlab-4.1.5.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=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[${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.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.1.6.ebuild b/dev-python/jupyterlab/jupyterlab-4.1.6.ebuild
new file mode 100644
index 000000000000..46f511433227
--- /dev/null
+++ b/dev-python/jupyterlab/jupyterlab-4.1.6.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} )
+
+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.19[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-server-3[${PYTHON_USEDEP}]
+ >=dev-python/notebook-shim-0.2[${PYTHON_USEDEP}]
+ dev-python/packaging[${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_pygments/Manifest b/dev-python/jupyterlab_pygments/Manifest
deleted file mode 100644
index 664a8ff7a6eb..000000000000
--- a/dev-python/jupyterlab_pygments/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST jupyterlab_pygments-0.2.2.tar.gz 132378 BLAKE2B a9db4c3bfea9e8e6f357c90e9b1861cf2bcb796fe5d7ea9a0f02677773b18dd5a02966d8555cd17e8314b283056ac9423948077d6cdc127985f34a5faf892ec1 SHA512 59d328522b11ecae6ae67ef8f9eb7168b0e4241cc6a68765096bf0ad26a20489f302179d50e7e46efd5b9de711520e2c67ab1e634cc583416277a98a5f663daa
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 2ec276a9cc5a..000000000000
--- a/dev-python/jupyterlab_pygments/jupyterlab_pygments-0.2.2.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=jupyter
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pygments theme making use of JupyterLab CSS variables"
-HOMEPAGE="
- https://pypi.org/project/jupyterlab-pygments/
- https://github.com/jupyterlab/jupyterlab_pygments/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/pygments[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/jupyterlab_server/Manifest b/dev-python/jupyterlab_server/Manifest
deleted file mode 100644
index 3bc058a8cf61..000000000000
--- a/dev-python/jupyterlab_server/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST jupyterlab_server-2.16.5.tar.gz 67949 BLAKE2B 0e2e1ad3ca9163d34762893b3af2e675a8474fdb129e8735e567f111549ecaf1c23693064b757d68aeec63469f071428d827e361b253bcf241474f5386934bba SHA512 b125c3283d42ea813b12f891144665ec5c4a5827cbb01e9f80cd7826ba2647016344f939807c7095021293eb01e5ec3e151ce206272d0dca3eba3d7423fc4a6b
diff --git a/dev-python/jupyterlab_server/jupyterlab_server-2.16.5.ebuild b/dev-python/jupyterlab_server/jupyterlab_server-2.16.5.ebuild
deleted file mode 100644
index b50d8e7a7cb8..000000000000
--- a/dev-python/jupyterlab_server/jupyterlab_server-2.16.5.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=hatchling
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~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-3.0.1[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
- >=dev-python/requests-2.28[${PYTHON_USEDEP}]
- >=dev-python/jupyter_server-1.21[${PYTHON_USEDEP}]
- <dev-python/jupyter_server-3[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-4.8.3[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-
-BDEPEND="
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/jupyter_server[${PYTHON_USEDEP}]
- >=dev-python/openapi-core-0.14.2[${PYTHON_USEDEP}]
- <dev-python/openapi-core-0.15[${PYTHON_USEDEP}]
- dev-python/openapi-spec-validator[${PYTHON_USEDEP}]
- dev-python/pytest_jupyter[${PYTHON_USEDEP}]
- dev-python/pytest-tornasync[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- dev-python/strict-rfc3339[${PYTHON_USEDEP}]
- dev-python/requests-mock[${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
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_tornasync.plugin
-}
diff --git a/dev-python/jwcrypto/Manifest b/dev-python/jwcrypto/Manifest
index 83f1b925eaf8..397258f89f39 100644
--- a/dev-python/jwcrypto/Manifest
+++ b/dev-python/jwcrypto/Manifest
@@ -1 +1 @@
-DIST jwcrypto-1.4.2.gh.tar.gz 94465 BLAKE2B 23b3a18694793cdbdd1875bd9b107ecab8248ac2c6cbf1bf142144633f7dc6efea91b693b808a4a6153b78c1117dbb2fe1f831f7f2558d2476e146961a501c17 SHA512 9967e626bc4a13a12ef09bbf3dada589c2c5374f4addff743c3ca9762c66659f59ca2e0f495cda6bc5821b6ed62aae95d478bf14de0acd6b2696bf0e1a9e7a49
+DIST jwcrypto-1.5.6.gh.tar.gz 97053 BLAKE2B 1955cd4289a8f73b29b3fccb73ae25133c5760949051598e03c262be047094e6d2caf9be928f2f32ee93720f28525e42abb5b7f3ee0efade3036a80332c65d98 SHA512 8a20ee05fc6e63fd30742872650511fa0b635a9545223eb5d25d8a11cc65a4c460ce9182b2f30caee99357e8b1f3f0ac08c2c3a6612bb4e7ee5238ef61398bb4
diff --git a/dev-python/jwcrypto/jwcrypto-1.4.2.ebuild b/dev-python/jwcrypto/jwcrypto-1.4.2.ebuild
deleted file mode 100644
index f3d3716e4b1c..000000000000
--- a/dev-python/jwcrypto/jwcrypto-1.4.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=( pypy3 python3_{9..11} )
-
-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-2.3[${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..10f145b981b6
--- /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..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/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 13c42d28f58f..000000000000
--- a/dev-python/k5test/k5test-0.10.3.ebuild
+++ /dev/null
@@ -1,20 +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="Library for testing Python applications in Kerberos 5 environments"
-HOMEPAGE="
- https://github.com/pythongssapi/k5test/
- https://pypi.org/project/k5test/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-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..2a489501ae81
--- /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..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/kafka-python/Manifest b/dev-python/kafka-python/Manifest
index f60037d646cb..036ad2744e38 100644
--- a/dev-python/kafka-python/Manifest
+++ b/dev-python/kafka-python/Manifest
@@ -1 +1 @@
-DIST kafka-python-2.0.2.tar.gz 327238 BLAKE2B 9d8bdee1cedcc3c7c0bee9d900bb815552b29f50ec45b7db9d1052a26eb772c84d92648ccc0d498189fc44314f5c8c30529fa61cb983481f2e2480e009630f91 SHA512 e193a8fe5852d2134e854749115feba46a0b8ff748336989a27bf56acba1124dbb8a5d841670a67ee26eef030a686d931d03d329f978b2eef7904183e83d2594
+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
new file mode 100644
index 000000000000..8b983952fd47
--- /dev/null
+++ b/dev-python/kafka-python/files/kafka-python-2.0.2-py311-test-fixes.patch
@@ -0,0 +1,26 @@
+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-r2.ebuild b/dev-python/kafka-python/kafka-python-2.0.2-r2.ebuild
new file mode 100644
index 000000000000..bd58114eed30
--- /dev/null
+++ b/dev-python/kafka-python/kafka-python-2.0.2-r2.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
+PYTHON_COMPAT=( python3_{10..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/crc32c[${PYTHON_USEDEP}]
+ dev-python/lz4[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/python-snappy[${PYTHON_USEDEP}]
+ dev-python/zstandard[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-py311-test-fixes.patch"
+)
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Needs kafka server running
+ test/test_consumer_integration.py::test_kafka_consumer_offsets_for_time_old
+ # Rounding problem
+ 'test/record/test_records.py::test_memory_records_builder[1-2]'
+)
+
+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/kafka-python-2.0.2.ebuild b/dev-python/kafka-python/kafka-python-2.0.2.ebuild
deleted file mode 100644
index 697ef4ffe69e..000000000000
--- a/dev-python/kafka-python/kafka-python-2.0.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-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}.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/python-zstandard[${PYTHON_USEDEP}]
- dev-python/snappy[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
-
-python_test() {
- local 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
- )
- epytest ${deselect[@]/#/--deselect }
-}
-
-pkg_postinst() {
- optfeature "LZ4 compression/decompression support" dev-python/lz4
- optfeature "Snappy compression support" dev-python/snappy
- optfeature "ZSTD compression/decompression support" dev-python/python-zstandard
-}
diff --git a/dev-python/kaitaistruct/kaitaistruct-0.10.ebuild b/dev-python/kaitaistruct/kaitaistruct-0.10.ebuild
index a7eb4939d9e7..d2186f5cfcf4 100644
--- a/dev-python/kaitaistruct/kaitaistruct-0.10.ebuild
+++ b/dev-python/kaitaistruct/kaitaistruct-0.10.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_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Kaitai Struct runtime for Python"
HOMEPAGE="
@@ -14,7 +14,6 @@ HOMEPAGE="
https://github.com/kaitai-io/kaitai_struct_python_runtime/
https://pypi.org/project/kaitaistruct/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
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/Manifest b/dev-python/kaptan/Manifest
index 98130d04cb90..07ed224e1e0b 100644
--- a/dev-python/kaptan/Manifest
+++ b/dev-python/kaptan/Manifest
@@ -1 +1 @@
-DIST kaptan-0.5.12.tar.gz 10539 BLAKE2B 678e1aae6053a7075218a0fd9ef928685e7ce9ebf385c6953275b06d1bbf67d4c8434838a7a8f0b0ec8b02e7bef434d7f68698060bea2b4232cd5ef7fa83f0b3 SHA512 fccf767749e9473947bd7cb493ddb30f7dc1b2e10ce932ca327ae3423bc023fa9c76910ac249269ee546eb9162e4ce151e2ad0b9685d888854a7185c855ae143
+DIST kaptan-0.6.0.tar.gz 11861 BLAKE2B e2ce4775716fd3bdd286c3edf0f04ee842cbcd7b1347b6ccf6590ede024769561e2302c685afe9148a8141ce24aa14fdd5037354b548069ec91fcac427a6de78 SHA512 8c65ef67069178ff5480e68c5247e19a4700f26b0f8fa9030631f4103ea235491b238bd673e01c09c7cac7133689940236cbc9b21a92bb4536b902ca239cf7df
diff --git a/dev-python/kaptan/kaptan-0.5.12-r2.ebuild b/dev-python/kaptan/kaptan-0.5.12-r2.ebuild
deleted file mode 100644
index 3976eabb8595..000000000000
--- a/dev-python/kaptan/kaptan-0.5.12-r2.ebuild
+++ /dev/null
@@ -1,19 +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 )
-
-inherit distutils-r1
-
-DESCRIPTION="Configuration manager in your pocket"
-HOMEPAGE="https://github.com/emre/kaptan"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
-
-RDEPEND=">=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/kaptan/kaptan-0.6.0.ebuild b/dev-python/kaptan/kaptan-0.6.0.ebuild
new file mode 100644
index 000000000000..4bd5dac5511c
--- /dev/null
+++ b/dev-python/kaptan/kaptan-0.6.0.ebuild
@@ -0,0 +1,25 @@
+# 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="Configuration manager in your pocket"
+HOMEPAGE="
+ https://github.com/emre/kaptan/
+ https://pypi.org/project/kaptan/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
+
+RDEPEND="
+ >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/kaptan/metadata.xml b/dev-python/kaptan/metadata.xml
index 6b48fa9b48bc..2815297e8d42 100644
--- a/dev-python/kaptan/metadata.xml
+++ b/dev-python/kaptan/metadata.xml
@@ -10,6 +10,7 @@
<name>Python</name>
</maintainer>
<upstream>
+ <remote-id type="github">emre/kaptan</remote-id>
<remote-id type="pypi">kaptan</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/kconfiglib/Manifest b/dev-python/kconfiglib/Manifest
index 44d62384b786..d3ebee99a3b9 100644
--- a/dev-python/kconfiglib/Manifest
+++ b/dev-python/kconfiglib/Manifest
@@ -1 +1 @@
-DIST kconfiglib-14.1.0.tar.gz 182990 BLAKE2B 1e5a5f7e6d1003f4fa005b2b08abfa17cbf9f6837d9320f313b23f19c6e9e7aa7c8fddf5ff38871634257ea050390b279becec0c4e0638cdb53182347217e937 SHA512 929a75f9b9f74ad7d4190c15d7178b94ee0a6d1fb71d85e2942935e3a9370a4f2483d8b49123d41d6610841ad9efde1dc4c14fc5231a08379d438a486ed3f97c
+DIST Kconfiglib-14.1.0.gh.tar.gz 182990 BLAKE2B 1e5a5f7e6d1003f4fa005b2b08abfa17cbf9f6837d9320f313b23f19c6e9e7aa7c8fddf5ff38871634257ea050390b279becec0c4e0638cdb53182347217e937 SHA512 929a75f9b9f74ad7d4190c15d7178b94ee0a6d1fb71d85e2942935e3a9370a4f2483d8b49123d41d6610841ad9efde1dc4c14fc5231a08379d438a486ed3f97c
diff --git a/dev-python/kconfiglib/kconfiglib-14.1.0-r1.ebuild b/dev-python/kconfiglib/kconfiglib-14.1.0-r1.ebuild
index 62a4835ef0f4..2a7b13228389 100644
--- a/dev-python/kconfiglib/kconfiglib-14.1.0-r1.ebuild
+++ b/dev-python/kconfiglib/kconfiglib-14.1.0-r1.ebuild
@@ -4,13 +4,20 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
PYTHON_REQ_USE="ncurses"
+
inherit distutils-r1
DESCRIPTION="A flexible Python Kconfig implementation"
-HOMEPAGE="https://github.com/ulfalizer/Kconfiglib https://pypi.org/project/kconfiglib/"
-SRC_URI="https://github.com/ulfalizer/Kconfiglib/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/ulfalizer/Kconfiglib/
+ https://pypi.org/project/kconfiglib/
+"
+SRC_URI="
+ https://github.com/ulfalizer/Kconfiglib/archive/v${PV}.tar.gz
+ -> ${P^}.gh.tar.gz
+"
S=${WORKDIR}/${P^}
LICENSE="ISC"
diff --git a/dev-python/keep/keep-2.10.1-r1.ebuild b/dev-python/keep/keep-2.10.1-r1.ebuild
deleted file mode 100644
index f450c9f078af..000000000000
--- a/dev-python/keep/keep-2.10.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_10 )
-inherit distutils-r1
-
-DESCRIPTION="Personal shell command keeper and snippets manager"
-HOMEPAGE="https://pypi.org/project/keep/ https://github.com/orkohunter/keep"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/PyGithub[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/terminaltables[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/keep/keep-2.10.1-r2.ebuild b/dev-python/keep/keep-2.10.1-r2.ebuild
new file mode 100644
index 000000000000..eb8e284dce45
--- /dev/null
+++ b/dev-python/keep/keep-2.10.1-r2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Personal shell command keeper and snippets manager"
+HOMEPAGE="
+ https://pypi.org/project/keep/
+ https://github.com/orkohunter/keep
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/PyGithub[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/terminaltables[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ "${EPYTHON}" - <<-EOF || die "Smoke test failed with ${EPYTHON}"
+ import datetime, sys, os
+ import keep.cli, keep.utils
+
+ # avoid automatic initialization, otherwise keep basically just creates
+ # this directory and exits
+ # see https://github.com/OrkoHunter/keep/blob/8dddc00aaaf0e53edbd2477a02d3fe53e38b7f28/keep/utils.py#L53-L63
+ os.makedirs(keep.utils.dir_path, exist_ok=True)
+
+ # keep tries to check newest version on pypi once a day, let's pretend
+ # that this check was already done
+ # see https://github.com/OrkoHunter/keep/blob/8dddc00aaaf0e53edbd2477a02d3fe53e38b7f28/keep/utils.py#L23-L50
+ with open(os.path.join(keep.utils.dir_path, 'update_check.txt'), 'w') as f: f.write(datetime.date.today().strftime("%m/%d/%Y"))
+
+ sys.exit(keep.cli.cli())
+ EOF
+}
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/Manifest b/dev-python/kerberos/Manifest
new file mode 100644
index 000000000000..f513511d400a
--- /dev/null
+++ b/dev-python/kerberos/Manifest
@@ -0,0 +1 @@
+DIST ccs-pykerberos-PyKerberos-1.3.1.gh.tar.gz 41954 BLAKE2B b95a3473c5803ebcb461db7f2589caa03e92f4cb3ba3a4890a31db99b687aa4c77ae4e58f09ae2339a1fd8acf6fe9ab5797e3b7178dfeb2ee7a95bb851fff402 SHA512 dcadc5c3b095d8bba947a745ac84cc558d7eebad139a0e86260891966786506a7a62600fde93fa14683971e436da8cc5cd3795817b20ba45ce7e39f8c05deb53
diff --git a/dev-python/pykerberos/files/pykerberos-1.3.1-python3.10.patch b/dev-python/kerberos/files/kerberos-1.3.1-python3.10.patch
index 7e760187de56..7e760187de56 100644
--- a/dev-python/pykerberos/files/pykerberos-1.3.1-python3.10.patch
+++ b/dev-python/kerberos/files/kerberos-1.3.1-python3.10.patch
diff --git a/dev-python/kerberos/kerberos-1.3.1-r2.ebuild b/dev-python/kerberos/kerberos-1.3.1-r2.ebuild
new file mode 100644
index 000000000000..90f3f8fb914a
--- /dev/null
+++ b/dev-python/kerberos/kerberos-1.3.1-r2.ebuild
@@ -0,0 +1,58 @@
+# 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=ccs-pykerberos-PyKerberos-${PV}
+DESCRIPTION="A high-level Python wrapper for Kerberos/GSSAPI operations"
+HOMEPAGE="
+ https://www.calendarserver.org/PyKerberos.html
+ https://github.com/apple/ccs-pykerberos/
+ https://pypi.org/project/kerberos/
+"
+SRC_URI="
+ https://github.com/apple/ccs-pykerberos/archive/PyKerberos-${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"
+# test environment is non-trivial to set up, so just use docker
+# (see python_test below)
+# also for alpha/beta Python releases support:
+# https://github.com/apple/ccs-pykerberos/pull/83/commits/5f1130a1305b5f6e7d7d8b41067c4713f0c8950f
+RESTRICT="test"
+
+DEPEND="
+ app-crypt/mit-krb5
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3.1-python3.10.patch
+)
+
+python_test() {
+ set -- docker run \
+ -v "${PWD}:/app" \
+ -w /app \
+ -e PYENV=$("${EPYTHON}" -c 'import sys; print(sys.version.split()[0])') \
+ -e KERBEROS_USERNAME=administrator \
+ -e KERBEROS_PASSWORD=Password01 \
+ -e KERBEROS_REALM=example.com \
+ -e KERBEROS_PORT=80 \
+ ubuntu:16.04 \
+ /bin/bash .travis.sh
+ echo "${@}" >&2
+ "${@}" || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/pykerberos/metadata.xml b/dev-python/kerberos/metadata.xml
index 2224354698e0..2224354698e0 100644
--- a/dev-python/pykerberos/metadata.xml
+++ b/dev-python/kerberos/metadata.xml
diff --git a/dev-python/keyring/Manifest b/dev-python/keyring/Manifest
index a6c040323cd6..358cb5dd7100 100644
--- a/dev-python/keyring/Manifest
+++ b/dev-python/keyring/Manifest
@@ -1 +1,4 @@
-DIST keyring-23.13.1.gh.tar.gz 49199 BLAKE2B 46ac7cb3237c7e0a061e9c4c30dba02d9a9c92d377f3db1b79b1c9bc4c5b8b866ffbda8354bbe5848a9db4c6834aec1c0b36f75d5c540ccc29ab71bd6adf30f4 SHA512 b0fc17157536178bba3a8f27f152a1cba497bc9ba2fc73d29ac9d8e61a2be51bdb0dea100eef9ab59979a9b0f8c8d15ca222e5fdc2c7d06d202955b18f21bf24
+DIST keyring-24.3.1.tar.gz 60454 BLAKE2B cb0a9b82163febbbd737f2f25353bf96cbb7b8a87c7db00523960b3fce5595c6af65bc02b7d070b0fa5a466fc53530975de8f7a44ab9a9f783d2db34b1a67901 SHA512 53f26763175c7f1de041d8805062696ef3ef6c79792cdc75ae72621da8e729ac4cbb6e76937db2a0a5ce4bc41ab92c164d62e4627f92edab8c0d0fc02ca4980e
+DIST keyring-25.0.0.tar.gz 59863 BLAKE2B b1b955215bf197f52e64c46572f29c2059f75f5eadce249fe1776f10f7f1c6d20428a811a8c36fe4bb85142f61f6281c71e2b97b1f8657fdc35a5075b840d39f SHA512 9b7f25aea1166f80b1b6ded7d691295690dac679e9f931437ae83fc2bf465c541bb1ed74b99a0de749a04df60576e9fe068f2f86b39a3c5bcef953b616678951
+DIST keyring-25.0.1.tar.gz 60063 BLAKE2B 1ffddfa13b672b9811069c09870ab59b9ab3f613ac0348302a14e5475b541f16dd923f20c09dd3d08767b3174eef93716dffd2898585ab12dee9d04f06a43fdb SHA512 3f18b670631e4f0f3ebb06184b6c07e19fe7184b7fe0512531f8d532de296641ceb753b4988b0f6f1ada37d5da4fb1696f2af450b7eeb24e0a0b9ea2ac769ef5
+DIST keyring-25.1.0.tar.gz 60191 BLAKE2B 90cf0088f7740f6bc6562173b98630f885eca4c011be513532630ecaf4ca327053e37444b88ef5110a224567a68ad14228f59cf859090761be08a17d007b18ba SHA512 991023f96c9ffa98b65ee48cb07908bfa0c2a56af13aba60f476a5c99eea9c627112a8eb777c2a8be1ae87cfc8fc79ba68c9ca08ed53002e9e240e64f937cff4
diff --git a/dev-python/keyring/keyring-23.13.1-r1.ebuild b/dev-python/keyring/keyring-23.13.1-r1.ebuild
deleted file mode 100644
index fcef2b34ff55..000000000000
--- a/dev-python/keyring/keyring-23.13.1-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=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Provides access to the system keyring service"
-HOMEPAGE="
- https://github.com/jaraco/keyring/
- https://pypi.org/project/keyring/
-"
-SRC_URI="
- https://github.com/jaraco/keyring/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-SLOT="0"
-LICENSE="PSF-2"
-KEYWORDS="amd64 arm arm64 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.8 3.9 3.10 3.11)
- $(python_gen_cond_dep '
- dev-python/importlib_resources
- ' 3.8)
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-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
-)
-
-python_compile() {
- distutils-r1_python_compile
- # https://github.com/jaraco/keyring/issues/621
- python_moduleinto keyring
- python_domodule keyring/{py.typed,*.zsh}
-}
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.0.0.ebuild b/dev-python/keyring/keyring-25.0.0.ebuild
new file mode 100644
index 000000000000..f5cf6e60f5ce
--- /dev/null
+++ b/dev-python/keyring/keyring-25.0.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} 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
+
+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.0.1.ebuild b/dev-python/keyring/keyring-25.0.1.ebuild
new file mode 100644
index 000000000000..4e1deec56116
--- /dev/null
+++ b/dev-python/keyring/keyring-25.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
+
+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/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/keyring/keyring-25.1.0.ebuild b/dev-python/keyring/keyring-25.1.0.ebuild
new file mode 100644
index 000000000000..4e1deec56116
--- /dev/null
+++ b/dev-python/keyring/keyring-25.1.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} 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 15929005b4e3..f452ef154b85 100644
--- a/dev-python/keyrings-alt/Manifest
+++ b/dev-python/keyrings-alt/Manifest
@@ -1 +1,2 @@
-DIST keyrings.alt-4.2.0.gh.tar.gz 27017 BLAKE2B 736c3de24f54340c7f0c1e8e2b5eb453211fa2a786ec8ac98f9ae959d6f8f661b6d572f06cd362550d0a72bc7e3fbd44746d192e670ab61f7964d4f614aab870 SHA512 395b5a53cb05f3bc96aaf0a2dd826b185902d1ef03f9603f4731bf334938cfd36c7430e41ed7f6c574d54c56ed6a77e1160c741b02877cd3c1169ae1ca86f437
+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-4.2.0.ebuild b/dev-python/keyrings-alt/keyrings-alt-4.2.0.ebuild
deleted file mode 100644
index 124dd8c94fba..000000000000
--- a/dev-python/keyrings-alt/keyrings-alt-4.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P="${P/-/.}"
-DESCRIPTION="Alternate keyring implementations"
-HOMEPAGE="
- https://github.com/jaraco/keyrings.alt/
- https://pypi.org/project/keyrings.alt/
-"
-SRC_URI="
- https://github.com/jaraco/keyrings.alt/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/jaraco-classes[${PYTHON_USEDEP}]
- !dev-python/keyrings_alt
-"
-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
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-src_prepare() {
- # oldschool namespaces
- rm keyrings/__init__.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- epytest -k 'not Cryptodome'
-}
diff --git a/dev-python/keyrings-alt/keyrings-alt-5.0.0.ebuild b/dev-python/keyrings-alt/keyrings-alt-5.0.0.ebuild
new file mode 100644
index 000000000000..fc8d12b68267
--- /dev/null
+++ b/dev-python/keyrings-alt/keyrings-alt-5.0.0.ebuild
@@ -0,0 +1,44 @@
+# 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="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/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/keystoneauth/Manifest b/dev-python/keystoneauth/Manifest
deleted file mode 100644
index deeff9203eaf..000000000000
--- a/dev-python/keystoneauth/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST keystoneauth1-5.1.0.tar.gz 269600 BLAKE2B 5ea3885f34fe96f9a07f7bb5cbcadb1382ae5b06ae7afb627ad6b25b8b6d17ba5448f78cdcf1d89dd799d062950a8b66a1f58c5779fee7615db97557eb4ee9fa SHA512 1bb17818524256cf1a6a73d9bdd933451dae34f89be0fc6fb6a88f2207ce6b068e086b463abb904b0c9c20a9450b208321026c980e7af2cbbddc5bd75ee20d5b
-DIST keystoneauth1-5.1.1.tar.gz 269800 BLAKE2B 413149a14837ec4aebbb6e3a35ff3296ca0427a585262131373b57a53b6eddd1d61701a5eef705ab4db9e528c39a17e916b07615e7f41681cb4dd0f14583a851 SHA512 0c84e0e2bc251fdff54fb4fa7efa65e60865224c48da9a8b3f548101e828516d1cdb33d4a966015384a7107af7754017d6483c9d43a05788030a65766686ba48
diff --git a/dev-python/keystoneauth/keystoneauth-5.1.0.ebuild b/dev-python/keystoneauth/keystoneauth-5.1.0.ebuild
deleted file mode 100644
index c6cf45d5c679..000000000000
--- a/dev-python/keystoneauth/keystoneauth-5.1.0.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="This package contains tools for authenticating to an OpenStack-based cloud"
-HOMEPAGE="https://github.com/openstack/keystoneauth"
-HOMEPAGE="
- https://opendev.org/openstack/keystoneauth/
- https://github.com/openstack/keystoneauth/
- https://pypi.org/project/keystoneauth1/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}1/${PN}1-${PV}.tar.gz"
-S="${WORKDIR}/${PN}1-${PV}"
-
-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 unittest
-
-src_prepare() {
- # relies on specific test runner name
- sed -i -e 's:run\.py:unittest_or_fail.py:' \
- keystoneauth1/tests/unit/test_session.py || die
- # remove the test that requires hacking
- rm keystoneauth1/tests/unit/test_hacking_checks.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- eunittest -b
-}
diff --git a/dev-python/keystoneauth/keystoneauth-5.1.1.ebuild b/dev-python/keystoneauth/keystoneauth-5.1.1.ebuild
deleted file mode 100644
index 4af2a2f4a7c1..000000000000
--- a/dev-python/keystoneauth/keystoneauth-5.1.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_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="This package contains tools for authenticating to an OpenStack-based cloud"
-HOMEPAGE="https://github.com/openstack/keystoneauth"
-HOMEPAGE="
- https://opendev.org/openstack/keystoneauth/
- https://github.com/openstack/keystoneauth/
- https://pypi.org/project/keystoneauth1/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}1/${PN}1-${PV}.tar.gz"
-S="${WORKDIR}/${PN}1-${PV}"
-
-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 unittest
-
-src_prepare() {
- # relies on specific test runner name
- sed -i -e 's:run\.py:unittest_or_fail.py:' \
- keystoneauth1/tests/unit/test_session.py || die
- # remove the test that requires hacking
- rm keystoneauth1/tests/unit/test_hacking_checks.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- eunittest -b
-}
diff --git a/dev-python/keystoneauth1/Manifest b/dev-python/keystoneauth1/Manifest
new file mode 100644
index 000000000000..46a03f1523d3
--- /dev/null
+++ b/dev-python/keystoneauth1/Manifest
@@ -0,0 +1 @@
+DIST keystoneauth1-5.6.0.tar.gz 275560 BLAKE2B 394c32973ef2b1592263bc1b37fe51c63417ec955d3b2f4e330ff2fe3ebc45e389c5e8e1d7707153b0dc2c5d12050894994292e28c295deb44a972431e8aaf18 SHA512 cb80fd5f804ea2f1152a99a8935ea31e305e693bd6095560d8fb1f3a0b60cdd8c167609818b43b8ea52c34ebd443202ca5dc391f4e67d82a04731216f504fd87
diff --git a/dev-python/keystoneauth1/keystoneauth1-5.6.0.ebuild b/dev-python/keystoneauth1/keystoneauth1-5.6.0.ebuild
new file mode 100644
index 000000000000..ed2cf6660439
--- /dev/null
+++ b/dev-python/keystoneauth1/keystoneauth1-5.6.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..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
+ # 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/keystoneauth/metadata.xml b/dev-python/keystoneauth1/metadata.xml
index e27877a6d52a..e27877a6d52a 100644
--- a/dev-python/keystoneauth/metadata.xml
+++ b/dev-python/keystoneauth1/metadata.xml
diff --git a/dev-python/python-keyutils/Manifest b/dev-python/keyutils/Manifest
index ede0964a7001..ede0964a7001 100644
--- a/dev-python/python-keyutils/Manifest
+++ b/dev-python/keyutils/Manifest
diff --git a/dev-python/keyutils/keyutils-0.6-r2.ebuild b/dev-python/keyutils/keyutils-0.6-r2.ebuild
new file mode 100644
index 000000000000..b745cedffdc8
--- /dev/null
+++ b/dev-python/keyutils/keyutils-0.6-r2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1
+
+DESCRIPTION="A set of python bindings for keyutils"
+HOMEPAGE="https://github.com/sassoftware/python-keyutils/"
+SRC_URI="https://github.com/sassoftware/python-keyutils/archive/refs/tags/${PV}.tar.gz -> python-keyutils-${PV}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+
+BDEPEND="dev-python/cython[${PYTHON_USEDEP}]"
+DEPEND="sys-apps/keyutils"
+RDEPEND="${DEPEND}"
+
+distutils_enable_tests pytest
+
+S="${WORKDIR}/python-keyutils-${PV}"
+
+src_prepare() {
+ default
+ sed -i -e '/pytest-runner/d' setup.py || die
+ rm keyutils/_keyutils.c || die
+}
+
+python_test() {
+ ln -s "${S}"/test "${BUILD_DIR}"/test || die
+ cd "${BUILD_DIR}" || die
+ distutils-r1_python_test
+}
diff --git a/dev-python/python-keyutils/metadata.xml b/dev-python/keyutils/metadata.xml
index 87a03116424d..87a03116424d 100644
--- a/dev-python/python-keyutils/metadata.xml
+++ b/dev-python/keyutils/metadata.xml
diff --git a/dev-python/kgb/kgb-7.1.1.ebuild b/dev-python/kgb/kgb-7.1.1.ebuild
index b54e280e63a2..9167429c4851 100644
--- a/dev-python/kgb/kgb-7.1.1.ebuild
+++ b/dev-python/kgb/kgb-7.1.1.ebuild
@@ -4,21 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P=${PN}-release-${PV}
DESCRIPTION="Python function spy support for unit tests"
HOMEPAGE="
https://github.com/beanbaginc/kgb/
https://pypi.org/project/kgb/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 arm64 x86"
distutils_enable_tests pytest
diff --git a/dev-python/kiwisolver/Manifest b/dev-python/kiwisolver/Manifest
index 806e607d5d45..cead14b39286 100644
--- a/dev-python/kiwisolver/Manifest
+++ b/dev-python/kiwisolver/Manifest
@@ -1 +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/kiwisolver-1.4.4.ebuild b/dev-python/kiwisolver/kiwisolver-1.4.4.ebuild
deleted file mode 100644
index 5be09beaa63e..000000000000
--- a/dev-python/kiwisolver/kiwisolver-1.4.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_{9..11} )
-
-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"
-
-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}]
-"
-
-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
new file mode 100644
index 000000000000..cd565903a26c
--- /dev/null
+++ b/dev-python/kiwisolver/kiwisolver-1.4.5.ebuild
@@ -0,0 +1,41 @@
+# 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}]
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/klein/Manifest b/dev-python/klein/Manifest
index 5b57ead8ae3a..0acad6869039 100644
--- a/dev-python/klein/Manifest
+++ b/dev-python/klein/Manifest
@@ -1 +1 @@
-DIST klein-21.8.0.tar.gz 100578 BLAKE2B ea2535e93affebe822ff086eb5749481edf7811340a35b11319b7c23b23d3877f6208ac1ef6cc7a4bb9eedd33d087820304f2ee71695413d72308e83c47aa2ee SHA512 cce28865e172effb6044f73c1841875fa5eb55daf20dcea482d0764604ab826ca5063a4679165bb253953d54428a42c2082022fd273e2a1083aefa595a563ccd
+DIST klein-23.12.0.tar.gz 103287 BLAKE2B ee6afe720a8cb68a28dd0dfc666de713c2188efbd92d31a669ac2db0c49afa3b61860bd2db216d0f846fb5d273105a18b8d443813c8e5d0e970ae9bece66e521 SHA512 2833d3b4ea53ccb62eccf72051b66867ca73c43dee0eb84aac9bd4ec4ba04b1b00acc5391863f0960eda2e5c329fc5b9537603997b9fa703750a3906febbbf72
diff --git a/dev-python/klein/files/klein-21.8.0-test_resource.patch b/dev-python/klein/files/klein-21.8.0-test_resource.patch
deleted file mode 100644
index c9779c46ac17..000000000000
--- a/dev-python/klein/files/klein-21.8.0-test_resource.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-https://github.com/twisted/klein/commit/bce8b85036a6d185b9e8aab037c805f81354544c
-
-From bce8b85036a6d185b9e8aab037c805f81354544c Mon Sep 17 00:00:00 2001
-From: Glyph <glyph@twistedmatrix.com>
-Date: Tue, 31 May 2022 17:44:13 -0700
-Subject: [PATCH] testing exact content-length is way too strict
-
---- a/src/klein/test/test_resource.py
-+++ b/src/klein/test/test_resource.py
-@@ -2,7 +2,7 @@
- from io import BytesIO
- from types import MappingProxyType
- from typing import Any, Callable, List, Mapping, Optional, Sequence, cast
--from unittest.mock import Mock, call
-+from unittest.mock import ANY, Mock, call
- from urllib.parse import parse_qs
-
- from werkzeug.exceptions import NotFound
-@@ -642,7 +642,7 @@ def foo(request: IRequest) -> KleinRenderable:
- request.setHeader.assert_has_calls(
- [
- call(b"Content-Type", b"text/html; charset=utf-8"),
-- call(b"Content-Length", b"258"),
-+ call(b"Content-Length", ANY),
- call(b"Location", b"http://localhost:8080/foo/"),
- ]
- )
-
diff --git a/dev-python/klein/klein-21.8.0.ebuild b/dev-python/klein/klein-21.8.0.ebuild
deleted file mode 100644
index 22e5725d4695..000000000000
--- a/dev-python/klein/klein-21.8.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="micro-framework for developing production-ready web services with Python"
-HOMEPAGE="https://pypi.org/project/klein/ https://github.com/twisted/klein/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-
-RDEPEND="
- dev-python/attrs[${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}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-test_resource.patch
-)
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # known test fail: https://github.com/twisted/klein/issues/339
-# sed -e 's/big world/big+world/' \
-# -e 's/4321)]/4321.0)]/' \
-# -e 's/not a number/not+a+number/' \
-# -i src/klein/test/test_form.py || die
-
- distutils-r1_python_prepare_all
-}
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..9395225bb7ec
--- /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..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/treq[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
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 ac09c93dc8b9..0e15fc06f026 100644
--- a/dev-python/kombu/Manifest
+++ b/dev-python/kombu/Manifest
@@ -1 +1,2 @@
-DIST kombu-5.3.0b2.tar.gz 434341 BLAKE2B 6d5188f7682ccf2daa6ca4ed0fec7988cd4781954be0fdc847c18e47d5c425a657c3df0f5bda7999c764de293626e119a4645e92ff7bf23328f4fcb9d6f4cd4a SHA512 3000577cc3b2acfb378396640245f2bdf4c9e5e1d45252a27e4e168e22ff4070f480ad1fd70059b24cd710c452924bff1716f69bedcf020446f428f0967de832
+DIST kombu-5.3.6.tar.gz 439311 BLAKE2B 6be4f7b1459f9f48ba933075871a8f34c3817b5a7fa31875f4370b88abc8271a86ff628e94cbe5a1474f9fa01b99ecd98dfa6ada8dfcfaa26e518d15e83e1b6e SHA512 22712b3f105a87790103e8df3565d9bfa30bfadc706d7f8d8dc7eb908575603b8f3f596cc04b428bd69ff63b484509aadf0f031a792e315883d3dc878705a79e
+DIST kombu-5.3.7.tar.gz 439344 BLAKE2B 9443cb7d9d03ca7ed49b1e2c5a413e5d5633ccaf8cb2b8545b4bd0a7a7699f7fc773f735e6b26abf582502f1dbf11b088c612d749f09cab99950e145e8ee82e0 SHA512 48104d61a7c38a211ec378f90aade09d682a99d4f8b3d18b4bce49b51c80be794ab4b012d2974893fbc630a37c52dad10fb57f8335238b3002a64e025a148ee2
diff --git a/dev-python/kombu/kombu-5.3.0_beta2.ebuild b/dev-python/kombu/kombu-5.3.0_beta2.ebuild
deleted file mode 100644
index fd7cbf3cfe64..000000000000
--- a/dev-python/kombu/kombu-5.3.0_beta2.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 )
-
-inherit distutils-r1 optfeature
-
-MY_PV="${PV//_beta/b}"
-MY_P="${PN}-${MY_PV}"
-DESCRIPTION="AMQP Messaging Framework for Python"
-HOMEPAGE="
- https://github.com/celery/kombu/
- https://pypi.org/project/kombu/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="examples"
-
-RDEPEND="
- >=dev-python/py-amqp-5.1.1[${PYTHON_USEDEP}]
- <dev-python/py-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/Pyro4[${PYTHON_USEDEP}]
- dev-python/pytest-freezegun[${PYTHON_USEDEP}]
- dev-python/python-zstandard[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}]
- >=dev-python/redis-py-4.2.2[${PYTHON_USEDEP}]
- dev-python/sqlalchemy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/sphinx_celery
-
-EPYTEST_IGNORE=(
- # Unpackaged azure-servicebus
- t/unit/transport/test_azureservicebus.py
- # Unpackaged librabbitmq
- t/unit/transport/test_librabbitmq.py
- # Unpackaged python-consul
- t/unit/transport/test_consul.py
- # AttributeError: test_Etcd instance has no attribute 'patch'
- t/unit/transport/test_etcd.py
-)
-
-python_test() {
- local EPYTEST_DESELECT
-
- # AttributeError: 'str' object has no attribute 'load'
- [[ ${EPYTHON} == python3.10 ]] && \
- EPYTEST_DESELECT+=( t/unit/utils/test_compat.py::test_entrypoints )
-
- 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 "Pyro 4 backend" dev-python/Pyro4
- optfeature "Redis backend" dev-python/redis-py
- 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/python-zstandard
-}
diff --git a/dev-python/kombu/kombu-5.3.6.ebuild b/dev-python/kombu/kombu-5.3.6.ebuild
new file mode 100644
index 000000000000..1dc983b25728
--- /dev/null
+++ b/dev-python/kombu/kombu-5.3.6.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_{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..a293597a7827
--- /dev/null
+++ b/dev-python/kombu/kombu-5.3.7.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_{10..12} )
+
+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/krb5/Manifest b/dev-python/krb5/Manifest
index ee776095b26e..3e65c0787c02 100644
--- a/dev-python/krb5/Manifest
+++ b/dev-python/krb5/Manifest
@@ -1 +1 @@
-DIST krb5-0.4.1.tar.gz 218745 BLAKE2B 8b7e6ab921462ec03c4ca23d83dcfbb8f03b2538edac1a920e68bc3f53c518c942a5f54a96c201a11667e0f4d82882d321808683efa0e5ed1d00df569aa73f2f SHA512 089b3abf3a9402248ed04ab4b47672e0de88c5c73c0c705ac129e499ff53931ffcf7fc6a6bdf9b0f9e03e9010f25dcc61b9a2d33c6b67f5b741a477fb5199265
+DIST krb5-0.5.1.tar.gz 221059 BLAKE2B ca7bff0caa192af0493b58e5254bcc45f43aece32ae2d57950d6293506ff8261a53d5990905d4d3a974c9843f6435dd6526c3d3210b9ebe8cda76d640410f213 SHA512 474484d2ffcf94e9855b017a7f8ca29894c4e3c1f4c0d872952bb1b7c1772b319b7a358c5e44cb3be036ea707a58fc1c526f8abb2c3d1d9b8af8525bb769923f
diff --git a/dev-python/krb5/krb5-0.4.1.ebuild b/dev-python/krb5/krb5-0.4.1.ebuild
deleted file mode 100644
index b049b3f1e706..000000000000
--- a/dev-python/krb5/krb5-0.4.1.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Kerberos API bindings for Python"
-HOMEPAGE="
- https://github.com/jborean93/pykrb5/
- https://pypi.org/project/krb5/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-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/krb5/krb5-0.5.1.ebuild b/dev-python/krb5/krb5-0.5.1.ebuild
new file mode 100644
index 000000000000..4a3bacb22774
--- /dev/null
+++ b/dev-python/krb5/krb5-0.5.1.ebuild
@@ -0,0 +1,32 @@
+# 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 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 9378952f5e56..75498eec6a3c 100644
--- a/dev-python/lark/Manifest
+++ b/dev-python/lark/Manifest
@@ -1 +1 @@
-DIST lark-1.1.5.tar.gz 246737 BLAKE2B 2111bb6c2f6eaa05b803daf11f0f55641c9b3943a97f943fd27b5dd33f8b511e3b0fc4fb335edbb3926ad19da6cb2696b7f87003b7def068cae1d805b3feb8d9 SHA512 8103e050745c83c99b077667aa8b1d4dfad28f5554d2381534b3518d8d3e8adb70f0304fdc7e1c762d3ea26089181d9632dea155b6cd97237078b89330a6711e
+DIST lark-1.1.9.tar.gz 255451 BLAKE2B 0bdb34a75c17800cc6819413011de879a163317c7414b260e1a4a0ccc4b40d11636fad1ae84946e0408096525b6cfeb6f725c95caed8043d3dff3e318d15be1f SHA512 4d711451f129312a28cff84239a2928fdff96df1445f77ae7a9d882d13791a58e44663ef70fd064df954094878214611ee1313ce9315c8dcfb0833b003a3774f
diff --git a/dev-python/lark/lark-1.1.5.ebuild b/dev-python/lark/lark-1.1.5.ebuild
deleted file mode 100644
index 67e851fffc04..000000000000
--- a/dev-python/lark/lark-1.1.5.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/lark/${P}.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/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..302e7201818e
--- /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..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"
+
+# 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..c27d210ececa 100644
--- a/dev-python/latexcodec/Manifest
+++ b/dev-python/latexcodec/Manifest
@@ -1 +1,2 @@
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
new file mode 100644
index 000000000000..673f1e4b29e3
--- /dev/null
+++ b/dev-python/latexcodec/latexcodec-2.0.1-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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-2.0.1.ebuild b/dev-python/latexcodec/latexcodec-2.0.1.ebuild
deleted file mode 100644
index 1050369a5c3a..000000000000
--- a/dev-python/latexcodec/latexcodec-2.0.1.ebuild
+++ /dev/null
@@ -1,20 +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="Lexer and codec to work with LaTeX code in Python"
-HOMEPAGE="https://github.com/mcmtroffaes/latexcodec/ https://pypi.org/project/latexcodec/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~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..3469fee5964e
--- /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..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"
+
+distutils_enable_tests pytest
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..1f89c455db85
--- /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..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
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
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 930f10de1534..abb574d0db45 100644
--- a/dev-python/lazy-object-proxy/Manifest
+++ b/dev-python/lazy-object-proxy/Manifest
@@ -1,2 +1 @@
-DIST lazy-object-proxy-1.8.0.tar.gz 41884 BLAKE2B a2869137ccedc2971bd341dea954fecf87ab1829c85fadb3128abc296df000d4015e6a210067327a7f5606b9e4c56c6ff3a1110e2a2ae998951f9d141be1c556 SHA512 a682e7d1ef405939f5f75f598618d6c7de482decf8027abcf4c7c2b684b3442ca3b1a666d1913e9c7f63c086753e0d79b8c1b03c0cafe8cbea3d7c70893be57f
-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..f72801a86690
--- /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..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"
+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.8.0.ebuild b/dev-python/lazy-object-proxy/lazy-object-proxy-1.8.0.ebuild
deleted file mode 100644
index 56a7f4ab0c8e..000000000000
--- a/dev-python/lazy-object-proxy/lazy-object-proxy-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_{9..11} pypy3 )
-inherit distutils-r1
-
-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/"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.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"
-
-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-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 8d971245c59b..000000000000
--- a/dev-python/lazy-object-proxy/lazy-object-proxy-1.9.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.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"
-
-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/ldap3/ldap3-2.9.1.ebuild b/dev-python/ldap3/ldap3-2.9.1.ebuild
index e8f0b05796d8..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..10} 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 f9eae8596545..000000000000
--- a/dev-python/leather/leather-0.3.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=( python3_{9..11} )
-
-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"
-
-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..5d92cba06136
--- /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..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"
+
+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 9fdc752b34f0..9e7551f1078f 100644
--- a/dev-python/leechcorepyc/Manifest
+++ b/dev-python/leechcorepyc/Manifest
@@ -1 +1,2 @@
-DIST leechcorepyc-2.13.0.tar.gz 123152 BLAKE2B 8a3ae5b0f0d52296ef71bbbea5140f9dec6abd379ae2a1b0e3a418090a11e5196731b1c4cba5320d4058c562911366cc9dd84f3a30f58ddc7c66362a9b39af8f SHA512 1420f635bebafe1e07cb5f0ade3e6b141433d4a72ec165713f959dc19e05f42a86440c5c99dd5d759aee221ee478e91e7161541cebe11be6dfa286fad79843ae
+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.12.0-respect-CC.patch b/dev-python/leechcorepyc/files/leechcorepyc-2.12.0-respect-CC.patch
deleted file mode 100644
index 6bf48b0c6bcd..000000000000
--- a/dev-python/leechcorepyc/files/leechcorepyc-2.12.0-respect-CC.patch
+++ /dev/null
@@ -1,41 +0,0 @@
---- a/leechcore/Makefile
-+++ b/leechcore/Makefile
-@@ -1,7 +1,8 @@
--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`
- #CFLAGS += -g -O0 -Wextra -Wno-unused-parameter
--CFLAGS += -fPIE -fPIC -pie -fstack-protector -D_FORTIFY_SOURCE=2 -O1 -Wl,-z,noexecstack
-+CFLAGS += -fPIE -fPIC -pie -D_FORTIFY_SOURCE=2 -Wl,-z,noexecstack
- CFLAGS += -Wall -Wno-unused-result -Wno-unused-variable -Wno-unused-value -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast
- LDFLAGS += -g -ldl -shared
- DEPS = leechcore.h
---- 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_device_sp605tcp/Makefile
-+++ b/leechcore_device_sp605tcp/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.13.0.ebuild b/dev-python/leechcorepyc/leechcorepyc-2.13.0.ebuild
deleted file mode 100644
index dfca07f07633..000000000000
--- a/dev-python/leechcorepyc/leechcorepyc-2.13.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 toolchain-funcs
-
-DESCRIPTION="Python binding for LeechCore Physical Memory Acquisition Library"
-HOMEPAGE="https://github.com/ufrisk/LeechCore"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.12.0-respect-CC.patch
-)
-
-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/lesscpy/lesscpy-0.15.1.ebuild b/dev-python/lesscpy/lesscpy-0.15.1.ebuild
index c8068034e850..8f8d8abf760a 100644
--- a/dev-python/lesscpy/lesscpy-0.15.1.ebuild
+++ b/dev-python/lesscpy/lesscpy-0.15.1.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A compiler written in Python for the LESS language"
HOMEPAGE="
https://github.com/lesscpy/lesscpy/
https://pypi.org/project/lesscpy/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/lesscpy/metadata.xml b/dev-python/lesscpy/metadata.xml
index 033a4f767102..1b5106dc94c5 100644
--- a/dev-python/lesscpy/metadata.xml
+++ b/dev-python/lesscpy/metadata.xml
@@ -10,6 +10,7 @@
<name>Python</name>
</maintainer>
<upstream>
+ <remote-id type="github">lesscpy/lesscpy</remote-id>
<remote-id type="pypi">lesscpy</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/libarchive-c/Manifest b/dev-python/libarchive-c/Manifest
index 009a87bd751e..0922822df8aa 100644
--- a/dev-python/libarchive-c/Manifest
+++ b/dev-python/libarchive-c/Manifest
@@ -1 +1 @@
-DIST libarchive-c-4.0.gh.tar.gz 47743 BLAKE2B c6246b35a9a389c6cd999b32412436f8134737a4cba1c0bf8a905e3ba6e1653c515956f43a580901dd4278cbc00b783ecfa7a4306f0fc7ca2d2666b3af500cb8 SHA512 787b049a5f06d7370369a6bb2d9ebab6e4e5eda0a4f839906e205a7e19a00f9f7e350d4c42e3434e345063dd0ea44e5b0b4c0524033b05a6d8f15758757c5c36
+DIST python-libarchive-c-5.1.gh.tar.gz 48816 BLAKE2B 5b727c88eca866f69eda701ca8898d4bd3b68adefb8234a501cb280fae2be98f1314bb64ff94bcc5e1c0cae9ffc6866ee70aa4fbc4353eac1f16d59f9a789ebc SHA512 a2026aba3ef325f10e981e15e50de0435d7371642b0e6df8cd5ab64e76186b2a72297b32f429547e091fb799c9d0fa41be5a6824408c08f6c71585d59175d7a0
diff --git a/dev-python/libarchive-c/libarchive-c-4.0.ebuild b/dev-python/libarchive-c/libarchive-c-4.0.ebuild
deleted file mode 100644
index 2cd5020745b4..000000000000
--- a/dev-python/libarchive-c/libarchive-c-4.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} )
-inherit distutils-r1
-
-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/refs/tags/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}"/python-${P}
-
-LICENSE="CC0-1.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc64 x86"
-
-RDEPEND="app-arch/libarchive"
-BDEPEND="test? ( dev-python/mock[${PYTHON_USEDEP}] )"
-
-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..e51d486f8d02
--- /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..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/libcloud/Manifest b/dev-python/libcloud/Manifest
deleted file mode 100644
index e1c16eda4736..000000000000
--- a/dev-python/libcloud/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST apache-libcloud-3.6.1.tar.bz2 1944060 BLAKE2B 61e1481cc8e4e3e017c262d20666ee33a79ccb78bbc0d682dfe6f63df26f21c06897ec98b0df56a27ac6ee92922a08ecb98451c1680c323f042a497379f91090 SHA512 292166aa1eda4b31eb1552c91d9acd54001c363471f1fdd5310e3e25519d7e1f599d9566f55a0c10ece08d544774e1abca3043283b1e7dd93bfadb7e36b02e22
-DIST apache-libcloud-3.7.0.tar.bz2 1979020 BLAKE2B f8630a5c559cba9ae6f7792ffc9cf4ba6eb2fdaa28d6ae148a5d2e978ee66eec9a39b16741446b78b047bf2454de860148a13bce3dbd8627dbc7dac43543b808 SHA512 315866947d2c748e4a13c4c2a4147a2a8e79cbb85e9e83fded3f89ff8a50c531acf1062a4e21c61448c20e7f7e7f9d1317d3c43ecfe2fb75155c0d81ff03f889
diff --git a/dev-python/libcloud/libcloud-3.6.1.ebuild b/dev-python/libcloud/libcloud-3.6.1.ebuild
deleted file mode 100644
index dd80485a7313..000000000000
--- a/dev-python/libcloud/libcloud-3.6.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_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="ssl(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Unified Interface to the Cloud - python support libs"
-HOMEPAGE="https://libcloud.apache.org/"
-SRC_URI="mirror://apache/${PN}/apache-${P}.tar.bz2"
-S="${WORKDIR}/apache-${P}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-IUSE="examples"
-
-RDEPEND="
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- >=dev-python/requests-2.5.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/cryptography-2.6.1[${PYTHON_USEDEP}]
- dev-python/lockfile[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- )
-"
-
-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
- libcloud/test/test_connection.py::ConnectionClassTestCase::test_retry_on_all_default_retry_exception_classes
- # TODO
- libcloud/test/compute/test_ssh_client.py::ParamikoSSHClientTests::test_key_file_non_pem_format_error
-)
-
-src_prepare() {
- if use examples; then
- mkdir examples || die
- mv example_*.py examples || die
- fi
-
- # needed for tests
- cp libcloud/test/secrets.py-dist libcloud/test/secrets.py || die
-
- distutils-r1_src_prepare
-}
-
-src_install() {
- use examples && dodoc -r examples
- distutils-r1_src_install
-}
diff --git a/dev-python/libcloud/libcloud-3.7.0.ebuild b/dev-python/libcloud/libcloud-3.7.0.ebuild
deleted file mode 100644
index 35baa9f463b2..000000000000
--- a/dev-python/libcloud/libcloud-3.7.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=( python3_{9..11} )
-PYTHON_REQ_USE="ssl(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Unified Interface to the Cloud - python support libs"
-HOMEPAGE="https://libcloud.apache.org/"
-SRC_URI="mirror://apache/${PN}/apache-${P}.tar.bz2"
-S="${WORKDIR}/apache-${P}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-IUSE="examples"
-
-RDEPEND="
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- >=dev-python/requests-2.5.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/cryptography-2.6.1[${PYTHON_USEDEP}]
- dev-python/lockfile[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- )
-"
-
-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
- libcloud/test/test_connection.py::ConnectionClassTestCase::test_retry_on_all_default_retry_exception_classes
- # TODO
- libcloud/test/compute/test_ssh_client.py::ParamikoSSHClientTests::test_key_file_non_pem_format_error
-)
-
-src_prepare() {
- if use examples; then
- mkdir examples || die
- mv example_*.py examples || die
- fi
-
- # needed for tests
- cp libcloud/test/secrets.py-dist libcloud/test/secrets.py || die
-
- distutils-r1_src_prepare
-}
-
-src_install() {
- use examples && dodoc -r examples
- distutils-r1_src_install
-}
diff --git a/dev-python/python-libevdev/Manifest b/dev-python/libevdev/Manifest
index 3bb0da2c4734..3bb0da2c4734 100644
--- a/dev-python/python-libevdev/Manifest
+++ b/dev-python/libevdev/Manifest
diff --git a/dev-python/libevdev/libevdev-0.11.ebuild b/dev-python/libevdev/libevdev-0.11.ebuild
new file mode 100644
index 000000000000..7417614b81cc
--- /dev/null
+++ b/dev-python/libevdev/libevdev-0.11.ebuild
@@ -0,0 +1,37 @@
+# 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-libevdev-${PV}
+DESCRIPTION="Python wrappers for the libevdev library"
+HOMEPAGE="
+ https://gitlab.freedesktop.org/libevdev/python-libevdev/
+ https://pypi.org/project/libevdev/
+"
+SRC_URI="
+ https://gitlab.freedesktop.org/libevdev/python-libevdev/-/archive/${PV}/${MY_P}.tar.bz2
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ test? (
+ dev-libs/libevdev
+ )
+"
+RDEPEND="
+ dev-libs/libevdev
+"
+
+distutils_enable_tests unittest
+distutils_enable_sphinx doc/source \
+ dev-python/sphinx-rtd-theme
diff --git a/dev-python/python-libevdev/metadata.xml b/dev-python/libevdev/metadata.xml
index d243c4c9307f..d243c4c9307f 100644
--- a/dev-python/python-libevdev/metadata.xml
+++ b/dev-python/libevdev/metadata.xml
diff --git a/dev-python/liblarch/Manifest b/dev-python/liblarch/Manifest
index 223e7d7688a4..24c50b543486 100644
--- a/dev-python/liblarch/Manifest
+++ b/dev-python/liblarch/Manifest
@@ -1 +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 fd413f6d8591..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 ~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
new file mode 100644
index 000000000000..375932865f1c
--- /dev/null
+++ b/dev-python/liblarch/liblarch-3.2.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Library to handle directed acyclic graphs"
+HOMEPAGE="
+ https://wiki.gnome.org/Projects/liblarch
+ https://github.com/getting-things-gnome/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/libnacl/Manifest b/dev-python/libnacl/Manifest
index 647e0d3abd16..fff7f19a4902 100644
--- a/dev-python/libnacl/Manifest
+++ b/dev-python/libnacl/Manifest
@@ -1 +1 @@
-DIST libnacl-1.8.0.gh.tar.gz 43351 BLAKE2B 4ba0ebcb50755d80418ffe7238c65d9309954cb2a0eac61937c488144b56093f3fcd87f0bf22a290c7b415c70cb781fbf7a2c608863d43694230fe34b3ad418e SHA512 7a39d646083591782691c4d58fd4d743b385ee553bcc4c4741707a237fa3b1213629b5070390526175bdfe8436859aa7711779ff8b22a981227edb30b94e82d6
+DIST libnacl-2.1.0.tar.gz 42189 BLAKE2B 9b7330ad89ed7ca01f1893deda93fd88011f92b03946a06b5706adf25387db0f664e89fb7a0442d300b47188ec061d220167c694725cd7ec74d14687794b63b2 SHA512 9a3bc2d6d21e982cdd7015daf76beb494c8b969f17a17288a47db5ff545e0a0085e37bb723e92a1919338134be2817b47cd2354f55604ec93e638e243ffa5e1a
diff --git a/dev-python/libnacl/libnacl-1.8.0.ebuild b/dev-python/libnacl/libnacl-1.8.0.ebuild
deleted file mode 100644
index c3e382d231b8..000000000000
--- a/dev-python/libnacl/libnacl-1.8.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python ctypes wrapper for libsodium"
-HOMEPAGE="
- https://libnacl.readthedocs.io/
- https://github.com/saltstack/libnacl/
- https://pypi.org/project/libnacl/
-"
-# forked because upstream didn't push the tag for almost a year now
-SRC_URI="
- https://github.com/mgorny/libnacl/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-RDEPEND="
- dev-libs/libsodium
-"
-BDEPEND="
- ${RDEPEND}
-"
-
-distutils_enable_tests unittest
-
-python_test() {
- eunittest -p 'test_*.py' tests/ ||
- die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/libnacl/libnacl-2.1.0.ebuild b/dev-python/libnacl/libnacl-2.1.0.ebuild
new file mode 100644
index 000000000000..b15bb3def49a
--- /dev/null
+++ b/dev-python/libnacl/libnacl-2.1.0.ebuild
@@ -0,0 +1,34 @@
+# 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="Python ctypes wrapper for libsodium"
+HOMEPAGE="
+ https://libnacl.readthedocs.io/
+ https://github.com/saltstack/libnacl/
+ https://pypi.org/project/libnacl/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ dev-libs/libsodium
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ eunittest -p 'test_*.py' tests/ ||
+ die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/libpillowfight/Manifest b/dev-python/libpillowfight/Manifest
index a08695322544..04463c8cbe87 100644
--- a/dev-python/libpillowfight/Manifest
+++ b/dev-python/libpillowfight/Manifest
@@ -1 +1 @@
-DIST libpillowfight-0.3.0_p20210816.tar.gz 89491019 BLAKE2B 24a658ce461928750582560ef27fbc1ea233bb7c6290053bee7ab3437816fd0e9d7933e36a7a90c75706bdc17024200d16a17ec81c0c30563f043e6d15cc074e SHA512 a731a7d8c8492f5f6229315c8ff48bcdf215acd501d1a5f726f60d6417f77d04b702579d972aaa90f9d01d27b7b167b47f15f435c0fe79598aedb55ac397835b
+DIST libpillowfight-0.3.0_p20210816.tar.bz2 87826271 BLAKE2B aa0a9c2800992b671940f0ed0c8d808c5ad870c724fbf0f4dad336d224e6d510b135052f2697a6a1d05bafb9f1969278962c625d5d0ffd997b2548e60b1dec2b SHA512 76b05d49e2ee9fc9dcc2c9342d312841c8d1520d8d2027bd12b6921f85bd92645f698a811ccf7bdeceba64f0b706d5fd2975f91c51db8ce87f1261793aee83cb
diff --git a/dev-python/libpillowfight/libpillowfight-0.3.0_p20210816-r1.ebuild b/dev-python/libpillowfight/libpillowfight-0.3.0_p20210816-r1.ebuild
new file mode 100644
index 000000000000..729c78ebf43d
--- /dev/null
+++ b/dev-python/libpillowfight/libpillowfight-0.3.0_p20210816-r1.ebuild
@@ -0,0 +1,39 @@
+# 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
+
+COMMIT="50d965879eb89fdef9be09d6e934329486ff585d"
+
+DESCRIPTION="Small library containing various image processing algorithms"
+HOMEPAGE="https://gitlab.gnome.org/World/OpenPaperwork/libpillowfight"
+SRC_URI="https://gitlab.gnome.org/World/OpenPaperwork/${PN}/-/archive/${COMMIT}/${P}.tar.bz2"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/pillow[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -e "/'nose>=1.0'/d" -i setup.py || die
+ cat > src/pillowfight/_version.h <<- EOF || die
+ #define INTERNAL_PILLOWFIGHT_VERSION "$(ver_cut 1-3)"
+ EOF
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests -o addopts=
+}
diff --git a/dev-python/libpillowfight/libpillowfight-0.3.0_p20210816.ebuild b/dev-python/libpillowfight/libpillowfight-0.3.0_p20210816.ebuild
deleted file mode 100644
index 5a35a1dbf317..000000000000
--- a/dev-python/libpillowfight/libpillowfight-0.3.0_p20210816.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-COMMIT="50d965879eb89fdef9be09d6e934329486ff585d"
-
-DESCRIPTION="Small library containing various image processing algorithms"
-HOMEPAGE="https://gitlab.gnome.org/World/OpenPaperwork/libpillowfight"
-SRC_URI="https://gitlab.gnome.org/World/OpenPaperwork/${PN}/-/archive/${COMMIT}/${P}.tar.gz"
-S="${WORKDIR}/${PN}-${COMMIT}"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="dev-python/pillow[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- ln -s "${S}"/tests "${T}"/tests || die
- sed -e "/'nose>=1.0'/d" -i setup.py || die
- cat > src/pillowfight/_version.h <<- EOF || die
- #define INTERNAL_PILLOWFIGHT_VERSION "$(ver_cut 1-3)"
- EOF
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- cd "${T}" || die
- epytest "${S}"/tests -o addopts=
-}
diff --git a/dev-python/libsass-python/Manifest b/dev-python/libsass-python/Manifest
deleted file mode 100644
index ce06c29ba660..000000000000
--- a/dev-python/libsass-python/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST libsass-python-0.21.0.gh.tar.gz 55774 BLAKE2B 3c584ff3b6c09bc768554a3a4f7ef28ecea0726f59206da8540f9c1b4db74ab1235695074dd6b95db74f174066bb856c9854026525da82e7763f341920f0bd53 SHA512 d5b7a1bf0dc736a6a38e2e609f0a213306de31d5ad84cfdcd96f9ff72a1c38f15bad3cf25a1cec6dca5a9f3b00a8509afff2b4ea5e4db80e218e3ae603d55856
-DIST libsass-python-0.22.0.gh.tar.gz 55135 BLAKE2B 8495462fa8e6a68bf73ecdf68771c577bad1affa1121c1781dac41c912aae731df88c2b1d1a4ef363e50a98ff1b471e7c45562faa6f2425e8ec5f47f9cf76c6c SHA512 13914b60fe19fc70d197a948a2bc83f7646e4acaa45caed6df68bf2eb10e0a7ef811cdbbcc7a4338f9c1433cba8e316146c20072dc4ff34f51e094ead1bfdcd7
diff --git a/dev-python/libsass-python/files/libsass-0.20.0_rename_sassc.patch b/dev-python/libsass-python/files/libsass-0.20.0_rename_sassc.patch
deleted file mode 100644
index 46efe8700328..000000000000
--- a/dev-python/libsass-python/files/libsass-0.20.0_rename_sassc.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff --git a/sassc.py b/sassc.py
-deleted file mode 100644
-index 2415342..0000000
---- a/sassc.py
-+++ /dev/null
-@@ -1,15 +0,0 @@
--import warnings
--
--import pysassc
--
--
--def main(*args, **kwargs):
-- warnings.warn(
-- 'The `sassc` entrypoint is deprecated, please use `pysassc`',
-- FutureWarning,
-- ),
-- return pysassc.main(*args, **kwargs)
--
--
--if __name__ == '__main__':
-- exit(main())
-diff --git a/sasstests.py b/sasstests.py
-index 1f40a97..7547ab3 100644
---- a/sasstests.py
-+++ b/sasstests.py
-@@ -24,7 +24,6 @@ from werkzeug.wrappers import Response
-
- import pysassc
- import sass
--import sassc
- from sassutils._compat import collections_abc
- from sassutils.builder import Manifest, build_directory
- from sassutils.wsgi import SassMiddleware
-@@ -976,7 +975,7 @@ class SasscTestCase(BaseTestCase):
-
- def test_sassc_stdout(self):
- with pytest.warns(FutureWarning) as warninfo:
-- exit_code = sassc.main(
-+ exit_code = pysassc.main(
- ['sassc', 'test/a.scss'],
- self.out, self.err,
- )
-diff --git a/setup.py b/setup.py
-index e2a0c85..5905162 100644
---- a/setup.py
-+++ b/setup.py
-@@ -218,7 +218,7 @@ setup(
- version=version(),
- ext_modules=[sass_extension],
- packages=['sassutils'],
-- py_modules=['pysassc', 'sass', 'sassc', 'sasstests'],
-+ py_modules=['pysassc', 'sass', 'sasstests'],
- package_data={
- '': [
- 'README.rst',
-@@ -239,8 +239,6 @@ setup(
- ],
- 'console_scripts': [
- ['pysassc = pysassc:main'],
-- # TODO: remove `sassc` entry (#134)
-- ['sassc = sassc:main'],
- ],
- },
- install_requires=['six'],
diff --git a/dev-python/libsass-python/libsass-python-0.21.0-r1.ebuild b/dev-python/libsass-python/libsass-python-0.21.0-r1.ebuild
deleted file mode 100644
index ce13280d8561..000000000000
--- a/dev-python/libsass-python/libsass-python-0.21.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1 toolchain-funcs
-
-MY_P="libsass-python-${PV}"
-DESCRIPTION="A straightforward binding of libsass for Python"
-HOMEPAGE="https://github.com/sass/libsass-python/"
-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 x86"
-
-RDEPEND=">=dev-libs/libsass-3.6.5"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
- test? (
- dev-python/PyQt5[testlib,${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- )"
-
-# Remove sassc, in favour of pysassc, see: https://github.com/sass/libsass-python/issues/134
-# This avoids a file collision with dev-lang/sassc
-PATCHES=( "${FILESDIR}"/libsass-0.20.0_rename_sassc.patch )
-
-distutils_enable_tests pytest
-
-src_prepare() {
- echo "${PV}" > .libsass-upstream-version || die
- distutils-r1_src_prepare
- export SYSTEM_SASS=1
- # https://bugs.gentoo.org/730244
- if tc-is-clang; then
- sed -i -e 's/-std=gnu++0x//g' setup.py || die
- fi
-}
-
-python_test() {
- local 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 ${deselect[@]/#/--deselect }
-}
diff --git a/dev-python/libsass-python/libsass-python-0.22.0-r1.ebuild b/dev-python/libsass-python/libsass-python-0.22.0-r1.ebuild
deleted file mode 100644
index 5a1915aeb7d6..000000000000
--- a/dev-python/libsass-python/libsass-python-0.22.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-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
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 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-python/metadata.xml b/dev-python/libsass-python/metadata.xml
deleted file mode 100644
index 0c2334d8a4a5..000000000000
--- a/dev-python/libsass-python/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>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">libsass</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/libsass/Manifest b/dev-python/libsass/Manifest
new file mode 100644
index 000000000000..92e51663d386
--- /dev/null
+++ b/dev-python/libsass/Manifest
@@ -0,0 +1 @@
+DIST libsass-python-0.23.0.gh.tar.gz 54783 BLAKE2B b2113d295370391c6b92c2561873cc1c58c3acdcc5c4adb6c50e717bb963bbf5d4e29e97290e2b4743508c0f1a73be373233205a79c31b6f6a0262559adcf924 SHA512 fb0836cce26ef8cdfb90cb50842e66f83ed47d06327272a49db3f2cf4b7f1bc29560d0126f00ff13db626d0624ff154c342a0f2433802d4c1b582b8d74a50337
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..dd0a5ae116c7
--- /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..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() {
+ 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/metadata.xml b/dev-python/libsass/metadata.xml
new file mode 100644
index 000000000000..4e80ccda26d2
--- /dev/null
+++ b/dev-python/libsass/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>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">sass/libsass-python</remote-id>
+ <remote-id type="pypi">libsass</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/libtmux/Manifest b/dev-python/libtmux/Manifest
index 9f490b261f7d..58dd02031fb4 100644
--- a/dev-python/libtmux/Manifest
+++ b/dev-python/libtmux/Manifest
@@ -1,4 +1,10 @@
-DIST libtmux-0.15.10.gh.tar.gz 240378 BLAKE2B 81841a25b01bb26d2c612a14cd4518c48b12162d4aafa280fe0d6de269d149bddaffe72f4ce2c735e41b00cd2bfec19773d7cd3b9fd927c892f11f0cdf8e8a88 SHA512 8ee870c94bd3e3a9fffc19854f978d4faad747ea395e53c3576adc9cc2dcdd3cbdedeeb589a2dc11b0ac836931ffbdcea06a4a850b2ead163235dda2334defb5
-DIST libtmux-0.18.3.gh.tar.gz 261540 BLAKE2B be98707101d7481b6787694795eb05dbe1070a0eed0b7408af1714be01f4870c51223559d1edc3a3fb7b60e02496a413e92c0734031223bca9d521604cb6e65e SHA512 67173c4f2f45f1236e7a1a5ce0895c53bfd6316aa7017382f97b87f84cbc6a23a6ef0f2574a276b7b064da9e4982804fb2004d31ddb1237f97ca835fafdf9ccb
-DIST libtmux-0.19.1.gh.tar.gz 262280 BLAKE2B 9d1a2c74b49011e66df6ed2012096b0df6c6731e258078f8ce2b4fef38d21513488b195e3fdb722478ae5f829ba77bd09c152569d73cab83bfa6e4a360346b39 SHA512 b9f3b29de7c8ca86e8495843aa04e2dedfaea749bd57095a9d7a2f638111de7474500c3dbd892f0c580c613c796fece8da47d6c099b8b78056fbd242451eb129
-DIST libtmux-0.20.0.gh.tar.gz 266849 BLAKE2B 51840c4cf5aecb077c7c5205a33e6a620b68aed3f61bf52f4c376b257896c907a0e9117c35f70493464d4a3e136e9bd81e0d2ed6cd8a9f4a7c80276dc1461568 SHA512 1e8b49898aeb622aca6160c9ed99c7714d75f716baae5109e278baf5b70d0211d3ac4ed89c3755823b203add1fe4198ceb9e16ad03941eed2cbd2407fd46f0d2
+DIST libtmux-0.21.0.gh.tar.gz 267484 BLAKE2B 36d7af1bd90ff5a9639587d79f49643eec1e218d3b1839f5febdd9b6b402886e577b15c920cf458ecb14b4e6d532955b6d71ecf932060e6f8ba32193d6bb0162 SHA512 27000581396d79665e34b67a9e59bf639ca0fbd855ada9648750750e41e732cdcde15a05c6548993f08a8637783ddb478de24b75d5c18a198541c36b4b08b9cc
+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
diff --git a/dev-python/libtmux/libtmux-0.18.3.ebuild b/dev-python/libtmux/libtmux-0.18.3.ebuild
deleted file mode 100644
index 499498389f30..000000000000
--- a/dev-python/libtmux/libtmux-0.18.3.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.19.1.ebuild b/dev-python/libtmux/libtmux-0.19.1.ebuild
deleted file mode 100644
index 499498389f30..000000000000
--- a/dev-python/libtmux/libtmux-0.19.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.20.0.ebuild b/dev-python/libtmux/libtmux-0.20.0.ebuild
deleted file mode 100644
index 499498389f30..000000000000
--- a/dev-python/libtmux/libtmux-0.20.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=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.15.10.ebuild b/dev-python/libtmux/libtmux-0.21.0.ebuild
index c3ba25a16ac9..c3ba25a16ac9 100644
--- a/dev-python/libtmux/libtmux-0.15.10.ebuild
+++ b/dev-python/libtmux/libtmux-0.21.0.ebuild
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..60bbba2f66cb
--- /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/libvirt-python/Manifest b/dev-python/libvirt-python/Manifest
index 455064094d44..b5cb9d9d3c1a 100644
--- a/dev-python/libvirt-python/Manifest
+++ b/dev-python/libvirt-python/Manifest
@@ -1,6 +1,10 @@
-DIST libvirt-python-8.7.0.tar.gz 236343 BLAKE2B 563cd1a18f06c0210465905267c46b3e5c598a9dcb208f468660d40988a4f6d80e61feed3702d830d465769eebb2c4d6604ef9449700923795c0485c36e38680 SHA512 f7883964875657a11c6756e31fda59eadba8394b71dda04df366aac85b163f3ffb379054bace38922d10d0b8972d1e1210d1513498cfd5cd8f0b76d6985ee945
-DIST libvirt-python-8.7.0.tar.gz.asc 833 BLAKE2B 5386780d75114c21105d012fd0ec2fd22fdd979dd6cdaea59f578eff4c0616e377da52d8aec05f337b837fda663ce8afb6d670e960ee65146679cd8c9a60b12b SHA512 499324c7cb520edbd1778a16434de43be062545255abb271832a636ff1ce9f4ba87e90226a181e081d084fccd6c190acc15763fecfc89e80093845589c12f535
-DIST libvirt-python-8.8.0.tar.gz 236523 BLAKE2B 56504045d4c44c2419fb8f97b1c147f12539122acc35644aef748631db5bce0d1ded8ebb5c1bd1160d2472757c0887105f3dd5e41c271a56f963ef21616565c8 SHA512 bcfe69b1279d8e2fc1343959f2c17ff29ef957c1d7f98b233c8bb32cffe50285138d1be11b0c327f6b18e2395b6353c3552cecfd9bbfcb5cc6bc97981f9d6f26
-DIST libvirt-python-8.8.0.tar.gz.asc 833 BLAKE2B 2769a404916227ce9d77ec0e76d2985b67f7e59e3f280486b59f9a9edb4fe5405ae22dd03c2d4c9f1c620a977eef90ec8fdc93d3891d8824021a226a0581cb9a SHA512 edeace09e2de739d318f63ac7b33f814ac3d2e4ad7a32164fb0691723b4872d64bc60d0f96baf1809158e76fd7dbbff75c6ee4e9112b1ba6c264287c36d691b4
-DIST libvirt-python-8.9.0.tar.gz 240769 BLAKE2B 992f02fe584f33ea5bd91a28338e281d49515bae392d5209e07a916b9449965c753b9a12b2f4d8433069efc1e3c5907a378e3e2d8ee1d55ab682a3e983b2eca3 SHA512 f13767528518189bb4a6094dc029f3dee16179a269b25f1224ba448569e3a2f8b036124711060d4dda8de0f7719474a700b616e1e8e8d29028d585c2a631aa32
-DIST libvirt-python-8.9.0.tar.gz.asc 833 BLAKE2B 690613f7f558155db56a5194042bdf49e004143b2066bcaccb48fc9082364a88b5f8d4112623095838a116817a55e34e8ca29e01221299efc396fb1501a060ae SHA512 a490284745c948d87f0239b70257b5cd66ae2515a4f3f33c05a2b3e1ccc28e2769c8c61d45e4f855b595a6d82b6d73e50bcd00a8bbfc7cb7fbe1a4969e48e17b
+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-9.8.0.tar.gz 246277 BLAKE2B c333909d1f4fd32f9e05d42e468b3808971360bb8aaf35934ec25f8155f0231b2ff3bfd90944a50cf13e09cec3cf35fdf41fb5869b1683c1cd36b4767f2b3dd1 SHA512 c9871ca2fa9d18ae42c4aa76e9a7ba9f0a026061b058072c862c8fe402c2d2325189687e1490718360a9b8f6c13d8ae2adfbe54f79a367fb6be9fbde381f4901
+DIST libvirt-python-9.8.0.tar.gz.asc 833 BLAKE2B 78e6556031c325674d26322d0a6a4dfc391dd050223bd6d939d30328fc7bb1a2f8671aae95eb3a37b916311e6f4c44a4c1929093844347e06dffa23480793e34 SHA512 b999d442f8e22d91ccf9988f53603159406b3aacd3469fd613ed24afd67722206eb2b319a1518bc7aa8cc12684f84685de885bd40c9ba7d9a94ef16cf03f6065
+DIST libvirt-python-9.9.0.tar.gz 246357 BLAKE2B d2e6bc9f8ae3c722ffa18772e40965e7ef1acfb36a863d764ac39c694f687a078b6433cb780a27696f63c698c3e63d203ae1609b48ee31ea5cd95a21a3947666 SHA512 5a09b23b843080f2e55a7b00dc225e0bf23c9c23cac42ce4ffaff725020303745185482c2cc781d519020f50a335d4fa72a7a618bb2c1d0eb0845781d1b22ab7
+DIST libvirt-python-9.9.0.tar.gz.asc 833 BLAKE2B bf7c3861f4a9d47478e7e9afcb21b8b8537f0baf525af462aebd849fc24510bcc575d851e06d8903d7480163b42520a4e4c88b7e01af90e7b759ea028839440f SHA512 bc509c67cd9d019f40994b415d7648d4e408a47758bf12a42653f315fd6e16d89568d59698922f73fbb11a858674d370222e41c7d1bba04e38a5665ddb1da853
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..83f8a3a26364
--- /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-8.7.0.ebuild b/dev-python/libvirt-python/libvirt-python-8.7.0.ebuild
deleted file mode 100644
index 9bb4f0bab67f..000000000000
--- a/dev-python/libvirt-python/libvirt-python-8.7.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
-
-# Packages which get releases together:
-# app-emacs/nxml-libvirt-schemas
-# dev-python/libvirt-python
-# dev-perl/Sys-Virt
-# app-emulation/libvirt
-# Please bump them together!
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-MY_P="${P/_rc/-rc}"
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/libvirt.org.asc
-inherit distutils-r1 verify-sig
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt-python.git"
- RDEPEND="app-emulation/libvirt:=[-python(-)]"
-else
- SRC_URI="https://libvirt.org/sources/python/${MY_P}.tar.gz
- verify-sig? ( https://libvirt.org/sources/python/${MY_P}.tar.gz.asc )"
- KEYWORDS="amd64 ~arm64 ~ppc64 x86"
- RDEPEND="app-emulation/libvirt:0/${PV}"
-fi
-S="${WORKDIR}/${P%_rc*}"
-
-DESCRIPTION="libvirt Python bindings"
-HOMEPAGE="https://www.libvirt.org"
-
-LICENSE="LGPL-2"
-SLOT="0"
-IUSE="examples test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- virtual/pkgconfig
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- )
- verify-sig? ( sec-keys/openpgp-keys-libvirt )
-"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/libvirt-python/libvirt-python-8.8.0.ebuild b/dev-python/libvirt-python/libvirt-python-8.8.0.ebuild
deleted file mode 100644
index 2b15a87b4b60..000000000000
--- a/dev-python/libvirt-python/libvirt-python-8.8.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
-
-# Packages which get releases together:
-# app-emacs/nxml-libvirt-schemas
-# dev-python/libvirt-python
-# dev-perl/Sys-Virt
-# app-emulation/libvirt
-# Please bump them together!
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-MY_P="${P/_rc/-rc}"
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/libvirt.org.asc
-inherit distutils-r1 verify-sig
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt-python.git"
- RDEPEND="app-emulation/libvirt:=[-python(-)]"
-else
- SRC_URI="https://libvirt.org/sources/python/${MY_P}.tar.gz
- verify-sig? ( https://libvirt.org/sources/python/${MY_P}.tar.gz.asc )"
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
- RDEPEND="app-emulation/libvirt:0/${PV}"
-fi
-S="${WORKDIR}/${P%_rc*}"
-
-DESCRIPTION="libvirt Python bindings"
-HOMEPAGE="https://www.libvirt.org"
-
-LICENSE="LGPL-2"
-SLOT="0"
-IUSE="examples test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- virtual/pkgconfig
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- )
- verify-sig? ( sec-keys/openpgp-keys-libvirt )
-"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/libvirt-python/libvirt-python-8.9.0.ebuild b/dev-python/libvirt-python/libvirt-python-8.9.0.ebuild
deleted file mode 100644
index 29cdcda8f9ca..000000000000
--- a/dev-python/libvirt-python/libvirt-python-8.9.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
-
-# Packages which get releases together:
-# app-emacs/nxml-libvirt-schemas
-# dev-python/libvirt-python
-# dev-perl/Sys-Virt
-# app-emulation/libvirt
-# Please bump them together!
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-MY_P="${P/_rc/-rc}"
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/libvirt.org.asc
-inherit distutils-r1 verify-sig
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt-python.git"
- RDEPEND="app-emulation/libvirt:="
-else
- SRC_URI="https://libvirt.org/sources/python/${MY_P}.tar.gz
- verify-sig? ( https://libvirt.org/sources/python/${MY_P}.tar.gz.asc )"
- KEYWORDS="~amd64 ~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 )
-"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/libvirt-python/libvirt-python-9.8.0.ebuild b/dev-python/libvirt-python/libvirt-python-9.8.0.ebuild
new file mode 100644
index 000000000000..5c8628103631
--- /dev/null
+++ b/dev-python/libvirt-python/libvirt-python-9.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
+
+# 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.9.0.ebuild b/dev-python/libvirt-python/libvirt-python-9.9.0.ebuild
new file mode 100644
index 000000000000..cd5a82350d8e
--- /dev/null
+++ b/dev-python/libvirt-python/libvirt-python-9.9.0.ebuild
@@ -0,0 +1,63 @@
+# 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-9999.ebuild b/dev-python/libvirt-python/libvirt-python-9999.ebuild
index 25f4ff942c9e..cd5a82350d8e 100644
--- a/dev-python/libvirt-python/libvirt-python-9999.ebuild
+++ b/dev-python/libvirt-python/libvirt-python-9999.ebuild
@@ -10,10 +10,9 @@ EAPI=8
# app-emulation/libvirt
# Please bump them together!
-PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-MY_P="${P/_rc/-rc}"
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/libvirt.org.asc
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 verify-sig
if [[ ${PV} == *9999* ]]; then
@@ -21,9 +20,10 @@ if [[ ${PV} == *9999* ]]; then
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 ~arm64 ~ppc64 ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
RDEPEND="app-emulation/libvirt:0/${PV}"
fi
S="${WORKDIR}/${P%_rc*}"
@@ -44,8 +44,15 @@ BDEPEND="
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
diff --git a/dev-python/license-expression/Manifest b/dev-python/license-expression/Manifest
index 1153ca5b456a..6dcd4de36899 100644
--- a/dev-python/license-expression/Manifest
+++ b/dev-python/license-expression/Manifest
@@ -1,2 +1 @@
-DIST license-expression-30.0.0.gh.tar.gz 153630 BLAKE2B 4231bf14e69705fbf40cc4af5f17a1070c780d595db5ab0098b318eeb7289740b86319c683e61aaf844a1cc5b8598d832f14e4eeac354aff37f7b82e5437df1d SHA512 ce6e3a48c1e035e98c3831180bdafb1d70afe94b1d0148c47941129a8223b8b39e11af9407b255ed7a3d1247873c18848f8236c0a805e9b2333c6d59506aad12
-DIST license-expression-30.1.0.gh.tar.gz 162641 BLAKE2B 912a34bd86199f41248b2893e9e25dfcf1504231e49f6d94607ce30c07c95932a8c41814c5d2100beabfe7fe2deda499a62ea310243dce559d0a5c5ecb84f77c SHA512 eb152b53bfacddbccdc8bd4366e040c24c0e9be3561f1a602344ad756307e29350a739de5ab5f5448258db88dac745638242d971e1a2030fc4b43b88ab4015d0
+DIST license-expression-30.3.0.gh.tar.gz 170159 BLAKE2B 6db3c9c3a1c6551fd22a338c74b75b595df5fe59fcde526baf2ddc52329b20cc4fd9848b986acc62709054c8d1f297879d0636e0c75ec30112cc654c41c7efec SHA512 10e141c9f7d05353ff2d76053497a72aebee6bbda6f263cb4fa69d1ab0ada8331bd0a126558b89bd7db428fc55a87bb5c88f1d5217cfb9640dbd10c1975bd08c
diff --git a/dev-python/license-expression/license-expression-30.0.0.ebuild b/dev-python/license-expression/license-expression-30.0.0.ebuild
deleted file mode 100644
index 218a3e602333..000000000000
--- a/dev-python/license-expression/license-expression-30.0.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_{9..11} )
-
-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="amd64 ~arm ~arm64 ~ppc64 ~riscv 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.1.0.ebuild b/dev-python/license-expression/license-expression-30.1.0.ebuild
deleted file mode 100644
index c39dad207703..000000000000
--- a/dev-python/license-expression/license-expression-30.1.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_{9..11} )
-
-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="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~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..7171236926be
--- /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..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 ~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
new file mode 100644
index 000000000000..75ea791ec272
--- /dev/null
+++ b/dev-python/line-profiler/Manifest
@@ -0,0 +1 @@
+DIST line_profiler-4.1.2.gh.tar.gz 100514 BLAKE2B 4e9fa1f2bcc39658f50b5832a8c2ee15090e03532d574cfa06db846beb191b8e2f19c82e5b03f91f2fc7b9de2a024e86909191982a03702690820972e10b7b2b SHA512 feb3f799770057b1b2dbc5601e497ce8fbc3f802e48e652b30486d453710c811bf46f3c22c0e706bbcce8cf4ef3c6e118bcc4917d8d72ff8bb0bb975324dfa16
diff --git a/dev-python/line-profiler/line-profiler-4.1.2.ebuild b/dev-python/line-profiler/line-profiler-4.1.2.ebuild
new file mode 100644
index 000000000000..86f554b5e75d
--- /dev/null
+++ b/dev-python/line-profiler/line-profiler-4.1.2.ebuild
@@ -0,0 +1,46 @@
+# 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/metadata.xml b/dev-python/line-profiler/metadata.xml
index 1b582c391cb4..1b582c391cb4 100644
--- a/dev-python/line_profiler/metadata.xml
+++ b/dev-python/line-profiler/metadata.xml
diff --git a/dev-python/line_profiler/Manifest b/dev-python/line_profiler/Manifest
deleted file mode 100644
index 882f2c75b700..000000000000
--- a/dev-python/line_profiler/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST line_profiler-4.0.2.gh.tar.gz 63855 BLAKE2B e2f077214fb1387504446882396b3b48f5dc309b9de9ff7d7f39dfb96361e0b4ce5461510c878caabbfa4c2723fe65f2eeca5eb4fb261f1a735ebe32beb3b0fe SHA512 ef07d51a33cc71de0409f8dbdae47c738a8088ece577b077e9b7ff6e4f296da30f7843ef01f3bdcedadc1ad778fe625c0880e6a27844f49cda780f2fd6960acf
diff --git a/dev-python/line_profiler/line_profiler-4.0.2.ebuild b/dev-python/line_profiler/line_profiler-4.0.2.ebuild
deleted file mode 100644
index 1a2396e12e51..000000000000
--- a/dev-python/line_profiler/line_profiler-4.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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
- -> ${P}.gh.tar.gz
-"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~amd64 ~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
-
-python_test() {
- cd tests || die
- epytest
-}
diff --git a/dev-python/linkify-it-py/Manifest b/dev-python/linkify-it-py/Manifest
index 47f3e005e691..e0addc5ca664 100644
--- a/dev-python/linkify-it-py/Manifest
+++ b/dev-python/linkify-it-py/Manifest
@@ -1 +1 @@
-DIST linkify-it-py-2.0.0.gh.tar.gz 76363 BLAKE2B dc04c1445b86998bd59d452cb86afdfa91d1165cbfe4148b5f9f0234b2f9f9e71fa3c41c36749e96f1269eda20fb81ed55fb63b18947e5c38bb233cdff06f9ca SHA512 7d2a66d5f0e33aece5b8d2737f20bd83f6cb2b7958b681c293f5996263f65f525862ce0cb0f7be9df1597844e58ed804b5b604c257e4d84cbf05677fd2733dda
+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.0.ebuild b/dev-python/linkify-it-py/linkify-it-py-2.0.0.ebuild
deleted file mode 100644
index fa4e1e9918e5..000000000000
--- a/dev-python/linkify-it-py/linkify-it-py-2.0.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=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-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/
-"
-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 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..53b5d22c3ec4
--- /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..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/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 4037ff77248d..6dab866d637b 100644
--- a/dev-python/lit/Manifest
+++ b/dev-python/lit/Manifest
@@ -1,7 +1,13 @@
-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-12735916bd3a63aa9f316af8eebfe9420cfec489.tar.gz 208645973 BLAKE2B 4a64dcaa15cb592634eceb384ecfc11173dbf0285402c32be2b8056374bb8ecef8fa1055fbe353a0836c84b75736cc05f3a14428bc431c18362cfaa7bf96a50a SHA512 ee42f7db322c84dfae3c67ffcfff2ee8d56d6bd4a0412b6bd4f8952ac1da4d57d18fa38011fe514631363b4cc143327be887792dd2e9562942261c99e655d948
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-46d5a57801bc37e5ebb1a4d6b2acc0fa99c01e8d.tar.gz 180436731 BLAKE2B 51c30c3f11dd55a225b8ebe4ded752ce9e8eb58751e7458c29901dbdd3673f94892d337d111d696e779e3f7ef0bca6c7d79709e2072a4bf3a001d8813125d571 SHA512 ebbe0f8becac39d63433dcc3de474c40f1215fc8faab94fa2ba869d28e66b27e4fe088377bd7ae64575a6d7b07017b88bf92e5488a3185a753e647d8da352bbf
-DIST llvm-project-6dc85bd3fde7df2999fda07e9e9f2e83d52c6125.tar.gz 175208511 BLAKE2B cf87cf7e9bf7c74aab8ccda0f153369cb81798047fdd48025c3c7030857b128babbaafb667385a5c8e9916e16038b14fee39f1623d329471e73c39c2f2d7bbfa SHA512 e6dc0cacd6c079be8a00364e4c244782d764d9a8d514d65f9078427cb4a0c1663ff88761bfbc1e955a1a990451439110497c2cb7af7f56b2c91f2e9db4389894
-DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
+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.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-18.1.3.src.tar.xz 132049300 BLAKE2B 0681177cfe6a65f5cf11942381078388e8f5d9d5a4bb50b040e4c10a3898e7311ff379fcca008e82e4bef225792a38eb77f722c972725b9251a0fda29d8d7ecc SHA512 b8b8a00c560bc7d4c4b5d533b92dbd52f2c0254f0acf687e787e8b7fa780cd5d96f6e9709356d2c406c0b36b186dee4de6b1bc1928a97de0bda863fa873e0783
+DIST llvm-project-18.1.3.src.tar.xz.sig 566 BLAKE2B dcecf41346cc864c6e5bedd3a7db3db4f32a68534364d2537a15ca7e4e2f2d35a22722385ac556d2a4ac48ab37567566094f223534e696299f98040e702146d0 SHA512 b7e50779841891e9ed9de5ed917c5be3209a52a5d98c67a032509ae8fad8a2a882bf619c66d2ee45bb53dfb03d750cb94dc4b2750ec2a8edb0465700d5bc657c
+DIST llvm-project-18.1.4.src.tar.xz 132054668 BLAKE2B 94bbad3b185fd07cbace4eff79aba80fbdd5e072739250e3927fe1848bcf3f8d355eb1f384e57306707eb702acc7ab01b732590735be7950221607664d04b0a6 SHA512 b1b214ae91f3705d8ea345547ad53f1e5d7d884c1eb6958bc41c14ac4b3e407771ccc2b693686ff103c8232c2c3942731d6db9a9cb4f735e6c6a0674739d0b29
+DIST llvm-project-18.1.4.src.tar.xz.sig 566 BLAKE2B b74fd219d7bcdf197b4e711cfbb25c40e9d8d2c7341de0215d8c31f330f396e9c166ff63513829cdc9cef349f08238f66a4dc949fa97958a7af496abae369eaa SHA512 4f456edf4fb454815acaef6855b1a0991f229810a32e9369af83388e37f0ef8964308e1e93bd6216024cdd67e86caaadc8d5794467857cc6fe561c9fa6ca7386
+DIST llvm-project-a8b0ecd2605ff23f495a8af64e06c35f86834e54.tar.gz 208451583 BLAKE2B 3f8557637b9d10ed924cfec0b3e83d85996417df24b317cac55740aa199ef97cf7560fe634debd1dbfc7c9fc25aa2b2643fccaecc4c866481dc57b11eba1d02f SHA512 1f4bf5a8a59582af426ad13cc828e1e482c5c831ed5a4bb0da419ed3cf67e5e485fd36074603ad22328e35be44b8ccd2d92d1382bc7a228fdf38d458a2321e07
+DIST llvm-project-ee284d2da0720dc21191d6f545504cbfcf5dcbcf.tar.gz 208883034 BLAKE2B e37c9f1a6a4d0caa9a3091f979dd09f509d458f8b7b30286c77dd2385aea748b7aac6dd488c79573f82feb655aa321717bd2fb46bba4a12b388b52064f6e13bf SHA512 1335ade87cd2accc47ac47ed2ab302999e375808b158b6c9d31fac9059cbb992d2bdaaadf1fd9a1b37268c1123d43346ea4d150894d6d2e6f80ba790b65b93b1
diff --git a/dev-python/lit/lit-13.0.1.ebuild b/dev-python/lit/lit-13.0.1.ebuild
deleted file mode 100644
index 9df68d979a36..000000000000
--- a/dev-python/lit/lit-13.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_{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 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-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-15.0.7.ebuild b/dev-python/lit/lit-15.0.7.ebuild
index 800c8de63435..cb3bb23824a5 100644
--- a/dev-python/lit/lit-15.0.7.ebuild
+++ b/dev-python/lit/lit-15.0.7.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv sparc x86"
+KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/lit/lit-16.0.0.9999.ebuild b/dev-python/lit/lit-16.0.0.9999.ebuild
deleted file mode 100644
index f4b401a77373..000000000000
--- a/dev-python/lit/lit-16.0.0.9999.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..11} )
-
-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=""
-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-16.0.0_pre20230107.ebuild b/dev-python/lit/lit-16.0.0_pre20230107.ebuild
deleted file mode 100644
index e4fccac18491..000000000000
--- a/dev-python/lit/lit-16.0.0_pre20230107.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..11} )
-
-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="~loong"
-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-16.0.0_pre20230127.ebuild b/dev-python/lit/lit-16.0.0_pre20230127.ebuild
deleted file mode 100644
index f4b401a77373..000000000000
--- a/dev-python/lit/lit-16.0.0_pre20230127.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..11} )
-
-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=""
-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-16.0.6.ebuild b/dev-python/lit/lit-16.0.6.ebuild
new file mode 100644
index 000000000000..df4775d49f21
--- /dev/null
+++ b/dev-python/lit/lit-16.0.6.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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() {
+ 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.0.9999.ebuild b/dev-python/lit/lit-17.0.0.9999.ebuild
deleted file mode 100644
index f4b401a77373..000000000000
--- a/dev-python/lit/lit-17.0.0.9999.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..11} )
-
-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=""
-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.6.ebuild b/dev-python/lit/lit-17.0.6.ebuild
new file mode 100644
index 000000000000..24220a780e24
--- /dev/null
+++ b/dev-python/lit/lit-17.0.6.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 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-18.1.3.ebuild b/dev-python/lit/lit-18.1.3.ebuild
new file mode 100644
index 000000000000..5476bd8c23e4
--- /dev/null
+++ b/dev-python/lit/lit-18.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_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-18.1.4.ebuild b/dev-python/lit/lit-18.1.4.ebuild
new file mode 100644
index 000000000000..5476bd8c23e4
--- /dev/null
+++ b/dev-python/lit/lit-18.1.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..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-19.0.0.9999.ebuild b/dev-python/lit/lit-19.0.0.9999.ebuild
new file mode 100644
index 000000000000..3d0315962098
--- /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..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-19.0.0_pre20240330.ebuild b/dev-python/lit/lit-19.0.0_pre20240330.ebuild
new file mode 100644
index 000000000000..3d0315962098
--- /dev/null
+++ b/dev-python/lit/lit-19.0.0_pre20240330.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 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_pre20240404.ebuild b/dev-python/lit/lit-19.0.0_pre20240404.ebuild
new file mode 100644
index 000000000000..3d0315962098
--- /dev/null
+++ b/dev-python/lit/lit-19.0.0_pre20240404.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 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_pre20240410.ebuild b/dev-python/lit/lit-19.0.0_pre20240410.ebuild
new file mode 100644
index 000000000000..3d0315962098
--- /dev/null
+++ b/dev-python/lit/lit-19.0.0_pre20240410.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 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/littleutils-0.2.2-r1.ebuild b/dev-python/littleutils/littleutils-0.2.2-r1.ebuild
new file mode 100644
index 000000000000..b0852a24909a
--- /dev/null
+++ b/dev-python/littleutils/littleutils-0.2.2-r1.ebuild
@@ -0,0 +1,24 @@
+# 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="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/littleutils/littleutils-0.2.2.ebuild b/dev-python/littleutils/littleutils-0.2.2.ebuild
deleted file mode 100644
index 17765137be32..000000000000
--- a/dev-python/littleutils/littleutils-0.2.2.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Small personal collection of Python utility functions"
-HOMEPAGE="https://github.com/alexmojaki/littleutils"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-python_test() {
- "${EPYTHON}" -m doctest -v ${PN}/__init__.py || die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/livereload/Manifest b/dev-python/livereload/Manifest
index 3a64923b8c01..10bd270d011d 100644
--- a/dev-python/livereload/Manifest
+++ b/dev-python/livereload/Manifest
@@ -1 +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
diff --git a/dev-python/livereload/livereload-2.6.3-r1.ebuild b/dev-python/livereload/livereload-2.6.3-r1.ebuild
new file mode 100644
index 000000000000..24930e3a15f1
--- /dev/null
+++ b/dev-python/livereload/livereload-2.6.3-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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/metadata.xml b/dev-python/livereload/metadata.xml
index b9750d2b2082..6765f659eb72 100644
--- a/dev-python/livereload/metadata.xml
+++ b/dev-python/livereload/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>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
+ <!-- maintainer-needed -->
<stabilize-allarches/>
<upstream>
<remote-id type="github">lepture/python-livereload</remote-id>
diff --git a/dev-python/llfuse/Manifest b/dev-python/llfuse/Manifest
index e7cb3898bb28..90ce40f8ed31 100644
--- a/dev-python/llfuse/Manifest
+++ b/dev-python/llfuse/Manifest
@@ -1 +1 @@
-DIST llfuse-1.4.2.tar.gz 834763 BLAKE2B 60bdfdd4567de4aa6ab5ea6692f48e6d68572bc13976e30fa9850c96b8a2c8a77638d3750df549b827a2bba0cc2dfa2a3f2cac3c4729278515a2703ecde446a1 SHA512 6a368af9e49f8537bbea396dfcd9fc024f8b93b161d3c6167d13c4ffb0ab20b6c8393447e71b5c147c82d4d1ee590ae08c512c93ccb28df78a06ab6833ac3705
+DIST llfuse-1.5.0.tar.gz 869259 BLAKE2B 2a3eee64718f4a73b8dd51ccaeedd7b1b700f734b10daa864d2ca04da5f38ed6a514c4ae8b541000c4d4a3042dcd95533ff7c1df655d7b57ec89120a97d8a9b6 SHA512 bb84c697658e7cd39eb6af3a4a6085c3bc3295e5f0b4f35adf6565ecff5077acb27ecd92f7c6420aa06dab36d9b54915bce65e4ec3d011047a0a15cdccbbb284
diff --git a/dev-python/llfuse/llfuse-1.4.2.ebuild b/dev-python/llfuse/llfuse-1.4.2.ebuild
deleted file mode 100644
index 25243c97ce86..000000000000
--- a/dev-python/llfuse/llfuse-1.4.2.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 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for the low-level FUSE API"
-HOMEPAGE="
- https://github.com/python-llfuse/python-llfuse/
- https://pypi.org/project/llfuse/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-IUSE="doc examples"
-
-RDEPEND="
- >=sys-fs/fuse-2.8.0:0
-"
-DEPEND="
- ${RDEPEND}
- sys-apps/attr
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/llfuse-1.3.5-cflags.patch
-)
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # force regen
- rm src/llfuse.c || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- if [[ ! -f src/llfuse.c ]]; then
- esetup.py build_cython
- fi
- distutils-r1_python_compile
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/html/. )
- use examples && dodoc -r examples
- distutils-r1_python_install_all
-}
diff --git a/dev-python/llfuse/llfuse-1.5.0.ebuild b/dev-python/llfuse/llfuse-1.5.0.ebuild
new file mode 100644
index 000000000000..ff89a2a3ce4f
--- /dev/null
+++ b/dev-python/llfuse/llfuse-1.5.0.ebuild
@@ -0,0 +1,58 @@
+# 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 bindings for the low-level FUSE API"
+HOMEPAGE="
+ https://github.com/python-llfuse/python-llfuse/
+ https://pypi.org/project/llfuse/
+"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
+IUSE="doc examples"
+
+RDEPEND="
+ >=sys-fs/fuse-2.8.0:0
+"
+DEPEND="
+ ${RDEPEND}
+ sys-apps/attr
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/llfuse-1.3.5-cflags.patch
+)
+
+distutils_enable_sphinx rst
+distutils_enable_tests pytest
+
+src_prepare() {
+ # force regen
+ rm src/llfuse.c || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ if [[ ! -f src/llfuse.c ]]; then
+ esetup.py build_cython
+ fi
+ distutils-r1_python_compile
+}
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/lmdb/Manifest b/dev-python/lmdb/Manifest
index b14d8b1425f6..cd6420e0bfa4 100644
--- a/dev-python/lmdb/Manifest
+++ b/dev-python/lmdb/Manifest
@@ -1 +1 @@
-DIST lmdb-1.4.0.tar.gz 881541 BLAKE2B 1a1bd0d0f6451c57063485f71ecf6f917f7ec293e51cbe7ffa488e867a24ebe1af20ee04c91430de2c96ea0dea40bf2525f2e7b756ab9b3c999357f663ab231d SHA512 d6121a2dbadf9dcef5b65e9f5661d5934cae2e43bc2d830723cfe3982a2e937ad9260f1ea74ddaee83927ac8da4dbcfdf2ea8f801b5bfdaab096c4d326d9ede1
+DIST lmdb-1.4.1.tar.gz 881549 BLAKE2B a821473c2c026a3c5f0b2686414c4dd102ae82cba7db12fbaadd5dde5b03f22e9eae630ca87424cc55d3964b40437cfbd833ab7fb237544771cf48429810af96 SHA512 96b39a45c6e7c0fcc0b6f913337d07adb5c8883d0b6a95102b0227b6b92ac3fcdcaf09c132e44f2d3779b5066692b407bb1afd19ae8d87feda56047652a07354
diff --git a/dev-python/lmdb/lmdb-1.4.0.ebuild b/dev-python/lmdb/lmdb-1.4.0.ebuild
deleted file mode 100644
index 6dd87b33723e..000000000000
--- a/dev-python/lmdb/lmdb-1.4.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for the Lightning Database"
-HOMEPAGE="
- https://github.com/jnwatson/py-lmdb/
- https://pypi.org/project/lmdb/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.4.1.ebuild b/dev-python/lmdb/lmdb-1.4.1.ebuild
new file mode 100644
index 000000000000..871b9ec426f6
--- /dev/null
+++ b/dev-python/lmdb/lmdb-1.4.1.ebuild
@@ -0,0 +1,41 @@
+# 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/lmfit/Manifest b/dev-python/lmfit/Manifest
index 9f0b92034ece..2ad85a8f206c 100644
--- a/dev-python/lmfit/Manifest
+++ b/dev-python/lmfit/Manifest
@@ -1 +1,2 @@
-DIST lmfit-py-1.1.0.gh.tar.gz 300406 BLAKE2B b874efd70bc1c5fa2c94239027d636a8dd5bf5ca2a3481cfc467032efe9d57ff55c74ccf175f32c6f87cd285e9216db49ef4fb0566e86cafe85537a40db64366 SHA512 9d5c871446a5bb650d8709b0db100e23be8ed7459ceb7ea4614fb07b1058044bb07394b2af615ecf7d9a22aaf49c1da723cb555749956d1f3ad507a4465fa0da
+DIST lmfit-1.2.2.tar.gz 336346 BLAKE2B 78819c8be935f330b2f0eaad09ff9201c80e12d571571d8ee5088100c4d19a6a78d2e860e7b240fb6f2eea5f27bd0fc72538fdb04e6cc4e3e1d801f4f5fc5110 SHA512 f667bf8eb9c4090beda33de8a32c284a1f1eb2f1643085191943517acf61e125c7bafed37b634267fdc69e49338397248673fc62f8afc8fc8cc6733726cd0313
+DIST lmfit-1.3.0.tar.gz 628754 BLAKE2B e5fa707c8f778227e89c996e4c2763b71562b01e67cbe3558825e2ee278999c5732717953607104ba553faee2984151a978e04c44a624ea95d1bc4fc9f2feb60 SHA512 198b290a8970dc954705824f09b86ee2bd9e12fc71635fe89e38a5911f88103861daab6f292a6e4c93bc3e3413676b33f680cea7adae3137feb251d792f76270
diff --git a/dev-python/lmfit/lmfit-1.1.0.ebuild b/dev-python/lmfit/lmfit-1.1.0.ebuild
deleted file mode 100644
index b35675feecfd..000000000000
--- a/dev-python/lmfit/lmfit-1.1.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_{9..11} )
-
-inherit distutils-r1
-
-MY_P=lmfit-py-${PV}
-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/
-"
-SRC_URI="
- https://github.com/lmfit/lmfit-py/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-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
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- tests/test_model.py::TestUserDefiniedModel::test_model_nan_policy
- )
-
- epytest -o addopts=
-}
diff --git a/dev-python/lmfit/lmfit-1.2.2.ebuild b/dev-python/lmfit/lmfit-1.2.2.ebuild
new file mode 100644
index 000000000000..228886d33208
--- /dev/null
+++ b/dev-python/lmfit/lmfit-1.2.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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.0.ebuild b/dev-python/lmfit/lmfit-1.3.0.ebuild
new file mode 100644
index 000000000000..93e1d36d7e10
--- /dev/null
+++ b/dev-python/lmfit/lmfit-1.3.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..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/locket/locket-1.0.0.ebuild b/dev-python/locket/locket-1.0.0.ebuild
index f3d801afbf9b..a26d8463b7d2 100644
--- a/dev-python/locket/locket-1.0.0.ebuild
+++ b/dev-python/locket/locket-1.0.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
BDEPEND="
test? ( dev-python/spur[${PYTHON_USEDEP}] )
diff --git a/dev-python/lockfile/lockfile-0.12.2-r3.ebuild b/dev-python/lockfile/lockfile-0.12.2-r3.ebuild
index a7f39637975c..25378bb65c27 100644
--- a/dev-python/lockfile/lockfile-0.12.2-r3.ebuild
+++ b/dev-python/lockfile/lockfile-0.12.2-r3.ebuild
@@ -4,20 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Platform-independent file locking module"
HOMEPAGE="
https://launchpad.net/pylockfile/
https://pypi.org/project/lockfile/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
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/pbr-1.8[${PYTHON_USEDEP}]
diff --git a/dev-python/logbook/Manifest b/dev-python/logbook/Manifest
index 36a1b5c15aeb..aa0d850885b1 100644
--- a/dev-python/logbook/Manifest
+++ b/dev-python/logbook/Manifest
@@ -1 +1 @@
-DIST logbook-1.5.3.gh.tar.gz 371901 BLAKE2B e37924e06613ccf27380004b159966b7b42ec7b766afb6904751eafb3d774c5a9994b9d63f834fbe949fe345953c0da4693e093d717b589046412bd4056322bf SHA512 c9068324f12a189ced98e2c02753489847fa533ce3a3af07b62c73e9959c2e014d47515d47e756d031639cb220a2c4a9a380cba4cb3ea1b190c50106decba686
+DIST logbook-1.7.0.gh.tar.gz 364752 BLAKE2B a801c2ec55a257250336748007bdb95206372cf8cf3492785c5c50829e3e3c467de564401ed6f758f3e6b14d708d889860a4bb93da5119fc134df5167976bebb SHA512 50b52f54e894be303a7e910602cfbbceee04280cb134ad89f32f0a79c21d509ae0f6ae83beac9a9e22726d1c394e9893eea884ff43b56aae9dbad6dd1221d96f
diff --git a/dev-python/logbook/logbook-1.5.3-r1.ebuild b/dev-python/logbook/logbook-1.5.3-r1.ebuild
deleted file mode 100644
index afd288b9e076..000000000000
--- a/dev-python/logbook/logbook-1.5.3-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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="A logging replacement for Python"
-HOMEPAGE="https://logbook.readthedocs.io/en/stable/
- https://github.com/getlogbook/logbook
- https://pypi.org/project/Logbook/"
-SRC_URI="https://github.com/getlogbook/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-BDEPEND="
- test? (
- app-arch/brotli[${PYTHON_USEDEP},python]
- dev-python/execnet[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/pyzmq[${PYTHON_USEDEP}]
- dev-python/sqlalchemy[${PYTHON_USEDEP}]
- )"
-RDEPEND="
- !!dev-python/contextvars
- !!dev-python/gevent"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs
-
-EPYTEST_DESELECT=(
- # Delete test file requiring local connection to redis server
- tests/test_queues.py
- # https://github.com/getlogbook/logbook/issues/318
- tests/test_ticketing.py::test_basic_ticketing
-)
-
-python_configure_all() {
- export DISABLE_LOGBOOK_CEXT=1
-}
diff --git a/dev-python/logbook/logbook-1.7.0.ebuild b/dev-python/logbook/logbook-1.7.0.ebuild
new file mode 100644
index 000000000000..cbf91d4941f2
--- /dev/null
+++ b/dev-python/logbook/logbook-1.7.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-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 logging replacement for Python"
+HOMEPAGE="
+ https://logbook.readthedocs.io/en/stable/
+ https://github.com/getlogbook/logbook/
+ https://pypi.org/project/Logbook/
+"
+SRC_URI="
+ https://github.com/getlogbook/logbook/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~riscv x86"
+
+BDEPEND="
+ test? (
+ app-arch/brotli[${PYTHON_USEDEP},python]
+ >=dev-python/execnet-1.0.9[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pyzmq[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.4[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ !!dev-python/contextvars
+ !!dev-python/gevent
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs
+
+python_configure_all() {
+ export DISABLE_LOGBOOK_CEXT=1
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Delete test file requiring local connection to redis server
+ tests/test_queues.py
+ # https://github.com/getlogbook/logbook/issues/318
+ tests/test_ticketing.py::test_basic_ticketing
+ )
+
+ epytest -p no:flaky
+}
diff --git a/dev-python/logfury/logfury-1.0.1-r1.ebuild b/dev-python/logfury/logfury-1.0.1-r1.ebuild
index e293a74e48f8..62341194ab94 100644
--- a/dev-python/logfury/logfury-1.0.1-r1.ebuild
+++ b/dev-python/logfury/logfury-1.0.1-r1.ebuild
@@ -4,25 +4,30 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
+
inherit distutils-r1
DESCRIPTION="Boilerplate library for logging method calls"
HOMEPAGE="
https://github.com/reef-technologies/logfury
- https://pypi.org/project/logfury/"
+ https://pypi.org/project/logfury/
+"
SRC_URI="
https://github.com/reef-technologies/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz"
+ -> ${P}.gh.tar.gz
+"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
test? (
dev-python/testfixtures[${PYTHON_USEDEP}]
- )"
+ )
+"
distutils_enable_tests pytest
diff --git a/dev-python/logical-unification/Manifest b/dev-python/logical-unification/Manifest
index f4d929eeae85..46ee129a5f44 100644
--- a/dev-python/logical-unification/Manifest
+++ b/dev-python/logical-unification/Manifest
@@ -1 +1 @@
-DIST logical-unification-0.4.5.gh.tar.gz 47003 BLAKE2B 9f7e119a69b15b460ce66af137a3f0c3dd3da154173ac196a94d4894aafc67eeaa31d69c5ca8bdd6e264a3f7599f9e301dad103510c77e60ff14cc8af1c86ce8 SHA512 42af33ac7da6013d48d26ab49b84b40146f494963f1eee06256a219e8d0517b04cc3fe86f51cf19729fc64ad765e75a4890b278c2dbbf34eb7e1ef65f3014784
+DIST logical-unification-0.4.6.gh.tar.gz 47171 BLAKE2B 894db9bfc94b1b4ed496376bb45dd6f71db89f57ff73ab4bfacd12e991817751c4213b36d6e19d34b239e1335dcbe7b71ab283d419bab92554dacc539355ae7e SHA512 6caf91823acbaf0341d7d515610bbe351882f1b6fdff064fc900adb56387c6023a49743b0ad5f6f1c6af42e79b53ac1d1540a4ce3c42dca5fd79f0abec9f653c
diff --git a/dev-python/logical-unification/logical-unification-0.4.5.ebuild b/dev-python/logical-unification/logical-unification-0.4.5.ebuild
deleted file mode 100644
index 668cc08c7f46..000000000000
--- a/dev-python/logical-unification/logical-unification-0.4.5.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Logical unification in Python"
-HOMEPAGE="
- https://pypi.org/project/logical-unification/
- https://github.com/pythological/unification/
-"
-SRC_URI="
- https://github.com/pythological/unification/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/unification-${PV}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/multipledispatch[${PYTHON_USEDEP}]
- dev-python/toolz[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- tests/test_benchmarks.py
-)
diff --git a/dev-python/logical-unification/logical-unification-0.4.6.ebuild b/dev-python/logical-unification/logical-unification-0.4.6.ebuild
new file mode 100644
index 000000000000..1ce1c386d007
--- /dev/null
+++ b/dev-python/logical-unification/logical-unification-0.4.6.ebuild
@@ -0,0 +1,38 @@
+# 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="Logical unification in Python"
+HOMEPAGE="
+ https://pypi.org/project/logical-unification/
+ https://github.com/pythological/unification/
+"
+# No tests in sdist, as of 0.4.6
+SRC_URI="
+ https://github.com/pythological/unification/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/unification-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86"
+
+RDEPEND="
+ dev-python/multipledispatch[${PYTHON_USEDEP}]
+ dev-python/toolz[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ tests/test_benchmarks.py
+ # weird test for testing limits of runtime
+ tests/test_core.py::test_reify_recursion_limit
+)
diff --git a/dev-python/loguru/Manifest b/dev-python/loguru/Manifest
index 39d14b070605..4d7b0008da94 100644
--- a/dev-python/loguru/Manifest
+++ b/dev-python/loguru/Manifest
@@ -1 +1 @@
-DIST loguru-0.6.0.tar.gz 417660 BLAKE2B a7b7d95ffcf652769503db3423768ff85a4fa4898f0e2b155d96ce0c42fa7f24255f9dc49ba62e8a4f19bb3b7cc8b374580fe0965c9683b14d9bcea9866e71a5 SHA512 6ca7087cde3b4ce11255e31af988e5e118a7ebfbb338b97ebd6e7e4af716f0301c0180a59b18c879fd799c25802b428411b868290b7593212f06d70bcbd6a9ca
+DIST loguru-0.7.2.gh.tar.gz 443643 BLAKE2B 208c4ad989257e0e0d5cecf41c9722f398e5c73528f8a88c92e28490121723d5c19b4170ff246446e94237e8bb732f83e4b9fcc66c42aa7e3c1ba25aaa069e34 SHA512 e4d358f12ec33393bdac836206a15a3161653684b69839f58bbdc692155e4aee4b6ec700ab13b83f431a67df5ec86cacf2cb90fa052827e5e03c68c1f132e339
diff --git a/dev-python/loguru/files/0.6.0-typos.patch b/dev-python/loguru/files/0.6.0-typos.patch
deleted file mode 100644
index ed9fecc91bfd..000000000000
--- a/dev-python/loguru/files/0.6.0-typos.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 8b820c7a138f0b320311c85e8ea6e1c017576000 Mon Sep 17 00:00:00 2001
-From: Delgan <4193924+Delgan@users.noreply.github.com>
-Date: Sat, 29 Jan 2022 14:50:59 +0100
-Subject: [PATCH 1/2] Fix small typo in CHANGELOG.md
-
----
- CHANGELOG.rst | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CHANGELOG.rst b/CHANGELOG.rst
-index 4c57fad..1d08f9d 100644
---- a/CHANGELOG.rst
-+++ b/CHANGELOG.rst
-@@ -184,7 +184,7 @@ Initial release.
-
-
- .. _Unreleased: https://github.com/delgan/loguru/compare/0.6.0...master
--.. -0.6.0: https://github.com/delgan/loguru/releases/tag/0.6.0
-+.. _0.6.0: https://github.com/delgan/loguru/releases/tag/0.6.0
- .. _0.5.3: https://github.com/delgan/loguru/releases/tag/0.5.3
- .. _0.5.2: https://github.com/delgan/loguru/releases/tag/0.5.2
- .. _0.5.1: https://github.com/delgan/loguru/releases/tag/0.5.1
-
-From ee1ce85a047fc396276e10ae92b72610cbafd57b Mon Sep 17 00:00:00 2001
-From: Delgan <4193924+Delgan@users.noreply.github.com>
-Date: Sun, 30 Jan 2022 20:28:37 +0100
-Subject: [PATCH 2/2] Fix another small typo in CHANGELOG.rst
-
----
- CHANGELOG.rst | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CHANGELOG.rst b/CHANGELOG.rst
-index 1d08f9d..6e1c182 100644
---- a/CHANGELOG.rst
-+++ b/CHANGELOG.rst
-@@ -1,7 +1,7 @@
- `0.6.0`_ (2022-01-29)
- =====================
-
--- Remove internal use of ``pickle.loads()`` considered as a security vulnerability referenced as `CVE-2022-0329 https://nvd.nist.gov/vuln/detail/CVE-2022-0329`_ (`#563 <https://github.com/Delgan/loguru/issues/563>`_).
-+- Remove internal use of ``pickle.loads()`` considered as a security vulnerability referenced as `CVE-2022-0329 <https://nvd.nist.gov/vuln/detail/CVE-2022-0329>`_ (`#563 <https://github.com/Delgan/loguru/issues/563>`_).
- - Modify coroutine sink to make it discard log messages when ``loop=None`` and no event loop is running (due to internally using ``asyncio.get_running_loop()`` in place of ``asyncio.get_event_loop()``).
- - Remove the possibility to add a coroutine sink with ``enqueue=True`` if ``loop=None`` and no event loop is running.
- - Change default encoding of file sink to be ``utf8`` instead of ``locale.getpreferredencoding()`` (`#339 <https://github.com/Delgan/loguru/issues/339>`_).
diff --git a/dev-python/loguru/loguru-0.6.0.ebuild b/dev-python/loguru/loguru-0.6.0.ebuild
deleted file mode 100644
index 1171ea803086..000000000000
--- a/dev-python/loguru/loguru-0.6.0.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python logging made (stupidly) simple"
-HOMEPAGE="https://github.com/Delgan/loguru"
-SRC_URI="https://github.com/Delgan/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
-
-RDEPEND="$(python_gen_cond_dep 'dev-python/aiocontextvars[${PYTHON_USEDEP}]' 'python3_6')"
-BDEPEND="test? ( >=dev-python/colorama-0.3.4[${PYTHON_USEDEP}] )"
-# filesystem buffering tests may fail
-# on tmpfs with 64k PAGESZ, but pass fine on ext4
-distutils_enable_tests pytest
-
-PATCHES=( "${FILESDIR}/0.6.0-typos.patch" )
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..d9945b466f62
--- /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 ~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/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 95e63b27ac4c..fd886838498d 100644
--- a/dev-python/logutils/logutils-0.3.5-r1.ebuild
+++ b/dev-python/logutils/logutils-0.3.5-r1.ebuild
@@ -1,25 +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=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="The logutils package provides a set of handlers for the Python standard"
HOMEPAGE="https://bitbucket.org/vinay.sajip/logutils"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm64 ppc64 ~riscv x86"
BDEPEND="
test? (
dev-db/redis
- dev-python/redis-py[${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/loky/Manifest b/dev-python/loky/Manifest
index 11c300fae655..6f1944666588 100644
--- a/dev-python/loky/Manifest
+++ b/dev-python/loky/Manifest
@@ -1 +1 @@
-DIST loky-3.3.0.gh.tar.gz 141130 BLAKE2B 35560dca81cf41e03b24c8be6e70952c19b88fc9794cb13d7c910ac67ec4554555233026a215c6f147dc1354ad11bc14117b4eb6455ba758b79ea6650dc01f62 SHA512 120f771c75fe8691a198c93a91bf683af3d32c1bcaf2fa3e9c439d16546bff9feb6ce203667bd6c4e06ac326500b7bd117948e4deea6f53b04682af1f8d65734
+DIST loky-3.4.1.gh.tar.gz 143933 BLAKE2B b55dc9fe431769de6bc7f8d9854c40a361566d9c0325c7037255c5ce2b9875ff071743892ec5db53be7744955558195eb40fc5467917eeba3d533c68f285a1ec SHA512 435dc24a0532e6a40a67613fd1e13a06439ffe00c28b90fa36ff02255b67e0dd99d515f5659a36aa1049a9df73b16c1088989a1379a8492ebc5dbf1e53a37a06
diff --git a/dev-python/loky/loky-3.3.0.ebuild b/dev-python/loky/loky-3.3.0.ebuild
deleted file mode 100644
index 1c2397693bbb..000000000000
--- a/dev-python/loky/loky-3.3.0.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Robust and reusable Executor for joblib"
-HOMEPAGE="https://github.com/joblib/loky"
-SRC_URI="
- https://github.com/joblib/loky/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- EPYTEST_DESELECT=(
- # docker, seriously?
- tests/test_loky_module.py::test_cpu_count_cfs_limit
- # hangs, and even pytest-timeout does not help
- tests/test_reusable_executor.py::TestExecutorDeadLock::test_deadlock_kill
- tests/test_reusable_executor.py::TestResizeExecutor::test_reusable_executor_resize
- )
-
- # high memory test needs a lot of memory + is broken on 32-bit platforms
- epytest --skip-high-memory
-}
diff --git a/dev-python/loky/loky-3.4.1.ebuild b/dev-python/loky/loky-3.4.1.ebuild
new file mode 100644
index 000000000000..97ce588e59b8
--- /dev/null
+++ b/dev-python/loky/loky-3.4.1.ebuild
@@ -0,0 +1,59 @@
+# 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 multiprocessing
+
+DESCRIPTION="Robust and reusable Executor for joblib"
+HOMEPAGE="
+ https://github.com/joblib/loky/
+ https://pypi.org/project/loky/
+"
+SRC_URI="
+ https://github.com/joblib/loky/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ EPYTEST_DESELECT=(
+ # docker, seriously?
+ tests/test_loky_module.py::test_cpu_count_cfs_limit
+ tests/test_loky_module.py::test_cpu_count_cgroup_limit
+ # hangs, and even pytest-timeout does not help
+ tests/test_reusable_executor.py::TestExecutorDeadLock::test_deadlock_kill
+ tests/test_reusable_executor.py::TestResizeExecutor::test_reusable_executor_resize
+ # Python 3.12 raises an additional warning due to the use of fork()
+ # in a multithreaded process, the additional warning breaks this test
+ # since the expected warning is no longer the first.
+ # This is harmless, skip test for now
+ tests/test_worker_timeout.py::TestTimeoutExecutor::test_worker_timeout_shutdown_no_deadlock
+ tests/test_reusable_executor.py::TestResizeExecutor::test_resize_after_timeout
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # high memory test needs a lot of memory + is broken on 32-bit platforms
+ epytest --skip-high-memory \
+ -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
diff --git a/dev-python/looseversion/Manifest b/dev-python/looseversion/Manifest
new file mode 100644
index 000000000000..be908ce41c35
--- /dev/null
+++ b/dev-python/looseversion/Manifest
@@ -0,0 +1 @@
+DIST looseversion-1.3.0.tar.gz 8799 BLAKE2B 75664c31164062178986a14ff2fcc1a4c3c2c8e5bab9728477c33c73076833b5fdc8d55ebf7444f809a9a3e6152eb9c51888b8227efd4ac5f865890da8ec0472 SHA512 a54c788ba698b07308cfc75b5afba2cda59451d72d178be92b43c433deac9b24bffafa26f121af79a3d42eca8f83e7f50477498e1a17aec47cc213d39aa47eb2
diff --git a/dev-python/looseversion/looseversion-1.3.0.ebuild b/dev-python/looseversion/looseversion-1.3.0.ebuild
new file mode 100644
index 000000000000..6654b11d9f0b
--- /dev/null
+++ b/dev-python/looseversion/looseversion-1.3.0.ebuild
@@ -0,0 +1,25 @@
+# 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 pypi distutils-r1
+
+DESCRIPTION="A backwards/forwards-compatible fork of distutils.version.LooseVersion"
+HOMEPAGE="
+ https://pypi.org/project/looseversion/
+ https://github.com/effigies/looseversion
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest tests.py
+}
diff --git a/dev-python/looseversion/metadata.xml b/dev-python/looseversion/metadata.xml
new file mode 100644
index 000000000000..7fb287c14b07
--- /dev/null
+++ b/dev-python/looseversion/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>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">effigies/looseversion</remote-id>
+ <remote-id type="pypi">looseversion</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/lrcalc/Manifest b/dev-python/lrcalc/Manifest
new file mode 100644
index 000000000000..087604119042
--- /dev/null
+++ b/dev-python/lrcalc/Manifest
@@ -0,0 +1 @@
+DIST lrcalc_python-2.1.tar.gz 16452 BLAKE2B 9abdb23834e136f10d960695751bc6569f248abf72a7e89f7feafe4ce046bea47faed299e4ecf5e99ab419e6cb02bb861736006c20de2e328321b9bacb96845d SHA512 b6d3bc61be1fe478bef74d1c51d7072521ef8d43bf64323cce0985582e2981c02382fa38a2501f5c9537349573721a1de8e166149ee4df31ed13bf0f0fb5d2a8
diff --git a/dev-python/lrcalc/lrcalc-2.1-r1.ebuild b/dev-python/lrcalc/lrcalc-2.1-r1.ebuild
new file mode 100644
index 000000000000..3c654d1e043d
--- /dev/null
+++ b/dev-python/lrcalc/lrcalc-2.1-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2020-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
+DISTUTILS_EXT=1
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for sci-mathematics/lrcalc"
+HOMEPAGE="https://bitbucket.org/asbuch/lrcalc"
+# Avoid a name clash with the sci-mathematics/lrcalc tarball
+SRC_URI="$(pypi_sdist_url) -> ${PN}_python-${PV}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+BDEPEND="dev-python/cython[${PYTHON_USEDEP}]"
+DEPEND="~sci-mathematics/lrcalc-${PV}"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # Fix this typo in setup.py to avoid a QA warning
+ sed -i setup.py \
+ -e 's/long_description_type/long_description_content_type/' \
+ || die
+ default
+}
diff --git a/dev-python/lrcalc/metadata.xml b/dev-python/lrcalc/metadata.xml
new file mode 100644
index 000000000000..8e0632fe2c3d
--- /dev/null
+++ b/dev-python/lrcalc/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ </maintainer>
+
+ <maintainer type="person" proxied="yes">
+ <email>frp.bissey@gmail.com</email>
+ <name>François Bissey</name>
+ </maintainer>
+
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+
+ <maintainer type="project">
+ <email>sci-mathematics@gentoo.org</email>
+ <name>Gentoo Mathematics Project</name>
+ </maintainer>
+
+ <upstream>
+ <remote-id type="bitbucket">asbuch/lrcalc</remote-id>
+ <remote-id type="pypi">lrcalc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/lxml/Manifest b/dev-python/lxml/Manifest
index dfb11dbe76ef..119dc61cde67 100644
--- a/dev-python/lxml/Manifest
+++ b/dev-python/lxml/Manifest
@@ -1 +1,4 @@
-DIST lxml-4.9.2.gh.tar.gz 957365 BLAKE2B 201b3977da90386e413f1b89a4b7ee1e44d6bbea05e622e92feb1d67c637ce46ebf746f0648f034ed3bccd609233ccf7d8a7ee456f13b8d9ca8587ddf1ebd32a SHA512 816b2fe2eef2a97a0df66cbc39850c6dc3d6470e4033cc73edb40c80c0afbbe6c084d042d7c98b29497926e76f648caa42e1ebe5d83060af08af6972316077b0
+DIST lxml-5.1.0.gh.tar.gz 962111 BLAKE2B 31c82eb198911d82fd9f7882bf94547b2367f3b3d1183eb8e8f97297b96faa69230d27b3367160b1f732a5d0878296b2d11787c3b220416c81a920e62ebec4f2 SHA512 1fadfeac1fb8b1e4fb1f7f2acb056865eb2567300a6c728eaede380d846ac75a6e33ebebcbbc6d60f54102152afd5dddf970058c4e27af396e9fa58e83c407a7
+DIST lxml-5.1.1.gh.tar.gz 963649 BLAKE2B 0cb7b4e39539ee962cd590b2b2dc644a111a094da9cbccc2ee0c29b9a758d8aca967f989693c76532252909dc44a96a3815273f04f28be2dbeb57d4daae2e6fd SHA512 bb479ca7dcce944a9a3597f67da1b12fb9f3a05592fb8342fe01bc569a86df95c32c7bf1bc0b9cfc0ddffb85adf12612fb2d8622a460357c1aaa56e033476375
+DIST lxml-5.2.0.gh.tar.gz 949400 BLAKE2B 4a1640e1da27504e6a9b5e1c55fa2d51eb2e27f6400b63dae29aa42c6c9bf9a002374d0c4ec3ccd13452efd4f39f0a28dc5989fe7f1da5c80e17b2fb31a0dcae SHA512 5d4faab6430666427a7540b768a81beb5c628e7801a06156a68a03a5f75e424e61b1dfd792b8909e03e8561ffb0be64f62c86a411c110c01a021f4cbf37593f2
+DIST lxml-5.2.1.gh.tar.gz 950408 BLAKE2B d0ad369f9d555a9bcdd92c71fb84063eba864c359d1ff27159c8f6de433bcce6915c9cff31aa7bd99de9aa54cb9a1d7ea7b3bb2526c755f8a38aaa21d9d30dfd SHA512 bd5ab005d617da588f87fa643245916e6963394b167f66991dce6443490692fcbf27620c2208b271bd8a1a97c79b09eedca2d1c6f02ba990a7d88d00ee43edfe
diff --git a/dev-python/lxml/files/lxml-4.6.0-tests-pypy.patch b/dev-python/lxml/files/lxml-4.6.0-tests-pypy.patch
deleted file mode 100644
index 51bcb8fe2e22..000000000000
--- a/dev-python/lxml/files/lxml-4.6.0-tests-pypy.patch
+++ /dev/null
@@ -1,452 +0,0 @@
-From 1804702b5e3c85c1a16014d62365a29d0a6d0c75 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Thu, 30 Jan 2020 06:15:27 +0100
-Subject: [PATCH] Skip tests failing on PyPy
-
----
- src/lxml/tests/test_elementtree.py | 3 +-
- src/lxml/tests/test_errors.py | 3 +-
- src/lxml/tests/test_http_io.py | 3 +-
- src/lxml/tests/test_nsclasses.py | 3 +-
- src/lxml/tests/test_objectify.py | 41 +++++++++++++++++++++++++--
- src/lxml/tests/test_xpathevaluator.py | 7 +++--
- src/lxml/tests/test_xslt.py | 7 +++--
- 7 files changed, 56 insertions(+), 11 deletions(-)
-
-diff --git a/src/lxml/tests/test_elementtree.py b/src/lxml/tests/test_elementtree.py
-index 78d8964d..f3f28044 100644
---- a/src/lxml/tests/test_elementtree.py
-+++ b/src/lxml/tests/test_elementtree.py
-@@ -26,7 +26,7 @@ from .common_imports import (
- BytesIO, etree, HelperTestCase,
- ElementTree, cElementTree, ET_VERSION, CET_VERSION,
- filter_by_version, fileInTestDir, canonicalize, tmpfile,
-- _str, _bytes, unicode, IS_PYTHON2
-+ _str, _bytes, unicode, IS_PYTHON2, IS_PYPY
- )
-
- if cElementTree is not None and (CET_VERSION <= (1,0,7) or sys.version_info[0] >= 3):
-@@ -2956,6 +2956,7 @@ class _ETreeTestCaseBase(HelperTestCase):
- self.assertEqual('TEST', root2[0].get('{%s}a' % ns_href))
-
- required_versions_ET['test_register_namespace'] = (1,3)
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_register_namespace(self):
- # ET 1.3+
- Element = self.etree.Element
-diff --git a/src/lxml/tests/test_errors.py b/src/lxml/tests/test_errors.py
-index c0aee744..33111429 100644
---- a/src/lxml/tests/test_errors.py
-+++ b/src/lxml/tests/test_errors.py
-@@ -11,7 +11,7 @@ import unittest
- import sys, gc, os.path
- from lxml import etree
-
--from .common_imports import HelperTestCase
-+from .common_imports import HelperTestCase, IS_PYPY
-
-
- class ErrorTestCase(HelperTestCase):
-@@ -25,6 +25,7 @@ class ErrorTestCase(HelperTestCase):
- def test_empty_parse(self):
- self.assertRaises(etree.XMLSyntaxError, etree.fromstring, '')
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_element_cyclic_gc_none(self):
- # test if cyclic reference can crash etree
- Element = self.etree.Element
-diff --git a/src/lxml/tests/test_http_io.py b/src/lxml/tests/test_http_io.py
-index f9eff39a..edf2bd81 100644
---- a/src/lxml/tests/test_http_io.py
-+++ b/src/lxml/tests/test_http_io.py
-@@ -11,10 +11,11 @@ import textwrap
- import sys
- 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
-
-
-+@unittest.skipIf(IS_PYPY, "broken on pypy")
- class HttpIOTestCase(HelperTestCase):
- etree = etree
-
-diff --git a/src/lxml/tests/test_nsclasses.py b/src/lxml/tests/test_nsclasses.py
-index a0aa608d..5aa5dc48 100644
---- a/src/lxml/tests/test_nsclasses.py
-+++ b/src/lxml/tests/test_nsclasses.py
-@@ -9,7 +9,7 @@ from __future__ import absolute_import
-
- import unittest
-
--from .common_imports import etree, HelperTestCase, _bytes, make_doctest
-+from .common_imports import etree, HelperTestCase, _bytes, make_doctest, IS_PYPY
-
- class ETreeNamespaceClassesTestCase(HelperTestCase):
-
-@@ -46,6 +46,7 @@ class ETreeNamespaceClassesTestCase(HelperTestCase):
- self.Namespace('ns02').clear()
- self.Namespace('ns03').clear()
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_ns_classes(self):
- bluff_dict = {'bluff' : self.bluff_class}
- maeh_dict = {'maeh' : self.maeh_class}
-diff --git a/src/lxml/tests/test_objectify.py b/src/lxml/tests/test_objectify.py
-index a12ae7e1..83ba4ced 100644
---- a/src/lxml/tests/test_objectify.py
-+++ b/src/lxml/tests/test_objectify.py
-@@ -9,7 +9,8 @@ from __future__ import absolute_import
- import unittest, operator
-
- from .common_imports import (
-- etree, HelperTestCase, fileInTestDir, doctest, make_doctest, _bytes, _str, BytesIO
-+ etree, HelperTestCase, fileInTestDir, doctest, make_doctest, _bytes, _str, BytesIO,
-+ IS_PYPY
- )
-
- from lxml import objectify
-@@ -213,11 +214,13 @@ class ObjectifyTestCase(HelperTestCase):
- expected.update(DEFAULT_NSMAP)
- self.assertEqual(root.value.nsmap, expected)
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_date_element_efactory_text(self):
- # ObjectifiedDataElement can also be used as E-Factory
- value = objectify.ObjectifiedDataElement('test', 'toast')
- self.assertEqual(value.text, 'testtoast')
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_date_element_efactory_tail(self):
- # ObjectifiedDataElement can also be used as E-Factory
- value = objectify.ObjectifiedElement(objectify.ObjectifiedDataElement(), 'test', 'toast')
-@@ -374,6 +377,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertEqual("4", getattr(root.c1, "{}c2").text)
- self.assertEqual("0", getattr(root.c1, "c2").text)
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_setattr(self):
- for val in [
- 2, 2**32, 1.2, "Won't get fooled again",
-@@ -809,6 +813,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertEqual(3, len(root.findall(".//b")))
- self.assertEqual(2, len(root.findall("b")))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_build_tree(self):
- root = self.Element('root')
- root.a = 5
-@@ -838,6 +843,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertEqual(value, None)
- self.assertEqual(value.get(XML_SCHEMA_NIL_ATTR), "true")
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_bool(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -871,6 +877,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertTrue(isinstance(value, objectify.BoolElement))
- self.assertEqual(value, False)
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -878,6 +885,7 @@ class ObjectifyTestCase(HelperTestCase):
- root.s = "test"
- self.assertTrue(isinstance(root.s, objectify.StringElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_intliteral(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -885,6 +893,7 @@ class ObjectifyTestCase(HelperTestCase):
- root.s = "3"
- self.assertTrue(isinstance(root.s, objectify.StringElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_floatliteral(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -892,6 +901,7 @@ class ObjectifyTestCase(HelperTestCase):
- root.s = "3.72"
- self.assertTrue(isinstance(root.s, objectify.StringElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_mul(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -904,6 +914,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertRaises(TypeError, operator.mul, root.s, "honk")
- self.assertRaises(TypeError, operator.mul, "honk", root.s)
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_add(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -914,6 +925,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertEqual("test" + s, root.s + s)
- self.assertEqual(s + "test", s + root.s)
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_mod(self):
- s = "%d %f %s %r"
- el = objectify.DataElement(s)
-@@ -979,6 +991,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertTrue(isinstance(value, objectify.StringElement))
- self.assertEqual(value, "3.20")
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_ustr(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -986,6 +999,7 @@ class ObjectifyTestCase(HelperTestCase):
- root.s = _str("test")
- self.assertTrue(isinstance(root.s, objectify.StringElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_ustr_intliteral(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -993,6 +1007,7 @@ class ObjectifyTestCase(HelperTestCase):
- root.s = _str("3")
- self.assertTrue(isinstance(root.s, objectify.StringElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_ustr_floatliteral(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -1000,6 +1015,7 @@ class ObjectifyTestCase(HelperTestCase):
- root.s = _str("3.72")
- self.assertTrue(isinstance(root.s, objectify.StringElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_ustr_mul(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -1012,6 +1028,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertRaises(TypeError, operator.mul, root.s, _str("honk"))
- self.assertRaises(TypeError, operator.mul, _str("honk"), root.s)
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_ustr_add(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -1037,6 +1054,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertTrue(isinstance(value, objectify.StringElement))
- self.assertEqual(value, _str("3.20"))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_int(self):
- Element = self.Element
- root = Element("{objectified}root")
-@@ -1053,6 +1071,7 @@ class ObjectifyTestCase(HelperTestCase):
- value = objectify.DataElement(123)
- self.assertEqual(hash(value), hash(123))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_float(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -1069,6 +1088,7 @@ class ObjectifyTestCase(HelperTestCase):
- value = objectify.DataElement(5.5)
- self.assertEqual(hash(value), hash(5.5))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_float_precision(self):
- # test not losing precision by shortened float str() value
- # repr(2.305064300557): '2.305064300557'
-@@ -1088,6 +1108,7 @@ class ObjectifyTestCase(HelperTestCase):
- s = "2.305064300557"
- self.assertEqual(objectify.FloatElement(s), float(s))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_float_precision_consistency(self):
- # test consistent FloatElement values for the different instantiation
- # possibilities
-@@ -1169,6 +1190,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertEqual(value.text, None)
- self.assertEqual(value.pyval, None)
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_unregistered(self):
- Element = self.Element
- SubElement = self.etree.SubElement
-@@ -1331,6 +1353,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertEqual(["why", "try"],
- strs)
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_str_cmp(self):
- XML = self.XML
- root = XML(_bytes('<root><b>test</b><b>taste</b><b></b><b/></root>'))
-@@ -1358,6 +1381,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertEqual(root.b, "")
- self.assertEqual("", root.b)
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_int_cmp(self):
- XML = self.XML
- root = XML(_bytes('<root><b>5</b><b>6</b></root>'))
-@@ -1380,6 +1404,7 @@ class ObjectifyTestCase(HelperTestCase):
-
- # float + long share the NumberElement implementation with int
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_type_bool_cmp(self):
- XML = self.XML
- root = XML(_bytes('<root><b>false</b><b>true</b></root>'))
-@@ -2049,6 +2074,7 @@ class ObjectifyTestCase(HelperTestCase):
- before = [objectify.getRegisteredTypes()[0].name],
- after = [objectify.getRegisteredTypes()[1].name])
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_registered_type_stringify(self):
- from datetime import datetime
- def parse_date(value):
-@@ -2519,46 +2545,55 @@ class ObjectifyTestCase(HelperTestCase):
-
- # E-Factory tests, need to use sub-elements as root element is always
- # type-looked-up as ObjectifiedElement (no annotations)
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_int(self):
- E = objectify.E
- root = E.root(E.val(23))
- self.assertTrue(isinstance(root.val, objectify.IntElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_float(self):
- E = objectify.E
- root = E.root(E.val(233.23))
- self.assertTrue(isinstance(root.val, objectify.FloatElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_str(self):
- E = objectify.E
- root = E.root(E.val("what?"))
- self.assertTrue(isinstance(root.val, objectify.StringElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_unicode(self):
- E = objectify.E
- root = E.root(E.val(_str("blöödy häll", encoding="ISO-8859-1")))
- self.assertTrue(isinstance(root.val, objectify.StringElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_bool(self):
- E = objectify.E
- root = E.root(E.val(True))
- self.assertTrue(isinstance(root.val, objectify.BoolElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_none(self):
- E = objectify.E
- root = E.root(E.val(None))
- self.assertTrue(isinstance(root.val, objectify.NoneElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_value_concatenation(self):
- E = objectify.E
- root = E.root(E.val(1, "foo", 2.0, "bar ", True, None))
- self.assertTrue(isinstance(root.val, objectify.StringElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_attrib(self):
- E = objectify.E
- root = E.root(foo="bar")
- self.assertEqual(root.get("foo"), "bar")
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_nested(self):
- E = objectify.E
- DataElement = objectify.DataElement
-@@ -2573,6 +2608,7 @@ class ObjectifyTestCase(HelperTestCase):
- self.assertTrue(isinstance(root.value[0], objectify.IntElement))
- self.assertTrue(isinstance(root.value[1], objectify.FloatElement))
-
-+ @unittest.skipIf(IS_PYPY, "broken on pypy")
- def test_efactory_subtype(self):
- class Attribute(objectify.ObjectifiedDataElement):
- def __init__(self):
-@@ -2674,7 +2710,8 @@ def test_suite():
- suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(ObjectifyTestCase)])
- 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
-
- if __name__ == '__main__':
-diff --git a/src/lxml/tests/test_xpathevaluator.py b/src/lxml/tests/test_xpathevaluator.py
-index 13ee97ec..6d162c6d 100644
---- a/src/lxml/tests/test_xpathevaluator.py
-+++ b/src/lxml/tests/test_xpathevaluator.py
-@@ -8,7 +8,7 @@ from __future__ import absolute_import
-
- import unittest, sys
-
--from .common_imports import etree, HelperTestCase, _bytes, BytesIO, doctest, make_doctest
-+from .common_imports import etree, HelperTestCase, _bytes, BytesIO, doctest, make_doctest, IS_PYPY
-
-
- class ETreeXPathTestCase(HelperTestCase):
-@@ -740,8 +740,9 @@ def test_suite():
- suite.addTests([unittest.makeSuite(ETreeXPathExsltTestCase)])
- suite.addTests([unittest.makeSuite(ETreeETXPathClassTestCase)])
- suite.addTests([doctest.DocTestSuite()])
-- suite.addTests(
-- [make_doctest('../../../doc/xpathxslt.txt')])
-+ if not IS_PYPY:
-+ suite.addTests(
-+ [make_doctest('../../../doc/xpathxslt.txt')])
- return suite
-
- if __name__ == '__main__':
-diff --git a/src/lxml/tests/test_xslt.py b/src/lxml/tests/test_xslt.py
-index cde23357..41f8d78b 100644
---- a/src/lxml/tests/test_xslt.py
-+++ b/src/lxml/tests/test_xslt.py
-@@ -17,6 +17,8 @@ from textwrap import dedent
- from tempfile import NamedTemporaryFile, mkdtemp
-
- is_python3 = sys.version_info[0] >= 3
-+is_pypy = (getattr(sys, 'implementation', None) == 'pypy' or
-+ getattr(sys, 'pypy_version_info', None) is not None)
-
- try:
- unicode
-@@ -2085,8 +2087,9 @@ def test_suite():
- suite.addTests([unittest.makeSuite(Py3XSLTTestCase)])
- suite.addTests(
- [make_doctest('../../../doc/extensions.txt')])
-- suite.addTests(
-- [make_doctest('../../../doc/xpathxslt.txt')])
-+ if not is_pypy:
-+ suite.addTests(
-+ [make_doctest('../../../doc/xpathxslt.txt')])
- return suite
-
- if __name__ == '__main__':
---
-2.25.0
-
-diff --git a/doc/element_classes.txt b/doc/element_classes.txt
-index 4b1e72e8..fda9ea07 100644
---- a/doc/element_classes.txt
-+++ b/doc/element_classes.txt
-@@ -576,10 +576,10 @@ subclasses for elements of this namespace:
-
- >>> print(honk_element[0].honk())
- HONK
-- >>> print(honk_element[0].honking)
-+ >>> print(honk_element[0].honking) # doctest: +ELLIPSIS
- Traceback (most recent call last):
- ...
-- AttributeError: 'HonkNSElement' object has no attribute 'honking'
-+ AttributeError: 'HonkNSElement' object has no attribute 'honking'...
-
- >>> print(honk_element[1].text) # uses fallback for non-elements
- comment
-
diff --git a/dev-python/lxml/files/lxml-5.1.0-pypy.patch b/dev-python/lxml/files/lxml-5.1.0-pypy.patch
new file mode 100644
index 000000000000..7b50b9d3062c
--- /dev/null
+++ b/dev-python/lxml/files/lxml-5.1.0-pypy.patch
@@ -0,0 +1,175 @@
+diff --git a/src/lxml/tests/test_errors.py b/src/lxml/tests/test_errors.py
+index fa735c28..9337bc04 100644
+--- a/src/lxml/tests/test_errors.py
++++ b/src/lxml/tests/test_errors.py
+@@ -10,3 +10,3 @@ from lxml import etree
+
+-from .common_imports import HelperTestCase
++from .common_imports import HelperTestCase, IS_PYPY
+
+@@ -24,2 +24,3 @@ class ErrorTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_element_cyclic_gc_none(self):
+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/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.2.ebuild b/dev-python/lxml/lxml-4.9.2.ebuild
deleted file mode 100644
index 9c851186eca2..000000000000
--- a/dev-python/lxml/lxml-4.9.2.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_COMPAT=( python3_{9..11} 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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-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.9.12-r2
- >=dev-libs/libxslt-1.1.28
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- virtual/pkgconfig
- >=dev-python/cython-0.29.29[${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}-4.6.0-tests-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() {
- 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.1.0.ebuild b/dev-python/lxml/lxml-5.1.0.ebuild
new file mode 100644
index 000000000000..09f1667e8875
--- /dev/null
+++ b/dev-python/lxml/lxml-5.1.0.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 optfeature toolchain-funcs
+
+DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
+HOMEPAGE="
+ https://lxml.de/
+ https://pypi.org/project/lxml/
+ https://github.com/lxml/lxml/
+"
+SRC_URI="
+ https://github.com/lxml/lxml/archive/${P}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/lxml-${P}
+
+LICENSE="BSD ElementTree GPL-2 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc examples +threads test"
+RESTRICT="!test? ( test )"
+
+# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
+DEPEND="
+ >=dev-libs/libxml2-2.10.3
+ >=dev-libs/libxslt-1.1.38
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+ >=dev-python/cython-3.0.7[${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}/${P}-pypy.patch"
+)
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
+}
+
+python_prepare_all() {
+ # avoid replacing PYTHONPATH in tests.
+ sed -i -e '/sys\.path/d' test.py || die
+
+ # don't use some random SDK on Darwin
+ sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
+ setupinfo.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local DISTUTILS_ARGS=(
+ # by default it adds -w to CFLAGS
+ --warnings
+ )
+ tc-export PKG_CONFIG
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && emake html
+}
+
+python_test() {
+ local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ cp -al "${BUILD_DIR}"/{install,test} || die
+ cp -al src/lxml/tests "${dir}/" || die
+ cp -al src/lxml/html/tests "${dir}/html/" || die
+ ln -rs "${S}"/doc "${dir}"/../../ || die
+
+ "${EPYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use doc; then
+ local DOCS=( README.rst *.txt doc/*.txt )
+ local HTML_DOCS=( doc/html/. )
+ fi
+ if use examples; then
+ dodoc -r samples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
+ optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
+}
diff --git a/dev-python/lxml/lxml-5.1.1.ebuild b/dev-python/lxml/lxml-5.1.1.ebuild
new file mode 100644
index 000000000000..adc0126c2821
--- /dev/null
+++ b/dev-python/lxml/lxml-5.1.1.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 optfeature toolchain-funcs
+
+DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
+HOMEPAGE="
+ https://lxml.de/
+ https://pypi.org/project/lxml/
+ https://github.com/lxml/lxml/
+"
+SRC_URI="
+ https://github.com/lxml/lxml/archive/${P}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/lxml-${P}
+
+LICENSE="BSD ElementTree GPL-2 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc examples +threads test"
+RESTRICT="!test? ( test )"
+
+# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
+DEPEND="
+ >=dev-libs/libxml2-2.10.3
+ >=dev-libs/libxslt-1.1.38
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+ >=dev-python/cython-3.0.9[${PYTHON_USEDEP}]
+ doc? (
+ $(python_gen_any_dep '
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ ')
+ )
+ test? (
+ dev-python/cssselect[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.1.1-pypy.patch"
+)
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
+}
+
+python_prepare_all() {
+ # avoid replacing PYTHONPATH in tests.
+ sed -i -e '/sys\.path/d' test.py || die
+
+ # don't use some random SDK on Darwin
+ sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
+ setupinfo.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local DISTUTILS_ARGS=(
+ # by default it adds -w to CFLAGS
+ --warnings
+ )
+ tc-export PKG_CONFIG
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && emake html
+}
+
+python_test() {
+ local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ cp -al "${BUILD_DIR}"/{install,test} || die
+ cp -al src/lxml/tests "${dir}/" || die
+ cp -al src/lxml/html/tests "${dir}/html/" || die
+ ln -rs "${S}"/doc "${dir}"/../../ || die
+
+ "${EPYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use doc; then
+ local DOCS=( README.rst *.txt doc/*.txt )
+ local HTML_DOCS=( doc/html/. )
+ fi
+ if use examples; then
+ dodoc -r samples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
+ optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
+}
diff --git a/dev-python/lxml/lxml-5.2.0.ebuild b/dev-python/lxml/lxml-5.2.0.ebuild
new file mode 100644
index 000000000000..9153f366839c
--- /dev/null
+++ b/dev-python/lxml/lxml-5.2.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_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 optfeature toolchain-funcs
+
+DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
+HOMEPAGE="
+ https://lxml.de/
+ https://pypi.org/project/lxml/
+ https://github.com/lxml/lxml/
+"
+SRC_URI="
+ https://github.com/lxml/lxml/archive/${P}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/lxml-${P}
+
+LICENSE="BSD ElementTree GPL-2 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc examples +threads test"
+RESTRICT="!test? ( test )"
+
+# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
+DEPEND="
+ >=dev-libs/libxml2-2.10.3
+ >=dev-libs/libxslt-1.1.38
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+ >=dev-python/cython-3.0.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
+
+ # don't depend on sys-apps/which
+ sed -i -e 's:which:command -v:' Makefile || 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
+
+ # test_feedparser_data requires lxml_html_clean
+ # this is the *simplest* way of skipping these without breaking
+ # random other tests, sigh
+ sed -e '/lxml\.html\.clean/d' \
+ -i "${dir}"/html/tests/test_feedparser_data.py || die
+ rm -r "${dir}"/html/tests/*-data/*.data || 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
+}
diff --git a/dev-python/lxml/lxml-5.2.1.ebuild b/dev-python/lxml/lxml-5.2.1.ebuild
new file mode 100644
index 000000000000..9b0492d3f662
--- /dev/null
+++ b/dev-python/lxml/lxml-5.2.1.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 optfeature toolchain-funcs
+
+DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
+HOMEPAGE="
+ https://lxml.de/
+ https://pypi.org/project/lxml/
+ https://github.com/lxml/lxml/
+"
+SRC_URI="
+ https://github.com/lxml/lxml/archive/${P}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/lxml-${P}
+
+LICENSE="BSD ElementTree GPL-2 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc examples +threads test"
+RESTRICT="!test? ( test )"
+
+# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
+DEPEND="
+ >=dev-libs/libxml2-2.10.3
+ >=dev-libs/libxslt-1.1.38
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+ >=dev-python/cython-3.0.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
+
+ # test_feedparser_data requires lxml_html_clean
+ # this is the *simplest* way of skipping these without breaking
+ # random other tests, sigh
+ sed -e '/lxml\.html\.clean/d' \
+ -i "${dir}"/html/tests/test_feedparser_data.py || die
+ rm -r "${dir}"/html/tests/*-data/*.data || 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
+}
diff --git a/dev-python/lz4/Manifest b/dev-python/lz4/Manifest
index 4714a124bb2a..7ffa09f55d9e 100644
--- a/dev-python/lz4/Manifest
+++ b/dev-python/lz4/Manifest
@@ -1,3 +1 @@
-DIST lz4-4.0.2.tar.gz 164309 BLAKE2B ea08c9786ee224aaf668a74269413c836a4288ab1a3c27497012621bdda9c8c1729c4cb6ba49cb74e7e5302fabbfddba94f8ed94a9612fdf21018a5cbdc70566 SHA512 f2fdd133b9c7389cd7d45b41e61944093b65bcbf529146740fa3721e683a9b4554166c2ad719298e6153e61facc4a4cb021ffd969cd16d4a5b6555fd8f14728f
-DIST lz4-4.3.1.tar.gz 170970 BLAKE2B dcc2f67860f60a7805c2d302aca3b610198e128e2dbd1c54d78ffb65c4baec3cf4ab7dfe2aebf713397e67d9c8b9a95a0dbb493c16692f2591d657bfe1a3da43 SHA512 4dbb3179892d44fe7d7b5280931c39434d28f5750b4588a16a5547588c756e4279daf8a5f0edcfaf958c7cb25e65188c0a9bb36509d0dc7a7083072a19ee6d55
-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.0.2.ebuild b/dev-python/lz4/lz4-4.0.2.ebuild
deleted file mode 100644
index 0d958770688e..000000000000
--- a/dev-python/lz4/lz4-4.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="LZ4 Bindings for Python"
-HOMEPAGE="https://pypi.org/project/lz4/ https://github.com/python-lz4/python-lz4"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.1.ebuild b/dev-python/lz4/lz4-4.3.1.ebuild
deleted file mode 100644
index 431edd92f51c..000000000000
--- a/dev-python/lz4/lz4-4.3.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="LZ4 Bindings for Python"
-HOMEPAGE="
- https://github.com/python-lz4/python-lz4/
- https://pypi.org/project/lz4/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.2.ebuild b/dev-python/lz4/lz4-4.3.2.ebuild
deleted file mode 100644
index 431edd92f51c..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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="LZ4 Bindings for Python"
-HOMEPAGE="
- https://github.com/python-lz4/python-lz4/
- https://pypi.org/project/lz4/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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..3363be935ab4
--- /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..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="~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 43b92192e606..3574714ad39a 100644
--- a/dev-python/m2crypto/Manifest
+++ b/dev-python/m2crypto/Manifest
@@ -1 +1 @@
-DIST M2Crypto-0.38.0.tar.gz 1241269 BLAKE2B 95433090e08ff72cd2b0779491dc38b89eca159b26812e763b5b8973e3d27249a96d5a2c983b59f414184f64beb8e455dc26979310378db89dd2081741d4d17d SHA512 b1e24e3101ce0dd9f17be4cabeddc2ec0f1228b270d74ef2fb38bae8807c5025b031d0743185f06370786a3dd5c3f42129720534dcff07ea4de3c727613f8d20
+DIST M2Crypto-0.41.0.tar.gz 1151680 BLAKE2B 6c5294294fd62ca69eec8222324ce8a1012c999aab241eba2e5b0085c0d7b598fd62f26e106bea95bfad3199abb2db9876547f521b34f45930b00540a6ecc24a SHA512 50ca5e32ae999b9ecdc7f3bbd35221b4a7523ef29e54eb4bc266457723117718955f99b9e7ac42a4cb982f0e22a94e5c852d6886d7dfb157d040ad86c17660fb
diff --git a/dev-python/m2crypto/m2crypto-0.38.0.ebuild b/dev-python/m2crypto/m2crypto-0.38.0.ebuild
deleted file mode 100644
index bed3a446f47c..000000000000
--- a/dev-python/m2crypto/m2crypto-0.38.0.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 2018-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 toolchain-funcs
-
-MY_PN="M2Crypto"
-DESCRIPTION="A Python crypto and SSL toolkit"
-HOMEPAGE="https://gitlab.com/m2crypto/m2crypto https://pypi.org/project/M2Crypto/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-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"
-IUSE="test abi_mips_n32 abi_mips_n64 abi_mips_o32"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- >=dev-lang/swig-2.0.9
- test? ( dev-python/parameterized[${PYTHON_USEDEP}] )
-"
-RDEPEND="
- dev-libs/openssl:0=
-"
-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
new file mode 100644
index 000000000000..e8cc680fa013
--- /dev/null
+++ b/dev-python/magic-wormhole-mailbox-server/Manifest
@@ -0,0 +1 @@
+DIST magic-wormhole-mailbox-server-0.4.1_p20230525.gh.tar.gz 69218 BLAKE2B 10c85d41ebd3b9e4918ca6d85f7f69dfe945f3e3282fb83ab5c846d3a633b897a48ee3c91476292bf048fe56f39d3e7fc8b721a74ff56c060ef660d3b47ea122 SHA512 69ff60637092443fa458b4d5def9e99c4eb942046b6ea5023b63a85b4562a23fc0fc8e4137c1a59c0192e6820af60e75c27f616c70d75ee6e5afabcf52d81bd8
diff --git a/dev-python/magic-wormhole-mailbox-server/magic-wormhole-mailbox-server-0.4.1_p20230525.ebuild b/dev-python/magic-wormhole-mailbox-server/magic-wormhole-mailbox-server-0.4.1_p20230525.ebuild
new file mode 100644
index 000000000000..2c142f35b599
--- /dev/null
+++ b/dev-python/magic-wormhole-mailbox-server/magic-wormhole-mailbox-server-0.4.1_p20230525.ebuild
@@ -0,0 +1,32 @@
+# 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.4.1 with additional upstream fixes for python 3.11 support
+COMMIT_SHA1="39672ae95a2635ba9daaba62f483aa75bfd80a22"
+
+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/mock[${PYTHON_USEDEP}]
+ dev-python/treq[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
diff --git a/dev-python/magic-wormhole-mailbox-server/metadata.xml b/dev-python/magic-wormhole-mailbox-server/metadata.xml
new file mode 100644
index 000000000000..728440f94096
--- /dev/null
+++ b/dev-python/magic-wormhole-mailbox-server/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>tamiko@gentoo.org</email>
+ <name>Matthias Maier</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">magic-wormhole-mailbox-server</remote-id>
+ <remote-id type="github">magic-wormhole/magic-wormhole-mailbox-server</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/magic-wormhole-transit-relay/Manifest b/dev-python/magic-wormhole-transit-relay/Manifest
new file mode 100644
index 000000000000..6ddedcfde874
--- /dev/null
+++ b/dev-python/magic-wormhole-transit-relay/Manifest
@@ -0,0 +1,2 @@
+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
diff --git a/dev-python/magic-wormhole-transit-relay/magic-wormhole-transit-relay-0.2.1.ebuild b/dev-python/magic-wormhole-transit-relay/magic-wormhole-transit-relay-0.2.1.ebuild
new file mode 100644
index 000000000000..789ae55a894a
--- /dev/null
+++ b/dev-python/magic-wormhole-transit-relay/magic-wormhole-transit-relay-0.2.1.ebuild
@@ -0,0 +1,23 @@
+# 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
+
+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/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/autobahn[${PYTHON_USEDEP}]
+ dev-python/twisted[ssl,${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
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
new file mode 100644
index 000000000000..b6e1274e5e74
--- /dev/null
+++ b/dev-python/magic-wormhole-transit-relay/magic-wormhole-transit-relay-0.2.1_p20230525.ebuild
@@ -0,0 +1,41 @@
+# 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.2.1 with additional upstream fixes for python 3.11 support and
+# miscelleanous bufixes
+COMMIT_SHA1="db48e915311d1d10c748bb5299e2345c74e90a1b"
+
+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}]"
+
+BDEPEND="test? (
+ dev-python/mock[${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-transit-relay/metadata.xml b/dev-python/magic-wormhole-transit-relay/metadata.xml
new file mode 100644
index 000000000000..ddffeecb78a5
--- /dev/null
+++ b/dev-python/magic-wormhole-transit-relay/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>tamiko@gentoo.org</email>
+ <name>Matthias Maier</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">magic-wormhole-transit-relay</remote-id>
+ <remote-id type="github">magic-wormhole/magic-wormhole-transit-relay</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/magic-wormhole/Manifest b/dev-python/magic-wormhole/Manifest
new file mode 100644
index 000000000000..e6d8d6116190
--- /dev/null
+++ b/dev-python/magic-wormhole/Manifest
@@ -0,0 +1 @@
+DIST magic-wormhole-0.13.0.tar.gz 274564 BLAKE2B 51752204231be0f3eac8765387386435830e91f541aaada7ca6ee52c8334879cdce68c31d40c3207a7bdb5657a5240930aedc36bab8e765f1081b20624ebdf3f SHA512 5c26da12ae94202684da14d7e3fa84ef173a31a3e5e42a40dcc2b8d3a6475943c813bcef9fbf904e419152a16e2cb4a85c2a69bbf0528f5fa63d056bf5f348e2
diff --git a/dev-python/magic-wormhole/magic-wormhole-0.13.0.ebuild b/dev-python/magic-wormhole/magic-wormhole-0.13.0.ebuild
new file mode 100644
index 000000000000..9e4d45513c48
--- /dev/null
+++ b/dev-python/magic-wormhole/magic-wormhole-0.13.0.ebuild
@@ -0,0 +1,51 @@
+# 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="Get Things From One Computer To Another, Safely"
+HOMEPAGE="
+ https://magic-wormhole.readthedocs.io/en/latest/
+ https://github.com/magic-wormhole/magic-wormhole/
+ https://pypi.org/project/magic-wormhole/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+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}]
+"
+
+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
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/magic-wormhole/metadata.xml b/dev-python/magic-wormhole/metadata.xml
new file mode 100644
index 000000000000..c0b4cfe14855
--- /dev/null
+++ b/dev-python/magic-wormhole/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>tamiko@gentoo.org</email>
+ <name>Matthias Maier</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">magic-wormhole</remote-id>
+ <remote-id type="github">magic-wormhole/magic-wormhole</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/makefun/Manifest b/dev-python/makefun/Manifest
index 41c56c9b88c9..37e5a01e8007 100644
--- a/dev-python/makefun/Manifest
+++ b/dev-python/makefun/Manifest
@@ -1 +1 @@
-DIST makefun-1.15.0.tar.gz 74404 BLAKE2B b35ff14d46d50031ed42a13154c82f3fbe4105179c587dacebc0773a0d0be613e9858d57f497b8d710d7571f55230fc644592e6df67799736b37867feeb09b2e SHA512 067bd6a4176196a3aa4e96b7d460e45479cbd86d1cc611f1716fb8d1cdc17491e56f5676d7a287006ed8b80471dd28f5f48cb2eb8c1893883e3308ed9347fbae
+DIST makefun-1.15.2.tar.gz 74602 BLAKE2B 1992eebfdbff6062ed60e1f66891995a91b7155792ef7b6e701d1d3ee5939ab40d3ab976674e25a5b97030cd7de59db2c69f3c215681cef2f80f2b64523f822b SHA512 b6cb588ebf491176b06e97201846b2a5cee65f60e34b5dbcc4878d8a55e7f9fcf4b58126cb3a4ca47f5d2726422dff9ee685566c5d093dbd8fd75119ecc796b2
diff --git a/dev-python/makefun/makefun-1.15.0.ebuild b/dev-python/makefun/makefun-1.15.0.ebuild
deleted file mode 100644
index e7a7c955275f..000000000000
--- a/dev-python/makefun/makefun-1.15.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Small library to dynamically create Python functions"
-HOMEPAGE="
- https://pypi.org/project/makefun/
- https://github.com/smarie/python-makefun/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.2.ebuild b/dev-python/makefun/makefun-1.15.2.ebuild
new file mode 100644
index 000000000000..e422b0555e2d
--- /dev/null
+++ b/dev-python/makefun/makefun-1.15.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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/mako/Manifest b/dev-python/mako/Manifest
index 4de950626d2e..933299d49615 100644
--- a/dev-python/mako/Manifest
+++ b/dev-python/mako/Manifest
@@ -1 +1,2 @@
-DIST Mako-1.2.4.tar.gz 497021 BLAKE2B 61b0d7c681e41128fdeff83414de30ffd2282ec6480af61924e35094f674732562297b977f12a0e5cc842ae0ed3f67c7955bb223a0e4f061c773cd4507208d02 SHA512 9a90d245f2c8b5e5efa283d91f762a2fffa40b7f71e7a4b66de7f66f894ad5ba2fa5c04080200b6633bb61d4308db5b5e763b26ae7d93d18efe4aebb2178006a
+DIST Mako-1.3.2.tar.gz 390659 BLAKE2B 930b74a19c8b582781b05d7042f8c27636989614df62328f5c3548d427c1e3e2366edb8a7ad3ecbd123ef5344c9cf2ba1bdc00e8540b9624d7bcecfecb8329a5 SHA512 acde7b4be929fdd97f2a3fc133966ffc44b5706dbdd3f1af0fee16620b3c82d12b1a67b7292a229084ebb4f0c392e8db1b2844112baa3c6a5fd2be8777b04897
+DIST Mako-1.3.3.tar.gz 389980 BLAKE2B 1c890f159e808a7026e46a489d49ec19a346ce0a8be8d2ea1ef870435830a9021b0877a3d395c9273609be9dc4b11d1e5359d89a9b571a73f05de11152988800 SHA512 fa8bf3997f7a3edc18057f53e8450d72d5c86019229fef91eaa141f0b65a081ca9425c14245227b35aedcccc7dbe52e90bc7dfee34598b490e93cd01fc4a8321
diff --git a/dev-python/mako/mako-1.2.4.ebuild b/dev-python/mako/mako-1.2.4.ebuild
deleted file mode 100644
index 59fd5c13e3f0..000000000000
--- a/dev-python/mako/mako-1.2.4.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${P^}
-DESCRIPTION="A Python templating language"
-HOMEPAGE="
- https://www.makotemplates.org/
- https://github.com/sqlalchemy/mako/
- https://pypi.org/project/Mako/
-"
-SRC_URI="mirror://pypi/${MY_P:0:1}/${PN^}/${MY_P}.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 ~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.2.ebuild b/dev-python/mako/mako-1.3.2.ebuild
new file mode 100644
index 000000000000..cfeb5449315c
--- /dev/null
+++ b/dev-python/mako/mako-1.3.2.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
+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.3.ebuild b/dev-python/mako/mako-1.3.3.ebuild
new file mode 100644
index 000000000000..2069ece40b7a
--- /dev/null
+++ b/dev-python/mako/mako-1.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_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/mamba/Manifest b/dev-python/mamba/Manifest
index de82a6a62bc4..89349607d497 100644
--- a/dev-python/mamba/Manifest
+++ b/dev-python/mamba/Manifest
@@ -1 +1 @@
-DIST mamba-0.11.2.tar.gz 37370 BLAKE2B 90228aa9668c5c79161aee79d92a9409e5df5d9d71b94f2ae8401ec5eea32ed45cf1b1a72eb596b6e24f140bf053bca4cec848830ae83c24b108ddb4a2bcd148 SHA512 8ca6207c9df7b3388db8ecabd13456e54d8811c24f695ccc638c90bb2c975268f9e803533808f9b099651ee4744376fad3b58eaa84a6c97605631368f979915c
+DIST mamba-0.11.3.gh.tar.gz 37456 BLAKE2B e7e9fc53783cf238745d6d97f335443a569d3a88e4a26fb74c024f305eca707b3d73ea1d23d8a9b2d3463be0c31bfa1f30a6d2ec1ded58c6140909591fe961b8 SHA512 0d4ee434ff2a42dc95a8a5c94980fa224652e38b1ed7e617383882b38a8327861464424f78fb46b2f3e08dabb241bb0e1e9e6734dd68376a43bc3a5b41c01d8c
diff --git a/dev-python/mamba/mamba-0.11.2.ebuild b/dev-python/mamba/mamba-0.11.2.ebuild
deleted file mode 100644
index 8f7dddc929b3..000000000000
--- a/dev-python/mamba/mamba-0.11.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python test runner born under the banner of Behavior Driven Development"
-HOMEPAGE="https://nestorsalceda.com/mamba/"
-SRC_URI="https://github.com/nestorsalceda/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/clint-0.3.1[${PYTHON_USEDEP}]
- >=dev-python/coverage-3.7.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- >=dev-python/doublex-expects-0.7.0_rc1[${PYTHON_USEDEP}]
- >=dev-python/expects-0.8.0_rc2[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs --no-autodoc
-
-python_test() {
- "${EPYTHON}" -m mamba.cli || die "Tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/mamba/mamba-0.11.3.ebuild b/dev-python/mamba/mamba-0.11.3.ebuild
new file mode 100644
index 000000000000..942234350825
--- /dev/null
+++ b/dev-python/mamba/mamba-0.11.3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 test runner born under the banner of Behavior Driven Development"
+HOMEPAGE="
+ https://nestorsalceda.com/mamba/
+ https://github.com/nestorsalceda/mamba/
+ https://pypi.org/project/mamba/
+"
+SRC_URI="
+ https://github.com/nestorsalceda/mamba/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/clint-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.7.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ >=dev-python/doublex-expects-0.7.0_rc1[${PYTHON_USEDEP}]
+ >=dev-python/expects-0.8.0_rc2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs --no-autodoc
+
+python_test() {
+ "${EPYTHON}" -m mamba.cli || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/mamba/metadata.xml b/dev-python/mamba/metadata.xml
index 64effb5303a4..e8d31551bbf5 100644
--- a/dev-python/mamba/metadata.xml
+++ b/dev-python/mamba/metadata.xml
@@ -1,9 +1,13 @@
<?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">mamba</remote-id>
- <remote-id type="github">nestorsalceda/mamba</remote-id>
- </upstream>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">nestorsalceda/mamba</remote-id>
+ <remote-id type="pypi">mamba</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-python/mando/mando-0.7.1.ebuild b/dev-python/mando/mando-0.7.1.ebuild
index 0fc29df31429..d64a4c497634 100644
--- a/dev-python/mando/mando-0.7.1.ebuild
+++ b/dev-python/mando/mando-0.7.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
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 7acbc0d60264..000000000000
--- a/dev-python/manuel/manuel-1.12.4.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_{9..11} )
-
-inherit distutils-r1
-
-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="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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..fb67a618aa21
--- /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..12} )
+
+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-vector-tile/Manifest b/dev-python/mapbox-vector-tile/Manifest
new file mode 100644
index 000000000000..03b05a5c321d
--- /dev/null
+++ b/dev-python/mapbox-vector-tile/Manifest
@@ -0,0 +1 @@
+DIST mapbox-vector-tile-2.0.1.gh.tar.gz 229202 BLAKE2B 9afa12583f1f2697c8fd3a7ad540851c2b3ea7bca26bf7945aa52ad9c2486f4b6ec0a0bc84e750e18ecb55a51558659284d52efedcb724ec5de98f965d78b954 SHA512 67648c27792557a5e011732c31f8a0a3e6efca8630086e55e6fdc433953b820ef6405031d10692999026c604f3977eb00bafa9a1a7015f02c3dca87ca91eadf6
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
new file mode 100644
index 000000000000..39672a8ec882
--- /dev/null
+++ b/dev-python/mapbox-vector-tile/mapbox-vector-tile-2.0.1.ebuild
@@ -0,0 +1,35 @@
+# 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/metadata.xml b/dev-python/mapbox-vector-tile/metadata.xml
new file mode 100644
index 000000000000..23ccc90b6e95
--- /dev/null
+++ b/dev-python/mapbox-vector-tile/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" proxied="yes">
+ <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>
+ <upstream>
+ <remote-id type="github">tilezen/mapbox-vector-tile</remote-id>
+ <remote-id type="pypi">mapbox-vector-tile</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mapbox_earcut/mapbox_earcut-1.0.1.ebuild b/dev-python/mapbox_earcut/mapbox_earcut-1.0.1.ebuild
index 7178ee8fe2ca..c80e3a6b924f 100644
--- a/dev-python/mapbox_earcut/mapbox_earcut-1.0.1.ebuild
+++ b/dev-python/mapbox_earcut/mapbox_earcut-1.0.1.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_{9..11} )
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -19,7 +20,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
RDEPEND="
dev-python/numpy[${PYTHON_USEDEP}]
diff --git a/dev-python/markdown-exec/Manifest b/dev-python/markdown-exec/Manifest
new file mode 100644
index 000000000000..2330f4f46ba7
--- /dev/null
+++ b/dev-python/markdown-exec/Manifest
@@ -0,0 +1,2 @@
+DIST markdown_exec-1.8.0.tar.gz 23164 BLAKE2B 8514c971baf5d989187f4ca0e2d0aae8c4f8799c10610a9cdcd3a5a47b24f97434889f887ad558a76e12288b9dde5f7dd82f2f8b955fdcd5909e2c5488e68ce2 SHA512 760c130cbdbcc5eeb9d8b885c1bbea04452624caa795a2f05d804463de9ead1fb20c919761e27580e6f60f6844b3ce2f8c19ec97a07fb3addc4558968ef4f11a
+DIST markdown_exec-1.8.1.tar.gz 23205 BLAKE2B 410d4ffc40ddc9393cd24f22a9f2aff436f24b5339d03c7645b3d962ff76aff40badaa0dfa4dd60d30fb43223924688d80fd1bd4667231a7362074653fd5a2b1 SHA512 57b786afb952558053798f8fc1cb9f4086f47d4e5ac8164591304b6789057b75918532e73e232314c01abb2203135382afcd8d8e759f2402852d1cb794f64d77
diff --git a/dev-python/markdown-exec/markdown-exec-1.8.0.ebuild b/dev-python/markdown-exec/markdown-exec-1.8.0.ebuild
new file mode 100644
index 000000000000..a80628fef998
--- /dev/null
+++ b/dev-python/markdown-exec/markdown-exec-1.8.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=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.8.1.ebuild b/dev-python/markdown-exec/markdown-exec-1.8.1.ebuild
new file mode 100644
index 000000000000..a80628fef998
--- /dev/null
+++ b/dev-python/markdown-exec/markdown-exec-1.8.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=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/metadata.xml b/dev-python/markdown-exec/metadata.xml
new file mode 100644
index 000000000000..fcffb03da573
--- /dev/null
+++ b/dev-python/markdown-exec/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">markdown-exec</remote-id>
+ <remote-id type="github">pawamoy/markdown-exec</remote-id>
+ </upstream>
+ <use>
+ <flag name="ansi">Enable support for rendering ANSI colours in HTML code blocks</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/markdown-include/Manifest b/dev-python/markdown-include/Manifest
new file mode 100644
index 000000000000..49765423bcdf
--- /dev/null
+++ b/dev-python/markdown-include/Manifest
@@ -0,0 +1 @@
+DIST markdown-include-0.8.1.tar.gz 21873 BLAKE2B 83090f66af6f6b7dfc441bce97a0ca91bed3f94274030297e5f46fe8d42d3b3e83afc9f981941870f5bf361bfb5edd54bdda4c5d85595cc5599375f5a2478490 SHA512 4ae155d7e114de9d8ca32c129fe5778e7fc9516321357d8e4d90fad651a1dcb54b1fb144bc51e981cf728f1632dc293ed8cc1e7d4219154a2350780ea6f9b7b2
diff --git a/dev-python/markdown-include/files/markdown-include-0.8.1-setup.patch b/dev-python/markdown-include/files/markdown-include-0.8.1-setup.patch
new file mode 100644
index 000000000000..cff2276ae2d5
--- /dev/null
+++ b/dev-python/markdown-include/files/markdown-include-0.8.1-setup.patch
@@ -0,0 +1,9 @@
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -1,5 +1,5 @@
+ [metadata]
+-description-file = README.rst
++description_file = README.rst
+
+ [egg_info]
+ tag_build =
diff --git a/dev-python/markdown-include/markdown-include-0.8.1.ebuild b/dev-python/markdown-include/markdown-include-0.8.1.ebuild
new file mode 100644
index 000000000000..d177caa08c2c
--- /dev/null
+++ b/dev-python/markdown-include/markdown-include-0.8.1.ebuild
@@ -0,0 +1,29 @@
+# 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-Markdown extension providing LaTeX-style 'include' function"
+HOMEPAGE="
+ https://github.com/cmacmackin/markdown-include
+ https://pypi.org/project/markdown-include/
+"
+
+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}]"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.8.1-setup.patch
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/markdown-include/metadata.xml b/dev-python/markdown-include/metadata.xml
new file mode 100644
index 000000000000..c226bbb1484d
--- /dev/null
+++ b/dev-python/markdown-include/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="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>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">markdown-include</remote-id>
+ <remote-id type="github">cmacmackin/markdown-include</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/markdown-it-py/Manifest b/dev-python/markdown-it-py/Manifest
index 0082a5e4c543..7afaac0b4e51 100644
--- a/dev-python/markdown-it-py/Manifest
+++ b/dev-python/markdown-it-py/Manifest
@@ -1 +1 @@
-DIST markdown-it-py-2.1.0.gh.tar.gz 265858 BLAKE2B 0d1bb789ed9a8d08b16c753f7ecc7cc6a6b1fd59fc39d303a0de15276a0a0f93dc8c8bc952de60450741f26770dd3955ae0e6aaa358bacf1003e5eb9124d3a54 SHA512 04e90538c8693f795aed2ed0a5bef4eaf0c12fac32cc0c2049c563e974b229940b9ceaea849ce86fa9804ccdd7be93145f3b6fc8d0774e96fafa0484368d0a88
+DIST markdown-it-py-3.0.0.gh.tar.gz 275478 BLAKE2B ab264d6de015262e770b5da9c26a48a9fa40209119e38e12e4185aa8b5141986df62f2ff44d80c2d62732e75408b3a70bf35ae9b7ca899ae284636cc62ded710 SHA512 820265595ab650f5ac64419d5c2687d1ee361d2a0550b9d94e86ec826cfe5e89cbd69e59d6582aac41d3b95f00ce4a0b7213bf6cd590fdbd8fd9b743c7418759
diff --git a/dev-python/markdown-it-py/markdown-it-py-2.1.0-r2.ebuild b/dev-python/markdown-it-py/markdown-it-py-2.1.0-r2.ebuild
deleted file mode 100644
index 1a8787a9bb29..000000000000
--- a/dev-python/markdown-it-py/markdown-it-py-2.1.0-r2.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=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python port of markdown-it, Markdown parser"
-HOMEPAGE="
- https://pypi.org/project/markdown-it-py/
- https://github.com/executablebooks/markdown-it-py/
-"
-SRC_URI="
- https://github.com/executablebooks/markdown-it-py/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"
-
-RDEPEND="
- dev-python/linkify-it-py[${PYTHON_USEDEP}]
- dev-python/mdurl[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-regressions[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # No need to benchmark
- benchmarking/
-)
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
new file mode 100644
index 000000000000..af127216b1a8
--- /dev/null
+++ b/dev-python/markdown-it-py/markdown-it-py-3.0.0.ebuild
@@ -0,0 +1,40 @@
+# 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="Python port of markdown-it, Markdown parser"
+HOMEPAGE="
+ https://pypi.org/project/markdown-it-py/
+ https://github.com/executablebooks/markdown-it-py/
+"
+SRC_URI="
+ https://github.com/executablebooks/markdown-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/linkify-it-py-3[${PYTHON_USEDEP}]
+ dev-python/mdurl[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-regressions[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # No need to benchmark
+ benchmarking/
+)
diff --git a/dev-python/markdown/Manifest b/dev-python/markdown/Manifest
index d7d4b50e3288..bd927655745d 100644
--- a/dev-python/markdown/Manifest
+++ b/dev-python/markdown/Manifest
@@ -1,2 +1,2 @@
-DIST Markdown-3.3.7.tar.gz 324130 BLAKE2B 4ecf804b81181a9895e15d2f54881544648939f2bb772b036aa84dc8bf57b7976c6ebdf8549041b39a303bd7c68c16df3c126463a8da19b3c92f99b420e9ffb9 SHA512 39b9f45939be9e842e90470307c3aeec88d1389439b0c7a0c5b39f6e203b51d3a52ce431c4d5c278f399552c4218fc1a619b0efc56883de50a9f300f42120f4e
-DIST Markdown-3.4.1.tar.gz 322554 BLAKE2B fd7c8b930097f9b1a52d210e22d49311579b952f758d071ac3105badcbca19f798bcb195cc35acbe6224e1f7ac916ae5fb1baa35b30464e4c243b08168007be3 SHA512 73b0006ac8aaf281a2dbc2c14534853dbb7ab26a620f3961975279feb83334b6868fa4bbcd30767189201a0c84e502dacd16783de3808393699ace0cbaab30a8
+DIST Markdown-3.5.2.tar.gz 349398 BLAKE2B 7bf9775883f4f24254d1939ffa49555682c11765a07790f6274ba120073ac512b8a319680edb80f9c4a20bf8c8b2e2deb58afd022a791cd6a03e1c95ba605e2b SHA512 a112620162cb0764848dbe766bd23df6b7220ec3db6eb60d5663757092300c5c6abb9af6a412280fc3f59e617263c3abf0ed4a969eebacd3e964228525165f24
+DIST Markdown-3.6.tar.gz 354715 BLAKE2B bd8cb489fb20c0d8416361c435113a6057ced5f4baceba8665e1afc70efcbd6a52153785a436c94ff9d68571d668b7898c6717851b10814d89e46e2b9daba3e7 SHA512 a523f75ea72fa71f4f0f1a59523bb1a6c5c7605ba5a0be4dc37aa5bd5c87e32563f5253404485c99c13caa27501c9003aea524154a7999a22e6497829492b997
diff --git a/dev-python/markdown/markdown-3.3.7.ebuild b/dev-python/markdown/markdown-3.3.7.ebuild
deleted file mode 100644
index d2c1b1b5ef7a..000000000000
--- a/dev-python/markdown/markdown-3.3.7.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} pypy3 )
-inherit distutils-r1
-
-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"
-SRC_URI="mirror://pypi/M/${PN^}/${P^}.tar.gz"
-S="${WORKDIR}/${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"
-IUSE="doc"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/importlib_metadata[${PYTHON_USEDEP}]
- ' 3.8 3.9)"
-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.4.1.ebuild b/dev-python/markdown/markdown-3.4.1.ebuild
deleted file mode 100644
index 894358a67370..000000000000
--- a/dev-python/markdown/markdown-3.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P^}
-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/
-"
-SRC_URI="mirror://pypi/${MY_P::1}/${PN^}/${MY_P}.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"
-IUSE="doc"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/importlib_metadata[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-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.5.2.ebuild b/dev-python/markdown/markdown-3.5.2.ebuild
new file mode 100644
index 000000000000..9ab3c582aa9f
--- /dev/null
+++ b/dev-python/markdown/markdown-3.5.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=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..9ab3c582aa9f
--- /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..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/markdown2/Manifest b/dev-python/markdown2/Manifest
index bf1fbee697af..8da43ed84ea6 100644
--- a/dev-python/markdown2/Manifest
+++ b/dev-python/markdown2/Manifest
@@ -1,2 +1 @@
-DIST markdown2-2.4.6.tar.gz 118321 BLAKE2B d6d053f9f19da0857664275280c9e12d59da9c88db5643df04c4538b3ac9e24feca66361dd05685b2a0d0281af353324e1b051bc315e78f2be9edb20367fa9be SHA512 4c8dbbfa828e6a01e05e714a5d79f8ec4137e80bbd221251d81fc9185f175dc9ac7ebd7b043d052a4b0c2963715d0d25429a22b2671f1512e92c48177c56e2ea
-DIST markdown2-2.4.7.tar.gz 118721 BLAKE2B 26cb03513a2665f40eb2c68e752aed3cfa78f6039d89da1a33a9de0996b37e2358c44f9e5078f5954a6b8ef3981aea2b06bc263fca16f1b0fad488c18387159b SHA512 e352578f57d6cdf3e59cb2ae10de218a8196cdbafe6257d76549758ead4997a33c65238664115232be4dbb3c63a81df4eb87c3a1248be8fb472d594e3fae087b
+DIST markdown2-2.4.13.tar.gz 130464 BLAKE2B 64a1dd8ecb607495042fbf49cbbee5b383eca0c942816c2ff83565ef1c677f6bc851f8921dfc73d68ef6e6b070ac0a4a372421218231f6655dab5c41a1743aea SHA512 df015b53a87138b55fb6ab28c5b4cc8b1a36867a9a1b0fab962399c467e9847b249bff6a8ad920d56c4b72a02b46ffc536e61fa3168794403602926e65091748
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..64a00fef2b98
--- /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..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.6.ebuild b/dev-python/markdown2/markdown2-2.4.6.ebuild
deleted file mode 100644
index 67a1d9dc2807..000000000000
--- a/dev-python/markdown2/markdown2-2.4.6.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python Markdown language reimplementation"
-HOMEPAGE="
- https://github.com/trentm/python-markdown2/
- https://pypi.org/project/markdown2/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ppc 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.7.ebuild b/dev-python/markdown2/markdown2-2.4.7.ebuild
deleted file mode 100644
index 90f2a8132487..000000000000
--- a/dev-python/markdown2/markdown2-2.4.7.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python Markdown language reimplementation"
-HOMEPAGE="
- https://github.com/trentm/python-markdown2/
- https://pypi.org/project/markdown2/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~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/Manifest b/dev-python/markups/Manifest
index 441e4d57af80..bbad5d1fac50 100644
--- a/dev-python/markups/Manifest
+++ b/dev-python/markups/Manifest
@@ -1,2 +1 @@
-DIST Markups-3.1.3.tar.gz 20868 BLAKE2B 9c6c55bba6a9e8e6dbeaba268014ab59762838fe1e65fd0551c90e0f83245643565cae099e0f5faa4801928c5c0966f5e5afa4ab2db04939f6c1062dc476f3ac SHA512 324c3c45063e192ebde0fcd10e868b2053fb2758076092b180e1d8eed965dd41b2ea252a081b750637454395c163a92145f68e2a6fd8eb3eded8927baf044484
DIST Markups-4.0.0.tar.gz 22968 BLAKE2B a39fed89fd63785d0d4348a72c00c8e886726dfc5613b5b359606f8b0c42d2cdfbb5cf3bd1b6ec11621f924c3ac1dbc91db083682b4ba95a6f4baa97824bbd72 SHA512 5868b480debad480100ce632223aeca62ef22a6d9b2af6b4911d3477c94bcd99b88b5bc56f990d24d92de0d2665340e0fce37721f7979938ba947fab2c65900c
diff --git a/dev-python/markups/markups-3.1.3.ebuild b/dev-python/markups/markups-3.1.3.ebuild
deleted file mode 100644
index 85bbc9ca1529..000000000000
--- a/dev-python/markups/markups-3.1.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-MY_P=${P^}
-DESCRIPTION="A wrapper around various text markups"
-HOMEPAGE="
- https://pymarkups.readthedocs.io/en/latest/
- https://github.com/retext-project/pymarkups
- https://pypi.org/project/Markups/
-"
-SRC_URI="mirror://pypi/${MY_P:0:1}/${PN^}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-RDEPEND="
- dev-python/markdown[${PYTHON_USEDEP}]
- dev-python/python-markdown-math[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- app-text/pytextile[${PYTHON_USEDEP}]
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/pymdown-extensions[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-distutils_enable_sphinx docs
diff --git a/dev-python/markups/markups-4.0.0.ebuild b/dev-python/markups/markups-4.0.0.ebuild
index ebc63113662d..6513b424c7ac 100644
--- a/dev-python/markups/markups-4.0.0.ebuild
+++ b/dev-python/markups/markups-4.0.0.ebuild
@@ -4,23 +4,22 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P=${P^}
DESCRIPTION="A wrapper around various text markups"
HOMEPAGE="
https://pymarkups.readthedocs.io/en/latest/
https://github.com/retext-project/pymarkups
https://pypi.org/project/Markups/
"
-SRC_URI="mirror://pypi/${MY_P:0:1}/${PN^}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
+SRC_URI="$(pypi_sdist_url --no-normalize "${PN^}")"
+S=${WORKDIR}/${P^}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
+KEYWORDS="amd64 arm64 ~riscv x86"
RDEPEND="
dev-python/markdown[${PYTHON_USEDEP}]
@@ -29,7 +28,7 @@ RDEPEND="
"
BDEPEND="
test? (
- app-text/pytextile[${PYTHON_USEDEP}]
+ dev-python/textile[${PYTHON_USEDEP}]
dev-python/docutils[${PYTHON_USEDEP}]
dev-python/pygments[${PYTHON_USEDEP}]
dev-python/pymdown-extensions[${PYTHON_USEDEP}]
diff --git a/dev-python/markupsafe/Manifest b/dev-python/markupsafe/Manifest
index a73919e84d37..f4ec7c22901f 100644
--- a/dev-python/markupsafe/Manifest
+++ b/dev-python/markupsafe/Manifest
@@ -1,3 +1 @@
-DIST MarkupSafe-1.1.1.tar.gz 19151 BLAKE2B 184ab0bc42f8d254ef4239f700f019c0a380bdf2117dfe1abe2eb4dfa0f037158d181a120d8654a6971e9c8badb078f997e3a8bf231898e0f4bb3e8496d9abd3 SHA512 f3014e6131a3ab866914c5635b5397ef71906bffb1b6f8c5f2ed2acf167429ff7914236d38943e872683a57a9be9669f4c5aace6274f3307ab21ef25373db0b6
-DIST MarkupSafe-2.1.1.tar.gz 18668 BLAKE2B c15bddc89bec9a6558b797b825314d9db3ac03978c44aed42d98ab534613e5bffa2eb0ffe500ff675e78491e3f6039981c468711bdf398ff56277b2bd93932c4 SHA512 1d9bf55614b4e0aeca726ebda7bab2829452212f03f2295efdd0340f3dd05eefc9733d6dd0e37f0d06a432ce00ed7d06b28c9e817fc25212675006577f468b3e
-DIST MarkupSafe-2.1.2.tar.gz 19080 BLAKE2B 560cc052c105c3d9f2690c3e5a2a597dd36848080e3c7d6f8273dcd03bdb613ed54cfe6e53b9ec8053deb38d0d055123da7204a671c1fff3295596d44a63b317 SHA512 84dbeddaf2df713b3cce94eb64876fea8f80c608e25130c18e4691be2b1dea56df8b772d26c0caca88231ef795125eb9678210c33bf20518c18e3047912ddb4b
+DIST MarkupSafe-2.1.5.tar.gz 19384 BLAKE2B d6ae0e1864983f4ab92f2fd9b58a012a8c76e6f47957681d4acc362b2129d63fe4f4625600a89081afe0e99f868eb604d6c75fec88de9a18ebb32c15f091681b SHA512 3ba5af43d23c266377f5d32b11e1faa7955ea8c67eb1c32886c308527f93e75e387294d0eec7794c0c20aad0c705b27f3d1f86b04202f3b63068d12d4053cc71
diff --git a/dev-python/markupsafe/markupsafe-1.1.1-r1.ebuild b/dev-python/markupsafe/markupsafe-1.1.1-r1.ebuild
deleted file mode 100644
index 731f52bbd4f6..000000000000
--- a/dev-python/markupsafe/markupsafe-1.1.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=7
-
-PYTHON_COMPAT=( python3_{9..10} pypy3 )
-
-inherit distutils-r1
-
-MY_PN="MarkupSafe"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Implements a XML/HTML/XHTML Markup safe string for Python"
-HOMEPAGE="https://pypi.org/project/MarkupSafe/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris"
-
-distutils_enable_tests pytest
diff --git a/dev-python/markupsafe/markupsafe-2.1.1.ebuild b/dev-python/markupsafe/markupsafe-2.1.1.ebuild
deleted file mode 100644
index 1453ceee52b2..000000000000
--- a/dev-python/markupsafe/markupsafe-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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_PN="MarkupSafe"
-MY_P="${MY_PN}-${PV}"
-
-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/
-"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.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 ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris"
-
-distutils_enable_tests pytest
diff --git a/dev-python/markupsafe/markupsafe-2.1.2.ebuild b/dev-python/markupsafe/markupsafe-2.1.2.ebuild
deleted file mode 100644
index 056e05f52dc2..000000000000
--- a/dev-python/markupsafe/markupsafe-2.1.2.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} pypy3 )
-
-inherit distutils-r1
-
-MY_PN="MarkupSafe"
-MY_P="${MY_PN}-${PV}"
-
-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/
-"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.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 ~x64-macos ~sparc-solaris ~sparc64-solaris ~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..45397b662720
--- /dev/null
+++ b/dev-python/markupsafe/markupsafe-2.1.5.ebuild
@@ -0,0 +1,25 @@
+# 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..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/metadata.xml b/dev-python/markupsafe/metadata.xml
index 8686ebe8cc28..4677d7eddd8e 100644
--- a/dev-python/markupsafe/metadata.xml
+++ b/dev-python/markupsafe/metadata.xml
@@ -6,6 +6,7 @@
<name>Python</name>
</maintainer>
<upstream>
+ <remote-id type="github">pallets/markupsafe</remote-id>
<remote-id type="pypi">MarkupSafe</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/marshmallow/Manifest b/dev-python/marshmallow/Manifest
index 298f975b5165..579d1ab46aef 100644
--- a/dev-python/marshmallow/Manifest
+++ b/dev-python/marshmallow/Manifest
@@ -1 +1,3 @@
-DIST marshmallow-3.19.0.gh.tar.gz 182305 BLAKE2B 2e37e0dcfcab3fa080745ccf6acbaf0fc71a43edfc9227ebf1d5320c61b0f0b51a0f3ea1d75ab1b213f8464d8ac043365ddadc8d9ab4479e21eed92ce5362b4e SHA512 e908ab33703fed5a9290189aa151dfdb425668bebe89063084f10435d2030927ce001c0d34d504d19998863431ded52a7a551085b11212489495d34aadb3b9e1
+DIST marshmallow-3.20.2.gh.tar.gz 183876 BLAKE2B 84cf8ca23069ad1d2353ffa9299556298457485fa459746b948835f04f92ef3949d5429e8285e084be7398fb294b3d74eba1b38ef21b469daed401f1e6affcdb SHA512 8305693405a976c53333b0c6ef074a12af4736f9620ca37c7c2ec6318fac2b19086426344ce8c2f515e95becdba8b2bb1c20aca5a9dffb4145cb27fee00dc080
+DIST marshmallow-3.21.0.gh.tar.gz 183738 BLAKE2B 9f9b9203be93e6feecbd6b7e1da32f737ba33ca8e386e062d091e20480f5241c1d73f77afd542cb24816a48aa5a948aaa20edcfe9d0fdfa847f6e405e89cff20 SHA512 d08e4eedafc1d6f2bfab463357febc75013e8a548195ab85aac55fa225f2180a4f1646d68f8586d369dd108a793086c5bb8522c7543a51540ec4ee6de5305ad3
+DIST marshmallow-3.21.1.gh.tar.gz 183822 BLAKE2B 786287604312b4c54167458c35caf5ac3eb2c9ce63c1b9bd0b8fc33e208e5f694e84842c75c93fd91535bc231ebf703ea3ea0b352d100b59f103e280b840b170 SHA512 6de06ced6a58ef0c312ee4c1edfbe011401bba08c27fcf2dd2c3e44cb072cded1cf5f16a4d4945344d56f0d26b5eb165f6d031b50c215f122c7cc6fe25389318
diff --git a/dev-python/marshmallow/marshmallow-3.19.0.ebuild b/dev-python/marshmallow/marshmallow-3.19.0.ebuild
deleted file mode 100644
index 5dd6922ab988..000000000000
--- a/dev-python/marshmallow/marshmallow-3.19.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_{9..11} )
-
-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.20.2.ebuild b/dev-python/marshmallow/marshmallow-3.20.2.ebuild
new file mode 100644
index 000000000000..95b74278c863
--- /dev/null
+++ b/dev-python/marshmallow/marshmallow-3.20.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..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.0.ebuild b/dev-python/marshmallow/marshmallow-3.21.0.ebuild
new file mode 100644
index 000000000000..2adebae08366
--- /dev/null
+++ b/dev-python/marshmallow/marshmallow-3.21.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=flit
+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-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.1.ebuild b/dev-python/marshmallow/marshmallow-3.21.1.ebuild
new file mode 100644
index 000000000000..2adebae08366
--- /dev/null
+++ b/dev-python/marshmallow/marshmallow-3.21.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=flit
+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-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..93f148ead384 100644
--- a/dev-python/matplotlib-inline/Manifest
+++ b/dev-python/matplotlib-inline/Manifest
@@ -1 +1,2 @@
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
new file mode 100644
index 000000000000..14ef9c39ed45
--- /dev/null
+++ b/dev-python/matplotlib-inline/matplotlib-inline-0.1.6-r1.ebuild
@@ -0,0 +1,35 @@
+# 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.6.ebuild b/dev-python/matplotlib-inline/matplotlib-inline-0.1.6.ebuild
deleted file mode 100644
index 8c018782fd1f..000000000000
--- a/dev-python/matplotlib-inline/matplotlib-inline-0.1.6.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Inline Matplotlib backend for Jupyter"
-HOMEPAGE="https://github.com/ipython/matplotlib-inline/"
-SRC_URI="
- https://github.com/ipython/matplotlib-inline/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/matplotlib[${PYTHON_USEDEP}]
- 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..826a7275b5ac
--- /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..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/Manifest b/dev-python/matplotlib/Manifest
index 6a671b9518cf..14aeadc14202 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,5 +1,3 @@
DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
-DIST matplotlib-3.5.3.tar.gz 35236343 BLAKE2B 0d3f4e15295afe2c737e441325206e77c520a514bc87ab1eebef624f89896a2cf609e8d57b8fa8ef28ecf8c836e20cb296adaa95f81dbfcf3f2a45631e3dd02c SHA512 f431d3046e9c5fbe5d44a16a762e9a178ba34380974964660eaf3681671178866a63b3bad9aad8d3ad423926f7db2965d514e9b1489e3a824a4532a01f0e0670
-DIST matplotlib-3.6.1.tar.gz 35826557 BLAKE2B b30710436a773298dcdf233e592656d9815f55f0daab0cc28811b9adbfd3b2ede08f4c13e0dfa43c5fb283bc1ba96ea793084f3d65ba13b9697d14ffa406a273 SHA512 40b148fe4574eea88e7e74c2844a4811c71651602bd7e0a863482571bfa216c01d4f5fcd36add14af82c5cacdb6ae9d441ed251ee5239d06bcc8d40c9ee8841b
-DIST matplotlib-3.6.2.tar.gz 35843927 BLAKE2B 22b933b2ca2bfb156ee1592f522da6e7566f279fd6c7ef2d2f5aeb8697fc04085b57ba6bb5f7948572b3e671687b74d6ba9f7def2728b6224fbc98b121281a3c SHA512 51b84a4328a85f674cb44728955fca8bb5b8b702c788158b8bcfc13a44206a5a658ac12ed8f9a5f6ec53ef543395fab4f3871f91013ba1432f3e2b848c36976f
-DIST matplotlib-3.6.3.tar.gz 35868590 BLAKE2B aa511e7d82c41ff2b5622b23847c2e94ed5d400be74eddcdab12ddba8d25bcc1b778c5fb2a29935bca71b76cbf4213088286c9a6a3d085e06036069909ccc1e7 SHA512 844ca90bcc9953d3d1289a6d471180a3dadb49c75eb59858bbbfb67d4b1292b83b86b366f22ab12d9e97c980376d48b86e745607ec4e812a3010c6fec01398dc
+DIST matplotlib-3.8.3.tar.gz 35879872 BLAKE2B 2b4b819975a8386bfe2c3af8b1068512b106068c057ca62344f6636c0708327feafc75210a8b87b837779c9a57dede3b4ea2a8b7b673432d7732851d5601f4c6 SHA512 457d1d62b76752938a24780c697461949de00d779df55df122d789f9ebef154edda037f2a804241880a0b442c5fa8139b8ab13054898b8e08fd17a56bdc23312
+DIST matplotlib-3.8.4.tar.gz 35934425 BLAKE2B e449f1d71a3152a9cf34cf13c70489d2664c8734c8e8ae0ed5dec2ed5111e0210d679f7e6a1e0b707499d9968b945a7f91573186b82c6d036238aadb5c9da006 SHA512 d4c6a5b3484927dbae1b1203e9984b67d08c958c4a5136abaa805f1eb221146fb1211e5f20456e281d41fc09c94917a796ffacfdb185c58eeeb6d19e60c78b1a
diff --git a/dev-python/matplotlib/files/matplotlib-3.5.2-test.patch b/dev-python/matplotlib/files/matplotlib-3.5.2-test.patch
deleted file mode 100644
index 4b54480c5adf..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.5.2-test.patch
+++ /dev/null
@@ -1,261 +0,0 @@
-From ea4bae5e68e3065ca159ea309a0f3325a06e7f35 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Fri, 26 Mar 2021 13:42:49 +0100
-Subject: [PATCH] Increase image comparison limits
-
-Most of the tests require exact match which apparently doesn't always
-happen in non-pristine environments. Some of them have very big
-differences due to texlive font rendering changes.
----
- lib/matplotlib/tests/test_arrow_patches.py | 6 +++---
- lib/matplotlib/tests/test_axes.py | 4 ++--
- lib/matplotlib/tests/test_backend_pgf.py | 2 +-
- lib/matplotlib/tests/test_colorbar.py | 2 +-
- lib/matplotlib/tests/test_contour.py | 2 +-
- lib/matplotlib/tests/test_figure.py | 5 +++--
- lib/matplotlib/tests/test_image.py | 2 +-
- lib/matplotlib/tests/test_legend.py | 6 +++---
- lib/matplotlib/tests/test_lines.py | 3 ++-
- lib/matplotlib/tests/test_streamplot.py | 3 ++-
- lib/matplotlib/tests/test_units.py | 4 ++--
- lib/matplotlib/tests/test_usetex.py | 1 +
- lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
- 13 files changed, 23 insertions(+), 19 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 eb4c34382b..cca73a23f9 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -918,7 +918,7 @@ def test_imshow():
- ax.imshow("r", data=data)
-
-
--@image_comparison(['imshow_clip'], style='mpl20')
-+@image_comparison(['imshow_clip'], style='mpl20', 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
-@@ -4231,7 +4231,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_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
-index 9b5b0b28ee..a374be0333 100644
---- a/lib/matplotlib/tests/test_backend_pgf.py
-+++ b/lib/matplotlib/tests/test_backend_pgf.py
-@@ -80,7 +80,7 @@ def test_common_texification(plain_text, escaped_text):
- # test compiling a figure to pdf with xelatex
- @needs_xelatex
- @pytest.mark.backend('pgf')
--@image_comparison(['pgf_xelatex.pdf'], style='default')
-+@image_comparison(['pgf_xelatex.pdf'], style='default', tol=0.8)
- def test_xelatex():
- rc_xelatex = {'font.family': 'serif',
- 'pgf.rcfonts': False}
-diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
-index 304056f6d1..9934bac550 100644
---- a/lib/matplotlib/tests/test_colorbar.py
-+++ b/lib/matplotlib/tests/test_colorbar.py
-@@ -218,7 +218,7 @@ def test_colorbar_single_ax_panchor_false():
- plt.colorbar(panchor=False)
-
-
--@image_comparison(['contour_colorbar.png'], remove_text=True)
-+@image_comparison(['contour_colorbar.png'], remove_text=True, 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_contour.py b/lib/matplotlib/tests/test_contour.py
-index 10fb011166..f49fb25dc8 100644
---- a/lib/matplotlib/tests/test_contour.py
-+++ b/lib/matplotlib/tests/test_contour.py
-@@ -345,7 +345,7 @@ def test_contourf_log_extension():
-
-
- @image_comparison(['contour_addlines.png'],
-- remove_text=True, style='mpl20', tol=0.03)
-+ remove_text=True, style='mpl20', tol=0.1)
- # 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 1e076bd64f..11c2668d33 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -23,7 +23,7 @@ import matplotlib.gridspec as gridspec
-
-
- @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(tight_layout=True)
- gs = gridspec.GridSpec(3, 3)
-@@ -1124,7 +1124,8 @@ def test_subfigure_tightbbox():
-
- @image_comparison(['test_subfigure_ss.png'], style='mpl20',
- savefig_kwarg={'facecolor': 'teal'},
-- remove_text=False)
-+ remove_text=False,
-+ tol=0.013)
- def test_subfigure_ss():
- # test assigning the subfigure via subplotspec
- np.random.seed(19680801)
-diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
-index 719b190578..ee2263a88e 100644
---- a/lib/matplotlib/tests/test_image.py
-+++ b/lib/matplotlib/tests/test_image.py
-@@ -1324,7 +1324,7 @@ def test_nonuniform_and_pcolor():
-
-
- @image_comparison(["rgba_antialias.png"], style="mpl20",
-- remove_text=True)
-+ remove_text=True, tol=0.005)
- 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 fe8a8dd5f6..43fbda8ab0 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -102,7 +102,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)
-@@ -111,7 +111,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)
-@@ -137,7 +137,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 f6917a134b..4a14abb74d 100644
---- a/lib/matplotlib/tests/test_lines.py
-+++ b/lib/matplotlib/tests/test_lines.py
-@@ -162,7 +162,8 @@ def test_set_drawstyle():
- assert len(line.get_path().vertices) == len(x)
-
-
--@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20')
-+@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20',
-+ tol=0.58)
- def test_set_line_coll_dash_image():
- fig, ax = plt.subplots()
- np.random.seed(0)
-diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
-index c8824feb06..081e8c0559 100644
---- a/lib/matplotlib/tests/test_streamplot.py
-+++ b/lib/matplotlib/tests/test_streamplot.py
-@@ -34,7 +34,8 @@ def test_startpoints():
- plt.plot(start_x, start_y, 'ok')
-
-
--@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20')
-+@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20',
-+ tol=0.002)
- def test_colormap():
- X, Y, U, V = velocity_field()
- plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2,
-diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
-index a6f6b44c97..ab5ad8b5cf 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -76,7 +76,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'], remove_text=False, 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
-@@ -103,7 +103,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 12557cf847..25b65ead67 100644
---- a/lib/matplotlib/tests/test_usetex.py
-+++ b/lib/matplotlib/tests/test_usetex.py
-@@ -11,6 +11,7 @@ if not mpl.checkdep_usetex(True):
- pytestmark = pytest.mark.skip('Missing TeX of Ghostscript or dvipng')
-
-
-+@pytest.mark.skip(reason="TODO: broken")
- @image_comparison(
- baseline_images=['test_usetex'],
- extensions=['pdf', 'png'],
-diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
-index f8902ca72f..323579b8b6 100644
---- a/lib/mpl_toolkits/tests/test_axes_grid1.py
-+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
-@@ -336,7 +336,7 @@ def test_zooming_with_inverted_axes():
-
-
- @image_comparison(['anchored_direction_arrows.png'],
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_anchored_direction_arrows():
- fig, ax = plt.subplots()
- ax.imshow(np.zeros((10, 10)), interpolation='nearest')
---
-2.35.1
-
diff --git a/dev-python/matplotlib/files/matplotlib-3.6.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.6.0-test.patch
deleted file mode 100644
index 4f0fe2207507..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.6.0-test.patch
+++ /dev/null
@@ -1,260 +0,0 @@
-From 72702bcc76e3daf34d43aa76942f1008946712d6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sat, 24 Sep 2022 09:21:56 +0200
-Subject: [PATCH] Increase image comparison limits
-
-Most of the tests require exact match which apparently doesn't always
-happen in non-pristine environments. Some of them have very big
-differences due to texlive font rendering changes.
----
- lib/matplotlib/tests/test_arrow_patches.py | 6 +++---
- lib/matplotlib/tests/test_axes.py | 6 +++---
- lib/matplotlib/tests/test_backend_pgf.py | 2 +-
- lib/matplotlib/tests/test_colorbar.py | 2 +-
- lib/matplotlib/tests/test_contour.py | 2 +-
- 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 | 3 ++-
- lib/matplotlib/tests/test_streamplot.py | 3 ++-
- lib/matplotlib/tests/test_units.py | 4 ++--
- lib/matplotlib/tests/test_usetex.py | 1 +
- lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
- 13 files changed, 22 insertions(+), 19 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 a230af2ac1..c993d85856 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -1025,7 +1025,7 @@ def test_imshow():
- ax.imshow("r", data=data)
-
-
--@image_comparison(['imshow_clip'], style='mpl20')
-+@image_comparison(['imshow_clip'], style='mpl20', 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
-@@ -2334,7 +2334,7 @@ def test_contour_hatching():
- extend='both', alpha=0.5)
-
-
--@image_comparison(['contour_colorbar'], style='mpl20')
-+@image_comparison(['contour_colorbar'], style='mpl20', tol=0.015)
- def test_contour_colorbar():
- x, y, z = contour_dat()
-
-@@ -4616,7 +4616,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_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
-index 482bc073a7..faa8cfa5ce 100644
---- a/lib/matplotlib/tests/test_backend_pgf.py
-+++ b/lib/matplotlib/tests/test_backend_pgf.py
-@@ -79,7 +79,7 @@ def create_figure():
- # test compiling a figure to pdf with xelatex
- @needs_pgf_xelatex
- @pytest.mark.backend('pgf')
--@image_comparison(['pgf_xelatex.pdf'], style='default')
-+@image_comparison(['pgf_xelatex.pdf'], style='default', tol=0.8)
- def test_xelatex():
- rc_xelatex = {'font.family': 'serif',
- 'pgf.rcfonts': False}
-diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
-index 149ed4c3d2..bf10709297 100644
---- a/lib/matplotlib/tests/test_colorbar.py
-+++ b/lib/matplotlib/tests/test_colorbar.py
-@@ -231,7 +231,7 @@ def test_colorbar_single_ax_panchor_east(constrained):
- assert ax.get_anchor() == 'E'
-
-
--@image_comparison(['contour_colorbar.png'], remove_text=True)
-+@image_comparison(['contour_colorbar.png'], remove_text=True, 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_contour.py b/lib/matplotlib/tests/test_contour.py
-index 2c76f34cb1..a6a0619443 100644
---- a/lib/matplotlib/tests/test_contour.py
-+++ b/lib/matplotlib/tests/test_contour.py
-@@ -318,7 +318,7 @@ def test_contourf_log_extension():
-
-
- @image_comparison(['contour_addlines.png'],
-- remove_text=True, style='mpl20', tol=0.03)
-+ remove_text=True, style='mpl20', tol=0.2)
- # 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 48b4a880e0..2b31fe6273 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 46dbe4cfe8..cb171e83f8 100644
---- a/lib/matplotlib/tests/test_image.py
-+++ b/lib/matplotlib/tests/test_image.py
-@@ -1323,7 +1323,7 @@ def test_nonuniform_and_pcolor():
-
-
- @image_comparison(["rgba_antialias.png"], style="mpl20",
-- remove_text=True)
-+ remove_text=True, tol=0.005)
- 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 16847e0be6..80159952c1 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -118,7 +118,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)
-@@ -127,7 +127,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)
-@@ -153,7 +153,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 e7002df8a5..e83a90ccb1 100644
---- a/lib/matplotlib/tests/test_lines.py
-+++ b/lib/matplotlib/tests/test_lines.py
-@@ -165,7 +165,8 @@ def test_set_drawstyle():
- assert len(line.get_path().vertices) == len(x)
-
-
--@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20')
-+@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20',
-+ tol=0.62)
- def test_set_line_coll_dash_image():
- fig, ax = plt.subplots()
- np.random.seed(0)
-diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
-index 5ee6df09e4..ab059bb4a3 100644
---- a/lib/matplotlib/tests/test_streamplot.py
-+++ b/lib/matplotlib/tests/test_streamplot.py
-@@ -34,7 +34,8 @@ def test_startpoints():
- plt.plot(start_x, start_y, 'ok')
-
-
--@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20')
-+@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20',
-+ tol=0.002)
- def test_colormap():
- X, Y, U, V = velocity_field()
- plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2,
-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 22309afdaf..0b7cea8ac4 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'],
-diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
-index 374b8c721f..77b1d5f4a1 100644
---- a/lib/mpl_toolkits/tests/test_axes_grid1.py
-+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
-@@ -335,7 +335,7 @@ def test_zooming_with_inverted_axes():
-
-
- @image_comparison(['anchored_direction_arrows.png'],
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_anchored_direction_arrows():
- fig, ax = plt.subplots()
- ax.imshow(np.zeros((10, 10)), interpolation='nearest')
---
-2.37.3
-
diff --git a/dev-python/matplotlib/files/matplotlib-3.6.2-test.patch b/dev-python/matplotlib/files/matplotlib-3.6.2-test.patch
deleted file mode 100644
index b90b3d029ed2..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.6.2-test.patch
+++ /dev/null
@@ -1,171 +0,0 @@
-From 889e0a965c40207340e458f72279aa996a21f96e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Thu, 3 Nov 2022 05:19:14 +0100
-Subject: [PATCH] Fix tests
-
----
- lib/matplotlib/tests/test_arrow_patches.py | 6 +++---
- lib/matplotlib/tests/test_axes.py | 6 +++---
- lib/matplotlib/tests/test_backend_pgf.py | 2 +-
- lib/matplotlib/tests/test_colorbar.py | 2 +-
- lib/matplotlib/tests/test_contour.py | 2 +-
- 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 | 3 ++-
- lib/matplotlib/tests/test_units.py | 4 ++--
- lib/matplotlib/tests/test_usetex.py | 3 ++-
- lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
- 12 files changed, 21 insertions(+), 19 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
-@@ -69,3 +69,3 @@ 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))
-@@ -84,3 +84,3 @@ 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))
-@@ -117,3 +117,3 @@ 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():
-diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index 8d6466c749..15ec51e95c 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -1033,3 +1033,3 @@ def test_imshow():
-
--@image_comparison(['imshow_clip'], style='mpl20')
-+@image_comparison(['imshow_clip'], style='mpl20', tol=1.24)
- def test_imshow_clip():
-@@ -2342,3 +2342,3 @@ def test_contour_hatching():
-
--@image_comparison(['contour_colorbar'], style='mpl20')
-+@image_comparison(['contour_colorbar'], style='mpl20', tol=0.015)
- def test_contour_colorbar():
-@@ -4625,3 +4625,3 @@ 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():
-diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
-index 482bc073a7..faa8cfa5ce 100644
---- a/lib/matplotlib/tests/test_backend_pgf.py
-+++ b/lib/matplotlib/tests/test_backend_pgf.py
-@@ -81,3 +81,3 @@ def create_figure():
- @pytest.mark.backend('pgf')
--@image_comparison(['pgf_xelatex.pdf'], style='default')
-+@image_comparison(['pgf_xelatex.pdf'], style='default', tol=0.8)
- def test_xelatex():
-diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
-index 4336b761f6..421d4455a7 100644
---- a/lib/matplotlib/tests/test_colorbar.py
-+++ b/lib/matplotlib/tests/test_colorbar.py
-@@ -235,3 +235,3 @@ def test_colorbar_single_ax_panchor_east(constrained):
-
--@image_comparison(['contour_colorbar.png'], remove_text=True)
-+@image_comparison(['contour_colorbar.png'], remove_text=True, tol=0.01)
- def test_contour_colorbar():
-diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
-index 8bf77f0d54..aa9e9cbb7c 100644
---- a/lib/matplotlib/tests/test_contour.py
-+++ b/lib/matplotlib/tests/test_contour.py
-@@ -321,3 +321,3 @@ def test_contourf_log_extension():
- @image_comparison(['contour_addlines.png'],
-- remove_text=True, style='mpl20', tol=0.03)
-+ remove_text=True, style='mpl20', tol=0.2)
- # tolerance is because image changed minutely when tick finding on
-diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
-index cc5a3b9ae2..3426d180b4 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -28,3 +28,3 @@ 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():
-diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
-index 46dbe4cfe8..cb171e83f8 100644
---- a/lib/matplotlib/tests/test_image.py
-+++ b/lib/matplotlib/tests/test_image.py
-@@ -1325,3 +1325,3 @@ def test_nonuniform_and_pcolor():
- @image_comparison(["rgba_antialias.png"], style="mpl20",
-- remove_text=True)
-+ remove_text=True, tol=0.005)
- def test_rgba_antialias():
-diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
-index 16847e0be6..80159952c1 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -120,3 +120,3 @@ 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():
-@@ -129,3 +129,3 @@ 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():
-@@ -155,3 +155,3 @@ 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():
-diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
-index e7002df8a5..e83a90ccb1 100644
---- a/lib/matplotlib/tests/test_lines.py
-+++ b/lib/matplotlib/tests/test_lines.py
-@@ -167,3 +167,4 @@ def test_set_drawstyle():
-
--@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20')
-+@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20',
-+ tol=0.62)
- def test_set_line_coll_dash_image():
-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
-@@ -81,3 +81,3 @@ def quantity_converter():
- @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):
-@@ -108,3 +108,3 @@ def test_numpy_facade(quantity_converter):
- @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():
-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
-@@ -16,2 +16,3 @@ pytestmark = needs_usetex
-
-+@pytest.mark.skip(reason="TODO: broken")
- @image_comparison(
-@@ -66,3 +67,3 @@ def test_mathdefault():
-
--@image_comparison(['eqnarray.png'])
-+@image_comparison(['eqnarray.png'], tol=23)
- def test_multiline_eqnarray():
-diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
-index 374b8c721f..77b1d5f4a1 100644
---- a/lib/mpl_toolkits/tests/test_axes_grid1.py
-+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
-@@ -337,3 +337,3 @@ def test_zooming_with_inverted_axes():
- @image_comparison(['anchored_direction_arrows.png'],
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_anchored_direction_arrows():
---
-2.38.1
-
diff --git a/dev-python/matplotlib/files/matplotlib-3.6.3-test.patch b/dev-python/matplotlib/files/matplotlib-3.6.3-test.patch
deleted file mode 100644
index 176f2f03c5c9..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.6.3-test.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 28294f8dc7305707c6e9a481c42416b2fb5714a1 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Thu, 12 Jan 2023 06:39:23 +0100
-Subject: [PATCH] Increase more tolerances
-
----
- lib/matplotlib/tests/test_lines.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
-index e83a90ccb1..ddba36333f 100644
---- a/lib/matplotlib/tests/test_lines.py
-+++ b/lib/matplotlib/tests/test_lines.py
-@@ -166,7 +166,7 @@ def test_set_drawstyle():
-
-
- @image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20',
-- tol=0.62)
-+ tol=0.65)
- def test_set_line_coll_dash_image():
- fig, ax = plt.subplots()
- np.random.seed(0)
---
-2.39.0
-
diff --git a/dev-python/matplotlib/files/matplotlib-3.8.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.8.0-test.patch
new file mode 100644
index 000000000000..5653ed6a697e
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.8.0-test.patch
@@ -0,0 +1,263 @@
+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/matplotlib-3.5.3.ebuild b/dev-python/matplotlib/matplotlib-3.5.3.ebuild
deleted file mode 100644
index a2b7b3157070..000000000000
--- a/dev-python/matplotlib/matplotlib-3.5.3.ebuild
+++ /dev/null
@@ -1,283 +0,0 @@
-# Copyright 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='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic multiprocessing prefix 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="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- 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="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-RDEPEND="
- dev-python/certifi[${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.18.2[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- >=dev-python/six-1.14.0[${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/setuptools_scm[${PYTHON_USEDEP}]
- dev-python/setuptools_scm_git_archive[${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/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0.4[${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
-
-# cat > lib/${PN}/externals/six.py <<-EOF
-# from __future__ import absolute_import
-# from six import *
-# EOF
-
- # 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.5.2-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
- )
- [[ ${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'}]"
- )
-
- # 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.6.1.ebuild b/dev-python/matplotlib/matplotlib-3.6.1.ebuild
deleted file mode 100644
index e5501461c469..000000000000
--- a/dev-python/matplotlib/matplotlib-3.6.1.ebuild
+++ /dev/null
@@ -1,277 +0,0 @@
-# Copyright 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='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic multiprocessing prefix 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="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- 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 ~ppc ~ppc64 ~riscv ~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.19[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.2.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/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/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0.4[${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.6.0-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
- )
- [[ ${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'}]"
- )
-
- # 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.6.2.ebuild b/dev-python/matplotlib/matplotlib-3.6.2.ebuild
deleted file mode 100644
index d8abecd0d250..000000000000
--- a/dev-python/matplotlib/matplotlib-3.6.2.ebuild
+++ /dev/null
@@ -1,279 +0,0 @@
-# Copyright 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='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic multiprocessing prefix 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="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- 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.19[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.2.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/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/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0.4[${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.6.2-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
- )
- [[ ${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'}]"
- )
-
- # 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.6.3.ebuild b/dev-python/matplotlib/matplotlib-3.6.3.ebuild
deleted file mode 100644
index da2cb549942e..000000000000
--- a/dev-python/matplotlib/matplotlib-3.6.3.ebuild
+++ /dev/null
@@ -1,280 +0,0 @@
-# Copyright 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='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic multiprocessing prefix 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="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- 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.19[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.2.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/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/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0.4[${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.6.2-test.patch
- "${FILESDIR}"/matplotlib-3.6.3-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
- )
- [[ ${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'}]"
- )
-
- # 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.3.ebuild b/dev-python/matplotlib/matplotlib-3.8.3.ebuild
new file mode 100644
index 000000000000..b4830201aaf7
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.8.3.ebuild
@@ -0,0 +1,371 @@
+# 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='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/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}]
+ !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
+
+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" \
+ -o tmp_path_retention_policy=all || 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.4.ebuild b/dev-python/matplotlib/matplotlib-3.8.4.ebuild
new file mode 100644
index 000000000000..94c2c0018b45
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.8.4.ebuild
@@ -0,0 +1,377 @@
+# 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='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/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-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/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
+
+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
+ # 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
+ 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" \
+ -p rerunfailures --reruns=3 \
+ -o tmp_path_retention_policy=all || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/matrix-common/Manifest b/dev-python/matrix-common/Manifest
index 179e385e85e0..c3e0efaf5102 100644
--- a/dev-python/matrix-common/Manifest
+++ b/dev-python/matrix-common/Manifest
@@ -1,2 +1 @@
-DIST matrix-common-1.2.1.gh.tar.gz 12598 BLAKE2B 94f25d90c9df948054739cee39033c1f261e61300aa74b7ce606cf8a3c82e716687aa57ddb0f72b8617ae56c21486b50a68f9e6c8611e2f8b19c33b0d2a557e7 SHA512 9ab05d6aeddf4915970916d34e625b7a059823e56ba8868f955cf8971a51ac31891304a7fb00170c60c6b107f7526565f67bd78416a466c50092954c5b422114
DIST matrix-common-1.3.0.gh.tar.gz 14143 BLAKE2B dd72a7c5558c2db0ab38f2f544f6ab6926fd037e99cbb774973f08bdc661c1587d3d6883ffc6a9cfcea6942284d4020814c02d56be3746279323fca17490f434 SHA512 d08fa11a4156a7c4596ea20709e0fddd1563ef1f4ba763e21a073ba53e1baf58d8de1b60cf0f69c846128cdd6f04788df49765704c8adfde187e8de1dc5ded4e
diff --git a/dev-python/matrix-common/matrix-common-1.2.1.ebuild b/dev-python/matrix-common/matrix-common-1.2.1.ebuild
deleted file mode 100644
index 834a045ffedc..000000000000
--- a/dev-python/matrix-common/matrix-common-1.2.1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2022 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="Common code for Synapse, Sydent and Sygnal"
-HOMEPAGE="
- https://github.com/matrix-org/matrix-python-common
- https://pypi.org/project/matrix-common/
-"
-SRC_URI="https://github.com/matrix-org/matrix-python-common/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-S="${WORKDIR}/matrix-python-common-${PV}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64"
-
-RDEPEND="
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/importlib_metadata[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
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
new file mode 100644
index 000000000000..74b4edc30d96
--- /dev/null
+++ b/dev-python/matrix-common/matrix-common-1.3.0-r1.ebuild
@@ -0,0 +1,31 @@
+# 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="Common code for Synapse, Sydent and Sygnal"
+HOMEPAGE="
+ https://github.com/matrix-org/matrix-python-common
+ https://pypi.org/project/matrix-common/
+"
+SRC_URI="
+ https://github.com/matrix-org/matrix-python-common/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+S="${WORKDIR}/matrix-python-common-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~ppc64"
+
+RDEPEND="
+ dev-python/attrs[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/matrix-common/matrix-common-1.3.0.ebuild b/dev-python/matrix-common/matrix-common-1.3.0.ebuild
deleted file mode 100644
index 6245d546b3fc..000000000000
--- a/dev-python/matrix-common/matrix-common-1.3.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2022 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="Common code for Synapse, Sydent and Sygnal"
-HOMEPAGE="
- https://github.com/matrix-org/matrix-python-common
- https://pypi.org/project/matrix-common/
-"
-SRC_URI="
- https://github.com/matrix-org/matrix-python-common/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-S="${WORKDIR}/matrix-python-common-${PV}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64"
-
-RDEPEND="
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/importlib_metadata[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/matrix-common/metadata.xml b/dev-python/matrix-common/metadata.xml
index 9cb264302e18..8feff6de3d0d 100644
--- a/dev-python/matrix-common/metadata.xml
+++ b/dev-python/matrix-common/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>arkamar@atlas.cz</email>
+ <maintainer type="person">
+ <email>arkamar@gentoo.org</email>
<name>Petr Vaněk</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">matrix-common</remote-id>
diff --git a/dev-python/matterhook/matterhook-0.2-r2.ebuild b/dev-python/matterhook/matterhook-0.2-r2.ebuild
index 6ca5647f1d1c..e41c6fc62449 100644
--- a/dev-python/matterhook/matterhook-0.2-r2.ebuild
+++ b/dev-python/matterhook/matterhook-0.2-r2.ebuild
@@ -4,13 +4,12 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Interact with Mattermost incoming webhooks easily"
HOMEPAGE="https://github.com/numberly/matterhook"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/mcbootflash/Manifest b/dev-python/mcbootflash/Manifest
new file mode 100644
index 000000000000..7bf319e6e80e
--- /dev/null
+++ b/dev-python/mcbootflash/Manifest
@@ -0,0 +1 @@
+DIST mcbootflash-8.0.1.tar.gz 24906 BLAKE2B 2af5c73de29aa089d33047179ce196507ab1ed1ae224b6f680341a818d8056915271b121cf1ac32f31dd5e33e095f2b82fcddf5907bdb5513a17e009ac242f7f SHA512 fc4093873bbfc0a29d2c09b2f62247dd659b4c9d531613a2a18d6b452f7a0e573b5fa087d82686045af1ba6f7811ca3ccba0f109ada71c42925e8c01faa0fe1d
diff --git a/dev-python/mcbootflash/mcbootflash-8.0.1.ebuild b/dev-python/mcbootflash/mcbootflash-8.0.1.ebuild
new file mode 100644
index 000000000000..12e8228e078c
--- /dev/null
+++ b/dev-python/mcbootflash/mcbootflash-8.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=flit
+PYTHON_COMPAT=( python3_{10..12} )
+
+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/
+"
+
+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
+
+python_test() {
+ epytest --replay
+}
diff --git a/dev-python/mcbootflash/metadata.xml b/dev-python/mcbootflash/metadata.xml
new file mode 100644
index 000000000000..4813ad901260
--- /dev/null
+++ b/dev-python/mcbootflash/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <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 1557a6829b55..f226517744e6 100644
--- a/dev-python/mccabe/mccabe-0.7.0.ebuild
+++ b/dev-python/mccabe/mccabe-0.7.0.ebuild
@@ -3,15 +3,14 @@
EAPI=8
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="flake8 plugin: McCabe complexity checker"
HOMEPAGE="https://github.com/PyCQA/mccabe"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+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"
diff --git a/dev-python/mdit-py-plugins/Manifest b/dev-python/mdit-py-plugins/Manifest
index db230ae87e93..c41343c6b8c4 100644
--- a/dev-python/mdit-py-plugins/Manifest
+++ b/dev-python/mdit-py-plugins/Manifest
@@ -1 +1 @@
-DIST mdit-py-plugins-0.3.3.gh.tar.gz 57366 BLAKE2B 60b53c6aa404a22296da122b6528491fa7dc52c4b485dea1b0c26c486cd04bf495948e03c40d54ac9d436431ab1154f51af90c84762f96d87984b74718a736a9 SHA512 a32a4a7004368af924c0876106e10a55a2f361a18db127a45080779bc39fb709ca274febbb4c4d5e872357e99bd8161e6c760783793516011da5f963368fa637
+DIST mdit-py-plugins-0.4.0.gh.tar.gz 62199 BLAKE2B d8e69022ecceed436cd28202406bd46e786d40d3527f1c2c9311c4c32c59a4806cde9dc386309976c185522dd6286aec2542dabd31e08b8d7322fd02ae07186d SHA512 cdcce7a3819120923b7725daae0bf7a833c4da4487c49ff1a067fecf7d5e8f7a7be2fae03f3b821c766d7d6ebed4a298755ad5edb00adf73300a76a5663d67d6
diff --git a/dev-python/mdit-py-plugins/mdit-py-plugins-0.3.3.ebuild b/dev-python/mdit-py-plugins/mdit-py-plugins-0.3.3.ebuild
deleted file mode 100644
index bd6bc670ff9c..000000000000
--- a/dev-python/mdit-py-plugins/mdit-py-plugins-0.3.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=flit
-PYTHON_COMPAT=( python3_{9..11} 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 ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/markdown-it-py[${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.0.ebuild b/dev-python/mdit-py-plugins/mdit-py-plugins-0.4.0.ebuild
new file mode 100644
index 000000000000..cbfa44b6d740
--- /dev/null
+++ b/dev-python/mdit-py-plugins/mdit-py-plugins-0.4.0.ebuild
@@ -0,0 +1,34 @@
+# 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 ~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 9b765206aea8..b158718cedf0 100644
--- a/dev-python/mdurl/mdurl-0.1.2.ebuild
+++ b/dev-python/mdurl/mdurl-0.1.2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
@@ -20,6 +20,6 @@ SRC_URI="
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"
distutils_enable_tests pytest
diff --git a/dev-python/mdx-gh-links/Manifest b/dev-python/mdx-gh-links/Manifest
new file mode 100644
index 000000000000..ba2f5efdcf1d
--- /dev/null
+++ b/dev-python/mdx-gh-links/Manifest
@@ -0,0 +1 @@
+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.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/mdx_gh_links/metadata.xml b/dev-python/mdx-gh-links/metadata.xml
index 5d30f19e4ffb..5d30f19e4ffb 100644
--- a/dev-python/mdx_gh_links/metadata.xml
+++ b/dev-python/mdx-gh-links/metadata.xml
diff --git a/dev-python/mdx_gh_links/Manifest b/dev-python/mdx_gh_links/Manifest
deleted file mode 100644
index b6cd9505d8f5..000000000000
--- a/dev-python/mdx_gh_links/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST github-links-0.3.gh.tar.gz 6756 BLAKE2B 6b9f7e86d2ec96a6b1b9fd21f20f1964e5fbf4b3ebb33bcd6dccd2e8b811acff7e39606acbf8f48a602afb21733dbd6375e2d1ef30a2a551547fbf9582b525c6 SHA512 8f738298d8a1512e2757a3a7fed091e3a90d59b20b3d03f1a75e087b30b9f9d4876d46ced04994f98a4454a9bf4ebabc305ebf28b4441eb93e5df87822c35459
diff --git a/dev-python/mdx_gh_links/mdx_gh_links-0.3.ebuild b/dev-python/mdx_gh_links/mdx_gh_links-0.3.ebuild
deleted file mode 100644
index a2cd122f289f..000000000000
--- a/dev-python/mdx_gh_links/mdx_gh_links-0.3.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_{9..11} )
-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 ~riscv x86"
-
-RDEPEND="
- >=dev-python/markdown-3.0.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/mecab-python/mecab-python-0.996-r1.ebuild b/dev-python/mecab-python/mecab-python-0.996-r1.ebuild
index 985f3ef8a09e..dfb4695da01d 100644
--- a/dev-python/mecab-python/mecab-python-0.996-r1.ebuild
+++ b/dev-python/mecab-python/mecab-python-0.996-r1.ebuild
@@ -3,13 +3,18 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
DESCRIPTION="Python binding for MeCab"
-HOMEPAGE="https://taku910.github.io/mecab/"
+HOMEPAGE="
+ https://taku910.github.io/mecab/
+ https://github.com/taku910/mecab/
+ https://pypi.org/project/mecab-python/
+"
SRC_URI="https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/${PN%-*}/${P}.tar.gz"
LICENSE="|| ( BSD LGPL-2.1 GPL-2 )"
diff --git a/dev-python/mechanize/Manifest b/dev-python/mechanize/Manifest
index 784c48600ec0..0679fda04d7d 100644
--- a/dev-python/mechanize/Manifest
+++ b/dev-python/mechanize/Manifest
@@ -1 +1 @@
-DIST mechanize-0.4.8.tar.gz 218055 BLAKE2B bd91738092ac473ee6e65ee5f175479515f735a0433b112241f17061adf7e60ef6fa410fa549f088390b6ef6c8b2ff95e00335a626322ad170c88923c96e8e44 SHA512 71087481d27359b3ce795eae440ebb3a146f8dd5a6d5ac5dc91ae3c63f2c487beb472aa06b2925d6121faa038a0a8be50f6cecc54ee7209eb2b61e16242ffaa3
+DIST mechanize-0.4.9.tar.gz 218286 BLAKE2B 42ea97f843ec61b5ae05913e564f0cdb473976ea4e08a886c3bed15b27cea64def7fe5c73c1b809e48688d5ae41c269e85b633a24731c83409bf9855fc72b85f SHA512 a0c5d6e01ddabd35dded9908e4f7e24cb0a8c20a674af603cd2f5f146c75d38dc96c36af0898646691206ce41745dff9a736ce53efd03ff48e55e763814b893c
diff --git a/dev-python/mechanize/files/mechanize-0.4.8-python3.11-test-order.patch b/dev-python/mechanize/files/mechanize-0.4.8-python3.11-test-order.patch
deleted file mode 100644
index 0808460dcc67..000000000000
--- a/dev-python/mechanize/files/mechanize-0.4.8-python3.11-test-order.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-https://github.com/python-mechanize/mechanize/commit/529d2c4cb8f31284f8026642968ba3adb9de1171
-https://github.com/python-mechanize/mechanize/commit/7ba3d586368c03577c061c35bc27664a907f5435
-https://github.com/python-mechanize/mechanize/commit/560839d51e54943890c2d37c0d0854792479cb80
-
-From: Kovid Goyal <kovid@kovidgoyal.net>
-Date: Tue, 24 May 2022 11:13:16 +0530
-Subject: [PATCH] Use asserts for failing test so we get better feedback on the
- failure
-
---- a/test/test_cookies.py
-+++ b/test/test_cookies.py
-@@ -1028,10 +1028,10 @@ def test_Cookie_iterator(self): # noqa
- i = 0
- for c in cs:
- # assert isinstance(c, Cookie)
-- assert c.version == versions[i]
-- assert c.name == names[i]
-- assert c.domain == domains[i]
-- assert c.path == paths[i]
-+ self.assertEqual(c.version, versions[i])
-+ self.assertEqual(c.name, names[i])
-+ self.assertEqual(c.domain, domains[i])
-+ self.assertEqual(c.path, paths[i])
- i = i + 1
-
- self.assertRaises(IndexError, lambda cs=cs: cs[5])
-
-From: Kovid Goyal <kovid@kovidgoyal.net>
-Date: Tue, 24 May 2022 17:54:50 +0530
-Subject: [PATCH] DRYer
-
---- a/test/test_cookies.py
-+++ b/test/test_cookies.py
-@@ -1025,14 +1025,9 @@ def test_Cookie_iterator(self): # noqa
-
- # sequential iteration
- for i in range(4):
-- i = 0
-- for c in cs:
-+ for c, expected in zip(cs, zip(versions, names, domains, paths)):
- # assert isinstance(c, Cookie)
-- self.assertEqual(c.version, versions[i])
-- self.assertEqual(c.name, names[i])
-- self.assertEqual(c.domain, domains[i])
-- self.assertEqual(c.path, paths[i])
-- i = i + 1
-+ self.assertEqual((c.version, c.name, c.domain, c.path), expected)
-
- self.assertRaises(IndexError, lambda cs=cs: cs[5])
-
-Date: Tue, 24 May 2022 18:09:16 +0530
-Subject: [PATCH] Change test to not rely on order of cookie iteration
-
-python 3.11 iterates in add order, earlier pythons iterate in domain
-sorted order
-
-Fix #74
---- a/test/test_cookies.py
-+++ b/test/test_cookies.py
-@@ -1022,13 +1022,12 @@ def test_Cookie_iterator(self): # noqa
- "www.acme.com"
- ]
- paths = ["/", "/", "/", "/blah", "/blah/"]
--
-+ expected = set(zip(versions, names, domains, paths))
- # sequential iteration
-- for i in range(4):
-- for c, expected in zip(cs, zip(versions, names, domains, paths)):
-- # assert isinstance(c, Cookie)
-- self.assertEqual((c.version, c.name, c.domain, c.path), expected)
--
-+ # python 3.11 iterates in add order, earlier pythons iterate in domain
-+ # sorted order
-+ actual = {(c.version, c.name, c.domain, c.path) for c in cs}
-+ self.assertEqual(expected, actual)
- self.assertRaises(IndexError, lambda cs=cs: cs[5])
-
- def test_parse_ns_headers(self):
-
diff --git a/dev-python/mechanize/mechanize-0.4.8.ebuild b/dev-python/mechanize/mechanize-0.4.8.ebuild
deleted file mode 100644
index 89d6f829ee37..000000000000
--- a/dev-python/mechanize/mechanize-0.4.8.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="Stateful programmatic web browsing in Python"
-HOMEPAGE="https://github.com/python-mechanize/mechanize"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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}
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.4.8-python3.11-test-order.patch
-)
-
-python_test() {
- "${EPYTHON}" run_tests.py || die
-}
diff --git a/dev-python/mechanize/mechanize-0.4.9.ebuild b/dev-python/mechanize/mechanize-0.4.9.ebuild
new file mode 100644
index 000000000000..9f450d7fd6b3
--- /dev/null
+++ b/dev-python/mechanize/mechanize-0.4.9.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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/mechanize/metadata.xml b/dev-python/mechanize/metadata.xml
index ed3ba404a5ee..73e4c8307de8 100644
--- a/dev-python/mechanize/metadata.xml
+++ b/dev-python/mechanize/metadata.xml
@@ -19,5 +19,6 @@
<upstream>
<remote-id type="sourceforge">wwwsearch</remote-id>
<remote-id type="pypi">mechanize</remote-id>
+ <remote-id type="github">python-mechanize/mechanize</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/mediafile/Manifest b/dev-python/mediafile/Manifest
index ffa482b9fec4..ee03b22a0ce5 100644
--- a/dev-python/mediafile/Manifest
+++ b/dev-python/mediafile/Manifest
@@ -1,2 +1 @@
-DIST mediafile-0.10.1.gh.tar.gz 568722 BLAKE2B 4da5fe76cc6e3e41d8591c962d9cfde1e16a64b57192d795714955aeab4d49d608a977685352de8e55ac83d1dde56435a31c4577a4a4743499393c051c471c7c SHA512 db9d82d23eb3f1a6b2e19f1b635805e84ed54ed06641a0e1ab80d7350415d1297cec64f18c66b38a7552abdaf2c1a8bfc6bb0c8543d9c618368184e6d6bb6405
-DIST mediafile-0.11.0.gh.tar.gz 568718 BLAKE2B 3815af2985312d5464158ae3aaecd23eadf53bec4f6b66247014dd5c3768262d33d0d6b7234d69d6169de77d2f8d9fab2c005c75e2774a53951451b08511971e SHA512 2e4f11995a8d83dcbfe6aa01f5162db0f01851bb93e8ad9ffc50afca703edd6a23c4f5a3b94d2fd6e07285534d081f78ea384d04b3858eefa58216e415a8498b
+DIST mediafile-0.12.0.gh.tar.gz 568721 BLAKE2B 659ba62622a85786073b3ecc09cf0d09b16fb1ae832e1b62ef40546745bc271d33587efb12ef70fb7306fd2bb419db1b5b11bfc886048f46f956162d9f01e76e SHA512 a89d683154f71214f018cdee28c0faffa0a3ffeda20798cb135a711d9449b742186b5715858dce9ab06908e7d2c0f09a17f038adcd05369c185cd25b59146dbe
diff --git a/dev-python/mediafile/mediafile-0.10.1.ebuild b/dev-python/mediafile/mediafile-0.10.1.ebuild
deleted file mode 100644
index 97b0134a27a1..000000000000
--- a/dev-python/mediafile/mediafile-0.10.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=flit
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Read and write audio files' tags in Python"
-HOMEPAGE="
- https://github.com/beetbox/mediafile/
- https://pypi.org/project/mediafile/
-"
-SRC_URI="
- https://github.com/beetbox/mediafile/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-RDEPEND="
- >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
- >=media-libs/mutagen-1.46.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs
-distutils_enable_tests unittest
diff --git a/dev-python/mediafile/mediafile-0.11.0.ebuild b/dev-python/mediafile/mediafile-0.11.0.ebuild
deleted file mode 100644
index 5ae76c305472..000000000000
--- a/dev-python/mediafile/mediafile-0.11.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=flit
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Read and write audio files' tags in Python"
-HOMEPAGE="
- https://github.com/beetbox/mediafile/
- https://pypi.org/project/mediafile/
-"
-SRC_URI="
- https://github.com/beetbox/mediafile/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
- >=media-libs/mutagen-1.46.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs
-distutils_enable_tests unittest
diff --git a/dev-python/mediafile/mediafile-0.12.0.ebuild b/dev-python/mediafile/mediafile-0.12.0.ebuild
new file mode 100644
index 000000000000..63c7d0d1e319
--- /dev/null
+++ b/dev-python/mediafile/mediafile-0.12.0.ebuild
@@ -0,0 +1,31 @@
+# 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="Read and write audio files' tags in Python"
+HOMEPAGE="
+ https://github.com/beetbox/mediafile/
+ https://pypi.org/project/mediafile/
+"
+SRC_URI="
+ https://github.com/beetbox/mediafile/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=media-libs/mutagen-1.46.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs
+distutils_enable_tests unittest
diff --git a/dev-python/memory-allocator/Manifest b/dev-python/memory-allocator/Manifest
new file mode 100644
index 000000000000..55b8884f8be1
--- /dev/null
+++ b/dev-python/memory-allocator/Manifest
@@ -0,0 +1 @@
+DIST memory_allocator-0.1.4.tar.gz 19723 BLAKE2B 22643aa32ac43f0e80e76b9d214c5decb70fbb83ddf4e116739bd257df1a2f2f02cf33c4a8925d0a38af2c59b90ee4fb6ccdfe2256fccae00ad98b2a9596e1db SHA512 0cd8b4d5878fa86972f9aa91e1fef4c074c3a0afe25ac1e54a3ad5e3b1ec5e4907cdd067d790f4e2ab7706f5dc2ff44c43ca0bc8e03b1b4dc90d66d8aa49ba0f
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..bad309e2b7df
--- /dev/null
+++ b/dev-python/memory-allocator/memory-allocator-0.1.4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2021-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="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/metadata.xml b/dev-python/memory-allocator/metadata.xml
new file mode 100644
index 000000000000..402080770fc8
--- /dev/null
+++ b/dev-python/memory-allocator/metadata.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ </maintainer>
+
+ <maintainer type="person" proxied="yes">
+ <email>frp.bissey@gmail.com</email>
+ <name>François Bissey</name>
+ </maintainer>
+
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+
+ <maintainer type="project">
+ <email>sci-mathematics@gentoo.org</email>
+ <name>Gentoo Mathematics Project</name>
+ </maintainer>
+
+ <longdescription lang="en">
+ This package provides a single MemoryAllocator class that makes
+ memory allocation easier in Cython. The class has familiar (cdef)
+ methods like malloc and realloc, and all allocated memory is freed
+ when the MemoryAllocator object is destroyed.
+ </longdescription>
+
+ <upstream>
+ <remote-id type="pypi">memory-allocator</remote-id>
+ <remote-id type="github">sagemath/memory_allocator</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/memory_profiler/Manifest b/dev-python/memory_profiler/Manifest
deleted file mode 100644
index 693a1a0e2468..000000000000
--- a/dev-python/memory_profiler/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST memory_profiler-0.61.gh.tar.gz 144680 BLAKE2B 418ae6e7433dd58b00c8706209a7172c31ccf57d74255aa670b271bc9d76b339bd582b48886bed7b53062abd8eb421678c911b3495de4d541b949f340aad7091 SHA512 02c70a049107ad4df635e20e22eaaa91fd4e4fd29690b0a7c314e08ed6e076bbb81f85dd97924ed35f7f0133cfd3c7e55b35400449489733beb172debe592c4e
diff --git a/dev-python/memory_profiler/memory_profiler-0.61.ebuild b/dev-python/memory_profiler/memory_profiler-0.61.ebuild
deleted file mode 100644
index bdf23e9c4b48..000000000000
--- a/dev-python/memory_profiler/memory_profiler-0.61.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
-
-DESCRIPTION="A module for monitoring memory usage of a python program"
-HOMEPAGE="
- https://github.com/pythonprofilers/memory_profiler/
- https://pypi.org/project/memory-profiler/
-"
-SRC_URI="
- https://github.com/pythonprofilers/memory_profiler/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv x86 ~amd64-linux ~x86-linux"
-IUSE="examples"
-
-# dev-lang/mercury: collision on 'mprof'
-# https://bugs.gentoo.org/571176
-RDEPEND="
- dev-python/psutil[${PYTHON_USEDEP}]
- !dev-lang/mercury
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- "${EPYTHON}" -m memory_profiler test/test_as.py || die
- "${EPYTHON}" -m memory_profiler test/test_func.py || die
- "${EPYTHON}" -m memory_profiler test/test_gen.py || die
- "${EPYTHON}" -m memory_profiler test/test_loop.py || die
- "${EPYTHON}" -m memory_profiler test/test_loop_decorated.py || die
- "${EPYTHON}" -m memory_profiler test/test_mprofile.py || die
- "${EPYTHON}" -m memory_profiler test/test_nested.py || die
- "${EPYTHON}" -m memory_profiler test/test_precision_command_line.py || die
- "${EPYTHON}" -m memory_profiler test/test_unicode.py || die
-
- "${EPYTHON}" test/test_exception.py || die
- "${EPYTHON}" test/test_exit_code.py || die
- "${EPYTHON}" test/test_global.py || die
- "${EPYTHON}" test/test_import.py || die
- "${EPYTHON}" test/test_memory_usage.py || die
- "${EPYTHON}" test/test_mprof.py || die
- "${EPYTHON}" test/test_precision_import.py || die
- "${EPYTHON}" test/test_stream_unicode.py || die
- "${EPYTHON}" test/test_tracemalloc.py || die
-}
-
-python_install_all() {
- use examples && dodoc -r examples
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/memory_profiler/metadata.xml b/dev-python/memory_profiler/metadata.xml
deleted file mode 100644
index 765b1c287e36..000000000000
--- a/dev-python/memory_profiler/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>
- <remote-id type="pypi">memory-profiler</remote-id>
- <remote-id type="github">pythonprofilers/memory_profiler</remote-id>
- <maintainer status="unknown">
- <email>f@bianp.net</email>
- <name>Fabian Pedregosa</name>
- </maintainer>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/merge3/Manifest b/dev-python/merge3/Manifest
new file mode 100644
index 000000000000..b9ae3a58fa5a
--- /dev/null
+++ b/dev-python/merge3/Manifest
@@ -0,0 +1 @@
+DIST merge3-0.0.14.gh.tar.gz 16109 BLAKE2B 482ad2aa32cbfc535c0c96d8c7d25fff4dad3e3ea00ccc48c7c89086e143e2d4c13b49eef79532123f282ac81b3797f6358fccf7115c1b2776c80df76ea6cc82 SHA512 62ed82925838329be7cf1e9456bb6bb02e85a41a0c54cff94f32624c29d9c15c47c3f3f7ec6b1e8f421f3648000964e1afff36a913ca49bf3fb95a52faa71b83
diff --git a/dev-python/merge3/merge3-0.0.14.ebuild b/dev-python/merge3/merge3-0.0.14.ebuild
new file mode 100644
index 000000000000..470baaecca23
--- /dev/null
+++ b/dev-python/merge3/merge3-0.0.14.ebuild
@@ -0,0 +1,25 @@
+# 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/metadata.xml b/dev-python/merge3/metadata.xml
new file mode 100644
index 000000000000..4a879f5ee336
--- /dev/null
+++ b/dev-python/merge3/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">merge3</remote-id>
+ <remote-id type="github">breezy-team/merge3</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mergedeep/Manifest b/dev-python/mergedeep/Manifest
index 5d042f5ffaaa..0c9f4a0278dc 100644
--- a/dev-python/mergedeep/Manifest
+++ b/dev-python/mergedeep/Manifest
@@ -1 +1 @@
-DIST mergedeep-1.3.4.tar.gz 26627 BLAKE2B 334f5ec6948185e3f7758e079e65d92fb04dd3ae3bb208cb8fc67d2fd2d90ce16fecb28562d42eea75db978d9d323983efb85abbf7e5ff18e40c95fb066c47e7 SHA512 24cb1dbae9be715045b66b6d3a3c3deb98a41176ff2fae405f254baeebf5f45b69c948f7780b67762e613e20b5df3c5987e730c5cd91fe7dd1fbda6408906559
+DIST mergedeep-1.3.4.gh.tar.gz 26627 BLAKE2B 334f5ec6948185e3f7758e079e65d92fb04dd3ae3bb208cb8fc67d2fd2d90ce16fecb28562d42eea75db978d9d323983efb85abbf7e5ff18e40c95fb066c47e7 SHA512 24cb1dbae9be715045b66b6d3a3c3deb98a41176ff2fae405f254baeebf5f45b69c948f7780b67762e613e20b5df3c5987e730c5cd91fe7dd1fbda6408906559
diff --git a/dev-python/mergedeep/mergedeep-1.3.4-r1.ebuild b/dev-python/mergedeep/mergedeep-1.3.4-r1.ebuild
new file mode 100644
index 000000000000..6bba49617efd
--- /dev/null
+++ b/dev-python/mergedeep/mergedeep-1.3.4-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 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 deep merge tool for Python"
+HOMEPAGE="https://github.com/clarketm/mergedeep/"
+SRC_URI="
+ https://github.com/clarketm/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs/source \
+ dev-python/alabaster \
+ dev-python/recommonmark
diff --git a/dev-python/mergedeep/mergedeep-1.3.4.ebuild b/dev-python/mergedeep/mergedeep-1.3.4.ebuild
deleted file mode 100644
index cfeef1054594..000000000000
--- a/dev-python/mergedeep/mergedeep-1.3.4.ebuild
+++ /dev/null
@@ -1,19 +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="A deep merge tool for Python"
-HOMEPAGE="https://github.com/clarketm/mergedeep/"
-SRC_URI="https://github.com/clarketm/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~riscv x86"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs/source dev-python/alabaster dev-python/recommonmark
diff --git a/dev-python/mergedict/mergedict-1.0.0-r1.ebuild b/dev-python/mergedict/mergedict-1.0.0-r1.ebuild
index ba20b9eaac6e..b8ad34b49b9d 100644
--- a/dev-python/mergedict/mergedict-1.0.0-r1.ebuild
+++ b/dev-python/mergedict/mergedict-1.0.0-r1.ebuild
@@ -4,16 +4,18 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A Python 'dict' with a merge() method"
-HOMEPAGE="https://github.com/schettino72/mergedict/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/schettino72/mergedict/
+ https://pypi.org/project/mergedict/
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
+KEYWORDS="amd64 arm64 ~riscv x86"
distutils_enable_tests pytest
diff --git a/dev-python/mergedict/metadata.xml b/dev-python/mergedict/metadata.xml
index 4888758c9a54..9b5e35bfdf37 100644
--- a/dev-python/mergedict/metadata.xml
+++ b/dev-python/mergedict/metadata.xml
@@ -7,7 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="pypi">configclass</remote-id>
+ <remote-id type="pypi">mergedict</remote-id>
<remote-id type="github">schettino72/mergedict</remote-id>
</upstream>
</pkgmetadata>
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 e1fe0b8318d4..000000000000
--- a/dev-python/meshio/meshio-5.3.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_{9..10} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-DESCRIPTION="Input/output for many mesh formats"
-HOMEPAGE="https://github.com/nschloe/meshio"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-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[${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/meson-python/Manifest b/dev-python/meson-python/Manifest
index bd8453343e32..bdef3c3bfc09 100644
--- a/dev-python/meson-python/Manifest
+++ b/dev-python/meson-python/Manifest
@@ -1,2 +1,2 @@
-DIST meson-python-0.11.0.gh.tar.gz 43192 BLAKE2B c12a18698f270b36685bbd4ad7ff5f2a718bab28f834cad89be724457704cd56966247e13ed6ba7dd201c5397ccfc78ab9202e7435f0672d63d544f67323b7b3 SHA512 fb894d0db6d18febd6388b7e686d0c7c1e3308f6ebf926c7300e2f376b1d2a803adcf5925c80d05982805e3ce4a59676c9ef829eacdab4696dabec3cb93e4192
-DIST meson-python-0.12.0.gh.tar.gz 43801 BLAKE2B fa4f5b73d490fce64da5c9f79c590e32af5b39790c0ffddc694a6b11a9274760a4e92a3d45abdefdbec1e6c5235ae799ee6c3e1b99685028b3bc007d5322683d SHA512 f2e416027bb6fb6cf6ad0fd84c6b65ddc83b497ff96b5a144dfcdd1addee44972eaa7422c8d9a8092431b6df1b052f970e9e7bd7dc57b28fbf42d2ea3a8d9231
+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.11.0-defaults.patch b/dev-python/meson-python/files/meson-python-0.11.0-defaults.patch
deleted file mode 100644
index 6bd63f6d132e..000000000000
--- a/dev-python/meson-python/files/meson-python-0.11.0-defaults.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-See https://github.com/mesonbuild/meson-python/blob/main/mesonpy/__init__.py#L452.
-
-(Also: https://github.com/mesonbuild/meson-python/issues/54)
---- a/mesonpy/__init__.py
-+++ b/mesonpy/__init__.py
-@@ -734,7 +734,7 @@ class Project():
- @functools.lru_cache(maxsize=None)
- def build(self) -> None:
- """Trigger the Meson build."""
-- self._meson('compile', *self._meson_args['compile'],)
-+ self._meson('compile', '--verbose', *self._meson_args['compile'],)
- self._meson('install', '--destdir', os.fspath(self._install_dir), *self._meson_args['install'],)
-
- @classmethod
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.11.0.ebuild b/dev-python/meson-python/meson-python-0.11.0.ebuild
deleted file mode 100644
index bb975c33cc6d..000000000000
--- a/dev-python/meson-python/meson-python-0.11.0.ebuild
+++ /dev/null
@@ -1,71 +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_{9..11} )
-
-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="amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- >=dev-python/pyproject-metadata-0.6.1[${PYTHON_USEDEP}]
- >=dev-util/meson-0.63.0[${PYTHON_USEDEP}]
- dev-util/patchelf
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- dev-python/GitPython[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.11.0-defaults.patch
-)
-
-distutils_enable_sphinx docs \
- dev-python/furo \
- dev-python/sphinx-autodoc-typehints
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # requires network access
- tests/test_pep518.py::test_pep518
-)
-
-src_prepare() {
- # strip dependency on ninja -- we provide ninja via Gentoo package
- # rather than the Python wheel, so we don't have .dist-info there
- sed -i -e '/ninja/d' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # requires network access
- tests/test_pep518.py::test_pep518
- )
-
- epytest
-
- rm -rf docs/examples/spam/build/ || die # remove artifacts
-}
diff --git a/dev-python/meson-python/meson-python-0.12.0.ebuild b/dev-python/meson-python/meson-python-0.12.0.ebuild
deleted file mode 100644
index 636723d91933..000000000000
--- a/dev-python/meson-python/meson-python-0.12.0.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=standalone
-PYTHON_COMPAT=( python3_{9..11} )
-
-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="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/pyproject-metadata-0.6.1[${PYTHON_USEDEP}]
- >=dev-util/meson-0.63.0[${PYTHON_USEDEP}]
- dev-util/patchelf
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.8 3.9)
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- dev-python/GitPython[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.11.0-defaults.patch
-)
-
-distutils_enable_sphinx docs \
- dev-python/furo \
- dev-python/sphinx-autodoc-typehints
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # requires network access
- tests/test_pep518.py::test_pep518
-)
-
-src_prepare() {
- # strip dependency on ninja -- we provide ninja via Gentoo package
- # rather than the Python wheel, so we don't have .dist-info there
- sed -i -e '/ninja/d' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # requires network access
- tests/test_pep518.py::test_pep518
- )
-
- epytest
-
- rm -rf docs/examples/spam/build/ || die # remove artifacts
-}
diff --git a/dev-python/meson-python/meson-python-0.15.0.ebuild b/dev-python/meson-python/meson-python-0.15.0.ebuild
new file mode 100644
index 000000000000..e9f69f5f660c
--- /dev/null
+++ b/dev-python/meson-python/meson-python-0.15.0.ebuild
@@ -0,0 +1,67 @@
+# 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..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 ~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[${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.ebuild b/dev-python/meson-python/meson-python-0.16.0.ebuild
new file mode 100644
index 000000000000..f75822a30233
--- /dev/null
+++ b/dev-python/meson-python/meson-python-0.16.0.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..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 ~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[${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
+
+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 efa47b054510..c47c9c82a18f 100644
--- a/dev-python/metakernel/Manifest
+++ b/dev-python/metakernel/Manifest
@@ -1 +1,2 @@
-DIST metakernel-0.29.4.tar.gz 189933 BLAKE2B 0fe91318ed0fd5e356c9f0e4dfd05d72e5aff33e0bc305a3c198b4718bad1a4c3d5d7a6c82cf0c4eddb9bb5873f8b6acdbf1c61fe9a5ea8120ac6f10503fa950 SHA512 7e7458baf510383765f788fd3299d0e5dccea7b1f79c15e1621a81e029ff48aeab7c67ed01d8e2254b806115935d7428d3dfc2f083bba5ff586f2ad819f96776
+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.29.4.ebuild b/dev-python/metakernel/metakernel-0.29.4.ebuild
deleted file mode 100644
index 943cd15dbd5d..000000000000
--- a/dev-python/metakernel/metakernel-0.29.4.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=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Metakernel for Jupyter"
-HOMEPAGE="
- https://github.com/Calysto/metakernel/
- https://pypi.org/project/metakernel/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~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/requests[${PYTHON_USEDEP}]
- dev-python/jupyter_kernel_test[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile
- metakernel/tests/test_parser.py::test_path_completions
- # requires starting ipycluster
- metakernel/magics/tests/test_parallel_magic.py::test_parallel_magic
-)
diff --git a/dev-python/metakernel/metakernel-0.30.1.ebuild b/dev-python/metakernel/metakernel-0.30.1.ebuild
new file mode 100644
index 000000000000..cfbdbded2a7a
--- /dev/null
+++ b/dev-python/metakernel/metakernel-0.30.1.ebuild
@@ -0,0 +1,47 @@
+# 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="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/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/Manifest b/dev-python/micawber/Manifest
index 5805135c869e..96de06977485 100644
--- a/dev-python/micawber/Manifest
+++ b/dev-python/micawber/Manifest
@@ -1 +1 @@
-DIST micawber-0.5.4.tar.gz 34963 BLAKE2B 1c311e2d1c8f32f81be466893bf1eb34f8c38901b168a97c88f2043aba1624fa8b6d12460c7470c3bbd720ae29af23ab808a9464b13ebf5ec193f5818b6f3aa1 SHA512 26879174071256fd3f95e92b0ea01b11a44eab767aa7bb43ff62221212ea0ab1ad33b67060e2dec33963abad599b864573f6a9d5a98fcd8f1a6633a3c73d7c80
+DIST micawber-0.5.5.gh.tar.gz 35109 BLAKE2B 3d60f8b27246a82001437481c5feec638a9673cf9b5427f1c69ca3f84e17935eba4e88078ab7d2818eaa1d9d98b22946a1ab5c3ff0f6261bd44a2150c663a616 SHA512 93949a813d99e5b46e8e06b4e9f501fa74092bc64ebab71572734334cd9889c2d4546a086775005b7f99d18df56222623ae7761cb6ba2f42c7f78c10a86e2d26
diff --git a/dev-python/micawber/micawber-0.5.4.ebuild b/dev-python/micawber/micawber-0.5.4.ebuild
deleted file mode 100644
index 12a2b49966c2..000000000000
--- a/dev-python/micawber/micawber-0.5.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="A small library for extracting rich content from urls"
-HOMEPAGE="https://github.com/coleifer/micawber/"
-SRC_URI="https://github.com/coleifer/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/django[${PYTHON_USEDEP}]
- )"
-
-python_test() {
- "${EPYTHON}" runtests.py || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/micawber/micawber-0.5.5.ebuild b/dev-python/micawber/micawber-0.5.5.ebuild
new file mode 100644
index 000000000000..b1027ab35829
--- /dev/null
+++ b/dev-python/micawber/micawber-0.5.5.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 small library for extracting rich content from urls"
+HOMEPAGE="
+ https://github.com/coleifer/micawber/
+ https://pypi.org/project/micawber/
+"
+SRC_URI="
+ https://github.com/coleifer/micawber/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ "${EPYTHON}" runtests.py || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/mido/Manifest b/dev-python/mido/Manifest
index 49be2c8dad04..5aa1724421c4 100644
--- a/dev-python/mido/Manifest
+++ b/dev-python/mido/Manifest
@@ -1 +1 @@
-DIST mido-1.2.10.tar.gz 103070 BLAKE2B 84e39cd7f52947f50dc31bac5abb7752e736c867817fbd711e768f1ef182990671633c24bb5726fb428f312f2497d15da560b307ddfeea3399d06330183e9668 SHA512 f21040acda9d084b7449ba52c3d036c637a172a84cdf6975adab999d78d24977be0cba3bd7287253e4a3b6de5044ef01a82de6d19316a22410bc96e9eca6128f
+DIST mido-1.3.2.tar.gz 124216 BLAKE2B f6eb230ad8ec02a9a2f0e5e1b332a70334433a1decddb341b1c315b878bdc2e7aefed3527c408a3da9264e7344439a69bf28bd2b4d810c29e4f4278aee8303b9 SHA512 5f31057a972f8ecdadcd135f2ffd68f70388bb8777f6bc7fa14c84aa8c57988a4f7443283dd093930352989d8a097177c6543a38440184c705cfaf82e3aaff83
diff --git a/dev-python/mido/mido-1.2.10.ebuild b/dev-python/mido/mido-1.2.10.ebuild
deleted file mode 100644
index 4434cc24b9d3..000000000000
--- a/dev-python/mido/mido-1.2.10.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..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-DESCRIPTION="MIDI Objects, a library for working with MIDI messages and ports"
-HOMEPAGE="
- https://pypi.org/project/mido/
- https://github.com/mido/mido
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="+portmidi rtmidi"
-
-RDEPEND="portmidi? ( media-libs/portmidi )
- rtmidi? ( dev-python/python-rtmidi[${PYTHON_USEDEP}] )"
-
-distutils_enable_sphinx docs
-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 b9be6eafac9e..dbdeca61cf48 100644
--- a/dev-python/mimerender/mimerender-0.6.0-r1.ebuild
+++ b/dev-python/mimerender/mimerender-0.6.0-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -18,7 +18,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm64 x86 ~amd64-linux ~x86-linux"
RDEPEND="dev-python/python-mimeparse[${PYTHON_USEDEP}]"
diff --git a/dev-python/minidb/minidb-2.0.7.ebuild b/dev-python/minidb/minidb-2.0.7.ebuild
index aff68d88cb80..893a70346d32 100644
--- a/dev-python/minidb/minidb-2.0.7.ebuild
+++ b/dev-python/minidb/minidb-2.0.7.ebuild
@@ -4,14 +4,16 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="sqlite"
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Simple SQLite-based object store"
-HOMEPAGE="https://thp.io/2010/minidb/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://thp.io/2010/minidb/
+ https://pypi.org/project/minidb/
+"
LICENSE="ISC"
SLOT="0"
diff --git a/dev-python/minify-html/Manifest b/dev-python/minify-html/Manifest
new file mode 100644
index 000000000000..645ce2128bba
--- /dev/null
+++ b/dev-python/minify-html/Manifest
@@ -0,0 +1,2 @@
+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/metadata.xml b/dev-python/minify-html/metadata.xml
new file mode 100644
index 000000000000..f8d85ad327be
--- /dev/null
+++ b/dev-python/minify-html/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">wilsonzlin/minify-html</remote-id>
+ <remote-id type="pypi">minify-html</remote-id>
+ </upstream>
+</pkgmetadata>
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..be94da626d42
--- /dev/null
+++ b/dev-python/minify-html/minify-html-0.15.0.ebuild
@@ -0,0 +1,40 @@
+# 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="
+"
+
+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"
diff --git a/dev-python/minikanren/Manifest b/dev-python/minikanren/Manifest
index 861d47436e4b..9910b37632c6 100644
--- a/dev-python/minikanren/Manifest
+++ b/dev-python/minikanren/Manifest
@@ -1 +1 @@
-DIST minikanren-1.0.3.gh.tar.gz 73008 BLAKE2B 6fdc605249ac06071a8b51e736d19f561288a293853e8b7ac8685f5b4da400aa8ae480b9a6e5eac3a5735ebe00567e52f24d4bf6afbffb7678e0d41553e1b12f SHA512 b65095b947d3b59496035f54a00fcddaa1888dec1cb8117086bbb16f5b4ed1bf59f2b79e3639f06a4347bd22b7fb4753734f5b8da149a3d470521f360fba5d2e
+DIST kanren-1.0.3.gh.tar.gz 72998 BLAKE2B fcbc852d1dfeef4dbe0b4f2daa36fa87f8e6b597d6f8dc80d3197b8d151aa0ffa1234a2677b5c430e3431cf826ff44d1c8954f043d3a8976970f73d403ccb544 SHA512 913930d98c006e355f700087f00bb002e93a68c782b6a8cba003242747a8060789a113f380199124a1499beca8d8399df73db9a003a6719a90378db86b2fc166
diff --git a/dev-python/minikanren/minikanren-1.0.3-r1.ebuild b/dev-python/minikanren/minikanren-1.0.3-r1.ebuild
new file mode 100644
index 000000000000..47bdfc3bdfd6
--- /dev/null
+++ b/dev-python/minikanren/minikanren-1.0.3-r1.ebuild
@@ -0,0 +1,35 @@
+# 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
+
+MY_P=kanren-${PV}
+DESCRIPTION="Relational programming in Python"
+HOMEPAGE="
+ https://pypi.org/project/miniKanren/
+ https://github.com/pythological/kanren/
+"
+SRC_URI="
+ https://github.com/pythological/kanren/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86"
+
+RDEPEND="
+ dev-python/cons[${PYTHON_USEDEP}]
+ dev-python/etuples[${PYTHON_USEDEP}]
+ dev-python/logical-unification[${PYTHON_USEDEP}]
+ dev-python/multipledispatch[${PYTHON_USEDEP}]
+ dev-python/toolz[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/minikanren/minikanren-1.0.3.ebuild b/dev-python/minikanren/minikanren-1.0.3.ebuild
deleted file mode 100644
index 9ddf7d4e0ade..000000000000
--- a/dev-python/minikanren/minikanren-1.0.3.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Relational programming in Python"
-HOMEPAGE="
- https://pypi.org/project/miniKanren/
- https://github.com/pythological/kanren/
-"
-SRC_URI="
- https://github.com/pythological/kanren/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/kanren-${PV}"
-
-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/multipledispatch[${PYTHON_USEDEP}]
- dev-python/toolz[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/minimock/minimock-1.3.0-r1.ebuild b/dev-python/minimock/minimock-1.3.0-r1.ebuild
index 233511b3d07b..6c7b4f0631ce 100644
--- a/dev-python/minimock/minimock-1.3.0-r1.ebuild
+++ b/dev-python/minimock/minimock-1.3.0-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ppc x86"
+KEYWORDS="amd64 arm arm64 ppc x86"
DOCS=( CHANGELOG.txt README.rst )
diff --git a/dev-python/miniupnpc/Manifest b/dev-python/miniupnpc/Manifest
new file mode 100644
index 000000000000..1bfa020c464e
--- /dev/null
+++ b/dev-python/miniupnpc/Manifest
@@ -0,0 +1,2 @@
+DIST miniupnpc-2.2.7.tar.gz 104258 BLAKE2B 5681c1747c8e330442a0ad46d673e1739283bfc23571cb2225abf82326caa7da979911b3182cab2e3eea49140b90619f4e00bb5b1e2f0cd6067c28017cf87016 SHA512 d24e653c2f7bfed4485342c5ec8d18b4dd4c3430975b5fae392d3534f38bb3fb59e6638e76d57847f49045e22f3afd6cac128d7d9d10ef05bd6ad24ef38303b6
+DIST miniupnpc-2.2.7.tar.gz.sig 543 BLAKE2B 6649e5866afd13034b05a9d771c25c419e85631ca17ed7457e5811aee0ba8c38b0ad34033caa5b611cde21a63251e902e3f24cc4748e52a4a379ef075bf59dc5 SHA512 188837275b20c61c05babac916bff86178774030dbc191ecd0e5314c6e9b6dbb627680b512c554a8b27a020bd7503b141be26a134e0ed7e2cc56c7e2c01d9e81
diff --git a/dev-python/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/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/python-miniupnpc/metadata.xml b/dev-python/miniupnpc/metadata.xml
index 304bb292a330..304bb292a330 100644
--- a/dev-python/python-miniupnpc/metadata.xml
+++ b/dev-python/miniupnpc/metadata.xml
diff --git a/dev-python/miniupnpc/miniupnpc-2.2.7.ebuild b/dev-python/miniupnpc/miniupnpc-2.2.7.ebuild
new file mode 100644
index 000000000000..b0d7355441a8
--- /dev/null
+++ b/dev-python/miniupnpc/miniupnpc-2.2.7.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..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"
+
+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/misaka/Manifest b/dev-python/misaka/Manifest
deleted file mode 100644
index ef1ca6921d29..000000000000
--- a/dev-python/misaka/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST misaka-2.1.1.tar.gz 112700 BLAKE2B 0d50cfbfa127a51bc6da2abc3a91c8ce4706b6a1dbbfc4af14f85d47262ab1cca4bdca0ba7056e668570b20bed1f1a150124a2d5da45ff8866cb7007b2b9bca3 SHA512 4b9288d56ddd57e07985043acbb5a2dfec9b7c0bf385b689b17f2b062f5d7aa961e0dab8e237173e714b13aa5eabafc646833d5a78cf728035444d6fbd365bee
diff --git a/dev-python/misaka/metadata.xml b/dev-python/misaka/metadata.xml
deleted file mode 100644
index 39e55214de28..000000000000
--- a/dev-python/misaka/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>openstack@gentoo.org</email>
- <name>Openstack</name>
- </maintainer>
- <maintainer type="person">
- <email>prometheanfire@gentoo.org</email>
- <name>Matthew Thode</name>
- </maintainer>
- <upstream>
- <remote-id type="github">FSX/misaka</remote-id>
- <remote-id type="pypi">misaka</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/misaka/misaka-2.1.1-r1.ebuild b/dev-python/misaka/misaka-2.1.1-r1.ebuild
deleted file mode 100644
index a74258ab70ed..000000000000
--- a/dev-python/misaka/misaka-2.1.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
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A CFFI binding for Hoedown, a markdown parsing library"
-HOMEPAGE="http://misaka.61924.nl/ https://github.com/FSX/misaka"
-SRC_URI="https://github.com/FSX/misaka/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-LICENSE="MIT"
-SLOT="0"
-
-RDEPEND="dev-python/cffi[${PYTHON_USEDEP}]"
-
-# FIXME: tests requires write access outside sandbox
-#distutils_enable_tests setup.py
diff --git a/dev-python/mistletoe/Manifest b/dev-python/mistletoe/Manifest
new file mode 100644
index 000000000000..bd065e377e40
--- /dev/null
+++ b/dev-python/mistletoe/Manifest
@@ -0,0 +1 @@
+DIST mistletoe-1.3.0.gh.tar.gz 121653 BLAKE2B 32c106e349cbbb4f9f197df30bb42b108228fecb021d8482a18e4e859936bce250960a39ec02c98aac53dc75b9315dac1db052647417a3fdaa99f7cefafa49de SHA512 44094989ee95445c8330223bf095808e755eb2f59ce6984362f0b6c293a72397f7d340430aac618f635f1042466b6d48171a406ecc3ea17c69435f4b254d77ab
diff --git a/dev-python/mistletoe/metadata.xml b/dev-python/mistletoe/metadata.xml
new file mode 100644
index 000000000000..64caa5b341e4
--- /dev/null
+++ b/dev-python/mistletoe/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">miyuchina/mistletoe</remote-id>
+ <remote-id type="pypi">mistletoe</remote-id>
+ </upstream>
+</pkgmetadata>
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..18812010db84
--- /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..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/mistune/Manifest b/dev-python/mistune/Manifest
index 909f60677b3a..f02e416a7d46 100644
--- a/dev-python/mistune/Manifest
+++ b/dev-python/mistune/Manifest
@@ -1 +1 @@
-DIST mistune-2.0.4.tar.gz 75977 BLAKE2B f5c29a211695897240664ff9ce7891ce81fec11f6a2e3865cf07e796ddf8e5664a4055f887318e53b315ac3bbdc90a3d0976ed1fe5b74b2f7812dffa29a57bda SHA512 4d000c5791c29069b5f252f2aa5d361eb9cdf717d33f8d66dee8b4aa3bfe1242a572af63ca3dfd57324fac457fb9b5a9dff18e7da15f9036becd14cb27882dba
+DIST mistune-3.0.2.tar.gz 90840 BLAKE2B bc4f477b24c8244d2fb7032835b3dc3bfc0bda8948fabbfa78660f77c861df76f9e01abcb58f8643efd689482fe3a187995cc92dd7cd0b7817ad799237d9b72d SHA512 9a7e0e2886afddb8a6e314af1e4ed6e41f886f64823713f941b6a713a29986044ac66c437c4029e0fbf20224d106ce445a46906825b20b17b9e2ff6173476d28
diff --git a/dev-python/mistune/mistune-2.0.4.ebuild b/dev-python/mistune/mistune-2.0.4.ebuild
deleted file mode 100644
index 653d05e84da1..000000000000
--- a/dev-python/mistune/mistune-2.0.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="The fastest markdown parser in pure Python"
-HOMEPAGE="
- https://github.com/lepture/mistune/
- https://pypi.org/project/mistune/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~x64-macos"
-
-distutils_enable_tests pytest
diff --git a/dev-python/mistune/mistune-3.0.2.ebuild b/dev-python/mistune/mistune-3.0.2.ebuild
new file mode 100644
index 000000000000..84e08e11881e
--- /dev/null
+++ b/dev-python/mistune/mistune-3.0.2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 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="The fastest markdown parser in pure Python"
+HOMEPAGE="
+ https://github.com/lepture/mistune/
+ https://pypi.org/project/mistune/
+"
+
+SLOT="0"
+LICENSE="BSD"
+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/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20.ebuild b/dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20.ebuild
index 09eb4238d447..18f4d27e3683 100644
--- a/dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20.ebuild
+++ b/dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20.ebuild
@@ -3,204 +3,205 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=maturin
PYTHON_COMPAT=( python3_{9..11} )
CRATES="
- adler-1.0.2
- aead-0.5.1
- aho-corasick-0.7.20
- anyhow-1.0.68
- arc-swap-1.6.0
- async-stream-0.3.3
- async-stream-impl-0.3.3
- async-trait-0.1.61
- atty-0.2.14
- autocfg-1.1.0
- axum-0.6.2
- axum-core-0.3.1
- base64-0.13.1
- bitflags-1.3.2
- blake2-0.10.6
- block-buffer-0.10.3
- boringtun-0.5.2
- bumpalo-3.11.1
- byteorder-1.4.3
- bytes-1.3.0
- cc-1.0.78
- cfg-if-1.0.0
- chacha20-0.9.0
- chacha20poly1305-0.10.1
- cipher-0.4.3
- console-api-0.4.0
- console-subscriber-0.1.8
- cpufeatures-0.2.5
- crc32fast-1.3.2
- crossbeam-channel-0.5.6
- crossbeam-utils-0.8.14
- crypto-common-0.1.6
- curve25519-dalek-3.2.0
- digest-0.9.0
- digest-0.10.6
- either-1.8.0
- env_logger-0.9.3
- flate2-1.0.25
- fnv-1.0.7
- futures-0.3.25
- futures-channel-0.3.25
- futures-core-0.3.25
- futures-executor-0.3.25
- futures-io-0.3.25
- futures-macro-0.3.25
- futures-sink-0.3.25
- futures-task-0.3.25
- futures-util-0.3.25
- generic-array-0.14.6
- getrandom-0.1.16
- getrandom-0.2.8
- h2-0.3.15
- hashbrown-0.12.3
- hdrhistogram-7.5.2
- hermit-abi-0.1.19
- hermit-abi-0.2.6
- hex-0.4.3
- hmac-0.12.1
- http-0.2.8
- http-body-0.4.5
- http-range-header-0.3.0
- httparse-1.8.0
- httpdate-1.0.2
- humantime-2.1.0
- hyper-0.14.23
- hyper-timeout-0.4.1
- indexmap-1.9.2
- indoc-1.0.8
- inout-0.1.3
- ip_network-0.4.1
- ip_network_table-0.2.0
- ip_network_table-deps-treebitmap-0.5.0
- itertools-0.10.5
- itoa-1.0.5
- js-sys-0.3.60
- lazy_static-1.4.0
- libc-0.2.139
- lock_api-0.4.9
- log-0.4.17
- managed-0.8.0
- matchers-0.1.0
- matchit-0.7.0
- memchr-2.5.0
- memoffset-0.6.5
- mime-0.3.16
- minimal-lexical-0.2.1
- miniz_oxide-0.6.2
- mio-0.8.5
- nix-0.24.3
- nom-7.1.2
- num-traits-0.2.15
- num_cpus-1.15.0
- once_cell-1.17.0
- opaque-debug-0.3.0
- parking_lot-0.12.1
- parking_lot_core-0.9.6
- percent-encoding-2.2.0
- pin-project-1.0.12
- pin-project-internal-1.0.12
- pin-project-lite-0.2.9
- pin-utils-0.1.0
- poly1305-0.8.0
- ppv-lite86-0.2.17
- pretty-hex-0.3.0
- proc-macro2-1.0.49
- prost-0.11.6
- prost-derive-0.11.6
- prost-types-0.11.6
- pyo3-0.17.3
- pyo3-asyncio-0.17.0
- pyo3-build-config-0.17.3
- pyo3-ffi-0.17.3
- pyo3-log-0.7.0
- pyo3-macros-0.17.3
- pyo3-macros-backend-0.17.3
- quote-1.0.23
- rand-0.8.5
- rand_chacha-0.3.1
- rand_core-0.5.1
- rand_core-0.6.4
- redox_syscall-0.2.16
- regex-1.7.1
- regex-automata-0.1.10
- regex-syntax-0.6.28
- ring-0.16.20
- rustversion-1.0.11
- ryu-1.0.12
- scopeguard-1.1.0
- serde-1.0.152
- serde_derive-1.0.152
- serde_json-1.0.91
- sharded-slab-0.1.4
- signal-hook-registry-1.4.0
- slab-0.4.7
- smallvec-1.10.0
- smoltcp-0.8.2
- socket2-0.4.7
- spin-0.5.2
- subtle-2.4.1
- syn-1.0.107
- sync_wrapper-0.1.1
- synstructure-0.12.6
- target-lexicon-0.12.5
- termcolor-1.1.3
- thread_local-1.1.4
- tokio-1.24.1
- tokio-io-timeout-1.2.0
- tokio-macros-1.8.2
- tokio-stream-0.1.11
- tokio-util-0.7.4
- tonic-0.8.3
- tower-0.4.13
- tower-http-0.3.5
- tower-layer-0.3.2
- tower-service-0.3.2
- tracing-0.1.37
- tracing-attributes-0.1.23
- tracing-core-0.1.30
- tracing-futures-0.2.5
- tracing-subscriber-0.3.16
- try-lock-0.2.4
- typenum-1.16.0
- unicode-ident-1.0.6
- unicode-xid-0.2.4
- unindent-0.1.11
- universal-hash-0.5.0
- untrusted-0.7.1
- untrusted-0.9.0
- valuable-0.1.0
- version_check-0.9.4
- want-0.3.0
- wasi-0.9.0+wasi-snapshot-preview1
- wasi-0.11.0+wasi-snapshot-preview1
- wasm-bindgen-0.2.83
- wasm-bindgen-backend-0.2.83
- wasm-bindgen-macro-0.2.83
- wasm-bindgen-macro-support-0.2.83
- wasm-bindgen-shared-0.2.83
- web-sys-0.3.60
- winapi-0.3.9
- winapi-i686-pc-windows-gnu-0.4.0
- winapi-util-0.1.5
- winapi-x86_64-pc-windows-gnu-0.4.0
- 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
- x25519-dalek-2.0.0-pre.1
- zeroize-1.5.7
- zeroize_derive-1.3.3
+ adler@1.0.2
+ aead@0.5.1
+ aho-corasick@0.7.20
+ anyhow@1.0.68
+ arc-swap@1.6.0
+ async-stream-impl@0.3.3
+ async-stream@0.3.3
+ async-trait@0.1.61
+ atty@0.2.14
+ autocfg@1.1.0
+ axum-core@0.3.1
+ axum@0.6.2
+ base64@0.13.1
+ bitflags@1.3.2
+ blake2@0.10.6
+ block-buffer@0.10.3
+ boringtun@0.5.2
+ bumpalo@3.11.1
+ byteorder@1.4.3
+ bytes@1.3.0
+ cc@1.0.78
+ cfg-if@1.0.0
+ chacha20@0.9.0
+ chacha20poly1305@0.10.1
+ cipher@0.4.3
+ console-api@0.4.0
+ console-subscriber@0.1.8
+ cpufeatures@0.2.5
+ crc32fast@1.3.2
+ crossbeam-channel@0.5.6
+ crossbeam-utils@0.8.14
+ crypto-common@0.1.6
+ curve25519-dalek@3.2.0
+ digest@0.10.6
+ digest@0.9.0
+ either@1.8.0
+ env_logger@0.9.3
+ flate2@1.0.25
+ fnv@1.0.7
+ futures-channel@0.3.25
+ futures-core@0.3.25
+ futures-executor@0.3.25
+ futures-io@0.3.25
+ futures-macro@0.3.25
+ futures-sink@0.3.25
+ futures-task@0.3.25
+ futures-util@0.3.25
+ futures@0.3.25
+ generic-array@0.14.6
+ getrandom@0.1.16
+ getrandom@0.2.8
+ h2@0.3.15
+ hashbrown@0.12.3
+ hdrhistogram@7.5.2
+ hermit-abi@0.1.19
+ hermit-abi@0.2.6
+ hex@0.4.3
+ hmac@0.12.1
+ http-body@0.4.5
+ http-range-header@0.3.0
+ http@0.2.8
+ httparse@1.8.0
+ httpdate@1.0.2
+ humantime@2.1.0
+ hyper-timeout@0.4.1
+ hyper@0.14.23
+ indexmap@1.9.2
+ indoc@1.0.8
+ inout@0.1.3
+ ip_network@0.4.1
+ ip_network_table-deps-treebitmap@0.5.0
+ ip_network_table@0.2.0
+ itertools@0.10.5
+ itoa@1.0.5
+ js-sys@0.3.60
+ lazy_static@1.4.0
+ libc@0.2.139
+ lock_api@0.4.9
+ log@0.4.17
+ managed@0.8.0
+ matchers@0.1.0
+ matchit@0.7.0
+ memchr@2.5.0
+ memoffset@0.6.5
+ mime@0.3.16
+ minimal-lexical@0.2.1
+ miniz_oxide@0.6.2
+ mio@0.8.5
+ nix@0.24.3
+ nom@7.1.2
+ num-traits@0.2.15
+ num_cpus@1.15.0
+ once_cell@1.17.0
+ opaque-debug@0.3.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.6
+ percent-encoding@2.2.0
+ pin-project-internal@1.0.12
+ pin-project-lite@0.2.9
+ pin-project@1.0.12
+ pin-utils@0.1.0
+ poly1305@0.8.0
+ ppv-lite86@0.2.17
+ pretty-hex@0.3.0
+ proc-macro2@1.0.49
+ prost-derive@0.11.6
+ prost-types@0.11.6
+ prost@0.11.6
+ pyo3-asyncio@0.17.0
+ pyo3-build-config@0.17.3
+ pyo3-ffi@0.17.3
+ pyo3-log@0.7.0
+ pyo3-macros-backend@0.17.3
+ pyo3-macros@0.17.3
+ pyo3@0.17.3
+ quote@1.0.23
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.5.1
+ rand_core@0.6.4
+ redox_syscall@0.2.16
+ regex-automata@0.1.10
+ regex-syntax@0.6.28
+ regex@1.7.1
+ ring@0.16.20
+ rustversion@1.0.11
+ ryu@1.0.12
+ scopeguard@1.1.0
+ serde@1.0.152
+ serde_derive@1.0.152
+ serde_json@1.0.91
+ sharded-slab@0.1.4
+ signal-hook-registry@1.4.0
+ slab@0.4.7
+ smallvec@1.10.0
+ smoltcp@0.8.2
+ socket2@0.4.7
+ spin@0.5.2
+ subtle@2.4.1
+ syn@1.0.107
+ sync_wrapper@0.1.1
+ synstructure@0.12.6
+ target-lexicon@0.12.5
+ termcolor@1.1.3
+ thread_local@1.1.4
+ tokio-io-timeout@1.2.0
+ tokio-macros@1.8.2
+ tokio-stream@0.1.11
+ tokio-util@0.7.4
+ tokio@1.24.1
+ tonic@0.8.3
+ tower-http@0.3.5
+ tower-layer@0.3.2
+ tower-service@0.3.2
+ tower@0.4.13
+ tracing-attributes@0.1.23
+ tracing-core@0.1.30
+ tracing-futures@0.2.5
+ tracing-subscriber@0.3.16
+ tracing@0.1.37
+ try-lock@0.2.4
+ typenum@1.16.0
+ unicode-ident@1.0.6
+ unicode-xid@0.2.4
+ unindent@0.1.11
+ universal-hash@0.5.0
+ untrusted@0.7.1
+ untrusted@0.9.0
+ valuable@0.1.0
+ version_check@0.9.4
+ want@0.3.0
+ wasi@0.11.0+wasi-snapshot-preview1
+ wasi@0.9.0+wasi-snapshot-preview1
+ wasm-bindgen-backend@0.2.83
+ wasm-bindgen-macro-support@0.2.83
+ wasm-bindgen-macro@0.2.83
+ wasm-bindgen-shared@0.2.83
+ wasm-bindgen@0.2.83
+ web-sys@0.3.60
+ 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_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
+ x25519-dalek@2.0.0-pre.1
+ zeroize@1.5.7
+ zeroize_derive@1.3.3
"
inherit cargo distutils-r1
@@ -209,12 +210,17 @@ DESCRIPTION="WireGuard frontend for mitmproxy"
HOMEPAGE="https://github.com/decathorpe/mitmproxy_wireguard"
SRC_URI="
https://github.com/decathorpe/mitmproxy_wireguard/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
- $(cargo_crate_uris ${CRATES})
+ ${CARGO_CRATE_URIS}
"
-LICENSE="Apache-2.0 BSD BSD-2 ISC MIT Unlicense"
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT
+ Unicode-DFS-2016
+"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
RDEPEND=""
BDEPEND="dev-python/setuptools-rust[${PYTHON_USEDEP}]"
diff --git a/dev-python/mkautodoc/mkautodoc-0.2.0.ebuild b/dev-python/mkautodoc/mkautodoc-0.2.0.ebuild
index 13b36aecd4e9..6943c42ff665 100644
--- a/dev-python/mkautodoc/mkautodoc-0.2.0.ebuild
+++ b/dev-python/mkautodoc/mkautodoc-0.2.0.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
@@ -16,7 +16,7 @@ SRC_URI="https://github.com/tomchristie/${PN}/archive/${PV}.tar.gz -> ${P}.gh.ta
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="dev-python/markdown[${PYTHON_USEDEP}]"
diff --git a/dev-python/mkdocs-ansible/Manifest b/dev-python/mkdocs-ansible/Manifest
new file mode 100644
index 000000000000..c504319ab66d
--- /dev/null
+++ b/dev-python/mkdocs-ansible/Manifest
@@ -0,0 +1,3 @@
+DIST mkdocs-ansible-0.2.0.tar.gz 29254 BLAKE2B 3d9582c50a3e6abad56bae2f78ff2970b96b768fd8dbc0aa60d15a0acfc23535acae42b7b7f585db3165bf658b3f18c483484b630b350aff97ebb97edb2abcae SHA512 8e0a3b447a4a31f3d48fef5e381d01e0f2ebee2dd317a699b30e83e483234ebac1ad265f66f15dfa92c52f6c1c4a0a77aacef2915b0a60b11ffe5960cd774820
+DIST mkdocs-ansible-24.2.1.tar.gz 44750 BLAKE2B 364ac6ee1b044309eaf3cd15c4944fd678680f17fdf35dc610522ff751ee8136c52fd7a1dfbe735c897f93ea9566e7bc986af3c6f18e90ad9945b3580bbb3eb2 SHA512 d01eec55638e34b83c06c7c4f3163d5c44fac373fb1ed099b9a63c59af27efebd85b655f1f9558add5ddc968abe1d1d28d326b0fe500e395035c62e006653b27
+DIST mkdocs-ansible-24.3.0.tar.gz 45471 BLAKE2B 54b6320a7b1f03d4f05b5a7617100575178206742bebda007cd276e9c1a663e82f46149fc6ec3e7e3d22f01be63afb6a72febe72f3e3969ea3acb6a75b1c38ec SHA512 a391bb28b2870efebf621998f810521667beb8b3b9603f5b35e169a9ab23b2f640531a2441b11b8044b36c49eacccd3da72b0224a0ac664d59fd97de7eb0b094
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
new file mode 100644
index 000000000000..7c8c5cbfe590
--- /dev/null
+++ b/dev-python/mkdocs-ansible/files/mkdocs-ansible-0.2.0-prune_deps.patch
@@ -0,0 +1,20 @@
+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
new file mode 100644
index 000000000000..a74faa0cf828
--- /dev/null
+++ b/dev-python/mkdocs-ansible/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">mkdocs-ansible</remote-id>
+ <remote-id type="github">ansible/mkdocs-ansible</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mkdocs-ansible/mkdocs-ansible-0.2.0.ebuild b/dev-python/mkdocs-ansible/mkdocs-ansible-0.2.0.ebuild
new file mode 100644
index 000000000000..c0105064a6ad
--- /dev/null
+++ b/dev-python/mkdocs-ansible/mkdocs-ansible-0.2.0.ebuild
@@ -0,0 +1,41 @@
+# 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.2.1.ebuild b/dev-python/mkdocs-ansible/mkdocs-ansible-24.2.1.ebuild
new file mode 100644
index 000000000000..34f274f4ed90
--- /dev/null
+++ b/dev-python/mkdocs-ansible/mkdocs-ansible-24.2.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
+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}-24.2.1-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
new file mode 100644
index 000000000000..e3ef6eb335cf
--- /dev/null
+++ b/dev-python/mkdocs-autorefs/Manifest
@@ -0,0 +1,2 @@
+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
new file mode 100644
index 000000000000..5276fcb1d79c
--- /dev/null
+++ b/dev-python/mkdocs-autorefs/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">mkdocs-autorefs</remote-id>
+ <remote-id type="github">mkdocstrings/autorefs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mkdocs-autorefs/mkdocs-autorefs-0.5.0.ebuild b/dev-python/mkdocs-autorefs/mkdocs-autorefs-0.5.0.ebuild
new file mode 100644
index 000000000000..559c6a22b008
--- /dev/null
+++ b/dev-python/mkdocs-autorefs/mkdocs-autorefs-0.5.0.ebuild
@@ -0,0 +1,27 @@
+# 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..fded0de2a9ac
--- /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..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-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-bootstrap/Manifest b/dev-python/mkdocs-bootstrap/Manifest
index 1bea0f1097a5..1bc34d044815 100644
--- a/dev-python/mkdocs-bootstrap/Manifest
+++ b/dev-python/mkdocs-bootstrap/Manifest
@@ -1 +1 @@
-DIST mkdocs-bootstrap-1.1.tar.gz 233231 BLAKE2B 64470a4e5ca6d44976944c16244daaefa99702fa68d68fb14e31201fcfd5f927dc2b962fd0b1967a6fd7eec8719389a78dd13cbfcdc387fa6de5f21c9c1a4960 SHA512 a494afa614f96771fbc640862b5cb5674d4eb5c978a56e86e2f523137fed315808067f20cfadca463cbeb5384de062c91001b6eaf5f3ebdce329f167b461d2b5
+DIST mkdocs-bootstrap-1.1.1.gh.tar.gz 233329 BLAKE2B 58292946d0985ae60d8d9784bcdc3e9f71640d23fd81efae06b99ce644aefc63d53d21bb65a0b4c4d6bb0b077cbac82bcd93da3f5d05f244bdcfa54750478fb7 SHA512 9be5c29961c09436332f902fffd49aee38f99fe8b7337e2add7d6190b1ed487b16a0d2dc3ebd486691719bffd1009207885b3880238a64bc6d2baafa43b0fbd9
diff --git a/dev-python/mkdocs-bootstrap/mkdocs-bootstrap-1.1-r2.ebuild b/dev-python/mkdocs-bootstrap/mkdocs-bootstrap-1.1-r2.ebuild
deleted file mode 100644
index a9361bd1c9f9..000000000000
--- a/dev-python/mkdocs-bootstrap/mkdocs-bootstrap-1.1-r2.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_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-DOCS_BUILDER="mkdocs"
-
-inherit distutils-r1 docs
-
-DESCRIPTION="Bootstrap theme for MkDocs"
-HOMEPAGE="https://www.mkdocs.org https://github.com/mkdocs/mkdocs-bootstrap"
-SRC_URI="https://github.com/mkdocs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="dev-python/mkdocs"
diff --git a/dev-python/mkdocs-bootstrap/mkdocs-bootstrap-1.1.1.ebuild b/dev-python/mkdocs-bootstrap/mkdocs-bootstrap-1.1.1.ebuild
new file mode 100644
index 000000000000..7c3847dd7097
--- /dev/null
+++ b/dev-python/mkdocs-bootstrap/mkdocs-bootstrap-1.1.1.ebuild
@@ -0,0 +1,24 @@
+# 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
+DOCS_BUILDER="mkdocs"
+
+inherit distutils-r1 docs
+
+# No tag, use commit instead
+COMMIT="70f2c3395adc3d64d6f9b6ff5bb01a4f0db72ed6"
+
+DESCRIPTION="Bootstrap theme for MkDocs"
+HOMEPAGE="https://www.mkdocs.org https://github.com/mkdocs/mkdocs-bootstrap"
+SRC_URI="https://github.com/mkdocs/${PN}/archive/${COMMIT}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="dev-python/mkdocs"
diff --git a/dev-python/mkdocs-bootswatch/mkdocs-bootswatch-1.1-r2.ebuild b/dev-python/mkdocs-bootswatch/mkdocs-bootswatch-1.1-r2.ebuild
index e5f411c1b7be..b604fd186298 100644
--- a/dev-python/mkdocs-bootswatch/mkdocs-bootswatch-1.1-r2.ebuild
+++ b/dev-python/mkdocs-bootswatch/mkdocs-bootswatch-1.1-r2.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
DISTUTILS_USE_PEP517=setuptools
DOCS_BUILDER="mkdocs"
diff --git a/dev-python/mkdocs-gen-files/Manifest b/dev-python/mkdocs-gen-files/Manifest
new file mode 100644
index 000000000000..cdbd440584a4
--- /dev/null
+++ b/dev-python/mkdocs-gen-files/Manifest
@@ -0,0 +1 @@
+DIST mkdocs_gen_files-0.5.0.tar.gz 7539 BLAKE2B c788eabdf8adadef377513cab5d1d26f441590bed1e58fb64b13b5e027aa4ad5a6edf2e1d390a0137afd6614a257ed908b1b48831152364d0cc830b9c6f07a93 SHA512 af1f77a4ea6dc36ed5608df2e427b210a533591d3757865e7362297ca4e9418a44c6959d23edf4a01a8d828cb72bddc593036873a3e2518a1cbabb29bf4c4c9e
diff --git a/dev-python/mkdocs-gen-files/metadata.xml b/dev-python/mkdocs-gen-files/metadata.xml
new file mode 100644
index 000000000000..44177d653b70
--- /dev/null
+++ b/dev-python/mkdocs-gen-files/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">mkdocs-gen-files</remote-id>
+ <remote-id type="github">oprypin/mkdocs-gen-files</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..c3da12db2be8
--- /dev/null
+++ b/dev-python/mkdocs-gen-files/mkdocs-gen-files-0.5.0.ebuild
@@ -0,0 +1,24 @@
+# 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="MkDocs plugin to programmatically generate documentation pages during the build"
+HOMEPAGE="
+ https://oprypin.github.io/mkdocs-gen-files/
+ https://pypi.org/project/mkdocs-gen-files/
+"
+
+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}] )"
+
+distutils_enable_tests pytest
diff --git a/dev-python/mkdocs-git-authors-plugin/Manifest b/dev-python/mkdocs-git-authors-plugin/Manifest
index 16b37aee26f0..3ae464b8c786 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.0.gh.tar.gz 28526 BLAKE2B 876b273b476d10f037053ac8c4892f9225b514bfedecd26a7a9dcfd067609c5458fa4c2ed741048092c88dfcda196eab035e4909d3a8184579971273401cbf7c SHA512 aa92a5b49c4f02ea1c4eb5242fc585a341f837e7ebb27a450d703a170fb5e2e9ea5b04e2c6f121747300d86ac5fc0e69a553e1d7b02786e8fd6cd4943cbec6c2
+DIST mkdocs-git-authors-plugin-0.8.0.gh.tar.gz 30080 BLAKE2B 08c0eee392ef94caf30f176f5c8923b4e3c5d951a36348bbeec4396052ee492715b99aa4f8824348728296e5276747083340943bd21f7850abd0ccfb3a2bf12c SHA512 4620c8cccf69eb8ec3010ac7483a3df1ab43bcf8e0837399f46383d9947fdddc0c70d7d8405c820f1cb4b773724ca7006f2cc3bdd5559c107a2db8e3ceb8b38e
diff --git a/dev-python/mkdocs-git-authors-plugin/mkdocs-git-authors-plugin-0.7.0.ebuild b/dev-python/mkdocs-git-authors-plugin/mkdocs-git-authors-plugin-0.7.0.ebuild
deleted file mode 100644
index ce8d2ccc64e0..000000000000
--- a/dev-python/mkdocs-git-authors-plugin/mkdocs-git-authors-plugin-0.7.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_{9..11} )
-
-# Requires self to be installed to build docs
-# TODO: Do this a bit better
-DOCS_BUILDER="mkdocs"
-DOCS_DEPEND="
- 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 ~ppc ~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.8.0.ebuild b/dev-python/mkdocs-git-authors-plugin/mkdocs-git-authors-plugin-0.8.0.ebuild
new file mode 100644
index 000000000000..5389f25f3556
--- /dev/null
+++ b/dev-python/mkdocs-git-authors-plugin/mkdocs-git-authors-plugin-0.8.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} )
+
+# 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 80c05789b155..5faf6c9bc913 100644
--- a/dev-python/mkdocs-git-revision-date-localized-plugin/Manifest
+++ b/dev-python/mkdocs-git-revision-date-localized-plugin/Manifest
@@ -1 +1 @@
-DIST mkdocs-git-revision-date-localized-plugin-1.1.0.gh.tar.gz 375907 BLAKE2B d39f1d807616da95962cca6bdc5a4501163d008f0a8fcac5df2e7542bf8401d04362a38383558689f467c9249f2ad6dff636a8ebf4568aa920ea0078f90fb367 SHA512 f5f911cba9b9e3747c5628e4c947a87fa07c798f854b6ed8783b74c732cf29e4afdacb37e074a5d04672d90f96de560ab6b86cd3d826ce46226d73f48c54c27d
+DIST mkdocs-git-revision-date-localized-plugin-1.2.4.gh.tar.gz 377301 BLAKE2B 1270af27887411088969f086fa5c7426cca7221264c863201cc0fe0a0d3f7a004f9d2ca264d4c4b6e9678c420534d5a18996f5556c3ce3a6761f294e0c629fbd SHA512 24becb98d6f04500935f9f0be21ae1fa39cb8f01afc9d5eb38f320bc3aef4baae345e6d5af768d882fb10b15ffcaba9e2b32fe3430b800ba7097cd27b4ab5657
diff --git a/dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.1.0.ebuild b/dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.1.0.ebuild
deleted file mode 100644
index 5945ad0dfa89..000000000000
--- a/dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.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=( python3_{9..11} )
-
-DOCS_BUILDER="mkdocs"
-DOCS_DEPEND="
- 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 ~ppc ~riscv x86"
-
-RDEPEND="
- >=dev-python/Babel-2.7.0[${PYTHON_USEDEP}]
- 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-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.4.ebuild b/dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.2.4.ebuild
new file mode 100644
index 000000000000..e50010450edc
--- /dev/null
+++ b/dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.2.4.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..12} )
+
+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
new file mode 100644
index 000000000000..670965468fbc
--- /dev/null
+++ b/dev-python/mkdocs-htmlproofer-plugin/Manifest
@@ -0,0 +1,2 @@
+DIST mkdocs-htmlproofer-plugin-1.2.0.gh.tar.gz 15454 BLAKE2B d123e00d9e76787f73038780297df2cdf02a7604644e7d19e21505f649c2cd95c8d00d373c48ab663432b3a13287ade994980d017c409af9217fed1d23df7d01 SHA512 ebe099343e7ffcaecfce272552173032a3355305e3d1273092cabbcc5c24797c2de386cb441e5a0ea91fcd98965a32a1b1cf44609acd356e695c039d9444831f
+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
new file mode 100644
index 000000000000..bca7db4cb903
--- /dev/null
+++ b/dev-python/mkdocs-htmlproofer-plugin/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">mkdocs-htmlproofer-plugin</remote-id>
+ <remote-id type="github">manuzhang/mkdocs-htmlproofer-plugin</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mkdocs-htmlproofer-plugin/mkdocs-htmlproofer-plugin-1.2.0.ebuild b/dev-python/mkdocs-htmlproofer-plugin/mkdocs-htmlproofer-plugin-1.2.0.ebuild
new file mode 100644
index 000000000000..4dad50d51c90
--- /dev/null
+++ b/dev-python/mkdocs-htmlproofer-plugin/mkdocs-htmlproofer-plugin-1.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..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..4dad50d51c90
--- /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..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-i18n/Manifest b/dev-python/mkdocs-i18n/Manifest
index 386717aea65f..af08ed144387 100644
--- a/dev-python/mkdocs-i18n/Manifest
+++ b/dev-python/mkdocs-i18n/Manifest
@@ -1 +1 @@
-DIST mkdocs-i18n-0.4.4.tar.gz 17191 BLAKE2B 4ab926befac2c90b6b9ff55fd6887c8b78e88f801c820749df125ea97418fbfb0a8531b2168b508737e7dffbf426826433211ee80f25b80a42ae160f78a93670 SHA512 f9f27c0f274aa7ee5c64cee46d4165d51022cac0171f95a238b62c911e1be16b6a4ff227fea3b78de2ffa0095b9c95280e8919e207e6947db300a136fe16e659
+DIST mkdocs-i18n-0.4.6.tar.gz 24232 BLAKE2B ba5f1462aa8c16fc97f7240875b6762e8072b3a4077b3324ab902a70930431c81512b465037f3a0fbd080716126ff185f78fc3f25b23ec352096628acc9bffab SHA512 f92ae260b8a2bf93d18ddd7d405354ab4227940fa820ef6a12427a167cd288bb25fcc53d805df38d2a7fe2621eb9ca62bd6a64bd1706d55638368b9b69429b9d
diff --git a/dev-python/mkdocs-i18n/files/mkdocs-i18n-0.4.6-fixup-pyproject-toml.patch b/dev-python/mkdocs-i18n/files/mkdocs-i18n-0.4.6-fixup-pyproject-toml.patch
new file mode 100644
index 000000000000..efe9fc9a70e8
--- /dev/null
+++ b/dev-python/mkdocs-i18n/files/mkdocs-i18n-0.4.6-fixup-pyproject-toml.patch
@@ -0,0 +1,30 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index f532be1..815b07d 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,6 +1,6 @@
+ [project]
+-dynamic = ["version"]
+ name = "mkdocs-i18n"
++version = "0.4.6"
+ description = "MkDocs i18n plugin"
+ readme = "README.md"
+ authors = [
+@@ -46,15 +46,6 @@ test = [
+ [project.entry-points."mkdocs.plugins"]
+ i18n = "mkdocs_i18n:I18n"
+
+-[tool.semantic_release]
+-version_source = "tag_only"
+-hvcs = "gitlab"
+-branch = "main"
+-build_command = "python3 -m build"
+-
+ [build-system]
+-requires = ["setuptools>=45", "setuptools_scm[toml]>=6.2"]
+-
+-[tool.setuptools_scm]
+-# python-semantic-release with tag_only option leaves CHANGELOG.md file staged
+-git_describe_command = "git describe --tags --abbrev=0"
++requires = ["setuptools>=45"]
++build-backend = "setuptools.build_meta"
diff --git a/dev-python/mkdocs-i18n/mkdocs-i18n-0.4.4.ebuild b/dev-python/mkdocs-i18n/mkdocs-i18n-0.4.4.ebuild
deleted file mode 100644
index 436029a26d98..000000000000
--- a/dev-python/mkdocs-i18n/mkdocs-i18n-0.4.4.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="MkDocs i18n plugin"
-HOMEPAGE="
- https://gitlab.com/mkdocs-i18n/mkdocs-i18n/-/tree/main
- https://pypi.org/project/mkdocs-i18n/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="AGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~riscv x86"
-
-RDEPEND="
- >=dev-python/mkdocs-1.1[${PYTHON_USEDEP}]
- dev-python/mkdocs-material[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/mkdocs-i18n/mkdocs-i18n-0.4.6.ebuild b/dev-python/mkdocs-i18n/mkdocs-i18n-0.4.6.ebuild
new file mode 100644
index 000000000000..c3005833e740
--- /dev/null
+++ b/dev-python/mkdocs-i18n/mkdocs-i18n-0.4.6.ebuild
@@ -0,0 +1,30 @@
+# 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="MkDocs i18n plugin"
+HOMEPAGE="
+ https://gitlab.com/mkdocs-i18n/mkdocs-i18n/-/tree/main
+ https://pypi.org/project/mkdocs-i18n/
+"
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/mkdocs-1.1[${PYTHON_USEDEP}]
+ dev-python/mkdocs-material[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ # Define a build-backend, version, and drop setuptools_scm dep
+ "${FILESDIR}/${P}-fixup-pyproject-toml.patch"
+)
diff --git a/dev-python/mkdocs-macros-plugin/Manifest b/dev-python/mkdocs-macros-plugin/Manifest
new file mode 100644
index 000000000000..0f839fab9172
--- /dev/null
+++ b/dev-python/mkdocs-macros-plugin/Manifest
@@ -0,0 +1 @@
+DIST mkdocs-macros-plugin-1.0.4.tar.gz 556036 BLAKE2B f0cd0eabbd208c2c84d28e2ef4eac8e23fa8c13918b02a69d8e69f5e7c635d9551dc986b19edf9d5ee5da43c80d49b62f4f277e995584ebef749d9d2bed1881d SHA512 553ca51462f0f0e26284046ea49d36afec973cf0345c1c6c5d9a094f32bf731972f7ae3ba148bb85a77e440982de3f24a4da8ea4e30c4f025153c1ce46164f32
diff --git a/dev-python/mkdocs-macros-plugin/metadata.xml b/dev-python/mkdocs-macros-plugin/metadata.xml
new file mode 100644
index 000000000000..e06baad2258a
--- /dev/null
+++ b/dev-python/mkdocs-macros-plugin/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <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.4.ebuild b/dev-python/mkdocs-macros-plugin/mkdocs-macros-plugin-1.0.4.ebuild
new file mode 100644
index 000000000000..83f8ce26363b
--- /dev/null
+++ b/dev-python/mkdocs-macros-plugin/mkdocs-macros-plugin-1.0.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
+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/Manifest b/dev-python/mkdocs-material-extensions/Manifest
index 3420c4a5a04f..2050c099dc49 100644
--- a/dev-python/mkdocs-material-extensions/Manifest
+++ b/dev-python/mkdocs-material-extensions/Manifest
@@ -1 +1 @@
-DIST mkdocs-material-extensions-1.1.1.gh.tar.gz 12092 BLAKE2B ad5a085cf65768f1bf40f5dfc4323fc8047495fa8c501474e9b2fd6db141ea0915b13eb5596225b5a823b9e9f315f5de1d5be1a0a717d06e4ac17ddd7becb1b7 SHA512 84937d3e9a4817d80fd19b9d359d3b2fdb6766b58c5f0b0530d84ad555b628da3796bbbacebd1b3ad438cbc148bbce681e7038b2dbe5c086645b2f5426a5cb2d
+DIST mkdocs-material-extensions-1.3.1.gh.tar.gz 12703 BLAKE2B b362a10ab5e0409044306422fc61edcd6fbba11742c8eb1c1a45f999952907b4c56003b7811ea764a2083d782a96fcf1f1e742e5b97e2540015e1a1ec002cfc6 SHA512 2850843f3159d2d3bd054d8017b40ce6c9d0b0328c3f1ac6ac3b63f00d534815e9908103d15d9452af57ef5e49457f165ed923bcb9c682c3383dbfc8abecf512
diff --git a/dev-python/mkdocs-material-extensions/mkdocs-material-extensions-1.1.1.ebuild b/dev-python/mkdocs-material-extensions/mkdocs-material-extensions-1.1.1.ebuild
deleted file mode 100644
index 845a48f2b6a5..000000000000
--- a/dev-python/mkdocs-material-extensions/mkdocs-material-extensions-1.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Extension pack for Python Markdown"
-HOMEPAGE="
- https://github.com/facelessuser/mkdocs-material-extensions/
- https://pypi.org/project/mkdocs-material-extensions/
-"
-SRC_URI="
- https://github.com/facelessuser/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~riscv x86"
-
-RDEPEND="
- >=dev-python/mkdocs-material-5.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/beautifulsoup4[${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
new file mode 100644
index 000000000000..ed956ebefc91
--- /dev/null
+++ b/dev-python/mkdocs-material-extensions/mkdocs-material-extensions-1.3.1.ebuild
@@ -0,0 +1,34 @@
+# 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="Extension pack for Python Markdown"
+HOMEPAGE="
+ https://github.com/facelessuser/mkdocs-material-extensions/
+ https://pypi.org/project/mkdocs-material-extensions/
+"
+SRC_URI="
+ https://github.com/facelessuser/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/mkdocs-material-5.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/mkdocs-material/Manifest b/dev-python/mkdocs-material/Manifest
index ede0b2b7a70f..69681abd6b16 100644
--- a/dev-python/mkdocs-material/Manifest
+++ b/dev-python/mkdocs-material/Manifest
@@ -1,8 +1,3 @@
-DIST mkdocs-material-8.5.11.gh.tar.gz 10423819 BLAKE2B 8af9b10fde57a6543d86dc8d6004cb100359e274072486094e7db4f8eeb7d44d83505d00b3f202f02e695a613ae8e2fdf08ac1b39584e7d9aeae430bb560d60a SHA512 7fdc06cf7f64a2831fe2acb05a735bc9519fdf109fbccd5ee1667d07175916fffb295ccfa88a4352a7a0688f0eaf535c26ab49463f672d964d4a87ad8de6ddf1
-DIST mkdocs-material-9.0.1.gh.tar.gz 10585027 BLAKE2B 7515e9820466e375098781f1bdcdb56f6f9616ef827fb307fbec2c696d28923837df8a7a93fb4972eaf8de82411c5287bc6d40e9d0e91f0a1f109e4ee35c7771 SHA512 800f02a9ec31e9505ce9092abcfb2558bf9edc2423c844f0acadb96f190ff858df3a74a704081eea8c1eec2851265d22b19a7d8d7aef49d3582f2c7ea05f9d60
-DIST mkdocs-material-9.0.2.gh.tar.gz 10585323 BLAKE2B 2dec935eddcd3865709f9d571a6e7e13774d88b7960fd1f12e1bfc3b7b70c996ac1b6e7d6da74305a693f0104ebeb5ac4b1d9d84682fcc0195346713b014a663 SHA512 fe789f02e306d7279d2b9e3c2fef0301791bc9f109df12a217a42d4334c891702472a1fa28a98741e670a534963175d926fc76f725cb4f56be4d3f49906ab4d5
-DIST mkdocs-material-9.0.3.gh.tar.gz 10587701 BLAKE2B 35fce28b42346cc2ce208cd3ea5d89437a65b0ebbb8bde2eaae278b5fa7da222a025f34cbf8b3212da206616945ce57ce23d9b2061f216f5b2bcde9e23c96989 SHA512 dd81508dd7784318ba0cebb2254891bcddc6283d5a45c04d956c5dca4e993d57e2059aa9f0dee5667889673515c1af2681fe907b92aebe18f69483023fd0d6d3
-DIST mkdocs-material-9.0.4.gh.tar.gz 10589697 BLAKE2B 4840b4eb98b1fd8ba80fbc2b2ac069abefc833d44dbeeb0d600c4bd4bf8f943dfd1e3fa1dc59fb5c3eab26b80c1912db54ca47ff066226c534b011dfc60d01d5 SHA512 f7d9baa23fa086d4f916ed52c94c80630102b4fadb6cd4885bd940b4783242539fcb406002ec3c44deacadca5a4f829af0febf66c180857ec01a5f7e241cee25
-DIST mkdocs-material-9.0.5.gh.tar.gz 10898510 BLAKE2B d5c6f10db280e6aa9dc1c1d761d831d6b872586c42c7ba0882a9a0a849919fc85da84c7ed46b8d77fd7f17d65cd0ffa967afb008643b76a8b51d36d5bbaa60d3 SHA512 530ce10a457b9f8726dcaad7e602b30338604fef644a885b7aa15f68107921b5a0be714a274771e96f7b9127eb386d926d412be71634283d7f803d56be1977d1
-DIST mkdocs-material-9.0.6.gh.tar.gz 10898851 BLAKE2B 332903d2acd90f5b979536ab518ca403f26762dcd9b1fc9220b079b400ac1c688556b98e83dc5da321bb6ac73e7ba475179225e88c48495bd85e0e8e81cb02ab SHA512 6a6e51cb3a56c660d1e66613b98db916d9db81108894c04e67cb0267ac79e25c8dccd1d5587814984b1c9a6b87b06bd9d796ac0f613eca69399f1d575dfb41d3
-DIST mkdocs-material-9.0.7.gh.tar.gz 10910584 BLAKE2B 0b7b4393e4db7b3c20718f231f46030463c4654317af5a9c1fd37347810eb4c1f1bfc307878d96511633fa3b1c51a2ed2c4bc43a7fd273fcdc0d14893c22e878 SHA512 560688e1d3888438d83daee611a1b05a6d693f1c63e7aa931d074531f7c53bdbad61ae03bf60f6f68ab9358959c78d65fe347637811d8a4120c8cefeb1ed9397
+DIST mkdocs-material-9.5.15.gh.tar.gz 14819594 BLAKE2B f0d992962acc7636218222913fcd8d40b6b74c3c4555d1ed8d5b30a4d438c137849624a28d3ed015d04d8c62955d9fffcb5d4e12a3008512a3d3247818789d9e SHA512 341069be531e8caed1e13fed1fabecf2dc4903afedfcccecd36955b22c859b748c88a900c7fca485b796d53812a893f3e49f2e8e519c1bcd8f5b8e7bf32d788d
+DIST mkdocs-material-9.5.17.gh.tar.gz 14841074 BLAKE2B 7a7ab4f0c6b05f0e6d0efcaf8ab6482275e5677ccba89ac795b1217d083d9b8df5f7e4248de8b3f1290e6bd9b87d9626bda440413970e7e074be0581a99952fe SHA512 2456eb5ed299a4ebafe563ce6343dabd6713afbff9c48cd95d0b91ed901b3ddcaf6a96182e055e0cb5547f2c53b166da4a131a03c0d06beb824c9433c4c0ca1d
+DIST mkdocs-material-9.5.18.gh.tar.gz 14861438 BLAKE2B 758f28f266780a398325cae5395a15454c0c317b60c4a30006fef0002b9d8f4e350265e05cba160e2efbc6aa05aa83373df7b1086499bc3bcb3465a9f17e57f5 SHA512 6d18b3a672a750b3a43fe6ea8bf437b13d20c63871e762a2e805e30757315e4ff4037695319a42c186fc45459ba5ea11e6fa567b27fded2441d1ebce86d33fab
diff --git a/dev-python/mkdocs-material/metadata.xml b/dev-python/mkdocs-material/metadata.xml
index 846ae50e8f9a..cb4251eddb7b 100644
--- a/dev-python/mkdocs-material/metadata.xml
+++ b/dev-python/mkdocs-material/metadata.xml
@@ -18,5 +18,10 @@
<remote-id type="github">squidfunk/mkdocs-material</remote-id>
<remote-id type="pypi">mkdocs-material</remote-id>
</upstream>
+ <use>
+ <flag name="social">
+ Install the dependencies of the "social" plugin.
+ </flag>
+ </use>
<stabilize-allarches/>
</pkgmetadata>
diff --git a/dev-python/mkdocs-material/mkdocs-material-8.5.11.ebuild b/dev-python/mkdocs-material/mkdocs-material-8.5.11.ebuild
deleted file mode 100644
index a84af271c5f5..000000000000
--- a/dev-python/mkdocs-material/mkdocs-material-8.5.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_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-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 ~riscv x86"
-
-RDEPEND="
- >=dev-python/jinja-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.3.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.12[${PYTHON_USEDEP}]
- >=dev-python/pymdown-extensions-9.4[${PYTHON_USEDEP}]
-"
-
-# mkdocs-material-extensions depends on mkdocs-material creating a circular dep
-PDEPEND="
- >=dev-python/mkdocs-material-extensions-1.0.3[${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.0.1.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.0.1.ebuild
deleted file mode 100644
index 6223edaf3463..000000000000
--- a/dev-python/mkdocs-material/mkdocs-material-9.0.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-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 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/jinja-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.4.2[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.14[${PYTHON_USEDEP}]
- >=dev-python/pymdown-extensions-9.9[${PYTHON_USEDEP}]
-"
-
-# mkdocs-material-extensions depends on mkdocs-material creating a circular dep
-PDEPEND="
- >=dev-python/mkdocs-material-extensions-1.1.0[${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.0.2.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.0.2.ebuild
deleted file mode 100644
index d28b6132b0e7..000000000000
--- a/dev-python/mkdocs-material/mkdocs-material-9.0.2.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-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 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/jinja-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.4.2[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.14[${PYTHON_USEDEP}]
- >=dev-python/pymdown-extensions-9.9[${PYTHON_USEDEP}]
-"
-
-# mkdocs-material-extensions depends on mkdocs-material creating a circular dep
-PDEPEND="
- >=dev-python/mkdocs-material-extensions-1.1.0[${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.0.3.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.0.3.ebuild
deleted file mode 100644
index d28b6132b0e7..000000000000
--- a/dev-python/mkdocs-material/mkdocs-material-9.0.3.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-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 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/jinja-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.4.2[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.14[${PYTHON_USEDEP}]
- >=dev-python/pymdown-extensions-9.9[${PYTHON_USEDEP}]
-"
-
-# mkdocs-material-extensions depends on mkdocs-material creating a circular dep
-PDEPEND="
- >=dev-python/mkdocs-material-extensions-1.1.0[${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.0.4.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.0.4.ebuild
deleted file mode 100644
index ae30183c31b4..000000000000
--- a/dev-python/mkdocs-material/mkdocs-material-9.0.4.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-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 ~ppc ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/jinja-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.4.2[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.14[${PYTHON_USEDEP}]
- >=dev-python/pymdown-extensions-9.9.1[${PYTHON_USEDEP}]
-"
-
-# mkdocs-material-extensions depends on mkdocs-material creating a circular dep
-PDEPEND="
- >=dev-python/mkdocs-material-extensions-1.1.0[${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.0.5.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.0.5.ebuild
deleted file mode 100644
index 45a803b27c63..000000000000
--- a/dev-python/mkdocs-material/mkdocs-material-9.0.5.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-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 ~ppc ~riscv x86"
-
-RDEPEND="
- >=dev-python/jinja-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.4.2[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.14[${PYTHON_USEDEP}]
- >=dev-python/pymdown-extensions-9.9.1[${PYTHON_USEDEP}]
-"
-
-# mkdocs-material-extensions depends on mkdocs-material creating a circular dep
-PDEPEND="
- >=dev-python/mkdocs-material-extensions-1.1.0[${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.0.6.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.0.6.ebuild
deleted file mode 100644
index ae30183c31b4..000000000000
--- a/dev-python/mkdocs-material/mkdocs-material-9.0.6.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-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 ~ppc ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/jinja-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.4.2[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.14[${PYTHON_USEDEP}]
- >=dev-python/pymdown-extensions-9.9.1[${PYTHON_USEDEP}]
-"
-
-# mkdocs-material-extensions depends on mkdocs-material creating a circular dep
-PDEPEND="
- >=dev-python/mkdocs-material-extensions-1.1.0[${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.0.7.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.0.7.ebuild
deleted file mode 100644
index ae30183c31b4..000000000000
--- a/dev-python/mkdocs-material/mkdocs-material-9.0.7.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-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 ~ppc ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/jinja-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.4.2[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.14[${PYTHON_USEDEP}]
- >=dev-python/pymdown-extensions-9.9.1[${PYTHON_USEDEP}]
-"
-
-# mkdocs-material-extensions depends on mkdocs-material creating a circular dep
-PDEPEND="
- >=dev-python/mkdocs-material-extensions-1.1.0[${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.15.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.5.15.ebuild
new file mode 100644
index 000000000000..28c6850f9d71
--- /dev/null
+++ b/dev-python/mkdocs-material/mkdocs-material-9.5.15.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..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-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.17.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.5.17.ebuild
new file mode 100644
index 000000000000..46c2a0851fa9
--- /dev/null
+++ b/dev-python/mkdocs-material/mkdocs-material-9.5.17.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..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-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.18.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.5.18.ebuild
new file mode 100644
index 000000000000..46c2a0851fa9
--- /dev/null
+++ b/dev-python/mkdocs-material/mkdocs-material-9.5.18.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..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-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 974c5f805c2e..4a27a03e9cd4 100644
--- a/dev-python/mkdocs-minify-plugin/Manifest
+++ b/dev-python/mkdocs-minify-plugin/Manifest
@@ -1 +1 @@
-DIST mkdocs-minify-plugin-0.6.2.gh.tar.gz 8480 BLAKE2B 91091702c0f5953b8cef4e081004cf44abbc2a7b21a0ea1996a337c96764a636fa79054c5d05ffc2814acb4b7fda0e833e61b02c6b97466586875e9da21c937b SHA512 563e150eb380aab105b18492eb0f725ec96fe12768c666b093e40d375e66cccf42f859aeb4d2788ae8c7a5b01e6e103c9f9aa1153802ad104955a98d90036144
+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.6.2.ebuild b/dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.6.2.ebuild
deleted file mode 100644
index 9dd3f4879914..000000000000
--- a/dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.6.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-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/
-"
-SRC_URI="
- https://github.com/byrnereese/mkdocs-minify-plugin/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~riscv x86"
-
-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
-
-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..88d44029a47f
--- /dev/null
+++ b/dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.8.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} 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"
+
+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
new file mode 100644
index 000000000000..c9a507cd5ba5
--- /dev/null
+++ b/dev-python/mkdocs-monorepo-plugin/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..62f26ac9e62a
--- /dev/null
+++ b/dev-python/mkdocs-monorepo-plugin/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">mkdocs-monorepo-plugin</remote-id>
+ <remote-id type="github">backstage/mkdocs-monorepo-plugin</remote-id>
+ </upstream>
+</pkgmetadata>
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..cd27da0f29df
--- /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..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-pymdownx-material-extras/Manifest b/dev-python/mkdocs-pymdownx-material-extras/Manifest
new file mode 100644
index 000000000000..33d3e1bb1f50
--- /dev/null
+++ b/dev-python/mkdocs-pymdownx-material-extras/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..d1478ff202e9
--- /dev/null
+++ b/dev-python/mkdocs-pymdownx-material-extras/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="person">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">facelessuser/mkdocs_pymdownx_material_extras</remote-id>
+ <remote-id type="pypi">mkdocs-pymdownx-material-extras</remote-id>
+ </upstream>
+ <longdescription lang="en">
+A plugin that for MkDocs and specifically the MkDocs Material Theme.
+Adds additional resources that are used in the PyMdown Extensions documentation, and other @facelessuser projects.
+While this is not specifically meant for outside consumption, and was originally written for @facelessuser projects, it can be freely used if desired.
+Files are copied from the pymdown-extensions project.
+ </longdescription>
+ <stabilize-allarches/>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..a6d31c649a9b
--- /dev/null
+++ b/dev-python/mkdocs-pymdownx-material-extras/mkdocs-pymdownx-material-extras-2.5.6.ebuild
@@ -0,0 +1,23 @@
+# 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-redirects/Manifest b/dev-python/mkdocs-redirects/Manifest
index c71f5710ae30..e52621e6aa8a 100644
--- a/dev-python/mkdocs-redirects/Manifest
+++ b/dev-python/mkdocs-redirects/Manifest
@@ -1 +1 @@
-DIST mkdocs-redirects-1.2.0.gh.tar.gz 7434 BLAKE2B cba7252865135c66ca467473e5c373b1779131dc0fdea47092d97d97d4222e6e9b38f9b312f0341af90b8a05a24c3c33250b060c2b3029d49dc970da0b2fc48e SHA512 e26260277f56005d8fab3a7e6d05187796356909d7ab4f8d6cd6edd535b0ee944e49faf5b6366269bfface1a855f399e3d95275a5f0967134f6c8e1256bef220
+DIST mkdocs-redirects-1.2.1.gh.tar.gz 7420 BLAKE2B c91701b5aeff6998d890d44fa9286b0a7924a2c66ee9d54777495b338152be0cde3f897e4516327e63a38ab362a156a0e44f041bc4af5bda32d7ae188a20369e SHA512 52b078f75fdf950780fd9f295cb528607aff641c46bd2d00df0a38ca2817280b1245c006b6bae6f63c37f4e61857aeb0271ca9fba4397e3185b173016c3ea437
diff --git a/dev-python/mkdocs-redirects/mkdocs-redirects-1.2.0.ebuild b/dev-python/mkdocs-redirects/mkdocs-redirects-1.2.0.ebuild
deleted file mode 100644
index d84eea86e3c1..000000000000
--- a/dev-python/mkdocs-redirects/mkdocs-redirects-1.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-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 ~ppc ~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-redirects/mkdocs-redirects-1.2.1.ebuild b/dev-python/mkdocs-redirects/mkdocs-redirects-1.2.1.ebuild
new file mode 100644
index 000000000000..6e9f661ea205
--- /dev/null
+++ b/dev-python/mkdocs-redirects/mkdocs-redirects-1.2.1.ebuild
@@ -0,0 +1,31 @@
+# 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..33f0a37b4fc4
--- /dev/null
+++ b/dev-python/mkdocs-static-i18n/Manifest
@@ -0,0 +1 @@
+DIST mkdocs_static_i18n-1.2.2.tar.gz 1370000 BLAKE2B 2be26c971ad28a306b6d34adb4c8359954f4a7333f031f1939c08a470388004f9ac825da3c5b4e6a88e5dd41dfb12ac972938bf39b80c91ef16b760ea3c6c46a SHA512 7a356590b306c92d4cd664c90538110bf613220930c17a5285aeb4f9ad092ea9b93efd2390beed6609f176aa26ab4f51be60c89e2d2da19a1d78ac2603fe891b
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.2.ebuild b/dev-python/mkdocs-static-i18n/mkdocs-static-i18n-1.2.2.ebuild
new file mode 100644
index 000000000000..b377a6b4317f
--- /dev/null
+++ b/dev-python/mkdocs-static-i18n/mkdocs-static-i18n-1.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="hatchling"
+PYTHON_COMPAT=( python3_{10..12} )
+
+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 c5b90ea6b910..8b6da2ece664 100644
--- a/dev-python/mkdocs/Manifest
+++ b/dev-python/mkdocs/Manifest
@@ -1 +1 @@
-DIST mkdocs-1.4.2.gh.tar.gz 4018656 BLAKE2B 325e940c72f6a8fe7f353a4ba2f65fc6b123c5be04173e5469d3165d25b3d6bb8983b5c541b0d1376770a8205b54860b756eca1719decdd77e7e4c57477998e4 SHA512 cabdb86a5934672645e29055c04f5c877dd5527df909a606d94f930211cec9f4f29f89137dd413238c07af4108d870dd3b880cba447c55690583cd1b13b179b7
+DIST mkdocs-1.5.3.gh.tar.gz 4057780 BLAKE2B d1e7ac739ea3a78f2a2d294a28c721f95cb8be6c114a5131893e346254ed1937218cc0d247e75092876d7f42dc04c8060fdc8d7535326f26a8f68ec11bc7045b SHA512 3f7d0af4b071ac6998e82cefb18df27f1cc98d91c7902d2943acdaa08c56f90e36c1c5d1df1c1f61a1c50d8fecc2fb0014497f2436be89d52b17959808c31abc
diff --git a/dev-python/mkdocs/mkdocs-1.4.2.ebuild b/dev-python/mkdocs/mkdocs-1.4.2.ebuild
deleted file mode 100644
index 4d7157022825..000000000000
--- a/dev-python/mkdocs/mkdocs-1.4.2.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=hatchling
-inherit distutils-r1
-
-DESCRIPTION="Project documentation with Markdown"
-HOMEPAGE="https://www.mkdocs.org https://github.com/mkdocs/mkdocs"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~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/markdown-3.4[${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/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
-)
-
-python_prepare_all() {
- # livereload has been dropped in this release, this test is a remnant
- rm mkdocs/tests/livereload_tests.py || die
-
- # Does not work in emerge env
- sed -i -e 's/test_paths_localized_to_config/_&/' \
- mkdocs/tests/config/config_options_tests.py
-
- distutils-r1_python_prepare_all
-}
-
-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 mkdocs/tests/*
-}
diff --git a/dev-python/mkdocs/mkdocs-1.5.3-r1.ebuild b/dev-python/mkdocs/mkdocs-1.5.3-r1.ebuild
new file mode 100644
index 000000000000..3747c36b27cc
--- /dev/null
+++ b/dev-python/mkdocs/mkdocs-1.5.3-r1.ebuild
@@ -0,0 +1,85 @@
+# 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_pymdownx_material_extras/Manifest b/dev-python/mkdocs_pymdownx_material_extras/Manifest
deleted file mode 100644
index bfa4dc082f1e..000000000000
--- a/dev-python/mkdocs_pymdownx_material_extras/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST mkdocs_pymdownx_material_extras-2.3.1.tar.gz 24640 BLAKE2B a6637991494a0042bdc65a65822b84066efa774890d13079c87667fdfeadafa439a92bddeebad1234be8d10d60a1e4bcb76c2ff693e305c6ae37e846958eb810 SHA512 bfc213de818d0a82786de2c55d35d90fa80f107efdff2aa12ef5a96ec77d2bfb7d1e0e9115e930a29440cfba49fbe3a3a429dba2fb5c993878268d8a85b6ceba
-DIST mkdocs_pymdownx_material_extras-2.4.1.tar.gz 24229 BLAKE2B f716b37f07e5b00cf7121c2de76c5794d96649b643767d315ef0f9be98a028af178f5b370f29132bb1a388c68e07eff9ce5f88b5b745558b7d3ecd12e7c3274d SHA512 651627361affa0a3dca1ad725744deb964fab009ccfcba6f581f29379f1bd8317da511b5a3055c37761d2b8ea814121e5459eac0c175aee73cbc5e446302fdc5
-DIST mkdocs_pymdownx_material_extras-2.4.2.tar.gz 24247 BLAKE2B 1ab9bcc9c6a6f11188305d36c48773ad03d9f03cf95636f6d6eeb292d39d7cce3c4ea155caf6343b636f33dab885dd2320e2f7b12f91b5d7d03e1da1480b2ac1 SHA512 8852fab08e7dc43b005d3ebaaabaed07598751dc7dbf237a9728c1cbf8abf992403e27a515d615bbbe0b753b08a0f32aa8f18cb249b07187319c20c285fdf312
-DIST mkdocs_pymdownx_material_extras-2.4.tar.gz 24171 BLAKE2B 8258e6c9566a24a614c222fb2f8e76305bd92ccd0ffbbd4b21e945a125a553ee8664d408d46a5081893e0bb8b72c5403ed2aefcdd11807301765b052e0ed29ca SHA512 002149765a30ce826b3df19c9ed659c45ee39ef0df4dfdff6ae1fdda8c88e69d6015fc3db41ee0d15229b35eefd2644dd8015a22e50db98ee45c520f95f0b04e
diff --git a/dev-python/mkdocs_pymdownx_material_extras/metadata.xml b/dev-python/mkdocs_pymdownx_material_extras/metadata.xml
deleted file mode 100644
index f4fb8893a051..000000000000
--- a/dev-python/mkdocs_pymdownx_material_extras/metadata.xml
+++ /dev/null
@@ -1,27 +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="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>
- </upstream>
- <longdescription lang="en">
-A plugin that for MkDocs and specifically the MkDocs Material Theme.
-Adds additional resources that are used in the PyMdown Extensions documentation, and other @facelessuser projects.
-While this is not specifically meant for outside consumption, and was originally written for @facelessuser projects, it can be freely used if desired.
-Files are copied from the pymdown-extensions project.
- </longdescription>
- <stabilize-allarches/>
-</pkgmetadata>
diff --git a/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.3.1.ebuild b/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.3.1.ebuild
deleted file mode 100644
index a43de70f0b50..000000000000
--- a/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.3.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Custom alterations based on Mkdocs-Material"
-HOMEPAGE="
- https://github.com/facelessuser/mkdocs_pymdownx_material_extras/
- https://pypi.org/project/mkdocs-pymdownx-material-extras/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~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.4.1.ebuild b/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.4.1.ebuild
deleted file mode 100644
index b8541382d5af..000000000000
--- a/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.4.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Custom alterations based on Mkdocs-Material"
-HOMEPAGE="
- https://github.com/facelessuser/mkdocs_pymdownx_material_extras/
- https://pypi.org/project/mkdocs-pymdownx-material-extras/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~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.4.2.ebuild b/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.4.2.ebuild
deleted file mode 100644
index b8541382d5af..000000000000
--- a/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.4.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Custom alterations based on Mkdocs-Material"
-HOMEPAGE="
- https://github.com/facelessuser/mkdocs_pymdownx_material_extras/
- https://pypi.org/project/mkdocs-pymdownx-material-extras/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~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.4.ebuild b/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.4.ebuild
deleted file mode 100644
index b8541382d5af..000000000000
--- a/dev-python/mkdocs_pymdownx_material_extras/mkdocs_pymdownx_material_extras-2.4.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} )
-
-inherit distutils-r1
-
-DESCRIPTION="Custom alterations based on Mkdocs-Material"
-HOMEPAGE="
- https://github.com/facelessuser/mkdocs_pymdownx_material_extras/
- https://pypi.org/project/mkdocs-pymdownx-material-extras/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/mkdocs-material-8.3.3[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/mkdocstrings-python/Manifest b/dev-python/mkdocstrings-python/Manifest
new file mode 100644
index 000000000000..553cde42c2c4
--- /dev/null
+++ b/dev-python/mkdocstrings-python/Manifest
@@ -0,0 +1,3 @@
+DIST mkdocstrings-python-1.8.0.gh.tar.gz 146162 BLAKE2B cd247b18de00dd4a53c287ec6d72461b0d0c2c95d49b20c24ce81d4304b92d48b8c8df78f35ad4749c928440ceddb4524ac64fcf3c99a50c18cbdaff9057f27a SHA512 5084df08a7d341b2e3ea93454706c38e2f29229122e6f2a277967c21c899d945cf4f6ae299782d8f6edffb48c1e23778ce445fb353727f2d5ceada74428ab3b9
+DIST mkdocstrings-python-1.9.0.gh.tar.gz 148843 BLAKE2B d84527c1eb03da4a1e154c8e592f91530cd3f90603063e1fcb0dc88cd0f9c5459a64d116c38154ffaaa557b6e298e28d51948c56979d87819de2665efa51bc30 SHA512 c6652f6027e3e416906b379b824bb59032439cb275a62a8bb0fd1f06324d485f582db5464358166f7b1545809bf929744cd3b96707e2c50132c2db5f3fa41785
+DIST mkdocstrings-python-1.9.2.gh.tar.gz 149558 BLAKE2B 334843c268e308473baf4fc4f37b1a49db600cb4c033456f2a392b2f77e1fbd8e703982b56dea373e9946a5b55efcb236c36e6aa11bd792005ad6b9f4da4d693 SHA512 ac5f2acbc18ec8a07506acb8f9914549fb6d9d0128204efda69e94ee2a4b6d6763567b253374946e740dbaaf3dd3adabc09e56c5db69ff78fa7981931731c5c0
diff --git a/dev-python/mkdocstrings-python/metadata.xml b/dev-python/mkdocstrings-python/metadata.xml
new file mode 100644
index 000000000000..61498f99a3a5
--- /dev/null
+++ b/dev-python/mkdocstrings-python/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">mkdocstrings-python</remote-id>
+ <remote-id type="github">mkdocstrings/python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mkdocstrings-python/mkdocstrings-python-1.8.0.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.8.0.ebuild
new file mode 100644
index 000000000000..8dcaf42f46c1
--- /dev/null
+++ b/dev-python/mkdocstrings-python/mkdocstrings-python-1.8.0.ebuild
@@ -0,0 +1,40 @@
+# 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=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-python/mkdocstrings-python-1.9.0.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.9.0.ebuild
new file mode 100644
index 000000000000..604d9b56a237
--- /dev/null
+++ b/dev-python/mkdocstrings-python/mkdocstrings-python-1.9.0.ebuild
@@ -0,0 +1,41 @@
+# 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=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/markdown-3.6[${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.9.2.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.9.2.ebuild
new file mode 100644
index 000000000000..6968de273ffb
--- /dev/null
+++ b/dev-python/mkdocstrings-python/mkdocstrings-python-1.9.2.ebuild
@@ -0,0 +1,40 @@
+# 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=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-0.24.2[${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
new file mode 100644
index 000000000000..aed420cc9d6e
--- /dev/null
+++ b/dev-python/mkdocstrings/Manifest
@@ -0,0 +1,4 @@
+DIST mkdocstrings-0.24.0.gh.tar.gz 85474 BLAKE2B f43c0842bd5c8f52700e572964948f362112c073992c8aa7d6df8ecc0a266b22122988c944e36d5edf6d227a2cf9e2a9a95222146139d8577001833c729ad7ca SHA512 0cc03cb68679958d77a5f1d10e96411271de2db2c89b1c27d151d7d6673a94c967024c377cb22a612a8079a0ea736b921384518869e1475797ed94c8c92d4dbb
+DIST mkdocstrings-0.24.1.gh.tar.gz 86421 BLAKE2B 81d1f4453808140044ab9e27016b0e4119dd50ec8ba4f29d2d53d87cce151e4999ec2c18e2eff90d270a4bfd96a24ba506bbf382cf4c9bc5192c03bc3ddf399c SHA512 7328abe16161ba1358436d3d10105723fcaad9baa3aa5fb923dc46814623bdd15f3f51bba43c2b8029ff73467474d37b1aec94d873c5254d3ef322746df6578b
+DIST mkdocstrings-0.24.2.gh.tar.gz 88514 BLAKE2B fa9ed6a40f605016f852a903d47743f09ed586611ff84e81324b922fabb914fdd4e13b01aed3003972f41924fb35e885b573808331ea838663114ae21b6e7c02 SHA512 5ab0a347989e981cc9bdb0c8e9c2f906014314a23b0f663d068dc2446ada1d8e93953b0dc5e3c76e10852c9514f7062a9f4974ad44a46dbf7a439b18fc9415dd
+DIST mkdocstrings-0.24.3.gh.tar.gz 88575 BLAKE2B a8567868e1572104773a0ca739966a4d6f5c13e02f29dfb0cfd68fe8cbe9c44805adb8fa029489e057b136e37f3587edebc2ec3e18d73d5eadc05a494a4d2ea5 SHA512 a93b1b07137c8403c5e049a57f0c26c629cbc37112181eae141390bd2863826d17c32e93a626a3627c56242a4227954885e81000122227ce1cd7dc8698c67b37
diff --git a/dev-python/mkdocstrings/metadata.xml b/dev-python/mkdocstrings/metadata.xml
new file mode 100644
index 000000000000..7eaef3684e1f
--- /dev/null
+++ b/dev-python/mkdocstrings/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">mkdocstrings</remote-id>
+ <remote-id type="github">mkdocstrings/mkdocstrings</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mkdocstrings/mkdocstrings-0.24.0.ebuild b/dev-python/mkdocstrings/mkdocstrings-0.24.0.ebuild
new file mode 100644
index 000000000000..e44997f0f451
--- /dev/null
+++ b/dev-python/mkdocstrings/mkdocstrings-0.24.0.ebuild
@@ -0,0 +1,62 @@
+# 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.24.1.ebuild b/dev-python/mkdocstrings/mkdocstrings-0.24.1.ebuild
new file mode 100644
index 000000000000..256c3b54a0d8
--- /dev/null
+++ b/dev-python/mkdocstrings/mkdocstrings-0.24.1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 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.24.2.ebuild b/dev-python/mkdocstrings/mkdocstrings-0.24.2.ebuild
new file mode 100644
index 000000000000..80d4bac4ae7b
--- /dev/null
+++ b/dev-python/mkdocstrings/mkdocstrings-0.24.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=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.24.3.ebuild b/dev-python/mkdocstrings/mkdocstrings-0.24.3.ebuild
new file mode 100644
index 000000000000..80d4bac4ae7b
--- /dev/null
+++ b/dev-python/mkdocstrings/mkdocstrings-0.24.3.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..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/ml-dtypes/Manifest b/dev-python/ml-dtypes/Manifest
new file mode 100644
index 000000000000..b9f867304fa1
--- /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.3.2.gh.tar.gz 71606 BLAKE2B cbf5414d09160a2e4e878261c5842efd664a424064aae727d9d1188304a5e888ca955b3bf199956c2beed53c78c0f8afeb8860245d57553b10ca7262ba1e8bce SHA512 d42f6734edc5c159f15b9c020deb2595f32bbcdf53ecfaea840afb38314a855d09315693129393f755fdc3295b5965073b404822aacf1a149c7f9bab89c48fd5
diff --git a/dev-python/ml-dtypes/metadata.xml b/dev-python/ml-dtypes/metadata.xml
new file mode 100644
index 000000000000..a0436bcc589f
--- /dev/null
+++ b/dev-python/ml-dtypes/metadata.xml
@@ -0,0 +1,12 @@
+<?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>
+ <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.3.2.ebuild b/dev-python/ml-dtypes/ml-dtypes-0.3.2.ebuild
new file mode 100644
index 000000000000..e12495719202
--- /dev/null
+++ b/dev-python/ml-dtypes/ml-dtypes-0.3.2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PNGH="${PN/-/_}" # pypi is ml-dtypes, github is ml_dtypes
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1
+
+EIGEN_CommitId="7bf2968fed5f246c0589e1111004cb420fcd7c71"
+
+DESCRIPTION="A stand-alone implementation of several NumPy dtype extensions"
+HOMEPAGE="https://github.com/jax-ml/ml_dtypes"
+SRC_URI="
+ https://github.com/jax-ml/${PNGH}/archive/refs/tags/v${PV}.tar.gz -> ${PNGH}-${PV}.gh.tar.gz
+ https://gitlab.com/libeigen/eigen/-/archive/${EIGEN_CommitId}/eigen-${EIGEN_CommitId}.tar.bz2
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+S="${WORKDIR}/${PNGH}-${PV}"
+
+DEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pybind11[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ rmdir third_party/eigen || die
+ cp -r "${WORKDIR}/eigen-${EIGEN_CommitId}" third_party/eigen || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/mmtf-python/mmtf-python-1.1.3.ebuild b/dev-python/mmtf-python/mmtf-python-1.1.3.ebuild
index 832f3668a00c..5f3d397262c7 100644
--- a/dev-python/mmtf-python/mmtf-python-1.1.3.ebuild
+++ b/dev-python/mmtf-python/mmtf-python-1.1.3.ebuild
@@ -4,12 +4,17 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
DESCRIPTION="The python implementation of the MMTF API, decoder and encoder"
-HOMEPAGE="http://mmtf.rcsb.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://mmtf.rcsb.org/
+ https://github.com/rcsb/mmtf-python/
+ https://pypi.org/project/mmtf-python/
+"
LICENSE="Apache-2.0"
SLOT="0"
diff --git a/dev-python/mock/Manifest b/dev-python/mock/Manifest
index f4218c639377..87e3897664da 100644
--- a/dev-python/mock/Manifest
+++ b/dev-python/mock/Manifest
@@ -1,3 +1 @@
-DIST mock-4.0.3.gh.tar.gz 80318 BLAKE2B bc0dc8b97129eaa2f0f9c89898157ea5de398f59f4e2ebc07318cf745b74d1f1bcc989774600ec88ce1956f9fe16f9464f101ea5df5cd23b3a58b432d19feb8a SHA512 adfdab253eb3bc1b6cb767c58ffa3a8a5c5f88da0f04ea6680e0d87da59177972d2d99bfe0a770ac2ed4f809ca6a090a9d0f789eea8f4365ef2c54f8e8792e89
-DIST mock-5.0.0.gh.tar.gz 83866 BLAKE2B 7c0718f8d43325b293b070f37c39ccf539a80460ac7e7b724674deb02154157a7dd62a81cd439e19589cee66f256f111f0feec9f8790f16c70948fac3745b43b SHA512 acde3099cb8daf49dffc390faffc45f94c9f1dd24f196ef613b0677cd88d1b55b5cbd04604ff540731e919784242c1cc341065fae99c347c6dfbb3d8115fc2fe
-DIST mock-5.0.1.gh.tar.gz 84539 BLAKE2B ac50d187974a671db096222af0d0f27add771959553387ca8402951c17ed8e2b9669fff7b147fbc7aca25abc4b5006f5f9d3c2b13f6626a9bea140f6738b3f78 SHA512 b387137632237fa9079a0f70d8724e28bc1833c49d6e14f8fbc357064cf495f6177c783db9448343c0bea98936fc5c3667ce625f5dcdaca851a2f9cc7e3e5639
+DIST mock-5.1.0.tar.gz 80232 BLAKE2B d260551feaf051d4be8c55920345e8fa64c33a42d4a82a2ea5dd5e0077af393ec1c1f37fb0b61e2cb6167a58c8951adeb6c9cc2dc638fc410a2984a3cbae17e1 SHA512 26b7350fddf2eca82b6dfaafc58cacbd4031fd787b1afc463ee13eff778846941120fd89755e4783bfad389f01cfbdd64f2feab5a12ac2bd4ca6407c0f2e973c
diff --git a/dev-python/mock/files/mock-4.0.3-py310.patch b/dev-python/mock/files/mock-4.0.3-py310.patch
deleted file mode 100644
index 4a096f35126c..000000000000
--- a/dev-python/mock/files/mock-4.0.3-py310.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From f3e3d82aab0ede7e25273806dc0505574d85eae2 Mon Sep 17 00:00:00 2001
-From: Chris Withers <chris@simplistix.co.uk>
-Date: Thu, 15 Apr 2021 08:27:25 +0100
-Subject: [PATCH] fix tests that should test mock but were testing
- unittest.mock
-
----
- mock/tests/testmock.py | 15 ++++++++-------
- 1 file changed, 8 insertions(+), 7 deletions(-)
-
-diff --git a/mock/tests/testmock.py b/mock/tests/testmock.py
-index 5702b6d..1a70909 100644
---- a/mock/tests/testmock.py
-+++ b/mock/tests/testmock.py
-@@ -13,6 +13,7 @@ from mock import (
- create_autospec, mock
- )
- from mock.mock import _Call, _CallList
-+import mock.mock as mock_module
-
-
- class Iter(object):
-@@ -47,7 +48,7 @@ class MockTest(unittest.TestCase):
- # if __all__ is badly defined then import * will raise an error
- # We have to exec it because you can't import * inside a method
- # in Python 3
-- exec("from unittest.mock import *")
-+ exec("from mock.mock import *")
-
-
- def test_constructor(self):
-@@ -2137,16 +2138,16 @@ class MockTest(unittest.TestCase):
- # test_patch_dict_test_prefix and test_patch_test_prefix not restoring
- # causes the objects patched to go out of sync
-
-- old_patch = unittest.mock.patch
-+ old_patch = mock_module.patch
-
- # Directly using __setattr__ on unittest.mock causes current imported
- # reference to be updated. Use a lambda so that during cleanup the
- # re-imported new reference is updated.
-- self.addCleanup(lambda patch: setattr(unittest.mock, 'patch', patch),
-+ self.addCleanup(lambda patch: setattr(mock_module, 'patch', patch),
- old_patch)
-
- with patch.dict('sys.modules'):
-- del sys.modules['unittest.mock']
-+ del sys.modules['mock']
-
- # This trace will stop coverage being measured ;-)
- def trace(frame, event, arg): # pragma: no cover
-@@ -2155,7 +2156,7 @@ class MockTest(unittest.TestCase):
- self.addCleanup(sys.settrace, sys.gettrace())
- sys.settrace(trace)
-
-- from unittest.mock import (
-+ from mock.mock import (
- Mock, MagicMock, NonCallableMock, NonCallableMagicMock
- )
-
-@@ -2170,10 +2171,10 @@ class MockTest(unittest.TestCase):
- def test_bool_not_called_when_passing_spec_arg(self):
- class Something:
- def __init__(self):
-- self.obj_with_bool_func = unittest.mock.MagicMock()
-+ self.obj_with_bool_func = mock_module.MagicMock()
-
- obj = Something()
-- with unittest.mock.patch.object(obj, 'obj_with_bool_func', autospec=True): pass
-+ with mock_module.patch.object(obj, 'obj_with_bool_func', autospec=True): pass
-
- self.assertEqual(obj.obj_with_bool_func.__bool__.call_count, 0)
-
---
-2.31.1
-
diff --git a/dev-python/mock/mock-4.0.3-r1.ebuild b/dev-python/mock/mock-4.0.3-r1.ebuild
deleted file mode 100644
index 94fd7e6726e8..000000000000
--- a/dev-python/mock/mock-4.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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Rolling backport of unittest.mock for all Pythons"
-HOMEPAGE="
- https://github.com/testing-cabal/mock/
- https://pypi.org/project/mock/
-"
-SRC_URI="
- https://github.com/testing-cabal/mock/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"
-
-RDEPEND="
- >=dev-python/six-1.9[${PYTHON_USEDEP}]
-"
-BDEPEND=${RDEPEND}
-
-PATCHES=(
- "${FILESDIR}"/${P}-py310.patch
-)
-
-distutils_enable_tests pytest
-
-python_install_all() {
- local DOCS=( CHANGELOG.rst README.rst )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/mock/mock-5.0.0-r1.ebuild b/dev-python/mock/mock-5.0.0-r1.ebuild
deleted file mode 100644
index dad28b20c195..000000000000
--- a/dev-python/mock/mock-5.0.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Rolling backport of unittest.mock for all Pythons"
-HOMEPAGE="
- https://github.com/testing-cabal/mock/
- https://pypi.org/project/mock/
-"
-SRC_URI="
- https://github.com/testing-cabal/mock/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"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- local DOCS=( CHANGELOG.rst README.rst )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/mock/mock-5.0.1.ebuild b/dev-python/mock/mock-5.0.1.ebuild
deleted file mode 100644
index dad28b20c195..000000000000
--- a/dev-python/mock/mock-5.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Rolling backport of unittest.mock for all Pythons"
-HOMEPAGE="
- https://github.com/testing-cabal/mock/
- https://pypi.org/project/mock/
-"
-SRC_URI="
- https://github.com/testing-cabal/mock/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"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- local DOCS=( CHANGELOG.rst README.rst )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/mock/mock-5.1.0.ebuild b/dev-python/mock/mock-5.1.0.ebuild
new file mode 100644
index 000000000000..9be742b3f2d2
--- /dev/null
+++ b/dev-python/mock/mock-5.1.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 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="Rolling backport of unittest.mock for all Pythons"
+HOMEPAGE="
+ https://github.com/testing-cabal/mock/
+ https://pypi.org/project/mock/
+"
+
+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
+
+DOCS=( CHANGELOG.rst README.rst )
diff --git a/dev-python/moddb/Manifest b/dev-python/moddb/Manifest
index 355455da911e..65d55f95c952 100644
--- a/dev-python/moddb/Manifest
+++ b/dev-python/moddb/Manifest
@@ -1 +1 @@
-DIST moddb-0.8.1.gh.tar.gz 68417 BLAKE2B e013c6a2c315eb3f36ace6f37eadacd50a5854726cb6cbcbc6d16170bc1af06bf973d9874909ecb6e70c5a3cb896ef559eb6e915eed41217069fc3c7f468e57e SHA512 3557881f9bc33c911ba2e3d845a8294116c5ea394de4f24ab05a0d0af07ae000e972db9077fad8a1a30941a66b7f560cfce0616df93f1bae835efb51ee6035e2
+DIST moddb-0.10.0.gh.tar.gz 14174575 BLAKE2B cffcdb27d3bd43da412d9ce689ba06d59ee013d4b78b75fddc8749243aaa6abb50c576811ef8e8e88c66ff41b578a79daec4ce0dbe56f444c94eeabedb0fef89 SHA512 5b21aea8a76c2b28579dbb3587956042126b65248684c2c6caef43793b8e7dd1d318434783c252ef191ee7832ea9fe1a434797797a9a76804133a53ede7674f9
diff --git a/dev-python/moddb/moddb-0.10.0.ebuild b/dev-python/moddb/moddb-0.10.0.ebuild
new file mode 100644
index 000000000000..588d82aa4a6c
--- /dev/null
+++ b/dev-python/moddb/moddb-0.10.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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.8.1.ebuild b/dev-python/moddb/moddb-0.8.1.ebuild
deleted file mode 100644
index 4d37fb8e9f73..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"
-
-# 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/more-itertools/Manifest b/dev-python/more-itertools/Manifest
index 06dca92e0dff..80eeb3b1cb52 100644
--- a/dev-python/more-itertools/Manifest
+++ b/dev-python/more-itertools/Manifest
@@ -1 +1 @@
-DIST more-itertools-9.0.0.tar.gz 104237 BLAKE2B 523fe14889862edc2f05da79156914e12984d62168df46630fbe3169ebbe48ba66e018a65bd17dfad54676e5334335dbcda5c442556970442ccc2a792940bcc4 SHA512 a1e73a7a3e4530d070d639baa01c08d91ca11cdab6fec36131764001c2b78f1649e19ddf78ee3c1295f2f9d9951ea7483a4fd1f7c12d5655c3b696db7de35c1e
+DIST more-itertools-10.2.0.tar.gz 114449 BLAKE2B 2bac2f69c65e3536b98a7a54857ef1e5b078cf244c2eb988c7fb31de7e0eb3efd496e8d0778a02a29b2e696499dbd33b84cfa7f442ee881e5785ec2dd4118de5 SHA512 4357de86ca4e76d840825111cd6e19296af6394a6095c0cc28650f8e2abfe2cb45a24c34382532753652c506e5b261cf0d05d37c799434f5f7cfc8fa387d06f2
diff --git a/dev-python/more-itertools/more-itertools-10.2.0.ebuild b/dev-python/more-itertools/more-itertools-10.2.0.ebuild
new file mode 100644
index 000000000000..f755aed5bcfb
--- /dev/null
+++ b/dev-python/more-itertools/more-itertools-10.2.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..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-9.0.0.ebuild b/dev-python/more-itertools/more-itertools-9.0.0.ebuild
deleted file mode 100644
index d0b6bcd46d35..000000000000
--- a/dev-python/more-itertools/more-itertools-9.0.0.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 7 -- sys-apps/portage dep
-EAPI=7
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="More routines for operating on iterables, beyond itertools"
-HOMEPAGE="
- https://github.com/more-itertools/more-itertools/
- https://pypi.org/project/more-itertools/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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 29e4a969d13c..514b7c2d7fae 100644
--- a/dev-python/moto/Manifest
+++ b/dev-python/moto/Manifest
@@ -1,4 +1,5 @@
-DIST moto-4.0.12.tar.gz 2559220 BLAKE2B 475097f498bc648d6a29db36343135372f0881069ee02b21f0361df0215e852c344edfb7661154c150da88c4de86f832765169dfa9bc159213f15599a21ea0cb SHA512 ea404e603450791956cca9701825afad523ee99358597a3c627af2fda8732c2bbcca41f5d0fe67130a06a225f1ced35a9d35fa520130ff311120c8d6d5863a0a
-DIST moto-4.0.13.tar.gz 2563514 BLAKE2B 1d2f01ff0af7c1ab4bc8670015eeefddf70970aa321ca641989ef740bf3f896bacfeaf8b16cdf37b7fedecafa8d81cc3d66473315f867fcbd6143a7d010d9aba SHA512 1c5a6a19a5eccfd70de71ec0aaa7263f8a7ebb16f9576eb78d72b0a3f0dbdaa3e6db1a631ba36d5c1b04f6d8aded6f492cb8792da1e6fd036897a1dfbdca0b56
-DIST moto-4.1.0.tar.gz 2561695 BLAKE2B ce95abe8d49bee64d5323988526e251c52cd5ee5df95fc058240336a2eb580bf7eafbef6b594328a4a5ef34d047a293656c8ec9cdbf9c41bf3c7df05fdfb33c5 SHA512 c5b234c7d7057922880ad9ba09bb4e0453ca09d9f2b58ffce1990092e5d5cb070954e9d6cca307730ecb5540509792d0dbb4135289137fc12469354a91f326b8
-DIST moto-4.1.1.tar.gz 2581128 BLAKE2B a4af36e5f87633a8b3f0dcfc5b786d95925dc787acf4b6a7698262637208a1fa0344e734a4a5c8073643e5d92740ee52d3b37f305b1afbf81e3a2f8496b5ecf1 SHA512 1b7ec2cd1a2a7273a22cc8fe3ddf64b9e4447cdf7d4fd966dee1cbde6b95c1a51d1e5870530eee1f19dbdaa196bff5c283a2df08462ab9ffac3b683f789bca25
+DIST moto-4.2.14.tar.gz 4933741 BLAKE2B 4c50a808dc8f27cfbcd0ba234d268084ee9a32f36cb5d6af61aacc4ee79f7bf5cf1045147c4642472129eee37bef8bc2c1953d140260d39d7f333ae0f5e5cf95 SHA512 d4079118ed1d2eef9134575e33dc0ed749bff0293d753baa63a630dbb987914b9933445027abdc344bb93fa1d6e483baf8a337a444c9dd055dda50b095ff9937
+DIST moto-5.0.2.tar.gz 4948857 BLAKE2B 664da28791bbf65eae9f76f59fd62f9c53aeb615c714fb142684213fe90f6e1e071f30511dfa44e16b12abd6fcf97316d097f3b4b1008a0f1139e5a419f1bb87 SHA512 4fb03586171dfde6979022623047578634f9b8ec7ac34234bbfe3e60492c34a04b61547c4fb42f7734ad8284271cc238cc33692b746d52d004d33f0c6348852b
+DIST moto-5.0.3.tar.gz 4984811 BLAKE2B cfa8f70ca403d995b97dc6b5e0e6bcdeb4383ce76c1a333a7b047dccbca2d9e46bf9622d36720eee6fc0c917292542b154a326df863b45451a3ce72038b6e1c4 SHA512 c509795a7b00eec6adf9107ac541f8d4300fb2bd75459e9fb5e57f55843430d3a05eab85bd4f12ee6dbf88602ca8c185165a0b46d11973ad18c12a8bfe44dacf
+DIST moto-5.0.4.tar.gz 5174431 BLAKE2B 03fb18cb63e0c7ccc0239bb27388b3e1190c078828e229ac88fee9fb0b8113b2bfac0c2f9abda4d9e67fe44b37a12e0ba7a8f8fa5c3973f0fa82dbf8ed763048 SHA512 65209c85895780bcfdcdc13d4cc0c64862e28fd3aefa6e265c86af6a320f554d5a58cb46b6c059d1288edc902b8069dc81e38b025238ec4340c485943dab5202
+DIST moto-5.0.5.tar.gz 5188450 BLAKE2B 052cb9cbc5752ce46283f4d3fd43e92ba3a492437d19e6284eb6907dfc4dc84e50ac6b64f0c78df3f8b1dd8140008528bd00090e112f6642b9acebe8e268e8a0 SHA512 c3c57d79864e63abae128c6d683314d06b6ee9fd40e496485e8499196b54df5e7281abb0d0ca6f5f096685799041552becfd2404a0828964232246868c70adb9
diff --git a/dev-python/moto/moto-4.0.12-r1.ebuild b/dev-python/moto/moto-4.0.12-r1.ebuild
deleted file mode 100644
index 523024b65e32..000000000000
--- a/dev-python/moto/moto-4.0.12-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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Mock library for boto"
-HOMEPAGE="
- https://github.com/spulec/moto/
- https://pypi.org/project/moto/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/aws-xray-sdk-python-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-py-2.5.1[${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/pretty-yaml[${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/python-sshpubkeys[${PYTHON_USEDEP}]
- >=dev-python/responses-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.5[${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}]
- )
-"
-
-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
- tests/test_swf/responses/test_decision_tasks.py::test_respond_decision_task_completed_with_schedule_activity_task_boto3
- tests/test_swf/responses/test_timeouts.py::test_activity_task_heartbeat_timeout_boto3
- tests/test_swf/responses/test_timeouts.py::test_decision_task_start_to_close_timeout_boto3
- tests/test_swf/responses/test_timeouts.py::test_workflow_execution_start_to_close_timeout_boto3
- # broken code (local variable used referenced before definition)
- tests/test_appsync/test_appsync_schema.py
- tests/test_appsync/test_server.py::test_appsync_list_tags_for_resource
- # Needs network (or docker?) but not marked as such, bug #807031
- # TODO: report upstream
- tests/test_batch/test_batch_jobs.py::test_terminate_job
- 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_dependencies
- tests/test_batch/test_batch_jobs.py::test_container_overrides
- 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_events/test_events_lambdatriggers_integration.py::test_creating_bucket__invokes_lambda
- tests/test_sqs/test_integration.py::test_invoke_function_from_sqs_exception
- tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_exception
- tests/test_s3/test_server.py::test_s3_server_post_to_bucket_redirect
- tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header
- "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]"
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -m 'not network'
-}
diff --git a/dev-python/moto/moto-4.0.13.ebuild b/dev-python/moto/moto-4.0.13.ebuild
deleted file mode 100644
index 2709937e895d..000000000000
--- a/dev-python/moto/moto-4.0.13.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_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Mock library for boto"
-HOMEPAGE="
- https://github.com/spulec/moto/
- https://pypi.org/project/moto/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/aws-xray-sdk-python-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-py-2.5.1[${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/pretty-yaml[${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/python-sshpubkeys[${PYTHON_USEDEP}]
- >=dev-python/responses-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.5[${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}]
- )
-"
-
-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
- tests/test_swf/responses/test_decision_tasks.py::test_respond_decision_task_completed_with_schedule_activity_task_boto3
- tests/test_swf/responses/test_timeouts.py::test_activity_task_heartbeat_timeout_boto3
- tests/test_swf/responses/test_timeouts.py::test_decision_task_start_to_close_timeout_boto3
- tests/test_swf/responses/test_timeouts.py::test_workflow_execution_start_to_close_timeout_boto3
- # broken code (local variable used referenced before definition)
- tests/test_appsync/test_appsync_schema.py
- tests/test_appsync/test_server.py::test_appsync_list_tags_for_resource
- # Needs network (or docker?) but not marked as such, bug #807031
- # TODO: report upstream
- tests/test_batch/test_batch_jobs.py::test_terminate_job
- 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_dependencies
- tests/test_batch/test_batch_jobs.py::test_container_overrides
- 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_events/test_events_lambdatriggers_integration.py::test_creating_bucket__invokes_lambda
- tests/test_sqs/test_integration.py::test_invoke_function_from_sqs_exception
- tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_exception
- tests/test_s3/test_server.py::test_s3_server_post_to_bucket_redirect
- tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header
- "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]"
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -m 'not network'
-}
diff --git a/dev-python/moto/moto-4.1.0.ebuild b/dev-python/moto/moto-4.1.0.ebuild
deleted file mode 100644
index d49e38071fed..000000000000
--- a/dev-python/moto/moto-4.1.0.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_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Mock library for boto"
-HOMEPAGE="
- https://github.com/getmoto/moto/
- https://pypi.org/project/moto/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/aws-xray-sdk-python-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-py-2.5.1[${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/pretty-yaml[${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/python-sshpubkeys[${PYTHON_USEDEP}]
- >=dev-python/responses-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.5[${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}]
- )
-"
-
-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
- tests/test_swf/responses/test_decision_tasks.py::test_respond_decision_task_completed_with_schedule_activity_task_boto3
- tests/test_swf/responses/test_timeouts.py::test_activity_task_heartbeat_timeout_boto3
- tests/test_swf/responses/test_timeouts.py::test_decision_task_start_to_close_timeout_boto3
- tests/test_swf/responses/test_timeouts.py::test_workflow_execution_start_to_close_timeout_boto3
- # broken code (local variable used referenced before definition)
- tests/test_appsync/test_appsync_schema.py
- tests/test_appsync/test_server.py::test_appsync_list_tags_for_resource
- # Needs network (or docker?) but not marked as such, bug #807031
- # TODO: report upstream
- tests/test_batch/test_batch_jobs.py::test_terminate_job
- 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_dependencies
- tests/test_batch/test_batch_jobs.py::test_container_overrides
- 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_events/test_events_lambdatriggers_integration.py::test_creating_bucket__invokes_lambda
- tests/test_sqs/test_integration.py::test_invoke_function_from_sqs_exception
- tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_exception
- tests/test_s3/test_server.py::test_s3_server_post_to_bucket_redirect
- tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header
- "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]"
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -m 'not network'
-}
diff --git a/dev-python/moto/moto-4.1.1.ebuild b/dev-python/moto/moto-4.1.1.ebuild
deleted file mode 100644
index f33f12783a79..000000000000
--- a/dev-python/moto/moto-4.1.1.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-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="Mock library for boto"
-HOMEPAGE="
- https://github.com/getmoto/moto/
- https://pypi.org/project/moto/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/aws-xray-sdk-python-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-py-2.5.1[${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/pretty-yaml[${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/python-sshpubkeys[${PYTHON_USEDEP}]
- >=dev-python/responses-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.5[${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}]
- )
-"
-
-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
- tests/test_swf/responses/test_decision_tasks.py::test_respond_decision_task_completed_with_schedule_activity_task_boto3
- tests/test_swf/responses/test_timeouts.py::test_activity_task_heartbeat_timeout_boto3
- tests/test_swf/responses/test_timeouts.py::test_decision_task_start_to_close_timeout_boto3
- tests/test_swf/responses/test_timeouts.py::test_workflow_execution_start_to_close_timeout_boto3
- # broken code (local variable used referenced before definition)
- tests/test_appsync/test_appsync_schema.py
- tests/test_appsync/test_server.py::test_appsync_list_tags_for_resource
- # Needs network (or docker?) but not marked as such, bug #807031
- # TODO: report upstream
- tests/test_batch/test_batch_jobs.py::test_terminate_job
- 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_dependencies
- tests/test_batch/test_batch_jobs.py::test_container_overrides
- 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_events/test_events_lambdatriggers_integration.py::test_creating_bucket__invokes_lambda
- tests/test_sqs/test_integration.py::test_invoke_function_from_sqs_exception
- tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_exception
- tests/test_s3/test_server.py::test_s3_server_post_to_bucket_redirect
- tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header
- "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_batch/test_batch_jobs.py::test_failed_dependencies
- tests/test_batch/test_batch_jobs.py::test_failed_job
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- 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..8ed94ab5f34b
--- /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 ~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_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-5.0.2.ebuild b/dev-python/moto/moto-5.0.2.ebuild
new file mode 100644
index 000000000000..9e01814d7ebd
--- /dev/null
+++ b/dev-python/moto/moto-5.0.2.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=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 ~arm 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}]
+ >=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_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
+ )
+ local EPYTEST_IGNORE=(
+ # require joserfc
+ tests/test_cognitoidp/test_cognitoidp.py
+ )
+
+ 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
+ )
+
+ EPYTEST_XDIST= epytest "${serial_tests[@]}"
+
+ EPYTEST_DESELECT+=( "${serial_tests[@]}" )
+ epytest -m 'not network'
+}
diff --git a/dev-python/moto/moto-5.0.3.ebuild b/dev-python/moto/moto-5.0.3.ebuild
new file mode 100644
index 000000000000..7dd96d007b49
--- /dev/null
+++ b/dev-python/moto/moto-5.0.3.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=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 ~arm 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}]
+ >=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_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
+ )
+ local EPYTEST_IGNORE=(
+ # require joserfc
+ tests/test_cognitoidp/test_cognitoidp.py
+ )
+
+ 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
+ )
+
+ EPYTEST_XDIST= epytest "${serial_tests[@]}"
+
+ EPYTEST_DESELECT+=( "${serial_tests[@]}" )
+ epytest -m 'not network'
+}
diff --git a/dev-python/moto/moto-5.0.4.ebuild b/dev-python/moto/moto-5.0.4.ebuild
new file mode 100644
index 000000000000..5636dcb9452f
--- /dev/null
+++ b/dev-python/moto/moto-5.0.4.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed 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 ~arm 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}]
+ >=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_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
+ )
+ local EPYTEST_IGNORE=(
+ # require joserfc
+ tests/test_cognitoidp/test_cognitoidp.py
+ # require antlr4 (which doesn't support py3.12)
+ tests/test_stepfunctions/parser
+ )
+
+ 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
+ )
+
+ EPYTEST_XDIST= epytest "${serial_tests[@]}"
+
+ EPYTEST_DESELECT+=( "${serial_tests[@]}" )
+ epytest -m 'not network'
+}
diff --git a/dev-python/moto/moto-5.0.5.ebuild b/dev-python/moto/moto-5.0.5.ebuild
new file mode 100644
index 000000000000..31ff40e7e342
--- /dev/null
+++ b/dev-python/moto/moto-5.0.5.ebuild
@@ -0,0 +1,153 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed 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 ~arm ~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
+
+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_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
+ )
+ local EPYTEST_IGNORE=(
+ # require joserfc
+ tests/test_cognitoidp/test_cognitoidp.py
+ # require antlr4 (which doesn't support py3.12)
+ tests/test_stepfunctions/parser
+ )
+
+ 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
+ )
+
+ EPYTEST_XDIST= epytest "${serial_tests[@]}"
+
+ EPYTEST_DESELECT+=( "${serial_tests[@]}" )
+ 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 c760ca4696fd..0308856d49b0 100644
--- a/dev-python/mpdlcd/mpdlcd-0.5.2-r2.ebuild
+++ b/dev-python/mpdlcd/mpdlcd-0.5.2-r2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517="setuptools"
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -17,7 +17,7 @@ LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 x86"
-RDEPEND="dev-python/python-mpd"
+RDEPEND="dev-python/python-mpd2"
distutils_enable_tests pytest
diff --git a/dev-python/mpi4py/Manifest b/dev-python/mpi4py/Manifest
index faba9600f3e6..19f3f4338db2 100644
--- a/dev-python/mpi4py/Manifest
+++ b/dev-python/mpi4py/Manifest
@@ -1,2 +1 @@
-DIST mpi4py-3.1.3.tar.gz 2461368 BLAKE2B 3ff7f6519a1ee96249567b1c65401fd1242c433bbb0a55c9d0a9b07f167ec44c71aefc24ac5fb354ceeb591dbfe97a4306f8455bb00559789367e91b78d80c16 SHA512 7a15224692016253120e8e88be1f7201e6f4548c1fb5ed15f04f416000b0d9e259dd8e80c0e237b1a960143e52b4a840d2a541359833387ac12868af1c059cea
-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.3.ebuild b/dev-python/mpi4py/mpi4py-3.1.3.ebuild
deleted file mode 100644
index bcc5f7cfbd44..000000000000
--- a/dev-python/mpi4py/mpi4py-3.1.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Message Passing Interface for Python"
-HOMEPAGE="https://github.com/mpi4py/mpi4py https://pypi.org/project/mpi4py/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.4.ebuild b/dev-python/mpi4py/mpi4py-3.1.4.ebuild
deleted file mode 100644
index 64887e75b378..000000000000
--- a/dev-python/mpi4py/mpi4py-3.1.4.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Message Passing Interface for Python"
-HOMEPAGE="https://github.com/mpi4py/mpi4py https://pypi.org/project/mpi4py/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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 b9377f33da42..c856f8ba229c 100644
--- a/dev-python/mpmath/Manifest
+++ b/dev-python/mpmath/Manifest
@@ -1 +1 @@
-DIST mpmath-1.2.1.tar.gz 2135690 BLAKE2B a21e0ef04a025f23e32dad5839db411708266c6cf3408e97ec5c995f197b14f446c1d328bd2e9f50e1c48a2e08239ef7908fcc3aab8659118fc1e0e78106a47e SHA512 2dd908bca26162adcdce0493146d009e04d3d96db965ff2207c332504020fa6f5a5e2af97d38e8fb3e7442a26c1e93a756a8d93b378da720ab7c07753f700d10
+DIST mpmath-1.3.0.tar.gz 508106 BLAKE2B 9d4eebbbb6788dd3ee45c8c30068ef3512043dd09ab626cbaf69b0f6bdf057a6e8c53c34e3dda7627db923f0d536a0bebf83916d8942f4dde9546bb8e0046f33 SHA512 a68028150095d743eae9669a0f70cbe6b7bcb4d27dfad6b1a96575f0885ec7306459a2a464117bab18779883ee8b4293502b4bd0ebd8672767e1d08d38f8b202
diff --git a/dev-python/mpmath/metadata.xml b/dev-python/mpmath/metadata.xml
index 289a27dddbc4..416bff3de82c 100644
--- a/dev-python/mpmath/metadata.xml
+++ b/dev-python/mpmath/metadata.xml
@@ -14,11 +14,8 @@
<name>Python</name>
</maintainer>
<stabilize-allarches/>
- <use>
- <flag name="matplotlib">Add support for <pkg>dev-python/matplotlib</pkg></flag>
- </use>
<upstream>
<remote-id type="pypi">mpmath</remote-id>
- <remote-id type="github">fredrik-johansson/mpmath</remote-id>
+ <remote-id type="github">mpmath/mpmath</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/mpmath/mpmath-1.2.1.ebuild b/dev-python/mpmath/mpmath-1.2.1.ebuild
deleted file mode 100644
index 92b2d7344cd3..000000000000
--- a/dev-python/mpmath/mpmath-1.2.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=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Python library for arbitrary-precision floating-point arithmetic"
-HOMEPAGE="https://mpmath.org/"
-SRC_URI="https://github.com/fredrik-johansson/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="gmp matplotlib"
-
-RDEPEND="
- gmp? ( dev-python/gmpy[${PYTHON_USEDEP}] )
- matplotlib? ( dev-python/matplotlib[${PYTHON_USEDEP}] )"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
-
-src_configure() {
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
- distutils-r1_src_configure
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- "${EPYTHON}" mpmath/tests/runtests.py -local || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/mpmath/mpmath-1.3.0-r1.ebuild b/dev-python/mpmath/mpmath-1.3.0-r1.ebuild
new file mode 100644
index 000000000000..d4c725b40085
--- /dev/null
+++ b/dev-python/mpmath/mpmath-1.3.0-r1.ebuild
@@ -0,0 +1,35 @@
+# 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 optfeature pypi virtualx
+
+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"
+
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ "${EPYTHON}" mpmath/tests/runtests.py -local || die "Tests failed with ${EPYTHON}"
+}
+
+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..6cc2db5e4196 100644
--- a/dev-python/mrcfile/Manifest
+++ b/dev-python/mrcfile/Manifest
@@ -1 +1 @@
-DIST mrcfile-1.4.3.gh.tar.gz 148147024 BLAKE2B aa604965e6e40a25f57ec61bb3a3fc2fc6a83827db11620678138bec893539502a8e00e6e279e3bb86805773201338f430cc4d7d4b60efaee2d36933f071132e SHA512 e4bdc9b03ea55ae6bcaf29d8f8154e941f7e8b780f924a3265156a25bfa7f7a6f88abb3ce4374208104a4a3eea8d18724a248aae9fea2018a24ae559680ac2b7
+DIST mrcfile-1.5.0.gh.tar.gz 148148453 BLAKE2B 45cb7483e0aa5d6a2ac4e077bd0e2a9a8a265c4fdb69fc467e1dd3bab79960478d69ed0ec5e4f97ff528a02255c1c0b3e839e808ff0380e7ea2926b569a5478f SHA512 90e85e74c413b74e9ea86996b9e1ed4ac8f8cc0e7537f1916482d5e89d1fa99814c23ad2e51d912485a02644eeb65925067190bb3a7b222310aca4946b037ecc
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 48c609b6c9c9..000000000000
--- a/dev-python/mrcfile/mrcfile-1.4.3.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="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"
-
-RDEPEND="
- >=dev-python/numpy-1.16.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/mrcfile/mrcfile-1.5.0.ebuild b/dev-python/mrcfile/mrcfile-1.5.0.ebuild
new file mode 100644
index 000000000000..bd29d7f8a9da
--- /dev/null
+++ b/dev-python/mrcfile/mrcfile-1.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=( 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
diff --git a/dev-python/msgpack/Manifest b/dev-python/msgpack/Manifest
index a992da3dafd7..9568215623f3 100644
--- a/dev-python/msgpack/Manifest
+++ b/dev-python/msgpack/Manifest
@@ -1 +1,2 @@
-DIST msgpack-1.0.4.tar.gz 128053 BLAKE2B fcbaafbea57f87c949a43a6bd6f6507eb3a07ac5e4a9c44fabfbb7c07849f1edabb8dadcd99a547fed32bce0f900f965368c4ee744acd4e850cad5c27022f463 SHA512 dcd59bf77408acf7171bdcc46c4d6bf875d36e80b216b7721544855e6c2b20be469415ee768b2195e74fe4650621ee6bfaa7897e709ac0d8d59cdb30772cb90b
+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.4.ebuild b/dev-python/msgpack/msgpack-1.0.4.ebuild
deleted file mode 100644
index 7df088f85e01..000000000000
--- a/dev-python/msgpack/msgpack-1.0.4.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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="MessagePack (de)serializer for Python"
-HOMEPAGE="
- https://msgpack.org/
- https://github.com/msgpack/msgpack-python/
- https://pypi.org/project/msgpack/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~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
-
- if ! use native-extensions ; then
- sed -i -e "/have_cython/s:True:False:" setup.py || die
- fi
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/msgpack/msgpack-1.0.7.ebuild b/dev-python/msgpack/msgpack-1.0.7.ebuild
new file mode 100644
index 000000000000..a19c2a895c02
--- /dev/null
+++ b/dev-python/msgpack/msgpack-1.0.7.ebuild
@@ -0,0 +1,51 @@
+# 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-3.0.0[${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..56e869494e21
--- /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..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-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/Manifest b/dev-python/mss/Manifest
index cdcec2228e9c..0289532bf4e6 100644
--- a/dev-python/mss/Manifest
+++ b/dev-python/mss/Manifest
@@ -1 +1 @@
-DIST python-mss-7.0.1.gh.tar.gz 91121 BLAKE2B 67061500cf751b76d8507b164f17caa028261a5a52107603249cab4634205c52518231e0038428cce7a219effcf07a951056ae44a09cbc2dc01f10aed984db6a SHA512 efdbfc94a1218842db109e2dbd0659bb426a958050c9a3dc5802f018727bcbfeb3ca8dec6bdec914c894f4153cbd1994cd3ad976435407b271d127e957b1fda6
+DIST mss-9.0.1.tar.gz 87504 BLAKE2B 445392b65b62e67802397e708781cbf1b3409303c68d863c4f44b0f32026b196faba1a6bb960110917ea6cf2b34b43d61d4e069fac6f6926af3e6a0b5fbab800 SHA512 22c4aa56eaf5d3c6ca752a8c966908b35256056a23f5f707d2ccd5acfbefecec6b6b8bff5d8c18024ef94f365a6ce1433aafddfdf9f7f30180af5dbd8a1f8eb7
diff --git a/dev-python/mss/metadata.xml b/dev-python/mss/metadata.xml
index 2a021953ee2c..012fc6882c8f 100644
--- a/dev-python/mss/metadata.xml
+++ b/dev-python/mss/metadata.xml
@@ -1,16 +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>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">BoboTiG/python-mss</remote-id>
<remote-id type="pypi">mss</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/mss/mss-7.0.1.ebuild b/dev-python/mss/mss-7.0.1.ebuild
deleted file mode 100644
index 5f60fd5d7fd8..000000000000
--- a/dev-python/mss/mss-7.0.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_{9..11} )
-
-inherit distutils-r1 virtualx
-
-MY_P=python-${P}
-DESCRIPTION="An ultra fast cross-platform multiple screenshots module in python using ctypes"
-HOMEPAGE="
- https://github.com/BoboTiG/python-mss/
- https://pypi.org/project/mss/
-"
-SRC_URI="
- https://github.com/BoboTiG/python-mss/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="
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- sys-process/lsof
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs/source dev-python/sphinx_rtd_theme
-
-EPYTEST_DESELECT=(
- # upstream tests for self-build, apparently broken by setuptools
- # issuing deprecation warnings
- mss/tests/test_setup.py
-)
-
-src_test() {
- virtx distutils-r1_src_test
-}
diff --git a/dev-python/mss/mss-9.0.1.ebuild b/dev-python/mss/mss-9.0.1.ebuild
new file mode 100644
index 000000000000..7a2737d549c2
--- /dev/null
+++ b/dev-python/mss/mss-9.0.1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 virtualx
+
+DESCRIPTION="An ultra fast cross-platform multiple screenshots module in python using ctypes"
+HOMEPAGE="
+ https://github.com/BoboTiG/python-mss/
+ https://pypi.org/project/mss/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pyvirtualdisplay[${PYTHON_USEDEP}]
+ )
+"
+
+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
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
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/metadata.xml b/dev-python/multidict/metadata.xml
index 7a91ba1ea080..de495329e26d 100644
--- a/dev-python/multidict/metadata.xml
+++ b/dev-python/multidict/metadata.xml
@@ -13,4 +13,10 @@
<remote-id type="github">aio-libs/multidict</remote-id>
<remote-id type="pypi">multidict</remote-id>
</upstream>
+ <use>
+ <flag name="native-extensions">
+ Compile native C extensions (speedups, instead of using Python
+ fallback code).
+ </flag>
+ </use>
</pkgmetadata>
diff --git a/dev-python/multidict/multidict-6.0.4.ebuild b/dev-python/multidict/multidict-6.0.4.ebuild
deleted file mode 100644
index 32cc3f30f838..000000000000
--- a/dev-python/multidict/multidict-6.0.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
-PYTHON_COMPAT=( python3_{9..11} 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"
-
-BDEPEND="
- >=dev-python/cython-0.28.4[${PYTHON_USEDEP}]
-"
-
-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
-}
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..c2ee92650e0f
--- /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..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_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/Manifest b/dev-python/multipledispatch/Manifest
index 05b253a5602a..77247469ab00 100644
--- a/dev-python/multipledispatch/Manifest
+++ b/dev-python/multipledispatch/Manifest
@@ -1 +1 @@
-DIST multipledispatch-0.6.0.gh.tar.gz 23692 BLAKE2B 4f73f05382c4aefbe3706839a18ba68d8ca0ed025744fe67d2069a770c517821d726913e5757dfe0ebe4628738b4b3dc83c76049f2beb4411b3679f574cc5f8d SHA512 34cefbceef1c756d06f0fbcf34709b70750928e21b1d5f02eef61eec3d5b8ce29475bfe4c53943f3fa9264b4de1f2524d813c6723927e576cd83771b6a4fcaf8
+DIST multipledispatch-1.0.0.gh.tar.gz 24244 BLAKE2B e10b19fcfd781aeb613bb4858243a888642bd588e9b167cf35902a4d1ba8e3461ce51edd6e3eb1bae092462774933c93638e03dd1632234e8370c5d9677425e9 SHA512 67237fa7736adc41ea3a27c5916ba5ed958619a1420390c0bab52c313b4423d4facb76fe8286bf2e831b366e6bf6d989716155901fc2acefe96c65ac5add45f3
diff --git a/dev-python/multipledispatch/multipledispatch-0.6.0-r1.ebuild b/dev-python/multipledispatch/multipledispatch-0.6.0-r1.ebuild
deleted file mode 100644
index 6e9ac4a898bd..000000000000
--- a/dev-python/multipledispatch/multipledispatch-0.6.0-r1.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Multiple dispatch"
-HOMEPAGE="
- https://pypi.org/project/multipledispatch/
- https://github.com/mrocklin/multipledispatch/
-"
-SRC_URI="
- https://github.com/mrocklin/multipledispatch/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- multipledispatch/tests/test_core.py::test_multipledispatch
- multipledispatch/tests/test_benchmark.py
-)
diff --git a/dev-python/multipledispatch/multipledispatch-1.0.0.ebuild b/dev-python/multipledispatch/multipledispatch-1.0.0.ebuild
new file mode 100644
index 000000000000..f2804335e888
--- /dev/null
+++ b/dev-python/multipledispatch/multipledispatch-1.0.0.ebuild
@@ -0,0 +1,30 @@
+# 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="Multiple dispatch"
+HOMEPAGE="
+ https://pypi.org/project/multipledispatch/
+ https://github.com/mrocklin/multipledispatch/
+"
+SRC_URI="
+ https://github.com/mrocklin/multipledispatch/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ multipledispatch/tests/test_core.py::test_multipledispatch
+ multipledispatch/tests/test_benchmark.py
+)
diff --git a/dev-python/multiprocess/Manifest b/dev-python/multiprocess/Manifest
new file mode 100644
index 000000000000..0dd150e5e6b3
--- /dev/null
+++ b/dev-python/multiprocess/Manifest
@@ -0,0 +1 @@
+DIST multiprocess-0.70.16.tar.gz 1772603 BLAKE2B e5d685e3c1343196560175b6b498e7c2758f035d67d0f40c2ab0ef587858d81662ae3242431c4f4fe258a421aa1646e5c76182e0ba3039be2b0ba16b2e23dcec SHA512 8aee5f0cf74ef4a30bcf2337a651a39270f507f9e827647ad3ae50cba688d2920c56331568b8d597b379587c3cb82f5d10d7b96bdba63a0eccc2ec7abccf9863
diff --git a/dev-python/multiprocess/metadata.xml b/dev-python/multiprocess/metadata.xml
new file mode 100644
index 000000000000..9b4d7631549a
--- /dev/null
+++ b/dev-python/multiprocess/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>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">multiprocess</remote-id>
+ <remote-id type="github">uqfoundation/multiprocess</remote-id>
+ </upstream>
+</pkgmetadata>
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/Manifest b/dev-python/munch/Manifest
index 6ef9db8a6a4c..75d911a9c1ea 100644
--- a/dev-python/munch/Manifest
+++ b/dev-python/munch/Manifest
@@ -1 +1 @@
-DIST munch-2.5.0.tar.gz 17015 BLAKE2B 17af271ae082a6e5f91781ba48a440f11cbe85ecb81d47ee2bc51910307080e3ba6c95e99e7475534400b2915a86d8f853bc65d419c3d3b7138bf021e66de25c SHA512 7eca31111f40782a19b49535322bc56d723022d52b0842c4beff512f32fa415a6c75851eb84950358cb6a11693095cafe56364028e48385b11135de414edca21
+DIST munch-4.0.0.tar.gz 19089 BLAKE2B 17aba6f5ab3e2e532a9deb8623ef10aa569231e5457b96acacd7c11117db47afa82409f9bf8aa384a8207c23d4af1140dca6db27c73df05658b8ad3997ad071a SHA512 7beeee4d3fd084ac929e796cd62af097c2602a3ec06405f79b562bc6d14577350adbbe02848253c62f0938e706b9056799bfd5b9c2bdff6e559b3903b8cdca5c
diff --git a/dev-python/munch/munch-2.5.0-r2.ebuild b/dev-python/munch/munch-2.5.0-r2.ebuild
deleted file mode 100644
index 3ee8fe5e925c..000000000000
--- a/dev-python/munch/munch-2.5.0-r2.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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A dot-accessible dictionary (a la JavaScript objects)"
-HOMEPAGE="
- https://github.com/Infinidat/munch/
- https://pypi.org/project/munch/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-SLOT="0"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/pbr[${PYTHON_USEDEP}]
- test? (
- >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/munch/munch-4.0.0.ebuild b/dev-python/munch/munch-4.0.0.ebuild
new file mode 100644
index 000000000000..5e000b9f640e
--- /dev/null
+++ b/dev-python/munch/munch-4.0.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 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 dot-accessible dictionary (a la JavaScript objects)"
+HOMEPAGE="
+ https://github.com/Infinidat/munch/
+ https://pypi.org/project/munch/
+"
+
+LICENSE="MIT"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+SLOT="0"
+
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/munkres/Manifest b/dev-python/munkres/Manifest
index 577cb5b5278e..445fc315c4da 100644
--- a/dev-python/munkres/Manifest
+++ b/dev-python/munkres/Manifest
@@ -1 +1 @@
-DIST munkres-1.1.4.tar.gz 13777 BLAKE2B d783ac7a4fd55826ef3ddddd2ba82cf0499727e605a2414491af7dd9080193c53f1e48ed17dba9a462578bc958d3d9e2e1e413408143b4cfd0305f9cb3b6c517 SHA512 24ae7d04f4a6fe52f7bb9dc79bbee3e33425b85813382e2634e106a5d26d2d728ba8d34fab9390b7c3d651bc0e95214dcf9c94ac436636cd5b487a054b5a2c54
+DIST munkres-release-1.1.4.gh.tar.gz 13777 BLAKE2B d783ac7a4fd55826ef3ddddd2ba82cf0499727e605a2414491af7dd9080193c53f1e48ed17dba9a462578bc958d3d9e2e1e413408143b4cfd0305f9cb3b6c517 SHA512 24ae7d04f4a6fe52f7bb9dc79bbee3e33425b85813382e2634e106a5d26d2d728ba8d34fab9390b7c3d651bc0e95214dcf9c94ac436636cd5b487a054b5a2c54
diff --git a/dev-python/munkres/munkres-1.1.4-r1.ebuild b/dev-python/munkres/munkres-1.1.4-r1.ebuild
index f013f38b646b..00d44a124e4d 100644
--- a/dev-python/munkres/munkres-1.1.4-r1.ebuild
+++ b/dev-python/munkres/munkres-1.1.4-r1.ebuild
@@ -4,13 +4,21 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
+
inherit distutils-r1
+MY_P=munkres-release-${PV}
DESCRIPTION="Module implementing munkres algorithm for the Assignment Problem"
-HOMEPAGE="https://pypi.org/project/munkres/ https://github.com/bmc/munkres"
-SRC_URI="https://github.com/bmc/munkres/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-release-${PV}"
+HOMEPAGE="
+ https://github.com/bmc/munkres/
+ https://pypi.org/project/munkres/
+"
+SRC_URI="
+ https://github.com/bmc/munkres/archive/release-${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
diff --git a/dev-python/musicbrainzngs/Manifest b/dev-python/musicbrainzngs/Manifest
new file mode 100644
index 000000000000..594037489815
--- /dev/null
+++ b/dev-python/musicbrainzngs/Manifest
@@ -0,0 +1,2 @@
+DIST python-musicbrainzngs-0.7.1.gh.tar.gz 112302 BLAKE2B 1c0696c72b8ea78d182300c76c0040117e1448a7955fa9aed8e42d1ebf9aa1b43359cee1158920fa31d3fb7536796130b54d0d45f351ddb5449d8f022a55f552 SHA512 a674c38b5084d1ae554dd03d1b3e613b48f8f3f3ada67f8d608130cebd35f0640ca65f8b4d224c1e660975274b0b077ffae29739ac2dc5a7078ca87eb8ccadd9
+DIST python-musicbrainzngs-0.7.1.tar.gz 112302 BLAKE2B 1c0696c72b8ea78d182300c76c0040117e1448a7955fa9aed8e42d1ebf9aa1b43359cee1158920fa31d3fb7536796130b54d0d45f351ddb5449d8f022a55f552 SHA512 a674c38b5084d1ae554dd03d1b3e613b48f8f3f3ada67f8d608130cebd35f0640ca65f8b4d224c1e660975274b0b077ffae29739ac2dc5a7078ca87eb8ccadd9
diff --git a/dev-python/musicbrainzngs/files/musicbrainzngs-0.7.1-fix-sphinx-build.patch b/dev-python/musicbrainzngs/files/musicbrainzngs-0.7.1-fix-sphinx-build.patch
new file mode 100644
index 000000000000..b6196685cdea
--- /dev/null
+++ b/dev-python/musicbrainzngs/files/musicbrainzngs-0.7.1-fix-sphinx-build.patch
@@ -0,0 +1,27 @@
+From ce3e2ddb36630f615076caac223c6c6985a3dc53 Mon Sep 17 00:00:00 2001
+From: Gerion Entrup <entrup@sra.uni-hannover.de>
+Date: Tue, 24 Oct 2023 00:27:58 +0200
+Subject: [PATCH] docs/conf.py: fix doc building with Sphinx >6
+
+See https://github.com/sphinx-doc/sphinx/pull/10471/commits/97e3fd8b85692768ff3ceb3885ad59836ceeb7b5#diff-437b1b031f7488e4c051cd111e665fe4b514cba5c64b9f2f23b9cd04aacd89bb
+and https://www.sphinx-doc.org/en/master/usage/extensions/extlinks.html.
+---
+ docs/conf.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/docs/conf.py b/docs/conf.py
+index d5ec2b0..4b68e9f 100644
+--- a/docs/conf.py
++++ b/docs/conf.py
+@@ -90,7 +90,7 @@ pygments_style = 'sphinx'
+ #modindex_common_prefix = []
+
+ extlinks = {
+- 'musicbrainz': ('https://musicbrainz.org/doc/%s', ''),
++ 'musicbrainz': ('https://musicbrainz.org/doc/%s', '%s'),
+ }
+
+ intersphinx_mapping = {
+--
+2.41.0
+
diff --git a/dev-python/python-musicbrainzngs/metadata.xml b/dev-python/musicbrainzngs/metadata.xml
index 33ce9f0483c7..33ce9f0483c7 100644
--- a/dev-python/python-musicbrainzngs/metadata.xml
+++ b/dev-python/musicbrainzngs/metadata.xml
diff --git a/dev-python/musicbrainzngs/musicbrainzngs-0.7.1-r1.ebuild b/dev-python/musicbrainzngs/musicbrainzngs-0.7.1-r1.ebuild
new file mode 100644
index 000000000000..a16aafd961ff
--- /dev/null
+++ b/dev-python/musicbrainzngs/musicbrainzngs-0.7.1-r1.ebuild
@@ -0,0 +1,42 @@
+# 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
+
+MY_P=python-musicbrainzngs-${PV}
+DESCRIPTION="Python bindings for the MusicBrainz NGS and the Cover Art Archive webservices"
+HOMEPAGE="
+ https://github.com/alastair/python-musicbrainzngs/
+ https://pypi.org/project/musicbrainzngs/
+"
+SRC_URI="
+ https://github.com/alastair/python-musicbrainzngs/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD-2 ISC"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+IUSE="examples"
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-sphinx-build.patch"
+)
+
+distutils_enable_sphinx docs
+distutils_enable_tests unittest
+
+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/musicbrainzngs/musicbrainzngs-0.7.1.ebuild b/dev-python/musicbrainzngs/musicbrainzngs-0.7.1.ebuild
new file mode 100644
index 000000000000..f1467c24aa57
--- /dev/null
+++ b/dev-python/musicbrainzngs/musicbrainzngs-0.7.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{9..10} pypy3 )
+inherit distutils-r1
+
+MY_P=python-musicbrainzngs-${PV}
+DESCRIPTION="Python bindings for the MusicBrainz NGS and the Cover Art Archive webservices"
+HOMEPAGE="https://github.com/alastair/python-musicbrainzngs"
+SRC_URI="
+ https://github.com/alastair/python-musicbrainzngs/archive/v${PV}.tar.gz
+ -> ${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD-2 ISC"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="examples"
+
+distutils_enable_sphinx docs
+distutils_enable_tests setup.py
+
+python_prepare_all() {
+ # Prevent un-needed d'loading
+ sed -e "s/^ *'sphinx.ext.intersphinx'//" -i docs/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+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/mygpoclient/mygpoclient-1.9.ebuild b/dev-python/mygpoclient/mygpoclient-1.9.ebuild
index 33821243bbca..680b1061b77e 100644
--- a/dev-python/mygpoclient/mygpoclient-1.9.ebuild
+++ b/dev-python/mygpoclient/mygpoclient-1.9.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 arm64 x86"
BDEPEND="
test? (
diff --git a/dev-python/mypy/Manifest b/dev-python/mypy/Manifest
index 5184d494fba2..4a622eae1c58 100644
--- a/dev-python/mypy/Manifest
+++ b/dev-python/mypy/Manifest
@@ -1 +1,2 @@
-DIST mypy-0.991.gh.tar.gz 2694440 BLAKE2B 857c991a17f5a0195d5c7db60e73427695b64d3c3181b26919ed40a2b825ef5e8f30890a4ca7a55b739087af47f025b1d324563f5ef5e2f58c363562ecc49365 SHA512 02663494700d4ab6d08ab2199a7a81ad144ed090774326ea8d418dec37faec6d3b078f1c3120b8b014a676d69d5dc4e9b528b759c2de086a18569016b28b00d5
+DIST mypy-1.8.0.gh.tar.gz 3023408 BLAKE2B 81f987423f2bbef8f7f1b894983b34d34b0df408bae28fbb2cb59c5d4597b4d6b9afb8e9a2914aad969dcb621f1fe4ba4850b242bb76c4cfa35aae340f4f36b4 SHA512 231237ea44ccf619ac3d3f7f3cb42658bc9802d7a34f61101a9ac79f0fa67d8f566950e14dae3465c9620cdf67dc80cb65a3e2a6724ff944bfa911754caf592b
+DIST mypy-1.9.0.gh.tar.gz 3029335 BLAKE2B 5329a95e5ac52933413a91bec2c8bd728451508b7ead880c7c4542bbe5d4cd4d2155c6d372d31a653af9a913de51d8e35d44c1dde193787ce8eaedd8d64d682d SHA512 aaa975b97e72f00a384a38fee190e39c6469b062a7083c76bb94bb7058ed38f713f65b96bb36a871a430633cab424a0f11e995868f867e2f7a13c4754ed96c89
diff --git a/dev-python/mypy/metadata.xml b/dev-python/mypy/metadata.xml
index 01c4182eef50..4d450db3cd4d 100644
--- a/dev-python/mypy/metadata.xml
+++ b/dev-python/mypy/metadata.xml
@@ -12,4 +12,11 @@
<bugs-to>https://github.com/python/mypy/issues</bugs-to>
<doc>https://mypy.readthedocs.io/</doc>
</upstream>
+ <use>
+ <flag name="native-extensions">
+ Compiles native C extensions (speedups, instead of using Python
+ fallback code).
+ </flag>
+ </use>
+
</pkgmetadata>
diff --git a/dev-python/mypy/mypy-0.991.ebuild b/dev-python/mypy/mypy-0.991.ebuild
deleted file mode 100644
index 030628c0c160..000000000000
--- a/dev-python/mypy/mypy-0.991.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} )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Optional static typing for Python"
-HOMEPAGE="
- http://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"
-
-# stubgen collides with this package: https://bugs.gentoo.org/585594
-RDEPEND="
- !dev-util/stubgen
- >=dev-python/psutil-4[${PYTHON_USEDEP}]
- >=dev-python/typed-ast-1.4.0[${PYTHON_USEDEP}]
- <dev-python/typed-ast-2[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-3.10[${PYTHON_USEDEP}]
- >=dev-python/mypy_extensions-0.4.3[${PYTHON_USEDEP}]
- <dev-python/mypy_extensions-0.5.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
-"
-BDEPEND="
- test? (
- >=dev-python/attrs-18.0[${PYTHON_USEDEP}]
- >=dev-python/filelock-3.3.0[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.4.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-6.1.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-xdist-1.18[${PYTHON_USEDEP}]
- >=dev-python/py-1.5.2[${PYTHON_USEDEP}]
- >=dev-python/typed-ast-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-16.0.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs/source \
- dev-python/furo
-distutils_enable_tests pytest
-
-# this requires packaging a lot of type stubs
-export MYPY_USE_MYPYC=0
-
-python_test() {
- # Some mypy/test/testcmdline.py::PythonCmdlineSuite tests
- # fail with high COLUMNS values
- local -x COLUMNS=80
- epytest -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/mypy/mypy-1.8.0.ebuild b/dev-python/mypy/mypy-1.8.0.ebuild
new file mode 100644
index 000000000000..eb18f01a0c40
--- /dev/null
+++ b/dev-python/mypy/mypy-1.8.0.ebuild
@@ -0,0 +1,105 @@
+# 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 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.9.0.ebuild b/dev-python/mypy/mypy-1.9.0.ebuild
new file mode 100644
index 000000000000..1818f0a748ac
--- /dev/null
+++ b/dev-python/mypy/mypy-1.9.0.ebuild
@@ -0,0 +1,112 @@
+# 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 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/${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.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
+
+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
+ # 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
+ )
+ ;;
+ 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 -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/Manifest b/dev-python/mypy_extensions/Manifest
index 17b6e9195dc8..edb1536892fa 100644
--- a/dev-python/mypy_extensions/Manifest
+++ b/dev-python/mypy_extensions/Manifest
@@ -1 +1 @@
-DIST mypy_extensions-0.4.3.gh.tar.gz 5545 BLAKE2B 8f1f988562390ee1ba3d90cafafec73c6fe080eef6b4321252d3b3aeffebf1ad13bdcae7ae75c69eac7bef91dcf3f846ae7f9a3f2ad6bad9de2bc8cfe5eed29f SHA512 22d8dc538cf6f77d97f4113dd34fce8095dd98944c7613fab2b3e71a3e9b7df1374654af41ead5c934f789ef1b72f54d980ab06f3ca28b8b4c6bb14ba1ca3ce2
+DIST mypy_extensions-1.0.0.gh.tar.gz 6097 BLAKE2B 099616ee0bacad62d9ce642c3adb1eebe27546f7c567d1e0fa6ec04d9e6cbcda2966fff9769940cfda8b7d6cc9f33100af9d6f416ab2def26079668a16c354b3 SHA512 ac89a9f60a2c3df3457d5a6ab7ed47b72dd173646ef57f1450556051617e62046405a69fadeb40d2c24e68ce6ffed56d9182365e3203477facdc935e1a807847
diff --git a/dev-python/mypy_extensions/mypy_extensions-0.4.3-r2.ebuild b/dev-python/mypy_extensions/mypy_extensions-0.4.3-r2.ebuild
deleted file mode 100644
index 53bc5655473f..000000000000
--- a/dev-python/mypy_extensions/mypy_extensions-0.4.3-r2.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_{9..11} pypy3 )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="Optional static typing for Python"
-HOMEPAGE="
- http://www.mypy-lang.org/
- https://github.com/python/mypy_extensions/"
-SRC_URI="
- https://github.com/python/mypy_extensions/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"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # This test assumes we get a TypeError, but that is no longer true in 3.11
- "tests/testextensions.py::TypedDictTests::test_typeddict_errors"
-)
-
-python_test() {
- epytest tests/*
-}
diff --git a/dev-python/mypy_extensions/mypy_extensions-1.0.0.ebuild b/dev-python/mypy_extensions/mypy_extensions-1.0.0.ebuild
new file mode 100644
index 000000000000..5fd9ea621a87
--- /dev/null
+++ b/dev-python/mypy_extensions/mypy_extensions-1.0.0.ebuild
@@ -0,0 +1,29 @@
+# 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="Type system extensions for programs checked with mypy"
+HOMEPAGE="
+ https://www.mypy-lang.org/
+ https://github.com/python/mypy_extensions/
+"
+SRC_URI="
+ https://github.com/python/mypy_extensions/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"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest tests/*.py
+}
diff --git a/dev-python/mysqlclient/Manifest b/dev-python/mysqlclient/Manifest
index b6daf5fb0e4f..9eca5e8c365e 100644
--- a/dev-python/mysqlclient/Manifest
+++ b/dev-python/mysqlclient/Manifest
@@ -1 +1 @@
-DIST mysqlclient-2.1.1.tar.gz 88138 BLAKE2B fdd044f2703af874dc0ca67b2fe07fcac3ceed5a4543aa15a0daa852ddf5ad6940a43675c0f104d9aa173e96da946e33054e1cc4c1b9812487558af64cc8fd43 SHA512 d8aed044b651aabb8d28d2df085f84e4d824ef0f147216d111425a9c8024f55634236ec131debf46660084c5a8fd67c944db60ffbf89e1d712cdca80c0726a06
+DIST mysqlclient-2.2.4.tar.gz 90400 BLAKE2B b41ed12bd8b2ea49b34d038db93e599eb05c9a910ab712fc8b7feed918f83bf3c4c8e55eac45ee944edefc26b0610b19cee9e9b76450adf9981ecc9b5fa44d85 SHA512 d1f7ba693368309a14a0982c2f1e0731617b482044afab765c8d81ea26dc6950a110c6cab48792ea1397add7b7151c756d5d22827fcce836404456f8956538a6
diff --git a/dev-python/mysqlclient/mysqlclient-2.1.1.ebuild b/dev-python/mysqlclient/mysqlclient-2.1.1.ebuild
deleted file mode 100644
index ed5c052246d7..000000000000
--- a/dev-python/mysqlclient/mysqlclient-2.1.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python interface to MySQL"
-HOMEPAGE="
- https://pypi.org/project/mysqlclient/
- https://github.com/PyMySQL/mysqlclient/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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..57976211a4f0
--- /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..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 \
+ 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
new file mode 100644
index 000000000000..f62ab3c5d2ac
--- /dev/null
+++ b/dev-python/myst-parser/Manifest
@@ -0,0 +1 @@
+DIST MyST-Parser-2.0.0.gh.tar.gz 815453 BLAKE2B 8f5dd823c3c79d843b45a7a4819d5677b51a12f78db2c1ce9700eb6faa8c4f0bc167fb1d8cd947e89ffab85aec947ab527b67dc73ef4db97a393f700a4331738 SHA512 c47bdd773565e93c4714d318a70f9a8adab1be6e2a63c23175667fc4afb5da4d66b84e11176782c8202e9fd68883e74d444911ddfb0b91356c2ba07fa65f7ea4
diff --git a/dev-python/myst_parser/metadata.xml b/dev-python/myst-parser/metadata.xml
index bd9da8f02f97..bd9da8f02f97 100644
--- a/dev-python/myst_parser/metadata.xml
+++ b/dev-python/myst-parser/metadata.xml
diff --git a/dev-python/myst-parser/myst-parser-2.0.0.ebuild b/dev-python/myst-parser/myst-parser-2.0.0.ebuild
new file mode 100644
index 000000000000..ce6cf989a97c
--- /dev/null
+++ b/dev-python/myst-parser/myst-parser-2.0.0.ebuild
@@ -0,0 +1,60 @@
+# 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 ~loong ~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/Manifest b/dev-python/myst_parser/Manifest
deleted file mode 100644
index 3bf1830ac4c5..000000000000
--- a/dev-python/myst_parser/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST MyST-Parser-0.18.1.gh.tar.gz 769288 BLAKE2B 77f21ae4277ef4ed9020caad86ef3ea92a1efca35f7ab61203fe2125e4fab31a74a740db7a1f1d6ea0a576c24706b0997beea296d782eb5a07ba4e91a0a9e52d SHA512 4bc3a89480f175779da4f093aaa99a1516f76ab4107dcf8747b6614f347e91739f8596693f95529d76aedbb0c84b4efde4262517bc445aa7027d51e05e8b48bc
diff --git a/dev-python/myst_parser/myst_parser-0.18.1-r1.ebuild b/dev-python/myst_parser/myst_parser-0.18.1-r1.ebuild
deleted file mode 100644
index 8fdcd12bd4cf..000000000000
--- a/dev-python/myst_parser/myst_parser-0.18.1-r1.ebuild
+++ /dev/null
@@ -1,62 +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_{9..11} 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 ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- <dev-python/docutils-0.20[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/markdown-it-py[${PYTHON_USEDEP}]
- >=dev-python/mdit-py-plugins-0.3.1[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- <dev-python/sphinx-6[${PYTHON_USEDEP}]
- >=dev-python/sphinx-4[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/pytest-regressions[${PYTHON_USEDEP}]
- dev-python/pytest-param-files[${PYTHON_USEDEP}]
- <dev-python/sphinx-5.2[${PYTHON_USEDEP}]
- dev-python/sphinx-pytest[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Unimportant tests needing a new dep linkify
- tests/test_renderers/test_myst_config.py::test_cmdline
- tests/test_sphinx/test_sphinx_builds.py::test_extended_syntaxes
- )
-
- [[ ${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/nagiosplugin/nagiosplugin-1.3.3.ebuild b/dev-python/nagiosplugin/nagiosplugin-1.3.3.ebuild
index 52ebcb3e558e..f077fa77391f 100644
--- a/dev-python/nagiosplugin/nagiosplugin-1.3.3.ebuild
+++ b/dev-python/nagiosplugin/nagiosplugin-1.3.3.ebuild
@@ -4,17 +4,20 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..10} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A class library for writing nagios-compatible plugins"
-HOMEPAGE="https://github.com/mpounsett/nagiosplugin https://nagiosplugin.readthedocs.io"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-KEYWORDS="~amd64 ~x86"
+HOMEPAGE="
+ https://github.com/mpounsett/nagiosplugin/
+ https://nagiosplugin.readthedocs.io/
+ https://pypi.org/project/nagiosplugin/
+"
LICENSE="ZPL"
SLOT="0"
+KEYWORDS="~amd64 ~x86"
distutils_enable_tests pytest
-distutils_enable_sphinx doc dev-python/sphinx_rtd_theme
+distutils_enable_sphinx doc dev-python/sphinx-rtd-theme
diff --git a/dev-python/natsort/Manifest b/dev-python/natsort/Manifest
index f61cae68c042..96db0f311d77 100644
--- a/dev-python/natsort/Manifest
+++ b/dev-python/natsort/Manifest
@@ -1 +1 @@
-DIST natsort-8.2.0.tar.gz 145643 BLAKE2B d101ae2fa1cb009892e9712ece87d3825f3fca7970475e46176e5acbc29481ac79d491f1bae0721d85d3e67ecf39e5f54e2a984f0398356f32a5f0ec18a3e98d SHA512 d7e35c48ee36e69812c26b2cd333c57f1ec70c54017c4f51ed06dbb7619afc11cd1d589035faee700e1adf1e6b759b43ee497685fc88518be62c41957e15884e
+DIST natsort-8.4.0.tar.gz 76575 BLAKE2B 924058bd0770866d7945edc7886c5d517bf6c886b85c09f7fb0c3f4e7e7e3678993b62bf905245569e36a4acc6437f80e8671f928837d5708d1fe318c7b83320 SHA512 a005abc0fe7ccbb58d1926698a841d90f7f3eac72f062044a6716f0676e0b0766f3e7e14867fb2a0ff1124deaf9796d096744d68b2f6eea001841abed49345c8
diff --git a/dev-python/natsort/natsort-8.2.0.ebuild b/dev-python/natsort/natsort-8.2.0.ebuild
deleted file mode 100644
index b84e0859468b..000000000000
--- a/dev-python/natsort/natsort-8.2.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_{9..11} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Natural sorting for Python"
-HOMEPAGE="
- https://github.com/SethMMorton/natsort/
- https://pypi.org/project/natsort/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-pkg_postinst() {
- optfeature "sorting results that match most file browsers" "dev-python/pyicu"
-}
diff --git a/dev-python/natsort/natsort-8.4.0.ebuild b/dev-python/natsort/natsort-8.4.0.ebuild
new file mode 100644
index 000000000000..5db6268d2a69
--- /dev/null
+++ b/dev-python/natsort/natsort-8.4.0.ebuild
@@ -0,0 +1,32 @@
+# 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 optfeature pypi
+
+DESCRIPTION="Natural sorting for Python"
+HOMEPAGE="
+ https://github.com/SethMMorton/natsort/
+ https://pypi.org/project/natsort/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature "sorting results that match most file browsers" "dev-python/pyicu"
+}
diff --git a/dev-python/nautilus-python/nautilus-python-4.0.ebuild b/dev-python/nautilus-python/nautilus-python-4.0.ebuild
index 5a7b6e48114c..b69fde0145da 100644
--- a/dev-python/nautilus-python/nautilus-python-4.0.ebuild
+++ b/dev-python/nautilus-python/nautilus-python-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_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit gnome2 meson python-single-r1
@@ -12,7 +12,7 @@ HOMEPAGE="https://projects.gnome.org/nautilus-python/"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
IUSE="gtk-doc"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
@@ -29,7 +29,7 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="
gtk-doc? ( dev-util/gtk-doc )
- >=dev-util/gtk-doc-am-1.14
+ >=dev-build/gtk-doc-am-1.14
virtual/pkgconfig
"
diff --git a/dev-python/nbclassic/Manifest b/dev-python/nbclassic/Manifest
index 276915d28161..3012650e398e 100644
--- a/dev-python/nbclassic/Manifest
+++ b/dev-python/nbclassic/Manifest
@@ -1 +1 @@
-DIST nbclassic-0.5.1.tar.gz 20178622 BLAKE2B 1ff79c9af218011c697016ecef149f42e683607eebb8e199ef75957d9d3127858ce8f443aeedb60844e3277b4c8cd4959d123658a5103ab2112fec469ef01a96 SHA512 1dabc27ad115d1961e7881e7a51653449cae291c74aea222bbf92d49cb7bc9657ae1f1d9a81eafbd70bc0cafd57b75cd2c76bebf91aabc5fdd9eede534f1cec9
+DIST nbclassic-1.0.0.tar.gz 20201455 BLAKE2B 8d87668cdf2347c6d9dcc7f335d9bf346c1622217b71c18a91f7703f90ab5d2c71830f9743d6b408033ab153fe7180a9f07edc016704b9d0469bbf15c1641ef8 SHA512 fc80cd6311ab9cac9e0fdcf4d37cffc383c90327da8c27901239b84486e4afe23372665b0e1464ec78845816e829c4f3cf8672b4a0ad7e396fdb962b2f4f5a1b
diff --git a/dev-python/nbclassic/nbclassic-0.5.1.ebuild b/dev-python/nbclassic/nbclassic-0.5.1.ebuild
deleted file mode 100644
index a74dc32439bf..000000000000
--- a/dev-python/nbclassic/nbclassic-0.5.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=jupyter
-
-inherit distutils-r1 xdg-utils
-
-DESCRIPTION="Jupyter Notebook as a Jupyter Server Extension"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/nbclassic/
- https://pypi.org/project/nbclassic/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~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/jupyter_server-1.17.0[${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.1.0[${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/notebook-7[${PYTHON_USEDEP}]
-"
-
-# dev-python/nbval is missing impls
-BDEPEND="
- test? (
- 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
-
-EPYTEST_DESELECT=(
- # TODO: package jupyter_server_terminals
- tests/test_notebookapp.py::test_tree_handler
- tests/test_notebookapp.py::test_terminal_handler
-)
-
-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.0.0-r1.ebuild b/dev-python/nbclassic/nbclassic-1.0.0-r1.ebuild
new file mode 100644
index 000000000000..66fe16976f2b
--- /dev/null
+++ b/dev-python/nbclassic/nbclassic-1.0.0-r1.ebuild
@@ -0,0 +1,82 @@
+# 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/nbclient/Manifest b/dev-python/nbclient/Manifest
index 06a41d563a40..75f383a77563 100644
--- a/dev-python/nbclient/Manifest
+++ b/dev-python/nbclient/Manifest
@@ -1 +1 @@
-DIST nbclient-0.7.2.gh.tar.gz 76883 BLAKE2B d90b9dd7b15757a44c86084b68b916aab663c0e20a5c1012bda9f86a0ec1104a01cd78d27bc6e510eceeee12f2356a312d8080e1568e4c54dd2e916af85dc304 SHA512 17f1bfbfa156688e895ab1a0d0f74903f43c62a373a40cfcc50a654d86ebbaeb5ed101562716140a3878a9667bb131c49e06caf2e3127160700baf181cd1c29b
+DIST nbclient-0.10.0.tar.gz 62246 BLAKE2B 4fdbbceb6f37c0f96a448c343d910c8ac988ed337590c9f8068eee328fbc7f58c882b15a8b0f7fe03491a8751512ad76497d3a0e8a19783ef24001acd901bd67 SHA512 1635c8af91839b9e651fbada7aca3699ebf92c0f4f7f47d9901f9977f56f2b31113c1229d1512bdb200c6c729e1e965649031729a60229d463e6b39f75ac9dc2
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..927821177ce1
--- /dev/null
+++ b/dev-python/nbclient/nbclient-0.10.0.ebuild
@@ -0,0 +1,52 @@
+# 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..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="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
+
+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.7.2.ebuild b/dev-python/nbclient/nbclient-0.7.2.ebuild
deleted file mode 100644
index 32fa975be6c3..000000000000
--- a/dev-python/nbclient/nbclient-0.7.2.ebuild
+++ /dev/null
@@ -1,56 +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_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="
- https://github.com/jupyter/nbclient/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="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.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/ipykernel[${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}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- nbclient/tests/test_client.py::test_many_parallel_notebooks
- 'nbclient/tests/test_client.py::test_run_all_notebooks[Interrupt.ipynb-opts6]'
-)
-
-python_test() {
- # The tests run the pydevd debugger, the debugger prints a warning
- # in python3.11 when frozen modules are being used.
- # This warning makes the tests fail, silence it.
- PYDEVD_DISABLE_FILE_VALIDATION=1 epytest
-}
diff --git a/dev-python/nbconvert/Manifest b/dev-python/nbconvert/Manifest
index 67b4297356c4..125460023da5 100644
--- a/dev-python/nbconvert/Manifest
+++ b/dev-python/nbconvert/Manifest
@@ -1,4 +1 @@
-DIST nbconvert-7.1.0.tar.gz 816516 BLAKE2B c24766716212247dee90ca91a5dbcc65ae2d47b566029eb04e14e65ef94e16f6d7700ea4cc820584bc3b498553196bb5600151a30378ec82f91bf4dde68a5e77 SHA512 5d6e1c09637765e171336528219669a9279a68f3845cb0503b79129b50550f7b5a08526a30de67da6ca132ee5d911743c5afd46773598d6045f3007167f93d5b
-DIST nbconvert-7.2.7.tar.gz 867872 BLAKE2B a1f209f3249b22af3153449f16c84500523dfb3efa914ae214021e5ea9174d49a3f71a860d9ccbb375f2651ee2c2a2a6834a1d2558a579dc1bd63f80172d85bc SHA512 4abf4f13a0e210a8a0338200f1dbc3e6d4d71c8565440aa08d443352e01986dada455e1b894171da1e9fa9b226ba0ea267e7fce70fca1256fc92dfe53a47de6c
-DIST nbconvert-7.2.8.tar.gz 870182 BLAKE2B c6a415a93ed07ded10e318ea30918c7470df9b0ef9e7c51eceb7ee6c75c8c735ae32a459b0166d0c93ad1ec2c468ff9b0a6e4d3e86614ca1355cd8cd58423dad SHA512 e745fccf5524c46638d3c09dfafb21fb9b7e014c43ec0227f9c0e65df9892fcc06071637c17d6a2a5e5749881121a94daed29b66dd8fa27aa31568940320d22f
-DIST nbconvert-7.2.9.tar.gz 870386 BLAKE2B aea62f29d3e696c70d77ab73cc89347a4e0c8e077e98c45331608f7117fb3c98165bf3da89e4f3bf23b9d62c618289d98c9103c5b2998ca81f65cbfda65ca536 SHA512 0053e0e88f279d2fe430e516bcc19f98191e9ce414546ab1ff214f37c8f1cdfc4fc101faa4b5f1d5955fdc65c87aad367f5a5f12ce5991c68c015c5083f2f30c
+DIST nbconvert-7.16.3.tar.gz 854257 BLAKE2B 77bf80e4e7ed93b3aa3731cf74e84a9e1e588c2a43a6d83dafd3511690fa2e9e040344251d4544c0e4e7e1546907be31d065d7bbce2818abbbc4a41c8d6de15d SHA512 571c56fe172586d0929c986cc40aa42687e30d98cf13ba4053535efe3d0353c4c137ae85d6445038c6611479ea30ed438b91dffdf7e4b145e92ae5e4f450d42c
diff --git a/dev-python/nbconvert/nbconvert-7.1.0.ebuild b/dev-python/nbconvert/nbconvert-7.1.0.ebuild
deleted file mode 100644
index a61c711290ed..000000000000
--- a/dev-python/nbconvert/nbconvert-7.1.0.ebuild
+++ /dev/null
@@ -1,95 +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 virtualx
-
-DESCRIPTION="Converting Jupyter Notebooks"
-HOMEPAGE="
- https://nbconvert.readthedocs.io/
- https://github.com/jupyter/nbconvert/
- https://pypi.org/project/nbconvert/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="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}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-3.6[${PYTHON_USEDEP}]
- ' 3.8 3.9)
- >=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-2.0.2[${PYTHON_USEDEP}]
- >=dev-python/nbclient-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/nbformat-5.1[${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="
- dev-python/notebook[${PYTHON_USEDEP}]
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- >=dev-python/ipywidgets-7[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- mkdir 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
-}
-
-python_configure() {
- local src=$(
- "${EPYTHON}" -c "import notebook as m; print(*m.__path__)" || die
- )
- cp "${src}/static/style/style.min.css" \
- share/templates/classic/static/style.css || die
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Missing pyppeteer for now
- # TODO: Doesn't skip?
- nbconvert/exporters/tests/test_webpdf.py
- # Needs pyppeteer too
- 'nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_webpdf_with_chromium'
- # TODO
- nbconvert/exporters/tests/test_qtpng.py::TestQtPNGExporter::test_export
- nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_convert_full_qualified_name
- nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_post_processor
- )
-
- nonfatal epytest --pyargs nbconvert || die
-}
-
-pkg_postinst() {
- if ! has_version app-text/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."
- fi
-}
diff --git a/dev-python/nbconvert/nbconvert-7.16.3.ebuild b/dev-python/nbconvert/nbconvert-7.16.3.ebuild
new file mode 100644
index 000000000000..5f2a9c069ee1
--- /dev/null
+++ b/dev-python/nbconvert/nbconvert-7.16.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=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="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/nbconvert/nbconvert-7.2.7.ebuild b/dev-python/nbconvert/nbconvert-7.2.7.ebuild
deleted file mode 100644
index d7f2948d80c4..000000000000
--- a/dev-python/nbconvert/nbconvert-7.2.7.ebuild
+++ /dev/null
@@ -1,95 +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 virtualx
-
-DESCRIPTION="Converting Jupyter Notebooks"
-HOMEPAGE="
- https://nbconvert.readthedocs.io/
- https://github.com/jupyter/nbconvert/
- https://pypi.org/project/nbconvert/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~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}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-3.6[${PYTHON_USEDEP}]
- ' 3.8 3.9)
- >=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-2.0.2[${PYTHON_USEDEP}]
- >=dev-python/nbclient-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/nbformat-5.1[${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="
- dev-python/notebook[${PYTHON_USEDEP}]
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- >=dev-python/ipywidgets-7[${PYTHON_USEDEP}]
- )
-"
-
-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
-}
-
-python_configure() {
- local src=$(
- "${EPYTHON}" -c "import notebook as m; print(*m.__path__)" || die
- )
- cp "${src}/static/style/style.min.css" \
- share/templates/classic/static/style.css || die
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Missing pyppeteer for now
- # TODO: Doesn't skip?
- nbconvert/exporters/tests/test_webpdf.py
- # Needs pyppeteer too
- 'nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_webpdf_with_chromium'
- # TODO
- nbconvert/exporters/tests/test_qtpng.py::TestQtPNGExporter::test_export
- nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_convert_full_qualified_name
- nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_post_processor
- )
-
- nonfatal epytest --pyargs nbconvert || die
-}
-
-pkg_postinst() {
- if ! has_version app-text/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."
- fi
-}
diff --git a/dev-python/nbconvert/nbconvert-7.2.8.ebuild b/dev-python/nbconvert/nbconvert-7.2.8.ebuild
deleted file mode 100644
index d7f2948d80c4..000000000000
--- a/dev-python/nbconvert/nbconvert-7.2.8.ebuild
+++ /dev/null
@@ -1,95 +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 virtualx
-
-DESCRIPTION="Converting Jupyter Notebooks"
-HOMEPAGE="
- https://nbconvert.readthedocs.io/
- https://github.com/jupyter/nbconvert/
- https://pypi.org/project/nbconvert/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~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}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-3.6[${PYTHON_USEDEP}]
- ' 3.8 3.9)
- >=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-2.0.2[${PYTHON_USEDEP}]
- >=dev-python/nbclient-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/nbformat-5.1[${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="
- dev-python/notebook[${PYTHON_USEDEP}]
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- >=dev-python/ipywidgets-7[${PYTHON_USEDEP}]
- )
-"
-
-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
-}
-
-python_configure() {
- local src=$(
- "${EPYTHON}" -c "import notebook as m; print(*m.__path__)" || die
- )
- cp "${src}/static/style/style.min.css" \
- share/templates/classic/static/style.css || die
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Missing pyppeteer for now
- # TODO: Doesn't skip?
- nbconvert/exporters/tests/test_webpdf.py
- # Needs pyppeteer too
- 'nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_webpdf_with_chromium'
- # TODO
- nbconvert/exporters/tests/test_qtpng.py::TestQtPNGExporter::test_export
- nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_convert_full_qualified_name
- nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_post_processor
- )
-
- nonfatal epytest --pyargs nbconvert || die
-}
-
-pkg_postinst() {
- if ! has_version app-text/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."
- fi
-}
diff --git a/dev-python/nbconvert/nbconvert-7.2.9.ebuild b/dev-python/nbconvert/nbconvert-7.2.9.ebuild
deleted file mode 100644
index d7f2948d80c4..000000000000
--- a/dev-python/nbconvert/nbconvert-7.2.9.ebuild
+++ /dev/null
@@ -1,95 +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 virtualx
-
-DESCRIPTION="Converting Jupyter Notebooks"
-HOMEPAGE="
- https://nbconvert.readthedocs.io/
- https://github.com/jupyter/nbconvert/
- https://pypi.org/project/nbconvert/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~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}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-3.6[${PYTHON_USEDEP}]
- ' 3.8 3.9)
- >=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-2.0.2[${PYTHON_USEDEP}]
- >=dev-python/nbclient-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/nbformat-5.1[${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="
- dev-python/notebook[${PYTHON_USEDEP}]
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- >=dev-python/ipywidgets-7[${PYTHON_USEDEP}]
- )
-"
-
-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
-}
-
-python_configure() {
- local src=$(
- "${EPYTHON}" -c "import notebook as m; print(*m.__path__)" || die
- )
- cp "${src}/static/style/style.min.css" \
- share/templates/classic/static/style.css || die
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Missing pyppeteer for now
- # TODO: Doesn't skip?
- nbconvert/exporters/tests/test_webpdf.py
- # Needs pyppeteer too
- 'nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_webpdf_with_chromium'
- # TODO
- nbconvert/exporters/tests/test_qtpng.py::TestQtPNGExporter::test_export
- nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_convert_full_qualified_name
- nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_post_processor
- )
-
- nonfatal epytest --pyargs nbconvert || die
-}
-
-pkg_postinst() {
- if ! has_version app-text/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."
- fi
-}
diff --git a/dev-python/nbdime/Manifest b/dev-python/nbdime/Manifest
index f4b1a4c95ec7..c47739c63c17 100644
--- a/dev-python/nbdime/Manifest
+++ b/dev-python/nbdime/Manifest
@@ -1 +1 @@
-DIST nbdime-3.1.1.tar.gz 7723671 BLAKE2B 2a8f0e7281e1830d6ab15bcc25c1be69e37b575e4ecde1f61f5d697be8cf556c7e3bfdf11375f47808aa812bebbbaf4bfacaa121c17fefb9cc8a80ba9ca08d1c SHA512 268c2c3f8c45dd4a55a632d55a817ee4a4283c5411b73915bb514a9b546ebcdebd7481e93a1e7ba66c30bcdc70932ba7af83de454d3d0ab9d2cfa24bc19c8d9f
+DIST nbdime-4.0.1.tar.gz 9414125 BLAKE2B bf2581cec0f71ef8949c9cf19e21aa47302b6c71bbb9861e8c6f3a4b1921e9f73460ee5059e5bc92c7789d8f0695329125725c10e10763dd6e4d388bfaee53d1 SHA512 df14dfe9df296d71eb4a98140fe15703ca277063a153c3159cc883c99ce98b76f5f4dae24d32b048a18d2530e52535e3d89523d7a1c54a8654d2d54c8812ded3
diff --git a/dev-python/nbdime/metadata.xml b/dev-python/nbdime/metadata.xml
index 80ee16961952..214c6442b3d9 100644
--- a/dev-python/nbdime/metadata.xml
+++ b/dev-python/nbdime/metadata.xml
@@ -10,9 +10,4 @@
<remote-id type="pypi">nbdime</remote-id>
</upstream>
<stabilize-allarches/>
- <use>
- <flag name="webtools">
- Install web-based diff and merge tools.
- </flag>
-</use>
</pkgmetadata>
diff --git a/dev-python/nbdime/nbdime-3.1.1-r1.ebuild b/dev-python/nbdime/nbdime-3.1.1-r1.ebuild
deleted file mode 100644
index a544f23454ce..000000000000
--- a/dev-python/nbdime/nbdime-3.1.1-r1.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Diff and merge of Jupyter Notebooks"
-HOMEPAGE="https://jupyter.org"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="webtools"
-
-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}]
- webtools? ( net-libs/nodejs[npm] )"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/mock[${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 --install pytest
-
-python_prepare_all() {
- # yield tests were removed in pytest 4.0
- sed -i -e 's/test_offline_mathjax/_&/' \
- -e 's/test_api_merge/_&/' \
- -e 's/test_fetch_merge/_&/' \
- -e 's/test_api_diff/_&/' \
- -e 's/test_fetch_diff/_&/' \
- nbdime/tests/test_web.py || die
- sed -i -e 's/test_git_difftool/_&/' \
- nbdime/tests/test_server_extension.py || die
- # reason: [NOTRUN] flaws in deep diffing of lists, not identifying almost equal sublists
- sed -i -e 's/test_deep_merge_lists_delete_no_conflict__currently_expected_failures/_&/' \
- nbdime/tests/test_merge.py || die
- sed -i -e 's/test_diff_to_json_patch/_&/' \
- nbdime/tests/test_diff_json_conversion.py || die
- sed -i -e 's/test_build_diffs_unsorted/_&/' \
- nbdime/tests/test_decision_tools.py || die
- sed -i -e 's/test_merge_multiline_cell_source_conflict/_&/' \
- -e 's/test_merge_interleave_cell_add_remove/_&/' \
- -e 's/test_merge_conflicts_get_diff_indices_shifted/_&/' \
- -e 's/test_merge_inserts_within_deleted_range/_&/' \
- nbdime/tests/test_merge_notebooks.py || die
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- use webtools || 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
-}
diff --git a/dev-python/nbdime/nbdime-4.0.1.ebuild b/dev-python/nbdime/nbdime-4.0.1.ebuild
new file mode 100644
index 000000000000..032ecd6510a0
--- /dev/null
+++ b/dev-python/nbdime/nbdime-4.0.1.ebuild
@@ -0,0 +1,58 @@
+# 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="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
+
+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/nbformat/Manifest b/dev-python/nbformat/Manifest
index d23f833c6415..801b196148ab 100644
--- a/dev-python/nbformat/Manifest
+++ b/dev-python/nbformat/Manifest
@@ -1,4 +1,2 @@
-DIST nbformat-5.4.0.gh.tar.gz 134574 BLAKE2B f61275ad501381f05dc22a79f24c175fa71610f09cf125a40aaa90d0e02d3b27d82d918c1036b0516d4f879609f65c1ce62de86b033012e25d353af453828b2e SHA512 f601438193bfcb11f1ceed74995ab6862ff8c916f9bddabe38fd70bb997f4407bede4318ae7034d75424b20b75846010ddda2a45b8fe8de6dd9310617b00fb9d
-DIST nbformat-5.7.1.tar.gz 139291 BLAKE2B 680952ef35235021b36357babd98c94656d96888e1e5e01ecf35ce3233d51f751a60c964f0675fbad18242db8a1adb9fce2bbc512cefc4e30c254492584956c3 SHA512 248640ee23aae83c9c2b18502369d99c317447d40e5b3dc790260d21eda8ef027a7eca9ded34b98c7b17be7fe4b4401c556dbb9d4b0be80d4e4bff10a17381ce
-DIST nbformat-5.7.2.tar.gz 140294 BLAKE2B 593f1b87d1fb58e47e07d94547145b2561689ab1463aa6fa1cd9178f09f09b4a10364caff9db0e8a1921903788fa94eab811d67ca8349cf87c151c946848c8e9 SHA512 5d4425d18c2f0f2cb1141f957bef93e6ea5be56fc57b73eb96427a5a1ccbb1f3a9730a70aa60448e20328401ed3afde21f55caa2241e8fd5eddd305a5a86c637
-DIST nbformat-5.7.3.tar.gz 140407 BLAKE2B 7e699939e0d13394851d6bccd02855beca041192ffc273c754770fe6c7d6135a17b32b40224d664bbfbc02e30dbb92aacb24b56cfd44a6c10b4c817a09bd11c1 SHA512 d705d959ea4d5b5294f137dff6b2b60b936ad7d2ff4aa06030429e9ee1e55cc5c9ec7d0f2196a67b67080e79177a18085c6bf75b84ab8ac5606fabb53455e4c2
+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..ae91960cc179
--- /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..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-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.4.0.ebuild b/dev-python/nbformat/nbformat-5.4.0.ebuild
deleted file mode 100644
index 876e28af6d9e..000000000000
--- a/dev-python/nbformat/nbformat-5.4.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_{9..11} )
-PYTHON_REQ_USE='sqlite'
-
-inherit distutils-r1
-
-DESCRIPTION="Reference implementation of the Jupyter Notebook format"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/nbformat/
- https://pypi.org/project/nbformat/
-"
-SRC_URI="
- https://github.com/jupyter/nbformat/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/fastjsonschema[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-2.4.0[${PYTHON_USEDEP}]
- >=dev-python/traitlets-4.1[${PYTHON_USEDEP}]
- dev-python/jupyter_core[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/testpath[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/numpydoc
-distutils_enable_tests pytest
diff --git a/dev-python/nbformat/nbformat-5.7.1.ebuild b/dev-python/nbformat/nbformat-5.7.1.ebuild
deleted file mode 100644
index 4f7f504fa22d..000000000000
--- a/dev-python/nbformat/nbformat-5.7.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE='sqlite'
-
-inherit distutils-r1
-
-DESCRIPTION="Reference implementation of the Jupyter Notebook format"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/nbformat/
- https://pypi.org/project/nbformat/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~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
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}/${P}-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.7.2.ebuild b/dev-python/nbformat/nbformat-5.7.2.ebuild
deleted file mode 100644
index 342fd1fc7978..000000000000
--- a/dev-python/nbformat/nbformat-5.7.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=( python3_{9..11} )
-PYTHON_REQ_USE='sqlite'
-
-inherit distutils-r1
-
-DESCRIPTION="Reference implementation of the Jupyter Notebook format"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/nbformat/
- https://pypi.org/project/nbformat/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~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
-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.7.3.ebuild b/dev-python/nbformat/nbformat-5.7.3.ebuild
deleted file mode 100644
index be0adcbb7ee5..000000000000
--- a/dev-python/nbformat/nbformat-5.7.3.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_{9..11} )
-PYTHON_REQ_USE='sqlite'
-
-inherit distutils-r1
-
-DESCRIPTION="Reference implementation of the Jupyter Notebook format"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/nbformat/
- https://pypi.org/project/nbformat/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~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 7e33eccd00ea..5303aeb0d518 100644
--- a/dev-python/nbsphinx/Manifest
+++ b/dev-python/nbsphinx/Manifest
@@ -1,3 +1 @@
-DIST nbsphinx-0.8.10.tar.gz 177352 BLAKE2B e9fce12b59afe4b364be36ecfe4abc98e9444feafd52fa647ca2832622d875f78389928961d2c53235f466c55e9e1aee8ecf9db6751dfe7d0db8d40502876459 SHA512 a010ceff90d59d3cbff7953c1c807b9ff23661e1fb2255d5af151f6a1b4a2441f7a836a4fbea5ed11eda42ca8a0eae091ffe7d87c09940480d5f4e3311bb177b
-DIST nbsphinx-0.8.11.tar.gz 177598 BLAKE2B 5a8db76cdc39b19ec883f1ee58331248cc952786ffbe1a5ac75261a8258a9f36370366bf7654c6eecfdae17b324dab6ff2981c791dcdfb15cabeb0eea3b3f9ba SHA512 fb3e6d8074b639adc810ec0970e22d7f50bcadc072cacb0601bd9da3eece16c8af052360ecdd5c66b61ce4146deae10e44c3acd431073bd6086cc524b6861002
-DIST nbsphinx-0.8.12.tar.gz 178986 BLAKE2B 5f79e20be5ceb3c9458530c19f453599cff8c278d5ad56faec952cc191336469cee3ecc130bbca8cae5d14447abf544a6b127251f3ee2a26e63c94a1326b707c SHA512 fd18cde3b7034bbd0f0f5ec7addd8925e867dbe0cfe810310240e5748014f2cc6bf275ff24d070d0c8748e7d144bf3dc2e9a26ede3a50e880f3db27d1a0d0575
+DIST nbsphinx-0.9.3.tar.gz 171956 BLAKE2B 404e1692259b963f5ad9ad1ad370da1ff21ad93ac6b1081256d18cd66e2057eba8b4fec5e6ea987f73c3dea2a197108de6388e26b22eef46a8dd29800db4554d SHA512 a1dd3f96b1a7ad38cbe860eab620dda859fdad3bc22d07ddd4fc1bb9a3c7e9f66d24412370cb7701182d31870153e6388381574359356a1f0a0055111b404a7a
diff --git a/dev-python/nbsphinx/nbsphinx-0.8.10.ebuild b/dev-python/nbsphinx/nbsphinx-0.8.10.ebuild
deleted file mode 100644
index 40a1e044fb6f..000000000000
--- a/dev-python/nbsphinx/nbsphinx-0.8.10.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="Jupyter Notebook Tools for Sphinx"
-HOMEPAGE="
- https://github.com/spatialaudio/nbsphinx/
- https://pypi.org/project/nbsphinx/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 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.8.11.ebuild b/dev-python/nbsphinx/nbsphinx-0.8.11.ebuild
deleted file mode 100644
index 1633ce2dde8a..000000000000
--- a/dev-python/nbsphinx/nbsphinx-0.8.11.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="Jupyter Notebook Tools for Sphinx"
-HOMEPAGE="
- https://github.com/spatialaudio/nbsphinx/
- https://pypi.org/project/nbsphinx/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~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.8.12.ebuild b/dev-python/nbsphinx/nbsphinx-0.8.12.ebuild
deleted file mode 100644
index 1633ce2dde8a..000000000000
--- a/dev-python/nbsphinx/nbsphinx-0.8.12.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="Jupyter Notebook Tools for Sphinx"
-HOMEPAGE="
- https://github.com/spatialaudio/nbsphinx/
- https://pypi.org/project/nbsphinx/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~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.3.ebuild b/dev-python/nbsphinx/nbsphinx-0.9.3.ebuild
new file mode 100644
index 000000000000..3edc4aa72309
--- /dev/null
+++ b/dev-python/nbsphinx/nbsphinx-0.9.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=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[${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/nbval/Manifest b/dev-python/nbval/Manifest
index b8719d1548a3..f91d157a70d6 100644
--- a/dev-python/nbval/Manifest
+++ b/dev-python/nbval/Manifest
@@ -1 +1 @@
-DIST nbval-0.9.6.tar.gz 60932 BLAKE2B 77f283279e16e03ec87f250b2012aabd8f580e24b222efcb0b21d9b0dadc381cea3c4a3f96a85df0104da86911de66e6c21bfd3985801fa9c3d8764b2fb26183 SHA512 d4261fc30e197e7350c07504649f0230751b5ed746fe4626b92c5920032dc15abe47ad421c93f4762e93a8b6afcbca440ca006bfd1cdbcba37d131c4e6decaa7
+DIST nbval-0.11.0.tar.gz 62718 BLAKE2B c1f82c1333dadc348dd53008c554a07783ff0031b96b48127adffba47195a0b7f5591531443e24846337806e071ff0fa6b1c66d516feddbc26119a3292fe52fd SHA512 f47cfce7261612e59d61d0f9e4bc51fcc5d0305377f830e09ddd8b4e9854cff801a626431b4014f470457d55824c0424d5fec9d104cd9b0f36adb44fa72db757
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/nbval/nbval-0.9.6.ebuild b/dev-python/nbval/nbval-0.9.6.ebuild
deleted file mode 100644
index 6a1c4fbbb5df..000000000000
--- a/dev-python/nbval/nbval-0.9.6.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="A py.test plugin to validate Jupyter notebooks"
-HOMEPAGE="https://github.com/computationalmodelling/nbval"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/jupyter_client[${PYTHON_USEDEP}]
- dev-python/nbformat[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-cov[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="test? ( dev-python/sympy[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests --install pytest
-
-python_test() {
- distutils_install_for_testing
- local deselect=(
- --deselect tests/test_ignore.py::test_conf_ignore_stderr
- --deselect tests/test_timeouts.py::test_timeouts
- )
-
- epytest "${deselect[@]}"
-}
diff --git a/dev-python/nbxmpp/Manifest b/dev-python/nbxmpp/Manifest
new file mode 100644
index 000000000000..945b22ec087f
--- /dev/null
+++ b/dev-python/nbxmpp/Manifest
@@ -0,0 +1 @@
+DIST python-nbxmpp-4.5.4.tar.bz2 138170 BLAKE2B 00a4919032dd29828dc735695afe9c0814a8fe2ec765a534257768896d9f27bc3a395275d546ad717bdd16c97161e8f0a8acaf43cdb7bd9404e40bc72f2c3da5 SHA512 fcaedae519d8cd2d52cc65721ab1e743569ba1cf7c29f2db41ed5671ba0f2c5b47f1f6d9521e1614e89e21512a4575c6788316cdb86936f0c4886d54c3831bb3
diff --git a/dev-python/nbxmpp/metadata.xml b/dev-python/nbxmpp/metadata.xml
new file mode 100644
index 000000000000..fc462f2d9e9c
--- /dev/null
+++ b/dev-python/nbxmpp/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>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">nbxmpp</remote-id>
+ </upstream>
+</pkgmetadata>
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..b8da6e5c49c4
--- /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}
+
+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/neovim-remote/files/neovim-remote-2.5.1-neovim-0.8.patch b/dev-python/neovim-remote/files/neovim-remote-2.5.1-neovim-0.8.patch
new file mode 100644
index 000000000000..ee0adf8f9211
--- /dev/null
+++ b/dev-python/neovim-remote/files/neovim-remote-2.5.1-neovim-0.8.patch
@@ -0,0 +1,22 @@
+https://github.com/mhinz/neovim-remote/pull/183
+
+From 56d2a4097f4b639a16902390d9bdd8d1350f948c Mon Sep 17 00:00:00 2001
+From: oxalica <oxalicc@pm.me>
+Date: Sun, 2 Oct 2022 08:09:57 +0800
+Subject: [PATCH] Fix tests for neovim 0.8.0
+
+Since neovim/neovim#8519, `NVIM_LISTEN_ADDRESS` is only directly used
+when it contains colons or (back-)slashes. Otherwise it is concatanated
+with a tempdir prefix and suffixes to form the final path.
+--- a/tests/test_nvr.py
++++ b/tests/test_nvr.py
+@@ -18,7 +18,7 @@ def run_nvr(cmdlines, env):
+ nvr.main(cmdline, env)
+
+ def setup_env():
+- env = {'NVIM_LISTEN_ADDRESS': 'pytest_socket_{}'.format(uuid.uuid4())}
++ env = {'NVIM_LISTEN_ADDRESS': './pytest_socket_{}'.format(uuid.uuid4())}
+ env.update(os.environ)
+ return env
+
+
diff --git a/dev-python/neovim-remote/metadata.xml b/dev-python/neovim-remote/metadata.xml
index bbf1e5633e11..4f5138e06ceb 100644
--- a/dev-python/neovim-remote/metadata.xml
+++ b/dev-python/neovim-remote/metadata.xml
@@ -14,6 +14,7 @@
<name>Python</name>
</maintainer>
<upstream>
+ <remote-id type="github">mhinz/neovim-remote</remote-id>
<remote-id type="pypi">neovim-remote</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/neovim-remote/neovim-remote-2.5.1.ebuild b/dev-python/neovim-remote/neovim-remote-2.5.1.ebuild
index 9eecf4f83161..1f8ea433f9c9 100644
--- a/dev-python/neovim-remote/neovim-remote-2.5.1.ebuild
+++ b/dev-python/neovim-remote/neovim-remote-2.5.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
@@ -39,4 +39,8 @@ BDEPEND="
)
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.5.1-neovim-0.8.patch
+)
+
distutils_enable_tests pytest
diff --git a/dev-python/neovim-remote/neovim-remote-9999.ebuild b/dev-python/neovim-remote/neovim-remote-9999.ebuild
index 9eecf4f83161..c4c5cdfd52ef 100644
--- a/dev-python/neovim-remote/neovim-remote-9999.ebuild
+++ b/dev-python/neovim-remote/neovim-remote-9999.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
diff --git a/dev-python/nest-asyncio/Manifest b/dev-python/nest-asyncio/Manifest
new file mode 100644
index 000000000000..69e3081efb20
--- /dev/null
+++ b/dev-python/nest-asyncio/Manifest
@@ -0,0 +1 @@
+DIST nest_asyncio-1.6.0.tar.gz 7418 BLAKE2B 35073a931f5a3e3cda8f702233a5d3a4a027bf9a22fd75f699b43fa587de69e867e94d114fb6029ec30bf1d791dd083cf9d5cb8462d79020e56ecbe4a4f10379 SHA512 19addd99ed548393b7fa6da2eab77d94ab33c6378003a50f6731c29ef873d4227ac6a1633b15931ab100f0c8c033c8332762d30e8921e241e72cfcd83bfbc481
diff --git a/dev-python/nest_asyncio/metadata.xml b/dev-python/nest-asyncio/metadata.xml
index 790b1d0cab64..790b1d0cab64 100644
--- a/dev-python/nest_asyncio/metadata.xml
+++ b/dev-python/nest-asyncio/metadata.xml
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..4d256ae5774b
--- /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..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/Manifest b/dev-python/nest_asyncio/Manifest
deleted file mode 100644
index 092e8aa8389f..000000000000
--- a/dev-python/nest_asyncio/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST nest_asyncio-1.5.6.tar.gz 7444 BLAKE2B 04b5808b3187c1155c440c903f0e1d5593f49204e6ffea2a37dc2b6112a365b94ab80823ce512a4cdf6c0799ef1c18d55fc0a841030a2cb93e0913fdf770f247 SHA512 9672cdd72b2bad7c968fa23c94e8bf8014aabf0aefd79b260503e7fe640cb7649f5c266133a4eb87aedcd99cea644fa51f8cd09d789777aca11eb64e84cf4ca5
diff --git a/dev-python/nest_asyncio/nest_asyncio-1.5.6.ebuild b/dev-python/nest_asyncio/nest_asyncio-1.5.6.ebuild
deleted file mode 100644
index 1889ef4cb5cb..000000000000
--- a/dev-python/nest_asyncio/nest_asyncio-1.5.6.ebuild
+++ /dev/null
@@ -1,19 +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
-
-DESCRIPTION="Patch asyncio to allow nested event loops"
-HOMEPAGE="https://github.com/erdewit/nest_asyncio/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/netaddr/Manifest b/dev-python/netaddr/Manifest
index 93547897426c..37b10114182d 100644
--- a/dev-python/netaddr/Manifest
+++ b/dev-python/netaddr/Manifest
@@ -1 +1,2 @@
-DIST netaddr-0.8.0.tar.gz 1959055 BLAKE2B c0a361c100490c17203aad14eb14a3e09c63f5a6ce2f4b7e85bc57942329ac4603a1d4b3a09a9ab964a775dfb50a8746f6dd4a05d2f9bba01674624a7d7b46c1 SHA512 0b518ef240b81af425a5aaa6f087b10dece3f352c0c67cde8553ac00daa9d1890637c05d16740e2c23b30ae068c1b4c409ca8291e02093699fafd638701b9069
+DIST netaddr-0.10.1.tar.gz 2225283 BLAKE2B 1e350909779af0bf48d74834194358386cf4f8e11fa7b03c971b3011bcec437cc39feb72e7e79d55eb330e6ee138d15bb6dba9293667e1adb4ed1c6d42a35d78 SHA512 ca04171d5cbfd569d4f262f4870610edfd98be35899cb70983dbff5f37add963e05987ddbe1ab22d9b615580ac1abe96a8c2903681b18af8c9f2f96899b618ff
+DIST netaddr-1.2.1.tar.gz 2278809 BLAKE2B 86ab4308961e31277846555295321f392cd9d31bb53abe6a975cafba675dca0da20980a730ed90f545b03b9041269ef93b1ba4bd1a9e523ac3193059e227f63a SHA512 73e9dc76bb1b6affe56be47a409c470c95bb2d50255211b1cd0d130c3d31c16cb608897cd0785fbe155de82c43d526252b6132e8ae757b7e6a28a95889b0e0f7
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..f84df03a25bd
--- /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..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 \
+ dev-python/furo
+distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature "CLI support" dev-python/ipython
+}
diff --git a/dev-python/netaddr/netaddr-0.8.0-r1.ebuild b/dev-python/netaddr/netaddr-0.8.0-r1.ebuild
deleted file mode 100644
index 58a600a06b4b..000000000000
--- a/dev-python/netaddr/netaddr-0.8.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 optfeature
-
-DESCRIPTION="Network address representation and manipulation library"
-HOMEPAGE="
- https://github.com/netaddr/netaddr/
- https://pypi.org/project/netaddr/
- https://netaddr.readthedocs.io/
-"
-SRC_URI="
- https://github.com/netaddr/netaddr/archive/${PV}.tar.gz
- -> ${P}.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-distutils_enable_sphinx docs/source
-distutils_enable_tests pytest
-
-src_prepare() {
- # Disable coverage (requires additional plugins)
- sed -i 's/^addopts = .*//' pytest.ini || die
- distutils-r1_src_prepare
-}
-
-pkg_postinst() {
- optfeature "CLI support" dev-python/ipython
-}
diff --git a/dev-python/netaddr/netaddr-1.2.1.ebuild b/dev-python/netaddr/netaddr-1.2.1.ebuild
new file mode 100644
index 000000000000..ecfbaf1638cd
--- /dev/null
+++ b/dev-python/netaddr/netaddr-1.2.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..12} )
+
+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"
+
+distutils_enable_sphinx docs/source \
+ dev-python/furo \
+ dev-python/sphinx-issues
+distutils_enable_tests pytest
diff --git a/dev-python/netcdf4-python/Manifest b/dev-python/netcdf4-python/Manifest
deleted file mode 100644
index a1ee1d79e762..000000000000
--- a/dev-python/netcdf4-python/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST netCDF4-1.5.8.tar.gz 767013 BLAKE2B 26e30b9ef74b6d1af07fadc5a0c93c1370c9e684b69345e18801c00691362766bce393b7fc8c0ccd4cd4b8e7ac448f3c69a1769e056c780c668c441cf0418b94 SHA512 b43e10356a60ecdd1aaa7585648242e9d610e042da8fd97f374617d7813cc9f35b4133a88ac4c10e921df12d5b2f2b1668af4fb69578b57b7c3d57a731579260
diff --git a/dev-python/netcdf4-python/metadata.xml b/dev-python/netcdf4-python/metadata.xml
deleted file mode 100644
index e9799992da68..000000000000
--- a/dev-python/netcdf4-python/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>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <longdescription>
- netcdf4-python is a Python interface to the netCDF C library.
- netCDF version 4 can read and write files in both the new netCDF 4
- and the old netCDF 3 format, and can create files that are readable
- by HDF5 clients. The API modelled after Scientific.IO.NetCDF, and
- should be familiar to users of that module.
- </longdescription>
- <upstream>
- <remote-id type="pypi">netCDF4</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/netcdf4-python/netcdf4-python-1.5.8.ebuild b/dev-python/netcdf4-python/netcdf4-python-1.5.8.ebuild
deleted file mode 100644
index 25f2870753da..000000000000
--- a/dev-python/netcdf4-python/netcdf4-python-1.5.8.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..11} )
-inherit distutils-r1 optfeature
-
-MY_PN="netCDF4"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Python/numpy interface to the netCDF C library"
-HOMEPAGE="https://unidata.github.io/netcdf4-python/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}"/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- sci-libs/hdf5
- sci-libs/netcdf:=[hdf5]"
-RDEPEND="${DEPEND}
- dev-python/cftime[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- sci-libs/hdf5
- sci-libs/netcdf[hdf5,tools]
- dev-python/cftime[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- )"
-
-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/Manifest b/dev-python/netcdf4/Manifest
new file mode 100644
index 000000000000..50cfaf9101f5
--- /dev/null
+++ b/dev-python/netcdf4/Manifest
@@ -0,0 +1 @@
+DIST netCDF4-1.6.5.tar.gz 764969 BLAKE2B 6337099fbb66a53f2cda7a39e1b0dbb7b3ab9e6ec04177fc0deca1c86003bc20d9ed5d6ba72d5917766c1b9784c39c7cff328a7b5494aeb46bcc1ac895c13e7c SHA512 10f9b62399cf2d155f44b56d6d0f15950f610e855755bcb6d7d1756ded9ed513e83677ab70f7bc75eaffaca1703f37cc0a48c565927df7eb67beeb5a0be6f8d0
diff --git a/dev-python/netcdf4/metadata.xml b/dev-python/netcdf4/metadata.xml
new file mode 100644
index 000000000000..7ae0208c4dbb
--- /dev/null
+++ b/dev-python/netcdf4/metadata.xml
@@ -0,0 +1,23 @@
+<?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>
+ <longdescription>
+ netcdf4-python is a Python interface to the netCDF C library.
+ netCDF version 4 can read and write files in both the new netCDF 4
+ and the old netCDF 3 format, and can create files that are readable
+ by HDF5 clients. The API modelled after Scientific.IO.NetCDF, and
+ should be familiar to users of that module.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">unidata/netcdf4-python</remote-id>
+ <remote-id type="pypi">netCDF4</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/netcdf4/netcdf4-1.6.5.ebuild b/dev-python/netcdf4/netcdf4-1.6.5.ebuild
new file mode 100644
index 000000000000..2bcbe0c20bfc
--- /dev/null
+++ b/dev-python/netcdf4/netcdf4-1.6.5.ebuild
@@ -0,0 +1,56 @@
+# 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/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 89d7fa1b3839..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_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Portable network interface information"
-HOMEPAGE="
- https://pypi.org/project/netifaces/
- https://alastairs-place.net/projects/netifaces/
- https://github.com/al45tair/netifaces
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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..0ca6da32cd7d
--- /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..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
+ "${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 f715b0a30e95..433bd09fe9f9 100644
--- a/dev-python/networkx/Manifest
+++ b/dev-python/networkx/Manifest
@@ -1,2 +1,2 @@
-DIST networkx-2.8.8.tar.gz 1960828 BLAKE2B 074e902c2c31e0641fe651d2168c77e62af04b322485bf002f557a42c7a7c63d1391c32f9de95b9d5faf13f7eb9ece93171bb1fdba8548d59df5075ac72263e2 SHA512 c698ed2dcc4221662af585940cf5d6ce1ad97b6b8f6d84348ff1d6b233eb69a36f5fba362bc4bb3a08ec8716434690b52b1d66dc4122edb0f420eaa10023d9d4
-DIST networkx-3.0.tar.gz 1987075 BLAKE2B fd5de216f4934a1d5c730264b3860a91dcaf7a12462b615b1aa22df11bfd7d530a369442eebe185572e94bedf6fae3ef4a452804c84fdf3f1e79527ffab2d5c9 SHA512 73e1a9faca6ecd04f6d8da4cd5a887af31738fbeca3d06adc57a4a61fad1d81ab30e89f9c4d25274b0890519b0a517f09402eea3bf3f26b18c3e3052b837ee37
+DIST networkx-3.2.1.tar.gz 2073928 BLAKE2B fc4a4c0357f25cb3e4bfdfb38ffa528eddba22abc852bc80e0a70047aea2e401b0003c01108435ced1eacdba33d181395e73fcfa20773faa566c8b5cb45f6cdb SHA512 579c54a4a016617f5260df01b821c3906c4f289e80ae7bd618c0ebb9e05ebe806e71f1f660e3012531d04572ac4e6670aa73117ed26da8248fbb8ef7228b5803
+DIST networkx-3.3.tar.gz 2126579 BLAKE2B 37d5d536e2564f9a219df70bb7f1b7c0717b99e9cdb7a4050aa321609a0ef34caecfda5a6ed8cb17f4d3b305b667adf8e40b58568dde8eb942d4a00b1ebdb255 SHA512 86306cabd7e15aa79cae4d84a42e8804b1e904fc2127725067a80e3ddf31f0fa72ebb9d21284018e72bdfc662c766a5be55564572aadaf7392dada7ea93d1ea4
diff --git a/dev-python/networkx/networkx-2.8.8.ebuild b/dev-python/networkx/networkx-2.8.8.ebuild
deleted file mode 100644
index e1e7018d1154..000000000000
--- a/dev-python/networkx/networkx-2.8.8.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_FULLY_TESTED=( python3_{9..11} )
-PYTHON_COMPAT=( "${PYTHON_FULLY_TESTED[@]}" )
-
-inherit distutils-r1 optfeature multiprocessing virtualx
-
-DESCRIPTION="Python tools to manipulate graphs and complex networks"
-HOMEPAGE="
- https://networkx.org/
- https://github.com/networkx/networkx/
- https://pypi.org/project/networkx/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.19[${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" "dev-python/gdal"
- optfeature "GraphML XML format" "dev-python/lxml"
-}
diff --git a/dev-python/networkx/networkx-3.0.ebuild b/dev-python/networkx/networkx-3.0.ebuild
deleted file mode 100644
index 49009b45f627..000000000000
--- a/dev-python/networkx/networkx-3.0.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_FULLY_TESTED=( python3_{9..11} )
-PYTHON_COMPAT=( "${PYTHON_FULLY_TESTED[@]}" )
-
-inherit distutils-r1 optfeature multiprocessing virtualx
-
-DESCRIPTION="Python tools to manipulate graphs and complex networks"
-HOMEPAGE="
- https://networkx.org/
- https://github.com/networkx/networkx/
- https://pypi.org/project/networkx/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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" "dev-python/gdal"
- 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
new file mode 100644
index 000000000000..c4296a359f3c
--- /dev/null
+++ b/dev-python/networkx/networkx-3.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
+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 ~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.5[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.22[${PYTHON_USEDEP}]
+ !ppc64? ( !sparc? (
+ >=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() {
+ 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/networkx/networkx-3.3.ebuild b/dev-python/networkx/networkx-3.3.ebuild
new file mode 100644
index 000000000000..29c42bc38d2c
--- /dev/null
+++ b/dev-python/networkx/networkx-3.3.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
+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 ~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}]
+ !ppc64? ( !sparc? (
+ >=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() {
+ 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/nextinspace/Manifest b/dev-python/nextinspace/Manifest
new file mode 100644
index 000000000000..ca45cfafa5b3
--- /dev/null
+++ b/dev-python/nextinspace/Manifest
@@ -0,0 +1 @@
+DIST nextinspace-2.0.5.gh.tar.gz 48406 BLAKE2B 6f6e2c95fc1a5a8175faca4df0a51de9996ca24847926dc35b94d0e4bd5c9de880ad757606309f622f41c825d0c2e46c587f255573b4df70fe35c937148af9d7 SHA512 c8f55446d9eea0409afb8a8ddb41001b18b55d9105d007b306717a3d932ea1b03ecb2363d0deb42ec8da1cc245b77ffb18cee6ec3474121c15c4c9b79ff80405
diff --git a/dev-python/nextinspace/metadata.xml b/dev-python/nextinspace/metadata.xml
new file mode 100644
index 000000000000..56879b2e53b6
--- /dev/null
+++ b/dev-python/nextinspace/metadata.xml
@@ -0,0 +1,22 @@
+<?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>
+ <longdescription>
+ A command-line tool for seeing the latest in space. Nextinspace also
+ supports use as a Python library, so you can integrate it into your
+ application. You can also get data printed to the terminal in JSON,
+ which can be piped into another program.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">gideonshaked/nextinspace</remote-id>
+ <remote-id type="pypi">nextinspace</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/nextinspace/nextinspace-2.0.5.ebuild b/dev-python/nextinspace/nextinspace-2.0.5.ebuild
new file mode 100644
index 000000000000..eae473198e24
--- /dev/null
+++ b/dev-python/nextinspace/nextinspace-2.0.5.ebuild
@@ -0,0 +1,43 @@
+# 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="A command-line tool for seeing the latest in space"
+HOMEPAGE="https://github.com/gideonshaked/nextinspace"
+
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/gideonshaked/nextinspace.git"
+else
+ SRC_URI="https://github.com/gideonshaked/nextinspace/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="amd64 x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ >=dev-python/colorama-0.4.3[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.24[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ >=dev-python/pytest-lazy-fixture-0.6.3[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.8[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+
+ # Don't install license files
+ sed -e '/^include = \["LICENSE"\]$/d' -i pyproject.toml || die
+}
diff --git a/dev-python/nextinspace/nextinspace-9999.ebuild b/dev-python/nextinspace/nextinspace-9999.ebuild
new file mode 100644
index 000000000000..e944c1cc82a7
--- /dev/null
+++ b/dev-python/nextinspace/nextinspace-9999.ebuild
@@ -0,0 +1,43 @@
+# 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="A command-line tool for seeing the latest in space"
+HOMEPAGE="https://github.com/gideonshaked/nextinspace"
+
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/gideonshaked/nextinspace.git"
+else
+ SRC_URI="https://github.com/gideonshaked/nextinspace/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND="
+ >=dev-python/colorama-0.4.3[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.24[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ >=dev-python/pytest-lazy-fixture-0.6.3[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.8[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+
+ # Don't install license files
+ sed -e '/^include = \["LICENSE"\]$/d' -i pyproject.toml || die
+}
diff --git a/dev-python/nh3/Manifest b/dev-python/nh3/Manifest
new file mode 100644
index 000000000000..6e04f4e9d0b1
--- /dev/null
+++ b/dev-python/nh3/Manifest
@@ -0,0 +1,71 @@
+DIST ammonia-4.0.0.crate 47763 BLAKE2B 6f952a8030ce2cfb9bcaf01c36d795c470f47bd7fa8e3935e058016876de04c6c43db3d56776c9ec5bb2acd83f315fd5dbd7c60373b397d70336d6926340c816 SHA512 84f523eaf7db9d98e44c7d1198fae40e59e838dcc9fc256ca7ef3f3d243a767755f318e516411b4feba4ecb26e30e77d501e9163f996b4d113804e5f2c41a65e
+DIST autocfg-1.2.0.crate 14808 BLAKE2B 122327d6ffd32e08dc9fbdb4dcf69128b19d56280f9d934311b946741003b40571cdd1f3ef54b2be02c8dc505aea11c962b244d33a92206bf4ee8f6b2b9da432 SHA512 66cbfd13e33b36284cf4c74c8d654f93adcc45893d127d9aaa4c1d183e47336096e72d74e7c17dd481fb7a98931ab6cfec7e4d4165cfb491861d4e3ffe2416fc
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+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.12.crate 36163 BLAKE2B 0afef8504932ea0ea051cde1d14bd5b79edde68d6ebae6fe88fa4aaa532605a16f466d0d9c0d0aa619eaa105600b6d5ee4e191865a3fa041549a78f78ca82396 SHA512 dd97d7dae1a7ba653abdaf2db719e1a9c8eb721b08b4af0f1c45b1ed5079069d1b57e4f6d9d879e7fae3a890763f4b6aea9bc2d945392b98e811e7b348589bee
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+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 lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f855883e3df5a482de2c76814c48739582d3079d76a2bdd14a6999204b7fd31dcd8fd06d1dc7f9418f0e2f70a1450e SHA512 9946adf313a5c67a0dd87a1b679b7d9d16a86149fb95974d3f28aa57a9a1a3932e4a5ee1d332097559329c5e3b2295be2e4b655b115d9f75269f33a758b17fb3
+DIST log-0.4.21.crate 43442 BLAKE2B 8429b3270794d3e2c7f7d5b58bd4fa1abb9d4807ab3a1ac980ac81c11d9544635003d8cf2e608c2c0094865459108a2879f280278e121df68d09bc1561d604ba SHA512 0becc1a06b6e7048cff6c0bb8df49a16ac4772133c00239e9e9459c0811e7715c500f440cf1a9aef8d7ad74f57434559ca9b55917f588b8e476cf36eb6d4e10b
+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.12.0.crate 34639 BLAKE2B 730bf33cbd7def1cac6480514a9efa254a71ebe538f6fb6c36a3be5abf11b920f5161c695345843225fe4ef32ab67fe5880fbdb3c28870c14a8ccfa3276ece06 SHA512 d53b6743330d7f629d53419e54e77602b03bc01a5023b2431b14b8be47de23d2fc052a94c24885dabee041fc6f472a1103e66e69b5c2b8a9f36152b7df0749ef
+DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
+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 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 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.79.crate 47200 BLAKE2B fff8e514d618b8ef60d6a4ca7610607641cb25701fc5e8452e0db5f942a3c38c724acbbfb0474823fe0f4864df07958c1524383e7640105266608f1d5a741368 SHA512 8bfa6fc1022556cbabe0050a37b93c5ef1056ebda9d3dd368e705a7c695df9dfb5cd5adc18ad1eadf7338631ad1d5ed6f63f0adff3616429ef8c50a930b1838f
+DIST pyo3-0.21.0.crate 500599 BLAKE2B 8e56a264f6cb8b8e5cfcc1854e3732edecaefe874cbda4db10742c4865a876625b723010ec6d2539ccbb58643b26c5d03522a0f3d03121af09632f3adb1186de SHA512 90b551c6ac4867245b2667fc4a9b74875351aa0417cae6c24ecb4cce1b2d4ecdaa7e23a07bf188490a25b6033985f8598b3ae202917e9bed6f4d72168a5383c2
+DIST pyo3-build-config-0.21.0.crate 30535 BLAKE2B 71bc1756e1640456cce58190d90f7c1059b9748d9d72a122dd4e28c74ba96cb9fd2bbd80791d3edf313349cc0fbaa669c8e9cecfc925c9828ac794fda17a6ed4 SHA512 ac1ee7389fe267c28ff67f5d6a23bdba57ad2e0dff16e7ef38bc2bc95d0a2a4aca0b1fe4cac8510163c6c5a44bdac128f36d7b34655dff5f8e690db38e5edc6a
+DIST pyo3-ffi-0.21.0.crate 66158 BLAKE2B 40809352e9df9ed13f833a73c9d50f71e63591a5b4680fbc85b2c10fa5d0ca65b793d6f467723bdc47887a38536fba4c2b2d9ba52f5ee9b2005a23d98778c407 SHA512 4405a6dbb06e739a54056a70b072b94b1181aa5ec06515c32ba76962fe4bce6b2b63cc179b77d3656123eff5f60e650bd6efe026794ad38d37e307f3653a3f96
+DIST pyo3-macros-0.21.0.crate 7917 BLAKE2B 3b7471486cbdfb8a9970f3aba9ad88dae9a2c620993f7a9cb6a3549e170fe9412318020e6c905eb35678d52d65a733e4858c30d33b6928dd1cb1f4f6a037c2c6 SHA512 b842f58813a152055f987ac065d3f38229a209c381b384160a1be49c271792347ffe97fbc6c898b120553e0f6f57743f9488cdc342a5a844fdd89bdd637515f7
+DIST pyo3-macros-backend-0.21.0.crate 57562 BLAKE2B 12a25a2103d1c4c2e8da291ea64f202d3237eadbf55d7ce2bfaa8b6846df098ae5d0456cc9cf409c16fce323de127d60e0f5a458cb387198f604e6eb8e2a9dbe SHA512 e65b2816464ac189616f44065fbe45156f2aa560e880f0c8b49a7d097ac1dd278a9cf0c504b14de3ee550f0604da5ec991be6ee6fabdc53cef54f0a2f0a8d849
+DIST quote-1.0.35.crate 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2
+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.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
+DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
+DIST serde-1.0.197.crate 77087 BLAKE2B 4a4e04ededf5fefaabfcc4e17457db823239e8eeee7631a905ed47800ca10d26a93632e3a9d1b784b83f84168d0d649cfa2e6f5f1e68ab15a68e837cd5b6c699 SHA512 69e42825fce6a0a5d109979785daceacfd6afc5641e202fe83da32e2b1f968416557cce97fa014839e873e65f85c27494c8f8e20e6e9e4fbedf20d0291880410
+DIST serde_derive-1.0.197.crate 55771 BLAKE2B 73708908b6d1e104af4c63b498bd25c5a728e07e22afdf92f15754c0f17636efe44c0560c1f0df1b9a30708e8e8894a62f1ea57c234b6dd861cb9c8dc044eb4b SHA512 669376e248b76a5ee8b9c93fd9fe6d35372e7267fbabc14730539ef28a94e405ee5e9c2cc2846897d59d6153742cdc6799f9e2c87f20b9dad119bd3a86c28994
+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-2.0.55.crate 254901 BLAKE2B f48da9df7d80bc35ec7f88d2b73a29fc1f2daaf2b1e2120c8a145c730e99148ef7a41fde7466f3b12ce8f017b505341cf5109353a9aa2164827a724b775167bb SHA512 093414e1db32cf723161fdf213c6bc59aeda00c6867ca8cc28997822375bca07ec709e47324bdb936df87298e84da296fe15968811a0d74c978a1a90b89dbd3a
+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_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e
+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 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.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/nh3/metadata.xml b/dev-python/nh3/metadata.xml
new file mode 100644
index 000000000000..8d19bfb95ecb
--- /dev/null
+++ b/dev-python/nh3/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">messense/nh3</remote-id>
+ <remote-id type="pypi">nh3</remote-id>
+ </upstream>
+</pkgmetadata>
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..84c97523998d
--- /dev/null
+++ b/dev-python/nh3/nh3-0.2.17.ebuild
@@ -0,0 +1,103 @@
+# 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..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/nnpy/Manifest b/dev-python/nnpy/Manifest
index 8d130691ad33..7f40c5814dd9 100644
--- a/dev-python/nnpy/Manifest
+++ b/dev-python/nnpy/Manifest
@@ -1 +1 @@
-DIST nnpy-1.4.2.tar.gz 4830 BLAKE2B 7e1e3d3ade400e96e43504e490f22e5595850d54e80d4591fa0a519a47a492aaf569d9937c4ee05fc9504c4beb5cb2ef8496a65874e64b6162087eade6762906 SHA512 b0908e3b53ac62d8a41ecadd412b2c4bff69773d5eeecc2eb72cad2667c3a14405dc1dfa6f2cdf4f81cf76b9eadbcdca5bdfa1499a2f0c3beddbacbd3e21b7d7
+DIST nnpy-1.4.2.gh.tar.gz 4830 BLAKE2B 7e1e3d3ade400e96e43504e490f22e5595850d54e80d4591fa0a519a47a492aaf569d9937c4ee05fc9504c4beb5cb2ef8496a65874e64b6162087eade6762906 SHA512 b0908e3b53ac62d8a41ecadd412b2c4bff69773d5eeecc2eb72cad2667c3a14405dc1dfa6f2cdf4f81cf76b9eadbcdca5bdfa1499a2f0c3beddbacbd3e21b7d7
diff --git a/dev-python/nnpy/nnpy-1.4.2-r1.ebuild b/dev-python/nnpy/nnpy-1.4.2-r1.ebuild
new file mode 100644
index 000000000000..d1c01baf037c
--- /dev/null
+++ b/dev-python/nnpy/nnpy-1.4.2-r1.ebuild
@@ -0,0 +1,34 @@
+# 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="cffi-based Python bindings for nanomsg"
+HOMEPAGE="
+ https://github.com/nanomsg/nnpy/
+ https://pypi.org/project/nnpy/
+"
+SRC_URI="
+ https://github.com/nanomsg/nnpy/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm"
+
+DEPEND="
+ dev-python/cffi:=[${PYTHON_USEDEP}]
+ dev-libs/nanomsg:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/nnpy/nnpy-1.4.2.ebuild b/dev-python/nnpy/nnpy-1.4.2.ebuild
deleted file mode 100644
index 53213f6575d7..000000000000
--- a/dev-python/nnpy/nnpy-1.4.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="cffi-based Python bindings for nanomsg"
-HOMEPAGE="https://github.com/nanomsg/nnpy"
-SRC_URI="https://github.com/nanomsg/nnpy/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm"
-
-DEPEND="
- dev-python/cffi:=[${PYTHON_USEDEP}]
- dev-libs/nanomsg:=
-"
-RDEPEND="${DEPEND}"
-
-distutils_enable_tests unittest
diff --git a/dev-python/node-semver/Manifest b/dev-python/node-semver/Manifest
index 2ec1a975cc85..cad6e3bfbc68 100644
--- a/dev-python/node-semver/Manifest
+++ b/dev-python/node-semver/Manifest
@@ -1 +1 @@
-DIST python-node-semver-0.8.1.gh.tar.gz 18550 BLAKE2B fd033b22595c4173ab33ea456f561f158dc7db4ef03a83948d5c4eacf33f2530d03f881d28073eb3d84790f306574ceba7fd5eec8ea5c50f9dafc74a0cc11003 SHA512 5a988755ed97aa1ba9b97595738200821787c2cc71f40198cffdc22c4b823fe132668946ecc3f0fb66d6c33fe0ec7bdcfa9c9794e3d382b38f8551d15d4af5e6
+DIST python-node-semver-0.9.0.gh.tar.gz 19547 BLAKE2B 6558468a38aa11943429919c29d00e5512fd74587a5e9b53a9f7704acb60877919331329cb42b53812918eb3264f2bcd08838d566cbf9476b8aa9a47f745cd74 SHA512 1ac32e271cf2b574ffbdf3c37aa5a13493ab03dbaa539b50614e9f91adea1078e0bee0451ae400b456e83de0493942ea209d7dd9aec4ab90a3e9753ba1c80082
diff --git a/dev-python/node-semver/node-semver-0.8.1.ebuild b/dev-python/node-semver/node-semver-0.8.1.ebuild
deleted file mode 100644
index eae865fa5850..000000000000
--- a/dev-python/node-semver/node-semver-0.8.1.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P=python-${P}
-DESCRIPTION="Python version of node-semver, the semantic versioner for npm"
-HOMEPAGE="
- https://pypi.org/project/node-semver/
- https://github.com/podhmo/python-node-semver/
- https://github.com/npm/node-semver/
-"
-SRC_URI="
- https://github.com/podhmo/python-node-semver/archive/${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 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-distutils_enable_tests pytest
diff --git a/dev-python/node-semver/node-semver-0.9.0.ebuild b/dev-python/node-semver/node-semver-0.9.0.ebuild
new file mode 100644
index 000000000000..856d197a5729
--- /dev/null
+++ b/dev-python/node-semver/node-semver-0.9.0.ebuild
@@ -0,0 +1,28 @@
+# 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=python-${P}
+DESCRIPTION="Python version of node-semver, the semantic versioner for npm"
+HOMEPAGE="
+ https://pypi.org/project/node-semver/
+ https://github.com/podhmo/python-node-semver/
+ https://github.com/npm/node-semver/
+"
+SRC_URI="
+ https://github.com/podhmo/python-node-semver/archive/${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 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+distutils_enable_tests pytest
diff --git a/dev-python/nodeenv/Manifest b/dev-python/nodeenv/Manifest
index 8954876560a5..f10fe25c830c 100644
--- a/dev-python/nodeenv/Manifest
+++ b/dev-python/nodeenv/Manifest
@@ -1 +1 @@
-DIST nodeenv-1.7.0.gh.tar.gz 36209 BLAKE2B ff5853c04f9c442ffee883f7c981e574704c4ccbb37a8627257c4c7af3c86d70034a2e62b4bc6f4e7c6da32e0edb4f5b9216bf288f47991d9b42f21be454634f SHA512 1e3e4068591d51d8915de73ab0f82f04620ca628152ec5a454e7ad18001ff20b698f9818353c44b80200ab529d95fa3196a3dbc85f0c497ea49f60eaa5dc9ea7
+DIST nodeenv-1.8.0.gh.tar.gz 36750 BLAKE2B e75217bb0c468649cbc29688f29d62450008816fb07e4decf1b28dada8b820c2d6f70eb65444e06a8c64b8a816c0cc98f7d179e770eaefe93e87c0cda05e1f85 SHA512 96dce219e00d3837b2b0083af9fe6d94ed4e3cd029e3da564263ad8656dcb9c52440c2df6a6954095e5cacd03e44437f08695603dea82c28122713045183014f
diff --git a/dev-python/nodeenv/files/nodeenv-1.8.0-which-hunt.patch b/dev-python/nodeenv/files/nodeenv-1.8.0-which-hunt.patch
new file mode 100644
index 000000000000..58d3275e9568
--- /dev/null
+++ b/dev-python/nodeenv/files/nodeenv-1.8.0-which-hunt.patch
@@ -0,0 +1,64 @@
+https://github.com/ekalinin/nodeenv/issues/333
+https://github.com/ekalinin/nodeenv/pull/346
+
+From 0d3ebaf7e13175e2871f59856f29d880a4cb3acf Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 13 Dec 2023 04:13:24 +0000
+Subject: [PATCH] Remove usage of non-portable `which`
+
+* Use Python's shutil.which() instead of shelling out to `which` to find Python 2
+* Use `command -v` instead of `which` in README
+
+Fixes: https://github.com/ekalinin/nodeenv/issues/333
+---
+ README.rst | 2 +-
+ README.ru.rst | 2 +-
+ nodeenv.py | 8 ++------
+ 3 files changed, 4 insertions(+), 8 deletions(-)
+
+diff --git a/README.rst b/README.rst
+index c9e130b..3459572 100644
+--- a/README.rst
++++ b/README.rst
+@@ -211,7 +211,7 @@ environment::
+
+ $ workon my_env
+ $ npm install -g coffee-script
+- $ which coffee
++ $ command -v coffee
+ /home/monty/virtualenvs/my_env/bin/coffee
+
+ Creating a virtual environment with a custom prompt:
+diff --git a/README.ru.rst b/README.ru.rst
+index c3eb130..2cc821e 100644
+--- a/README.ru.rst
++++ b/README.ru.rst
+@@ -155,7 +155,7 @@ python'а::
+
+ $ workon my_env
+ $ npm install -g coffee-script
+- $ which coffee
++ $ command -v coffee
+ /home/monty/virtualenvs/my_env/bin/coffee
+
+
+diff --git a/nodeenv.py b/nodeenv.py
+index 9d5dd06..183ded2 100644
+--- a/nodeenv.py
++++ b/nodeenv.py
+@@ -707,12 +707,8 @@ def build_node_from_src(env_dir, src_dir, node_src_dir, args):
+ # Currently, the node.js build scripts are using python2.*,
+ # therefore we need to temporarily point python exec to the
+ # python 2.* version in this case.
+- try:
+- _, which_python2_output = callit(
+- ['which', 'python2'], args.verbose, True, node_src_dir, env
+- )
+- python2_path = which_python2_output[0]
+- except (OSError, IndexError):
++ python2_path = shutil.which('python2')
++ if not python2_path:
+ raise OSError(
+ 'Python >=3.0 virtualenv detected, but no python2 '
+ 'command (required for building node.js) was found'
+
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.7.0.ebuild b/dev-python/nodeenv/nodeenv-1.7.0.ebuild
deleted file mode 100644
index a48ab4eb9055..000000000000
--- a/dev-python/nodeenv/nodeenv-1.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_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Node.js virtual environment builder"
-HOMEPAGE="https://github.com/ekalinin/nodeenv"
-SRC_URI="
- https://github.com/ekalinin/nodeenv/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~hppa ~ppc ~ppc64 x86"
-
-# requires network access
-RESTRICT="test"
-PROPERTIES="test_network"
-
-distutils_enable_tests pytest
diff --git a/dev-python/nodeenv/nodeenv-1.8.0-r1.ebuild b/dev-python/nodeenv/nodeenv-1.8.0-r1.ebuild
new file mode 100644
index 000000000000..0546736e76c4
--- /dev/null
+++ b/dev-python/nodeenv/nodeenv-1.8.0-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.8.0-which-hunt.patch
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/noiseprotocol/Manifest b/dev-python/noiseprotocol/Manifest
new file mode 100644
index 000000000000..5d810f0b2e08
--- /dev/null
+++ b/dev-python/noiseprotocol/Manifest
@@ -0,0 +1 @@
+DIST noiseprotocol-0.3.1.gh.tar.gz 308734 BLAKE2B 952bc1f7615c209d031104a54f4e31fefa5deac064c70d589198bb8e82c1847c529e93a582d5cb9210aa199d0ea0ecb878b9d81318bc27c90e93027e8000f2a9 SHA512 4b9ebbf891366564238922355fe2c557830f11f8933c13f7abf4e035167adaa83cb8f30897b500227f9ac8ed46a8ae752e83a0088456edf8696626c4bd4a149e
diff --git a/dev-python/noiseprotocol/metadata.xml b/dev-python/noiseprotocol/metadata.xml
new file mode 100644
index 000000000000..befefe8b2874
--- /dev/null
+++ b/dev-python/noiseprotocol/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>tamiko@gentoo.org</email>
+ <name>Matthias Maier</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">noiseprotocol</remote-id>
+ <remote-id type="github">plizonczyk/noiseprotocol</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/noiseprotocol/noiseprotocol-0.3.1.ebuild b/dev-python/noiseprotocol/noiseprotocol-0.3.1.ebuild
new file mode 100644
index 000000000000..0f9742d4f45a
--- /dev/null
+++ b/dev-python/noiseprotocol/noiseprotocol-0.3.1.ebuild
@@ -0,0 +1,34 @@
+# 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="Implementation of Noise Protocol Framework. Compatible with revisions 32 and 33."
+HOMEPAGE="
+ https://github.com/plizonczyk/noiseprotocol/
+ https://pypi.org/project/noiseprotocol/
+"
+SRC_URI="
+ https://github.com/plizonczyk/noiseprotocol/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/cryptography[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+ rm -r "examples" || die "rm failed"
+}
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 6aa876bd4e40..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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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 9034b135ccb0..b2612a4bf539 100644
--- a/dev-python/nose2/Manifest
+++ b/dev-python/nose2/Manifest
@@ -1,2 +1 @@
-DIST nose2-0.11.0.tar.gz 159486 BLAKE2B 36167e492a49017e0f1474bfd5fd77782a324f7d884bc11c88cf9226090dce67d47519db00d3b57542dc808fb0db40942184b3c1804ad3923e3cf5fc03cd50bc SHA512 8e6755c0f5a25c4c53a35d93e5c7988523e03e978b0593d49b7917dfcb980553be9af0cc3c67c2db527c304d049d97a8d7f6f53b1a8b2875ab5456cbb7519375
-DIST nose2-0.12.0.gh.tar.gz 168454 BLAKE2B cce76a046c4285d7dbe6ad6a049628e23ddebd36eda4457eecb4f0e14b1559f8bd7be5bc80aa99bf965f530575c3f5e245d1a30b4115d5e8ee0aa4c8d93fb8f0 SHA512 7f1462613b7d38a77cd0764f721be4223b8f4ae4694c49ba416a076c321e07484969ee1a7c2d2f89484c0c3b2a96e74d6a42321981af4930ebe5f63f07df7755
+DIST nose2-0.14.1.gh.tar.gz 158984 BLAKE2B 36a79f2a9afc288fd1025e8e1875dd15f145708ea4715c2db11f7a769c87c3209ad367d55b1634b1ff032bd65606ca74ed1d4424a4fba74dd44a377820ff8208 SHA512 7cd4e4a67dfd87ce85927aa65137ca7df926e8a4b83162131cb081cbec357e951693826d43f92beb92af0e1d690c8f0a3f8cf6b0b58f174ae2516383892b5207
diff --git a/dev-python/nose2/files/nose2-0.12.0-version.patch b/dev-python/nose2/files/nose2-0.12.0-version.patch
deleted file mode 100644
index a6edfb04ca8d..000000000000
--- a/dev-python/nose2/files/nose2-0.12.0-version.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-https://bugs.gentoo.org/861656
-https://github.com/nose-devs/nose2/commit/fc3d69290462930bc0fa81cb69bc4c6e15f8ae66
-
-From: Stephen Rosen <sirosen@globus.org>
-Date: Sat, 16 Jul 2022 16:41:55 +0000
-Subject: [PATCH] Minor fixes regarding __version__ move
-
-Docs in conf.py and the CI build used `_version.py`, and just need
-minor updates.
---- a/docs/conf.py
-+++ b/docs/conf.py
-@@ -20,7 +20,7 @@
- master_doc = "index"
- project = "nose2"
- copyright = "2010-2022, Jason Pellerin, Stephen Rosen"
--version = release = nose2._version.__version__
-+version = release = nose2.__version__
- exclude_patterns = ["_build"]
- templates_path = ["_templates"]
-
-
diff --git a/dev-python/nose2/nose2-0.11.0.ebuild b/dev-python/nose2/nose2-0.11.0.ebuild
deleted file mode 100644
index 741edcfa6d0f..000000000000
--- a/dev-python/nose2/nose2-0.11.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..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Next generation unittest with plugins"
-HOMEPAGE="https://github.com/nose-devs/nose2"
-SRC_URI="https://github.com/nose-devs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc x86"
-
-RDEPEND="
- >=dev-python/coverage-4.4.1[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx_rtd_theme
-
-python_test() {
- "${EPYTHON}" -m nose2.__main__ -vv || die "tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/nose2/nose2-0.12.0.ebuild b/dev-python/nose2/nose2-0.12.0.ebuild
deleted file mode 100644
index 2d12d0d99625..000000000000
--- a/dev-python/nose2/nose2-0.12.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Next generation 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"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ppc ppc64 ~sparc x86"
-
-RDEPEND="
- >=dev-python/coverage-4.4.1[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx_rtd_theme \
- dev-python/sphinx-issues
-
-PATCHES=(
- "${FILESDIR}"/${P}-version.patch
-)
-
-src_prepare() {
- # seriously? that hard to depend on six?!
- rm -r nose2/_vendor || die
- find -name '*.py' -exec \
- sed -i -e 's:from nose2._vendor ::' {} + || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- "${EPYTHON}" -m nose2.__main__ -vv || die "tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/nose2/nose2-0.14.1.ebuild b/dev-python/nose2/nose2-0.14.1.ebuild
new file mode 100644
index 000000000000..2a6fc7dc0a94
--- /dev/null
+++ b/dev-python/nose2/nose2-0.14.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..12} )
+
+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/noseofyeti/Manifest b/dev-python/noseofyeti/Manifest
new file mode 100644
index 000000000000..f681ba7520d8
--- /dev/null
+++ b/dev-python/noseofyeti/Manifest
@@ -0,0 +1 @@
+DIST noseofyeti-2.4.8.tar.gz 35866 BLAKE2B 6f11c7eb1db03ed27a8838e8b774cea97189609d8b7204facc3784968119878944b28231ab1f0d42f3eaa2679fee15df465e9069d1b4473ce8e5cd1749ace0b5 SHA512 78c685da52e993dc28c758dbf4395bbd544d0f4e9993f17a7f1ce267d03ba1c4a5e43cfcb2b2110e6fc21dcc60c6fcdd2bafb3f2d8ab2535a9429430ffc9308a
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.8.ebuild b/dev-python/noseofyeti/noseofyeti-2.4.8.ebuild
new file mode 100644
index 000000000000..aa6f56d6b284
--- /dev/null
+++ b/dev-python/noseofyeti/noseofyeti-2.4.8.ebuild
@@ -0,0 +1,33 @@
+# 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..12} )
+
+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
+)
diff --git a/dev-python/notebook-shim/Manifest b/dev-python/notebook-shim/Manifest
new file mode 100644
index 000000000000..eb2676e75c71
--- /dev/null
+++ b/dev-python/notebook-shim/Manifest
@@ -0,0 +1 @@
+DIST notebook_shim-0.2.4.tar.gz 13167 BLAKE2B ae1dbd61c38c569f411698a8ef2c5b48fed186b9a3c661aefdf276cc241e446e3a964b46daedb4b4e66d02bf62f489a659d654b5874a0bd604bd635eb98214b3 SHA512 74b43e39b39ce91ee8ec2c4da2915fb7accc0992730fa4c9a6ef5037327afd5393ab11f576dd21033769ace3e5f0d44b9d6de76da0d3cd147064739b67b50719
diff --git a/dev-python/notebook_shim/metadata.xml b/dev-python/notebook-shim/metadata.xml
index 7093f58896b9..7093f58896b9 100644
--- a/dev-python/notebook_shim/metadata.xml
+++ b/dev-python/notebook-shim/metadata.xml
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 4c79e22125b8..78e4b2f22c3a 100644
--- a/dev-python/notebook/Manifest
+++ b/dev-python/notebook/Manifest
@@ -1 +1,2 @@
-DIST notebook-6.4.12.tar.gz 14389641 BLAKE2B 1cda6a1eb1f4e7ccce964153bdce8de243588ffd4abcc5ab6687ba0ea347d68c5dd239c2af5bf93809409d850747db28df72be5c2ec03bfd06b725976ae1c599 SHA512 1314cfebe97ddada61e1013fdfd606bed08908c06b58e59f2fda6e63c43a1158eeed6a93a5cddbb609ecad0347bf80ee3a74747104fd29942629734c1ea749f0
+DIST notebook-7.1.2.tar.gz 4897634 BLAKE2B c505534f847e58ae40b942a2a4da5105ab60cc81de87d97dd685f63db93af453fcc091d9d488ce73be690e76f5a94497c2bfcc318afbf233440b231eeb8c02e5 SHA512 0319f96d656dab8dd581207b1b396252025618041f5c33c6c36fd66bcb10e3f678869705fcdaa667eea2d9778d969db56e366e6ea260122167903ce372aee3ea
+DIST notebook-7.1.3.tar.gz 4897695 BLAKE2B ed43c72cf9cc3a9c96e71aa62a2079f2fcd7f6eed3469794a78673eeb0afb8bf2cabd3c3f1f9cfed7270ff02d78c6ba10cbc3785cfac82cac5083b8c8194cfc7 SHA512 596a35b718c222f960023f31c9a3c85661622d7aaa901abb81569dc465cfaf5aba137caa1c046b7b18d5e6b5ed59e0bc3849b03e74c3e45f7344adcfdb95f594
diff --git a/dev-python/notebook/files/notebook-6.4.11-no-mathjax.patch b/dev-python/notebook/files/notebook-6.4.11-no-mathjax.patch
deleted file mode 100644
index 85d326b9dfde..000000000000
--- a/dev-python/notebook/files/notebook-6.4.11-no-mathjax.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -dupr notebook-6.4.11.orig/setupbase.py notebook-6.4.11/setupbase.py
---- notebook-6.4.11.orig/setupbase.py 2022-04-20 09:37:45.964925905 +0200
-+++ notebook-6.4.11/setupbase.py 2022-04-20 09:40:32.624674341 +0200
-@@ -167,38 +167,6 @@ def find_package_data():
- if f.endswith(('.js', '.css')):
- static_data.append(pjoin(parent, f))
-
-- # Trim mathjax
-- mj = lambda *path: pjoin(components, 'MathJax', *path)
-- static_data.extend([
-- mj('MathJax.js'),
-- mj('config', 'TeX-AMS-MML_HTMLorMML-full.js'),
-- mj('config', 'Safe.js'),
-- ])
--
-- trees = []
-- mj_out = mj('jax', 'output')
--
-- if os.path.exists(mj_out):
-- for output in os.listdir(mj_out):
-- path = pjoin(mj_out, output)
-- static_data.append(pjoin(path, '*.js'))
-- autoload = pjoin(path, 'autoload')
-- if os.path.isdir(autoload):
-- trees.append(autoload)
--
-- for tree in trees + [
-- mj('localization'), # limit to en?
-- mj('fonts', 'HTML-CSS', 'STIX-Web', 'woff'),
-- mj('extensions'),
-- mj('jax', 'input', 'TeX'),
-- mj('jax', 'output', 'HTML-CSS', 'fonts', 'STIX-Web'),
-- mj('jax', 'output', 'SVG', 'fonts', 'STIX-Web'),
-- mj('jax', 'element', 'mml'),
-- ]:
-- for parent, dirs, files in os.walk(tree):
-- for f in files:
-- static_data.append(pjoin(parent, f))
--
- os.chdir(os.path.join('tests',))
- js_tests = glob('*.js') + glob('*/*.js')
-
diff --git a/dev-python/notebook/notebook-6.4.12.ebuild b/dev-python/notebook/notebook-6.4.12.ebuild
deleted file mode 100644
index 685cd0c2b8e5..000000000000
--- a/dev-python/notebook/notebook-6.4.12.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_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 xdg-utils
-
-DESCRIPTION="Jupyter Interactive Notebook"
-HOMEPAGE="https://jupyter.org"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-libs/mathjax-2.4
- dev-python/argon2-cffi[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- >=dev-python/terminado-0.8.3[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0[${PYTHON_USEDEP}]
- dev-python/ipython_genutils[${PYTHON_USEDEP}]
- >=dev-python/traitlets-4.2.1[${PYTHON_USEDEP}]
- >=dev-python/jupyter_core-4.6.1[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-17[${PYTHON_USEDEP}]
- >=dev-python/jupyter_client-5.3.4[${PYTHON_USEDEP}]
- dev-python/nbformat[${PYTHON_USEDEP}]
- >=dev-python/nest_asyncio-1.5[${PYTHON_USEDEP}]
- dev-python/ipykernel[${PYTHON_USEDEP}]
- >=dev-python/send2trash-1.8.0[${PYTHON_USEDEP}]
- dev-python/prometheus_client[${PYTHON_USEDEP}]"
-
-BDEPEND="
- >=dev-python/jupyter_packaging-0.9[${PYTHON_USEDEP}]
- test? (
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/requests-unixsocket[${PYTHON_USEDEP}]
- )
-"
-
-PDEPEND=">=dev-python/nbconvert-4.2.0[${PYTHON_USEDEP}]"
-
-PATCHES=(
- "${FILESDIR}"/notebook-6.4.11-no-mathjax.patch
-)
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # disable bundled mathjax
- sed -i 's/^.*MathJax.*$//' bower.json || die
-
- distutils-r1_python_prepare_all
-}
-
-EPYTEST_DESELECT=(
- # trash doesn't seem to work for us
- notebook/services/contents/tests/test_contents_api.py::APITest::test_checkpoints_follow_file
- notebook/services/contents/tests/test_contents_api.py::APITest::test_delete
- notebook/services/contents/tests/test_contents_api.py::GenericFileCheckpointsAPITest::test_checkpoints_follow_file
- notebook/services/contents/tests/test_contents_api.py::GenericFileCheckpointsAPITest::test_delete
- notebook/services/contents/tests/test_contents_api.py::GenericFileCheckpointsAPITest::test_delete_dirs
- notebook/services/contents/tests/test_contents_api.py::GenericFileCheckpointsAPITest::test_delete_non_empty_dir
- notebook/services/contents/tests/test_manager.py::TestContentsManager::test_delete
- notebook/services/contents/tests/test_manager.py::TestContentsManagerNoAtomic::test_delete
- # TODO
- notebook/services/kernels/tests/test_kernels_api.py::KernelAPITest::test_connections
- notebook/services/kernels/tests/test_kernels_api.py::AsyncKernelAPITest::test_connections
- notebook/services/kernels/tests/test_kernels_api.py::KernelCullingTest::test_culling
- notebook/services/nbconvert/tests/test_nbconvert_api.py::APITest::test_list_formats
-)
-
-EPYTEST_IGNORE=(
- # selenium tests require geckodriver
- notebook/tests/selenium
-)
-
-python_install() {
- distutils-r1_python_install
-
- ln -sf \
- "${EPREFIX}/usr/share/mathjax" \
- "${D}$(python_get_sitedir)/notebook/static/components/MathJax" || 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.1.2.ebuild b/dev-python/notebook/notebook-7.1.2.ebuild
new file mode 100644
index 000000000000..cfe050133550
--- /dev/null
+++ b/dev-python/notebook/notebook-7.1.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} )
+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.1.1[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-4.2[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-server-2.22.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/notebook/notebook-7.1.3.ebuild b/dev-python/notebook/notebook-7.1.3.ebuild
new file mode 100644
index 000000000000..31ad57353c3d
--- /dev/null
+++ b/dev-python/notebook/notebook-7.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=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.1.1[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-4.2[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-server-2.22.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/notebook_shim/Manifest b/dev-python/notebook_shim/Manifest
deleted file mode 100644
index e9a73821a6b4..000000000000
--- a/dev-python/notebook_shim/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST notebook_shim-0.2.2.tar.gz 12947 BLAKE2B 5a04944be3f8de7bd7b1c10f59d73869b7aed670c3afebf79e7780d5992f9af2929529498604c1a5c0d164467681ffa0e8924e1c9a7945e52ae353bdb710c7bc SHA512 42cf9153495e4ab8230ef560d36381a5aa1d9bbd583ed140e04e9850f4a82bab06ecf36e45b88595e8686d8122c9a52eee8133a7f1b622d75d326ebf36519d30
diff --git a/dev-python/notebook_shim/notebook_shim-0.2.2-r1.ebuild b/dev-python/notebook_shim/notebook_shim-0.2.2-r1.ebuild
deleted file mode 100644
index 11d010468f12..000000000000
--- a/dev-python/notebook_shim/notebook_shim-0.2.2-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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=hatchling
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~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}]
- )
-"
-
-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/notify2/notify2-0.3.1-r3.ebuild b/dev-python/notify2/notify2-0.3.1-r3.ebuild
index b4730b6c24a2..1ce93e8a0361 100644
--- a/dev-python/notify2/notify2-0.3.1-r3.ebuild
+++ b/dev-python/notify2/notify2-0.3.1-r3.ebuild
@@ -4,26 +4,32 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1 virtualx
+inherit distutils-r1 virtualx pypi
DESCRIPTION="Python interface to DBus notifications"
-HOMEPAGE="https://bitbucket.org/takluyver/pynotify2"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://bitbucket.org/takluyver/pynotify2/
+ https://pypi.org/project/notify2/
+"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv x86"
IUSE="examples"
-RDEPEND="dev-python/dbus-python[${PYTHON_USEDEP}]"
-BDEPEND="test? (
- dev-python/pygobject[${PYTHON_USEDEP}]
- sys-apps/dbus[X]
- x11-libs/gdk-pixbuf[introspection]
- virtual/notification-daemon
-)"
+RDEPEND="
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pygobject[${PYTHON_USEDEP}]
+ sys-apps/dbus[X]
+ x11-libs/gdk-pixbuf[introspection]
+ virtual/notification-daemon
+ )
+"
distutils_enable_tests unittest
diff --git a/dev-python/nototools/Manifest b/dev-python/nototools/Manifest
deleted file mode 100644
index 84a1cd5125b6..000000000000
--- a/dev-python/nototools/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST nototools-0.2.17.tar.gz 9743805 BLAKE2B ba601b4c9c4df7fc264dd88c60e50c1db08c21bc07f3ab408f91f445a801bd96ed193e5f9cb320378f6411027b1be004d718233d531bb2ec600badfaffd2d876 SHA512 a5b733c47ce61f6cb18f9772e8fee04f8ee2a3d834afa3f71a5f1c8110124224b9d325db75976104dd880b7c0538568574b2e497faa8f4d5541451e9c3e40cd3
diff --git a/dev-python/nototools/metadata.xml b/dev-python/nototools/metadata.xml
deleted file mode 100644
index a17b06f0f84c..000000000000
--- a/dev-python/nototools/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 type="person">
- <email>pacho@gentoo.org</email>
- <name>Pacho Ramos</name>
- </maintainer>
- <stabilize-allarches/>
-</pkgmetadata>
diff --git a/dev-python/nototools/nototools-0.2.17.ebuild b/dev-python/nototools/nototools-0.2.17.ebuild
deleted file mode 100644
index fa3b4edf3efd..000000000000
--- a/dev-python/nototools/nototools-0.2.17.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
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-MY_PN="notofonttools"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Noto fonts support tools and scripts plus web site generation"
-HOMEPAGE="https://github.com/googlefonts/nototools"
-#SRC_URI="https://github.com/googlefonts/nototools/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0 OFL-1.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=media-gfx/scour-0.37
- >=dev-python/booleanOperations-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/defcon-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/fonttools-4.11.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-8.3.2[${PYTHON_USEDEP}]
- >=dev-python/pyclipper-1.2.1[${PYTHON_USEDEP}]
-"
-
-S="${WORKDIR}/${MY_P}"
-
-# Some tests weren't ported to python3 yet and lots of failures
-RESTRICT="test"
-
-distutils_enable_tests setup.py
diff --git a/dev-python/nox/Manifest b/dev-python/nox/Manifest
index bd4764d4b225..dfd5526dccf7 100644
--- a/dev-python/nox/Manifest
+++ b/dev-python/nox/Manifest
@@ -1 +1,3 @@
-DIST nox-2022.11.21.gh.tar.gz 3983862 BLAKE2B 9c365dae5415de4c43c262a1ec9c9007b686838f8aff92a049b1602efe320b7644677646ee72c0e5754efc79d6e38cd46b59ff2851b39b4bf05d3166625000d4 SHA512 7f725425acd7d1ef55e04c5330c1f4fd2f2f5107c24b4bb7f7e2711cf6a5c1b8f2777a4902ee31d4a56898a953f3da6a9ed340d652fbc63cba33f5f763702b78
+DIST nox-2023.04.22.gh.tar.gz 3985377 BLAKE2B 7365141bf1c299f6e560dbf42a2927f98e5bf7121ed0dc1dbdc739de847caafdc0834fdc2f2473f20b97d25a4d1d01aced8400e85ec6c027494b8d93077d9a0b SHA512 7425588b0ae87d66211a4fec1d204122a2adb114ddca866d2e66e1caff930f593af1540e5c88806894400ea8aba92037d3f458a98df05d6ac70662705426ee6e
+DIST nox-2024.03.02.gh.tar.gz 3995248 BLAKE2B 3dc1ad8764fb1f849d15b7613999e2a9480f4b072d1b3ceb1d4316a8a97eaad418dc0d151b5477bf807e0f8b983fd53ca73a29cae3faed4f93a015f5b1d253ad SHA512 7b76d62ced6d6968fab489223fbe2af1270b19fe2f2376c2fef375c47ca1bce7de23a5686b7c8dc617cb0cd331a90b9806bf3b478c28e61294aa4ea453635dcb
+DIST nox-2024.04.15.gh.tar.gz 4001096 BLAKE2B 22a332afe499811be23876760e33be60dac200b686aa19fb7fe7b92315e2681f874a4c175419e3b4dc9eb709bb98821a99d3a7bf2d7dfa756894e5d1265e46e7 SHA512 99143b4c372e40c5b436ef786e72582eae3182513e9763cb76eb123dcb4d16de8b0585a21119c3513fe9aae4bb6d9d19b16f3129a42f3addf2878e6e7f044ebb
diff --git a/dev-python/nox/nox-2022.11.21.ebuild b/dev-python/nox/nox-2022.11.21.ebuild
deleted file mode 100644
index 51908dc69b4b..000000000000
--- a/dev-python/nox/nox-2022.11.21.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=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-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"
-
-RDEPEND="
- <dev-python/argcomplete-3.0[${PYTHON_USEDEP}]
- >=dev-python/argcomplete-1.9.4[${PYTHON_USEDEP}]
- <dev-python/colorlog-7.0.0[${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
- distutils-r1_src_prepare
-}
diff --git a/dev-python/nox/nox-2023.04.22.ebuild b/dev-python/nox/nox-2023.04.22.ebuild
new file mode 100644
index 000000000000..8ee0c234be44
--- /dev/null
+++ b/dev-python/nox/nox-2023.04.22.ebuild
@@ -0,0 +1,47 @@
+# 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.03.02.ebuild b/dev-python/nox/nox-2024.03.02.ebuild
new file mode 100644
index 000000000000..a6a145b1df10
--- /dev/null
+++ b/dev-python/nox/nox-2024.03.02.ebuild
@@ -0,0 +1,64 @@
+# 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} )
+
+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}]
+"
+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/nox/nox-2024.04.15.ebuild b/dev-python/nox/nox-2024.04.15.ebuild
new file mode 100644
index 000000000000..d0ba41be000f
--- /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..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-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/nptyping/Manifest b/dev-python/nptyping/Manifest
deleted file mode 100644
index 11a8f4320745..000000000000
--- a/dev-python/nptyping/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST nptyping-2.3.1.gh.tar.gz 66951 BLAKE2B 781e2e84b7d89337c4753a050e95f3f9cad3a1aca22ea235e203ebe231bfc7dc4e91f5455603c4f7fe833b7b97ea9e8e561eea62eef4d0b2dce4ade077b8526d SHA512 a80df18cba3d427668be0f44f3ca315cf80daf7e3aed90d76b159479de069054cb4a2442abf7b658ddc853736fc7c3be2b0d1db2d7c9e54938cb1883eb0cb2c9
diff --git a/dev-python/nptyping/metadata.xml b/dev-python/nptyping/metadata.xml
deleted file mode 100644
index 96035de34f6c..000000000000
--- a/dev-python/nptyping/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>Gentoo Python Project</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">nptyping</remote-id>
- <remote-id type="github">ramonhagenaars/nptyping</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/nptyping/nptyping-2.3.1.ebuild b/dev-python/nptyping/nptyping-2.3.1.ebuild
deleted file mode 100644
index bc1162307638..000000000000
--- a/dev-python/nptyping/nptyping-2.3.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Type hints for Numpy"
-HOMEPAGE="
- https://pypi.org/project/nptyping/
- https://github.com/ramonhagenaars/nptyping/
-"
-SRC_URI="
- https://github.com/ramonhagenaars/nptyping/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-BDEPEND="
- test? (
- dev-python/mypy[${PYTHON_USEDEP}]
- dev-python/typeguard[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # TODO: package beartype?
- tests/test_beartype.py
- # TODO: package pyright?
- tests/test_pyright.py
- # test for... whether the release is on pypi?
- # requires Internet + feedparser, meaningless for users
- tests/test_package_info.py
- # relies on Internet access to fetch packages for pip
- tests/test_wheel.py
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/nspektr/Manifest b/dev-python/nspektr/Manifest
index e4f0722f3031..e2dd3e00efe0 100644
--- a/dev-python/nspektr/Manifest
+++ b/dev-python/nspektr/Manifest
@@ -1 +1 @@
-DIST nspektr-0.4.0.gh.tar.gz 6763 BLAKE2B 6393a2d16825cbd580758ba09a7f2277417fc0eb4e7c6f23d49ff1af89a7c6947d4c0bae7158424b96f8f0e3e3aab6ac3f5bb624a8d7edf61eb571b28e690d70 SHA512 c106091e949ce8236c1cf54543bebd2b63484dff95e161fb57668bd6bcb4b17ddf0ecc440c15a0df36cc8c4398ccc439b642eab49b528ba2cbedc75ff009179d
+DIST nspektr-0.5.0.tar.gz 8573 BLAKE2B a96aaaee5cd309272d5b0c78eaf9793baf1406e427a142595b67693d513d5badac064149587c02cdf02cdd7720fafeb2787fc98a9db79cc573e77d6158afd4d4 SHA512 b7293a6ccb34a5c4b87a9b28de170322296adf2d883e7671df05ac06453023190ed588eb8e1677b7c5383b6fc5962c079d363ebb214ebb9f8516cfd2039e6167
diff --git a/dev-python/nspektr/nspektr-0.4.0.ebuild b/dev-python/nspektr/nspektr-0.4.0.ebuild
deleted file mode 100644
index f9135cbd42cd..000000000000
--- a/dev-python/nspektr/nspektr-0.4.0.ebuild
+++ /dev/null
@@ -1,61 +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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Distribution package dependency inspector"
-HOMEPAGE="
- https://github.com/jaraco/nspektr/
- https://pypi.org/project/nspektr/
-"
-SRC_URI="
- https://github.com/jaraco/nspektr/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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-4.11.2[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-
-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/nspektr/nspektr-0.5.0.ebuild b/dev-python/nspektr/nspektr-0.5.0.ebuild
new file mode 100644
index 000000000000..c48603b4592f
--- /dev/null
+++ b/dev-python/nspektr/nspektr-0.5.0.ebuild
@@ -0,0 +1,54 @@
+# 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/ntlm-auth/Manifest b/dev-python/ntlm-auth/Manifest
deleted file mode 100644
index 40131a38fa80..000000000000
--- a/dev-python/ntlm-auth/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ntlm-auth-1.5.0.tar.gz 41826 BLAKE2B fb313cdb4f1022e0cbc1ffcb048a587baca400a75e053ea8943d960f21746e847080db20169f55e6a3060a8b8502637ce7dc269b66bdaffe98c3f769b2b22358 SHA512 cf08b23e49d45c528404b70b6be88f6c3edee9fd0d4584f3962931a08a0982cdad4089963a95aea911b6eb4db32a932536cf6d9c02c292cd447e0a9c6b3b802b
diff --git a/dev-python/ntlm-auth/metadata.xml b/dev-python/ntlm-auth/metadata.xml
deleted file mode 100644
index 17656002a5da..000000000000
--- a/dev-python/ntlm-auth/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>voyageur@gentoo.org</email>
- <name>Bernard Cafarelli</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">ntlm-auth</remote-id>
- <remote-id type="github">jborean93/ntlm-auth</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/ntlm-auth/ntlm-auth-1.5.0.ebuild b/dev-python/ntlm-auth/ntlm-auth-1.5.0.ebuild
deleted file mode 100644
index 7441d4b35cf1..000000000000
--- a/dev-python/ntlm-auth/ntlm-auth-1.5.0.ebuild
+++ /dev/null
@@ -1,23 +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="Calculates NTLM Authentication codes"
-HOMEPAGE="https://github.com/jborean93/ntlm-auth"
-SRC_URI="https://github.com/jborean93/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv ~x86"
-
-RDEPEND="dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="test? ( dev-python/requests[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests pytest
diff --git a/dev-python/ntplib/metadata.xml b/dev-python/ntplib/metadata.xml
index 37bedc1a3a86..c76689a3fe4b 100644
--- a/dev-python/ntplib/metadata.xml
+++ b/dev-python/ntplib/metadata.xml
@@ -2,6 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<upstream>
+ <remote-id type="github">cf-natali/ntplib</remote-id>
<remote-id type="pypi">ntplib</remote-id>
</upstream>
<maintainer type="person">
diff --git a/dev-python/ntplib/ntplib-0.4.0-r1.ebuild b/dev-python/ntplib/ntplib-0.4.0-r1.ebuild
new file mode 100644
index 000000000000..cda2e14cd3b1
--- /dev/null
+++ b/dev-python/ntplib/ntplib-0.4.0-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 NTP library"
+HOMEPAGE="
+ https://github.com/cf-natali/ntplib/
+ https://pypi.org/project/ntplib/
+"
+SRC_URI="
+ https://github.com/cf-natali/ntplib/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+# tests fail with network-sandbox
+PROPERTIES="test_network"
+RESTRICT="test"
+
+python_test() {
+ "${EPYTHON}" ./test_ntplib.py -v || die
+}
diff --git a/dev-python/ntplib/ntplib-0.4.0.ebuild b/dev-python/ntplib/ntplib-0.4.0.ebuild
deleted file mode 100644
index bb69e7baec02..000000000000
--- a/dev-python/ntplib/ntplib-0.4.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Python NTP library"
-HOMEPAGE="https://pypi.org/project/ntplib/"
-SRC_URI="
- https://github.com/cf-natali/ntplib/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-# tests fail with network-sandbox
-PROPERTIES="test_network"
-RESTRICT="test"
-
-python_test() {
- "${EPYTHON}" ./test_ntplib.py -v || die
-}
diff --git a/dev-python/numexpr/Manifest b/dev-python/numexpr/Manifest
index da23b37c671f..e2be3861ed5b 100644
--- a/dev-python/numexpr/Manifest
+++ b/dev-python/numexpr/Manifest
@@ -1 +1,2 @@
-DIST numexpr-2.8.4.gh.tar.gz 113594 BLAKE2B 65756e3a0755cd69b8586501d5026dc355f5263f852fedc4f59ecd1854576929bff702cc603c53c7230a5a0ad034a56c50db0bf2fbc2174b3f5272d3a03ffdc0 SHA512 e0a4eacb1a8721b9c2b4331f21e460fc3a1740a6a156eb43b31c495b17e191508f6d72375b8bd286a9be66ceaa1353f64f894deda0b4b29c3ac48c5b7c67cfa1
+DIST numexpr-2.10.0.gh.tar.gz 119045 BLAKE2B b049ca51ef2fbdac4965d750d88c33b8c912280ac0e8b8039dea69e08f4bb4fde3003400fa64872b9145d7dfac98970d3ffbd05318d40399d4d9436480b50cfd SHA512 dfbad48a3e71dc1c6a618e7b62e9f8efe30b547935934e614df98c3134cbe00dee4f4515c6090d2f1a563f57b200ad806b861751ba1043aff43b07a0450baa11
+DIST numexpr-2.9.0.gh.tar.gz 118463 BLAKE2B 04904a6faaff713b9775dc3601fcfc963b9bea5bc24e1d2ca21f0123d7dca8d088abef9b8da09195e9bf9fb6a4ff3b2bee0f75dbc5b40e174803cb726d8b1f31 SHA512 9d7319a872228faea845fbc8c2b85b5f9e941eb2e1308711835bdba37fce65543a23ad483b92e28c33b3eb341f2f7d75b760a0827ae63782fac573a65efdedb0
diff --git a/dev-python/numexpr/numexpr-2.10.0.ebuild b/dev-python/numexpr/numexpr-2.10.0.ebuild
new file mode 100644
index 000000000000..895be59f6262
--- /dev/null
+++ b/dev-python/numexpr/numexpr-2.10.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_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"
+
+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.8.4.ebuild b/dev-python/numexpr/numexpr-2.8.4.ebuild
deleted file mode 100644
index 2448545ddd0f..000000000000
--- a/dev-python/numexpr/numexpr-2.8.4.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Fast numerical array expression evaluator for Python and NumPy"
-HOMEPAGE="https://github.com/pydata/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"
-
-DEPEND="
- >=dev-python/numpy-1.13.3[${PYTHON_USEDEP}]
-"
-RDEPEND="${DEPEND}
- dev-python/packaging[${PYTHON_USEDEP}]
-"
-
-python_test() {
- pushd "${BUILD_DIR}/install/usr/lib/${EPYTHON}/site-packages" >/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 2fee720619c8..e74b88d9cd74 100644
--- a/dev-python/numpy/Manifest
+++ b/dev-python/numpy/Manifest
@@ -1 +1,5 @@
-DIST numpy-1.24.0.tar.gz 10897101 BLAKE2B 59e2b913f90de76589d8fbb2f07e2d389012c7f6ce9bd641bc4837776465ce9c41c34f19f92bee55d4bae6245c1d2c84315b359ef0b089fd68d31cd7e7ec44b1 SHA512 3b4e6255b8d39e8504a50ecd3c2ba09d5b16d3f6c70b23b67e4dbf03d1fe390c55030f46090341d39a1ee8228c61ad6212fdc6e4579fcec9e26b4dbe70268661
+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.3.tar.gz 15679696 BLAKE2B 4c063e1a495b187049b5604686c0411b056fd03a69b5044cff10693694a7f055c87a017334cf8d05aa4a4cb87896fdf9203f51742d3cf83dbaf611b0e6e4091a SHA512 25556b41e2db9cfc52c1dfa61b05e4fc1b7b6df3b169f365375575d1146857fdb5ff91ca1508b968c296b7a06e5c6d95e82c41cdc3561587a46d3aa178f6305d
+DIST numpy-1.26.4.tar.gz 15786129 BLAKE2B ee759d3a857111bc494d5e989a7b005375d942b2a89cda69be4a3bd7c6cb195003fd2a8a0535f1858d8977ff688b0ec36360dcba9c3160206eedce5e28f191ef SHA512 f7121ab4099fa0686f9c095d456baa4a5869d651d7b7a06385f885f329cf08f11024b5df5e7b4ee705970062a8102ec4f709512eabbfd5c9fccce4ef83b9c208
+DIST numpy-2.0.0rc1.tar.gz 18314779 BLAKE2B 5f304986330356418302d755d2a94edabbb62b7d88f4637b9f3fa633925174a8d5044f686635ff97dc81a5b464f2a66246ef4c3ede12a2c0441778acd2380927 SHA512 1f3bef3fd51f074b137099921ab0bc0f1af46c9e27993f315b8a7af2cab948de9f91af341a6976d54fae099ba1aa9e0e917eecd520c3721c1ba8e17c28d40be8
diff --git a/dev-python/numpy/files/numpy-1.22.0-no-hardcode-blasv2.patch b/dev-python/numpy/files/numpy-1.22.0-no-hardcode-blasv2.patch
deleted file mode 100644
index d87a16a4b6c9..000000000000
--- a/dev-python/numpy/files/numpy-1.22.0-no-hardcode-blasv2.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-Originally added in: https://gitweb.gentoo.org/repo/gentoo.git/commit/dev-python/numpy/files?id=e5ce90a04e79f6413604e96e4803cb95ada7c859
-https://bugs.gentoo.org/567938
---- a/numpy/distutils/system_info.py
-+++ b/numpy/distutils/system_info.py
-@@ -505,33 +505,7 @@ def get_info(name, notfound_action=0):
- 'blas_armpl': blas_armpl_info,
- 'lapack_armpl': lapack_armpl_info,
- 'fftw3_armpl': fftw3_armpl_info,
-- 'atlas': atlas_info, # use lapack_opt or blas_opt instead
-- 'atlas_threads': atlas_threads_info, # ditto
-- 'atlas_blas': atlas_blas_info,
-- 'atlas_blas_threads': atlas_blas_threads_info,
-- 'lapack_atlas': lapack_atlas_info, # use lapack_opt instead
-- 'lapack_atlas_threads': lapack_atlas_threads_info, # ditto
-- 'atlas_3_10': atlas_3_10_info, # use lapack_opt or blas_opt instead
-- 'atlas_3_10_threads': atlas_3_10_threads_info, # ditto
-- 'atlas_3_10_blas': atlas_3_10_blas_info,
-- 'atlas_3_10_blas_threads': atlas_3_10_blas_threads_info,
-- 'lapack_atlas_3_10': lapack_atlas_3_10_info, # use lapack_opt instead
-- 'lapack_atlas_3_10_threads': lapack_atlas_3_10_threads_info, # ditto
-- 'flame': flame_info, # use lapack_opt instead
-- 'mkl': mkl_info,
-- # openblas which may or may not have embedded lapack
-- 'openblas': openblas_info, # use blas_opt instead
-- # openblas with embedded lapack
-- 'openblas_lapack': openblas_lapack_info, # use blas_opt instead
-- 'openblas_clapack': openblas_clapack_info, # use blas_opt instead
-- 'blis': blis_info, # use blas_opt instead
-- 'lapack_mkl': lapack_mkl_info, # use lapack_opt instead
-- 'blas_mkl': blas_mkl_info, # use blas_opt instead
- 'accelerate': accelerate_info, # use blas_opt instead
-- 'openblas64_': openblas64__info,
-- 'openblas64__lapack': openblas64__lapack_info,
-- 'openblas_ilp64': openblas_ilp64_info,
-- 'openblas_ilp64_lapack': openblas_ilp64_lapack_info,
- 'x11': x11_info,
- 'fft_opt': fft_opt_info,
- 'fftw': fftw_info,
-@@ -951,10 +925,7 @@ class system_info:
- return [b for b in [a.strip() for a in libs.split(',')] if b]
-
- def get_libraries(self, key='libraries'):
-- if hasattr(self, '_lib_names'):
-- return self.get_libs(key, default=self._lib_names)
-- else:
-- return self.get_libs(key, '')
-+ return self.get_libs(key, '')
-
- def library_extensions(self):
- c = customized_ccompiler()
diff --git a/dev-python/numpy/files/numpy-1.26.1-more-arches.patch b/dev-python/numpy/files/numpy-1.26.1-more-arches.patch
new file mode 100644
index 000000000000..a6f622517521
--- /dev/null
+++ b/dev-python/numpy/files/numpy-1.26.1-more-arches.patch
@@ -0,0 +1,16 @@
+https://github.com/numpy/numpy/pull/25078
+https://github.com/numpy/numpy/pull/25254
+
+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', 'mips', 'power', 'ppc', 'riscv', 's390x', 'sparc')):
+ if p <= 33:
+ return 16
+ else:
diff --git a/dev-python/numpy/numpy-1.24.0.ebuild b/dev-python/numpy/numpy-1.24.0.ebuild
deleted file mode 100644
index 4fd3798cde38..000000000000
--- a/dev-python/numpy/numpy-1.24.0.ebuild
+++ /dev/null
@@ -1,164 +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="threads(+)"
-
-FORTRAN_NEEDED=lapack
-
-inherit distutils-r1 flag-o-matic fortran-2 toolchain-funcs
-
-DOC_PV=${PV}
-DESCRIPTION="Fast array and numerical python library"
-HOMEPAGE="
- https://numpy.org/
- https://github.com/numpy/numpy/
- https://pypi.org/project/numpy/
-"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="lapack"
-
-RDEPEND="
- lapack? (
- >=virtual/cblas-3.8
- >=virtual/lapack-3.8
- )
-"
-BDEPEND="
- ${RDEPEND}
- >=dev-python/cython-0.29.30[${PYTHON_USEDEP}]
- lapack? (
- virtual/pkgconfig
- )
- test? (
- >=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/numpy-1.22.0-no-hardcode-blasv2.patch
-)
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Allow use with setuptools 60.x
- # See numpy-1.22.1-revert-setuptools-upper-bound.patch for details
- export SETUPTOOLS_USE_DISTUTILS=stdlib
-
- if use lapack; then
- local incdir="${EPREFIX}"/usr/include
- local libdir="${EPREFIX}"/usr/$(get_libdir)
- cat >> site.cfg <<-EOF || die
- [blas]
- include_dirs = ${incdir}
- library_dirs = ${libdir}
- blas_libs = cblas,blas
- [lapack]
- library_dirs = ${libdir}
- lapack_libs = lapack
- EOF
- else
- export {ATLAS,PTATLAS,BLAS,LAPACK,MKL}=None
- fi
-
- export CC="$(tc-getCC) ${CFLAGS}"
-
- append-flags -fno-strict-aliasing
-
- # See progress in http://projects.scipy.org/scipy/numpy/ticket/573
- # with the subtle difference that we don't want to break Darwin where
- # -shared is not a valid linker argument
- if [[ ${CHOST} != *-darwin* ]]; then
- append-ldflags -shared
- fi
-
- # only one fortran to link with:
- # linking with cblas and lapack library will force
- # autodetecting and linking to all available fortran compilers
- append-fflags -fPIC
- if use lapack; then
- NUMPY_FCONFIG="config_fc --noopt --noarch"
- # workaround bug 335908
- [[ $(tc-getFC) == *gfortran* ]] && NUMPY_FCONFIG+=" --fcompiler=gnu95"
- fi
-
- # don't version f2py, we will handle it.
- sed -i -e '/f2py_exe/s: + os\.path.*$::' numpy/f2py/setup.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- export MAKEOPTS=-j1 #660754
-
- distutils-r1_python_compile ${NUMPY_FCONFIG}
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # very disk- and memory-hungry
- numpy/lib/tests/test_io.py::test_large_zip
-
- # precision problems
- numpy/core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals
-
- # runs the whole test suite recursively, that's just crazy
- numpy/core/tests/test_mem_policy.py::test_new_policy
-
- # very slow, unlikely to be practically useful
- numpy/typing/tests/test_typing.py
- )
-
- if use arm && [[ $(uname -m || echo "unknown") == "armv8l" ]] ; then
- # Degenerate case. arm32 chroot on arm64.
- # bug #774108
- EPYTEST_DESELECT+=(
- numpy/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
- numpy/core/tests/test_umath.py::TestRemainder::test_float_remainder_overflow
- # https://github.com/numpy/numpy/issues/18387
- numpy/random/tests/test_generator_mt19937.py::TestRandomDist::test_pareto
- # more precision problems
- numpy/core/tests/test_einsum.py::TestEinsum::test_einsum_sums_int16
- )
- fi
- if use arm || use x86 ; then
- EPYTEST_DESELECT+=(
- # too large for 32-bit platforms
- numpy/core/tests/test_ufunc.py::TestUfunc::test_identityless_reduction_huge_array
- )
- fi
-
- distutils_install_for_testing --single-version-externally-managed \
- --record "${TMPDIR}/record.txt" ${NUMPY_FCONFIG}
-
- cd "${TEST_DIR}/lib" || die
- epytest -k "not _fuzz"
-}
-
-python_install() {
- # https://github.com/numpy/numpy/issues/16005
- local mydistutilsargs=( build_src )
- distutils-r1_python_install ${NUMPY_FCONFIG}
- python_optimize
-}
-
-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.1.ebuild b/dev-python/numpy/numpy-1.26.1.ebuild
new file mode 100644
index 000000000000..3165b7cbfc9c
--- /dev/null
+++ b/dev-python/numpy/numpy-1.26.1.ebuild
@@ -0,0 +1,163 @@
+# 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 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}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.26.1-more-arches.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
new file mode 100644
index 000000000000..6a6e3b2205a2
--- /dev/null
+++ b/dev-python/numpy/numpy-1.26.2.ebuild
@@ -0,0 +1,172 @@
+# 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}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.26.1-more-arches.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.3.ebuild b/dev-python/numpy/numpy-1.26.3.ebuild
new file mode 100644
index 000000000000..1bd624c00d92
--- /dev/null
+++ b/dev-python/numpy/numpy-1.26.3.ebuild
@@ -0,0 +1,169 @@
+# 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() {
+ 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
+ )
+ 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..113fbc6526eb
--- /dev/null
+++ b/dev-python/numpy/numpy-1.26.4.ebuild
@@ -0,0 +1,169 @@
+# 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() {
+ 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
+ )
+ 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_rc1.ebuild b/dev-python/numpy/numpy-2.0.0_rc1.ebuild
new file mode 100644
index 000000000000..de0e0306f005
--- /dev/null
+++ b/dev-python/numpy/numpy-2.0.0_rc1.ebuild
@@ -0,0 +1,169 @@
+# 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/2"
+# +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.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() {
+ 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
+ )
+ 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/numpydoc/Manifest b/dev-python/numpydoc/Manifest
index 12f4df6c5769..151561e8acfc 100644
--- a/dev-python/numpydoc/Manifest
+++ b/dev-python/numpydoc/Manifest
@@ -1 +1 @@
-DIST numpydoc-1.5.0.gh.tar.gz 71498 BLAKE2B 6f46d3b39ceecffe1a604d314bb0b2613219c92a951e3578333da8c0891e928564dd7501258d0270901b9923be7caf8af5d68ed4df7dd8f8e322a7503456fbf7 SHA512 e87535c74767946a71b3094b6591fcfb4d7e42acd505c28b3a5c00ea19c29bb21806c5cb655b5d3aca670d105654956d9b59c06d8be68cd51a1760b219c1c815
+DIST numpydoc-1.7.0.gh.tar.gz 87818 BLAKE2B b31e9478324bc45d78904c16330c9ed1513eca5668f20472faf9e2a36c0ed7eb03b18cf1c314180ec35716a26bd05357d5ef93025efbb8fb09c885a614ac7ea9 SHA512 0858d7eaafdd93d5a0894bb107b8238f75bd7cd34afa64fee38effcf4bebf9b4db957768143a46eec46023e69b53599a79b07a39640887f3a0471b5996022247
diff --git a/dev-python/numpydoc/numpydoc-1.5.0.ebuild b/dev-python/numpydoc/numpydoc-1.5.0.ebuild
deleted file mode 100644
index 53d87a1b4ea5..000000000000
--- a/dev-python/numpydoc/numpydoc-1.5.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_{9..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="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-4.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/matplotlib-3.2.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e 's:--cov-report= --cov=numpydoc::' setup.cfg || die
-
- distutils-r1_src_prepare
-}
-
-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 --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..8be6e8469211
--- /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..12} )
+
+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/oauth2client/Manifest b/dev-python/oauth2client/Manifest
deleted file mode 100644
index 4ad1dc297cab..000000000000
--- a/dev-python/oauth2client/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST oauth2client-4.1.3.tar.gz 185589 BLAKE2B 6cd61448e0d55cef7f2ba640c8cbb50ac83e76d0993391eb0acb3e156f937fcdee80576c9d45d505235a9f266495069664ccbfafd649a4e2d7a0990517ee8cb6 SHA512 80f49e09a6dd6767307a2c278544926fbf20b4f55e4cf83563ac7a7c1043622bd3c8c7fcf6de62896b623ca8c7947b309a5e6bf2b7cb0fccff3ff7634386b287
diff --git a/dev-python/oauth2client/files/oauth2client-4.1.3-py38.patch b/dev-python/oauth2client/files/oauth2client-4.1.3-py38.patch
deleted file mode 100644
index d0898c02036a..000000000000
--- a/dev-python/oauth2client/files/oauth2client-4.1.3-py38.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff --git a/oauth2client/contrib/xsrfutil.py b/oauth2client/contrib/xsrfutil.py
-index 7c3ec03..20f35c9 100644
---- a/oauth2client/contrib/xsrfutil.py
-+++ b/oauth2client/contrib/xsrfutil.py
-@@ -44,7 +44,7 @@ def generate_token(key, user_id, action_id='', when=None):
- Returns:
- A string XSRF protection token.
- """
-- digester = hmac.new(_helpers._to_bytes(key, encoding='utf-8'))
-+ digester = hmac.new(_helpers._to_bytes(key, encoding='utf-8'), digestmod='MD5')
- digester.update(_helpers._to_bytes(str(user_id), encoding='utf-8'))
- digester.update(DELIMITER)
- digester.update(_helpers._to_bytes(action_id, encoding='utf-8'))
-diff --git a/tests/contrib/test_xsrfutil.py b/tests/contrib/test_xsrfutil.py
-index 3115827..deae568 100644
---- a/tests/contrib/test_xsrfutil.py
-+++ b/tests/contrib/test_xsrfutil.py
-@@ -54,7 +54,7 @@ class Test_generate_token(unittest.TestCase):
- TEST_USER_ID_1,
- action_id=TEST_ACTION_ID_1,
- when=TEST_TIME)
-- hmac.new.assert_called_once_with(TEST_KEY)
-+ hmac.new.assert_called_once_with(TEST_KEY, digestmod='MD5')
- digester.digest.assert_called_once_with()
-
- expected_digest_calls = [
-@@ -87,7 +87,7 @@ class Test_generate_token(unittest.TestCase):
- TEST_USER_ID_1,
- action_id=TEST_ACTION_ID_1)
-
-- hmac.new.assert_called_once_with(TEST_KEY)
-+ hmac.new.assert_called_once_with(TEST_KEY, digestmod='MD5')
- time.time.assert_called_once_with()
- digester.digest.assert_called_once_with()
-
diff --git a/dev-python/oauth2client/metadata.xml b/dev-python/oauth2client/metadata.xml
deleted file mode 100644
index 465b9dc1a08f..000000000000
--- a/dev-python/oauth2client/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">googleapis/oauth2client</remote-id>
- <remote-id type="pypi">oauth2client</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/oauth2client/oauth2client-4.1.3-r2.ebuild b/dev-python/oauth2client/oauth2client-4.1.3-r2.ebuild
deleted file mode 100644
index f17e9279839b..000000000000
--- a/dev-python/oauth2client/oauth2client-4.1.3-r2.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..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Library for accessing resources protected by OAuth 2.0"
-HOMEPAGE="https://github.com/googleapis/oauth2client"
-SRC_URI="https://github.com/googleapis/oauth2client/archive/v${PV/_p/-post}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}"/${P/_p/-post}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
- >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
- >=dev-python/pyasn1-modules-0.0.5[${PYTHON_USEDEP}]
- >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
- >=dev-python/six-1.6.1[${PYTHON_USEDEP}]
- dev-python/keyring[${PYTHON_USEDEP}]
- !<=dev-python/google-api-python-client-1.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/sqlalchemy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests nose
-
-PATCHES=(
- "${FILESDIR}/oauth2client-4.1.3-py38.patch"
-)
-
-python_test() {
- nosetests -v \
- -e appengine \
- -e django_util \
- -e test_multiprocess_file_storage \
- -e test_bad_positional || die "tests fail with ${EPYTHON}"
- # appengine - requires appengine
- # django_util - requires django
- # test_multiprocess_file_storage - requires fasteners
- # test_bad_positional - expects TypeError, gets ValueError
-}
diff --git a/dev-python/oauthlib/oauthlib-3.2.2.ebuild b/dev-python/oauthlib/oauthlib-3.2.2.ebuild
index 4c659e50ccf8..74d6c2f9c0ab 100644
--- a/dev-python/oauthlib/oauthlib-3.2.2.ebuild
+++ b/dev-python/oauthlib/oauthlib-3.2.2.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Spec-compliant and thorough implementation of the OAuth request-signing logic"
HOMEPAGE="
https://github.com/oauthlib/oauthlib/
https://pypi.org/project/oauthlib/
"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
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/metadata.xml b/dev-python/objgraph/metadata.xml
index 7c310a2ea977..1826a49d399d 100644
--- a/dev-python/objgraph/metadata.xml
+++ b/dev-python/objgraph/metadata.xml
@@ -11,6 +11,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">mgedmin/objgraph</remote-id>
<remote-id type="pypi">objgraph</remote-id>
</upstream>
</pkgmetadata>
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 82e35319aa22..000000000000
--- a/dev-python/objgraph/objgraph-3.5.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Draws Python object reference graphs with graphviz"
-HOMEPAGE="
- https://github.com/mgedmin/objgraph/
- https://pypi.org/project/objgraph/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~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..c9d284359d22
--- /dev/null
+++ b/dev-python/objgraph/objgraph-3.6.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..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"
+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
+ )
+ ;;
+ 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 01ad9ad5498e..eaba7f3c8e9e 100644
--- a/dev-python/oct2py/Manifest
+++ b/dev-python/oct2py/Manifest
@@ -1 +1,2 @@
-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
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 9328260989c3..000000000000
--- a/dev-python/oct2py/oct2py-5.5.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="Python to GNU Octave bridge"
-HOMEPAGE="
- https://github.com/blink1073/oct2py
- https://blink1073.github.io/oct2py/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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
new file mode 100644
index 000000000000..f10a1aac5a11
--- /dev/null
+++ b/dev-python/oct2py/oct2py-5.6.0.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..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/sphinx-bootstrap-theme \
+ dev-python/sphinx-rtd-theme \
+ dev-python/myst-parser
+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.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/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 442eeaa63a95..000000000000
--- a/dev-python/octave_kernel/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST octave_kernel-0.34.2.tar.gz 258320 BLAKE2B 13d96afafab4b0fee2c9ccfdac61b269fe7929c5c004fb675f8a0290f8681e7abc509776faa2e066b21de19ad1e988cc5a11429685344ca59a4ae8248bb01177 SHA512 ae57db2aa366b47219bec5be8050f9acd5a0edc37e4851b05ba4609df45f225cbe767078e7390e29dc97ca003feabf5e7bf06bb84e5900b7ebfb576735993506
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 52e30f8dc92c..000000000000
--- a/dev-python/octave_kernel/octave_kernel-0.34.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=jupyter
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Jupyter kernel for octave"
-HOMEPAGE="
- https://github.com/Calysto/octave_kernel/
- https://pypi.org/project/octave-kernel/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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/odfpy/odfpy-1.4.2.ebuild b/dev-python/odfpy/odfpy-1.4.2.ebuild
index d5e65ce11eac..7bc291eb64af 100644
--- a/dev-python/odfpy/odfpy-1.4.2.ebuild
+++ b/dev-python/odfpy/odfpy-1.4.2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0 GPL-2 LGPL-2.1"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 arm64 x86"
IUSE="examples"
RDEPEND="
diff --git a/dev-python/olefile/Manifest b/dev-python/olefile/Manifest
index 5da8dc58ad14..5bec7dfa4780 100644
--- a/dev-python/olefile/Manifest
+++ b/dev-python/olefile/Manifest
@@ -1 +1 @@
-DIST olefile-0.46.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 d22201d7f8d3..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_{9..11} 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}.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"
-
-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..6c63f39cca9b
--- /dev/null
+++ b/dev-python/olefile/olefile-0.47.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 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/omemo-dr/Manifest b/dev-python/omemo-dr/Manifest
new file mode 100644
index 000000000000..02952446002a
--- /dev/null
+++ b/dev-python/omemo-dr/Manifest
@@ -0,0 +1 @@
+DIST omemo-dr-1.0.1.tar.gz 152526 BLAKE2B 218e51996a71f506739489c54a3ddeea023a778dea57ee34bb1f50a03b27d740d6871f89ecddcad5fdb0208bbb876a8e815be78f51e3f675347323085c20963e SHA512 38306e88de1e384eb42848029d8eee7d5aed0bcc3b9ed2867c75fd5bac09daba31c136d10cb815153f21ea6ab6ccae4cfa2d3453db0863e2dc4b065fce8f24e3
diff --git a/dev-python/omemo-dr/metadata.xml b/dev-python/omemo-dr/metadata.xml
new file mode 100644
index 000000000000..676bfca66667
--- /dev/null
+++ b/dev-python/omemo-dr/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>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">omemo-dr</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/omemo-dr/omemo-dr-1.0.1.ebuild b/dev-python/omemo-dr/omemo-dr-1.0.1.ebuild
new file mode 100644
index 000000000000..8ffe48eeb933
--- /dev/null
+++ b/dev-python/omemo-dr/omemo-dr-1.0.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_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/openapi-core/Manifest b/dev-python/openapi-core/Manifest
index dc5235c96ea5..b1edbe7997f0 100644
--- a/dev-python/openapi-core/Manifest
+++ b/dev-python/openapi-core/Manifest
@@ -1,2 +1,3 @@
-DIST openapi-core-0.14.5.gh.tar.gz 57645 BLAKE2B c5c9c308b93a37e32708677cc7c7a2ccb9ec3f018390e56a251224b6b8776943ccd0ddfb560cdc3f1182cb32a9b2817878a0d4dda3906c179db9841853caf7ac SHA512 69d9fb2cc21dfdb939beae45b1c681faf9f8e3366b36e5907b00be65ac669ec40e3ae3fe910fb2c4f6c70d1412e6a67e4e4e47e3cf2c424716da4c813223295e
-DIST openapi-core-0.16.5.gh.tar.gz 104046 BLAKE2B 7dcda69b6d548a0df8c7727b184c7f7ec6d645e14ab4b4a256f188c6cc4ae9e351bc06ae03770782d81a11dfb5ebc08c20daabbd2151cfe62f84b05f80a47a16 SHA512 59db6d39a950079739b2df4114f26d85be55dc1f42d1661e8e6c17cf878cd8167f29ba4d3b6f40e06e85bb144c68286cb50adf4403091461798144cac05d5bc0
+DIST openapi_core-0.18.2.tar.gz 84444 BLAKE2B bb05ba86eff3c70c780f1919a29b93f2137983318834c51204d7ad1094fc645d2dbcef93d92d03096826688fdfe1811c551eee68995fd46739314c2e4bc77cfc SHA512 552109c095c840a46759a54e247a3ac2d8cc36707ba89815740eef4b7fb421bd489929543892341fd89a578bff4043c8c81302fddaa1efe125238e050f152c27
+DIST openapi_core-0.19.0.tar.gz 105815 BLAKE2B 25036e98dbf4d572e77eb5dcc00909df1cd2d7b7c37bb691c403df2a48273cc2dd4150c99c526eacc709785f4ec9c525de53e7f613f10b15177fc1ff90ce76fe SHA512 3a94170f8ab6a47188c693545be9d2cd965d2479c838a8644d6218f9f46b54fdb94e0550ea5626e5ba58920419b7c700d26b2e6dd6a55afeb73778f582a645e0
+DIST openapi_core-0.19.1.tar.gz 107802 BLAKE2B c8cd318ab6a88272e45fbff16df7e0cef7d8bab6c7cef8d965443fa0ad7439182bd9639f8a912ad913eb3d7727c4aeb49d576a8721aac1d0ba9423dd344da44d SHA512 861e3793303ec89265be3a0846ad702e321ebc8536497d146ef10a4c9ab54900ad35ee9e90ef42e1f0856da8c0e746471e9820b0ac3e149adaa0b951a66b382f
diff --git a/dev-python/openapi-core/files/openapi-core-0.19.0-pytest-8.patch b/dev-python/openapi-core/files/openapi-core-0.19.0-pytest-8.patch
new file mode 100644
index 000000000000..78fb19897560
--- /dev/null
+++ b/dev-python/openapi-core/files/openapi-core-0.19.0-pytest-8.patch
@@ -0,0 +1,92 @@
+From 36da765cfc27cd6bda5c2773e3b3664a6473cd3b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Thu, 15 Feb 2024 15:53:50 +0100
+Subject: [PATCH] Remove spurious `pytest.warns()` to fix pytest-8
+ compatibility
+
+Remove the spurious `pytest.warns()` contexts within `pytest.raises()`
+in `test_shortcuts`, in order to fix compatibility with pytest-8.0.0.
+Prior to this version, the exception raised caused these assertions
+to be ignored entirely. This is fixed in pytest-8.0.0, and the tests
+start failing because the warning is never raised prior
+to the exception.
+
+Fixes #789
+---
+ tests/unit/test_shortcuts.py | 21 +++++++--------------
+ 1 file changed, 7 insertions(+), 14 deletions(-)
+
+diff --git a/tests/unit/test_shortcuts.py b/tests/unit/test_shortcuts.py
+index 0dd1865..9a3f36c 100644
+--- a/tests/unit/test_shortcuts.py
++++ b/tests/unit/test_shortcuts.py
+@@ -423,8 +423,7 @@ class TestUnmarshalResponse:
+ mock_unmarshal.return_value = ResultMock(error_to_raise=ValueError)
+
+ with pytest.raises(ValueError):
+- with pytest.warns(DeprecationWarning):
+- unmarshal_response(request, response, spec=spec_v31)
++ unmarshal_response(request, response, spec=spec_v31)
+
+ mock_unmarshal.assert_called_once_with(request, response)
+
+@@ -597,15 +596,13 @@ class TestValidateRequest:
+ request = mock.Mock(spec=Request)
+
+ with pytest.raises(SpecError):
+- with pytest.warns(DeprecationWarning):
+- validate_request(request, spec=spec_invalid)
++ validate_request(request, spec=spec_invalid)
+
+ def test_spec_not_detected(self, spec_v20):
+ request = mock.Mock(spec=Request)
+
+ with pytest.raises(SpecError):
+- with pytest.warns(DeprecationWarning):
+- validate_request(request, spec=spec_v20)
++ validate_request(request, spec=spec_v20)
+
+ def test_request_type_invalid(self, spec_v31):
+ request = mock.sentinel.request
+@@ -733,8 +730,7 @@ class TestValidateRequest:
+ request = mock.Mock(spec=WebhookRequest)
+
+ with pytest.raises(SpecError):
+- with pytest.warns(DeprecationWarning):
+- validate_request(request, spec=spec_v30)
++ validate_request(request, spec=spec_v30)
+
+ @mock.patch(
+ "openapi_core.validation.request.validators.V31WebhookRequestValidator."
+@@ -889,16 +885,14 @@ class TestValidateResponse:
+ response = mock.Mock(spec=Response)
+
+ with pytest.raises(SpecError):
+- with pytest.warns(DeprecationWarning):
+- validate_response(request, response, spec=spec_invalid)
++ validate_response(request, response, spec=spec_invalid)
+
+ def test_spec_not_supported(self, spec_v20):
+ request = mock.Mock(spec=Request)
+ response = mock.Mock(spec=Response)
+
+ with pytest.raises(SpecError):
+- with pytest.warns(DeprecationWarning):
+- validate_response(request, response, spec=spec_v20)
++ validate_response(request, response, spec=spec_v20)
+
+ def test_request_type_invalid(self, spec_v31):
+ request = mock.sentinel.request
+@@ -965,8 +959,7 @@ class TestValidateResponse:
+ response = mock.Mock(spec=Response)
+
+ with pytest.raises(SpecError):
+- with pytest.warns(DeprecationWarning):
+- validate_response(request, response, spec=spec_v30)
++ validate_response(request, response, spec=spec_v30)
+
+ @mock.patch(
+ "openapi_core.validation.response.validators.V31WebhookResponseValidator."
+--
+2.43.1
+
diff --git a/dev-python/openapi-core/metadata.xml b/dev-python/openapi-core/metadata.xml
index 13f408253cd2..b58a890a8a64 100644
--- a/dev-python/openapi-core/metadata.xml
+++ b/dev-python/openapi-core/metadata.xml
@@ -5,7 +5,7 @@
<email>python@gentoo.org</email>
</maintainer>
<upstream>
- <remote-id type="github">p1c2u/openapi-core</remote-id>
+ <remote-id type="github">python-openapi/openapi-core</remote-id>
<remote-id type="pypi">openapi-core</remote-id>
</upstream>
<stabilize-allarches/>
diff --git a/dev-python/openapi-core/openapi-core-0.14.5.ebuild b/dev-python/openapi-core/openapi-core-0.14.5.ebuild
deleted file mode 100644
index 1f9a309918f0..000000000000
--- a/dev-python/openapi-core/openapi-core-0.14.5.ebuild
+++ /dev/null
@@ -1,71 +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="Client-side and server-side support for the OpenAPI Specification v3"
-HOMEPAGE="
- https://github.com/p1c2u/openapi-core/
- https://pypi.org/project/openapi-core/
-"
-SRC_URI="
- https://github.com/p1c2u/openapi-core/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/isodate[${PYTHON_USEDEP}]
- dev-python/dictpath[${PYTHON_USEDEP}]
- <dev-python/openapi-schema-validator-0.3[${PYTHON_USEDEP}]
- <dev-python/openapi-spec-validator-0.5[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/lazy-object-proxy[${PYTHON_USEDEP}]
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- dev-python/parse[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/responses[${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/test_django.py
- tests/integration/contrib/django
-)
-
-EPYTEST_DESELECT=(
- # too new pytest?
- tests/unit/unmarshalling/test_unmarshal.py::TestSchemaUnmarshallerCall::test_string_format_invalid_value
-)
-
-src_prepare() {
- sed -i -e '/addopts/d' setup.cfg || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/openapi-core/openapi-core-0.16.5.ebuild b/dev-python/openapi-core/openapi-core-0.16.5.ebuild
deleted file mode 100644
index 5f16bc813f6d..000000000000
--- a/dev-python/openapi-core/openapi-core-0.16.5.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=poetry
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Client-side and server-side support for the OpenAPI Specification v3"
-HOMEPAGE="
- https://github.com/p1c2u/openapi-core/
- https://pypi.org/project/openapi-core/
-"
-SRC_URI="
- https://github.com/p1c2u/openapi-core/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/pathable-0.4.0[${PYTHON_USEDEP}]
- dev-python/isodate[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-spec-0.1.1[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/parse[${PYTHON_USEDEP}]
- <dev-python/openapi-schema-validator-0.5[${PYTHON_USEDEP}]
- >=dev-python/openapi-schema-validator-0.3[${PYTHON_USEDEP}]
- <dev-python/openapi-spec-validator-0.6[${PYTHON_USEDEP}]
- >=dev-python/openapi-spec-validator-0.5[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/asgiref[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.23.0[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- >=dev-python/starlette-0.21.0[${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.18.2.ebuild b/dev-python/openapi-core/openapi-core-0.18.2.ebuild
new file mode 100644
index 000000000000..df1e54ca4053
--- /dev/null
+++ b/dev-python/openapi-core/openapi-core-0.18.2.ebuild
@@ -0,0 +1,69 @@
+# 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.0.ebuild b/dev-python/openapi-core/openapi-core-0.19.0.ebuild
new file mode 100644
index 000000000000..005dd84f4714
--- /dev/null
+++ b/dev-python/openapi-core/openapi-core-0.19.0.ebuild
@@ -0,0 +1,76 @@
+# 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} )
+
+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() {
+ local PATCHES=(
+ # https://github.com/python-openapi/openapi-core/pull/790
+ "${FILESDIR}/${P}-pytest-8.patch"
+ )
+
+ sed -i -e '/--cov/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/openapi-core/openapi-core-0.19.1.ebuild b/dev-python/openapi-core/openapi-core-0.19.1.ebuild
new file mode 100644
index 000000000000..d1b3663e0af8
--- /dev/null
+++ b/dev-python/openapi-core/openapi-core-0.19.1.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..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-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/Manifest b/dev-python/openapi-schema-validator/Manifest
index 7be8d01c359c..371a9906cd90 100644
--- a/dev-python/openapi-schema-validator/Manifest
+++ b/dev-python/openapi-schema-validator/Manifest
@@ -1,4 +1 @@
-DIST openapi-schema-validator-0.2.3.gh.tar.gz 25501 BLAKE2B d961cabca647f59d4d4188f1941ce5b2475e02520bcc10e7cd29817c8ea8ebaaac5af1ffb0e3d5079ed2d1493414cdaf55336744b142385754585e748af8ac98 SHA512 e6dfe3d6cc99fa9723102ced42040203157639be68b0438d7bfae4499e51cdb6257a36dca10425a5d5e692cebb958468ebeee722116b99d800a6fcf972400c66
-DIST openapi-schema-validator-0.3.4.gh.tar.gz 16593 BLAKE2B 17882dff25d1bed05efa74792930a357d82cb404bbf746a6f348e9813b4af86842da1523a8e3dfaec1426c82efff6b0bddbfca89c8569ba36a4324ab4e5a418b SHA512 714f93594c875a04194a6980dc5e092866609787e424ef480d42da93c114e3b658a5efef13f78ed3db35f6e7399d7dda8adbc1d3bb8606512aa4f135edeaeb75
-DIST openapi-schema-validator-0.4.0.gh.tar.gz 17070 BLAKE2B 199476dd660ab3493fe9805dc915c42f05b2bc5ca0f1f9728aa1e5afe5a923e3f84d82511572e353ab19c15b3094460dcfbde5ef1d96ca834c1da24314223046 SHA512 ce61c112c528bac022e3feb959bfe5adbac000ec0b4956f678bf61f66efdbf3a5cf912a4dfa1512858b497fdadaf533532f5a580f28f6ceea831e6b5ac98d85e
-DIST openapi-schema-validator-0.4.1.gh.tar.gz 17478 BLAKE2B 0c215589eb72f97205c565bf7cfc77096dd9cf2a7d05d2ea7946fcbc3c8c9acb5702635f6cfe520993139ce9713c426f01b98d34b3c962ac918989f7d87f22c9 SHA512 e437309a6e741eaefa6b49bb038bd5976288bd6559fc6957d7029d9c0fed36ee368ac5fb26133a0fe54366da77ec649b5e44eb6a7926d9d5c49573afdfa3309b
+DIST openapi_schema_validator-0.6.2.tar.gz 11860 BLAKE2B c9f540998e3e69f987900caa8b12e5bab258c9046babd0705e168d57817666302e000b7b69a71ea74f37cc5bd363a90a45ac29a31e32b91dcc6f48adccb21489 SHA512 709f7a7c00bf050fa2c48a05bcd4e83ad309029f62df10ba61424cb46413cb9218bf2930f24a4db09f7648e51135f346855a4d58ce836b315a82a9986b655932
diff --git a/dev-python/openapi-schema-validator/metadata.xml b/dev-python/openapi-schema-validator/metadata.xml
index 951e196ea341..bbbd304e9938 100644
--- a/dev-python/openapi-schema-validator/metadata.xml
+++ b/dev-python/openapi-schema-validator/metadata.xml
@@ -6,7 +6,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="github">p1c2u/openapi-schema-validator</remote-id>
+ <remote-id type="github">python-openapi/openapi-schema-validator</remote-id>
<remote-id type="pypi">openapi-schema-validator</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/openapi-schema-validator/openapi-schema-validator-0.2.3.ebuild b/dev-python/openapi-schema-validator/openapi-schema-validator-0.2.3.ebuild
deleted file mode 100644
index 2514d008fa60..000000000000
--- a/dev-python/openapi-schema-validator/openapi-schema-validator-0.2.3.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=poetry
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="OpenAPI schema validation for Python"
-HOMEPAGE="
- https://github.com/p1c2u/openapi-schema-validator/
- https://pypi.org/project/openapi-schema-validator/
-"
-SRC_URI="
- https://github.com/p1c2u/openapi-schema-validator/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- dev-python/isodate[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-4.0.0[${PYTHON_USEDEP}]
- dev-python/rfc3339-validator[${PYTHON_USEDEP}]
- dev-python/strict-rfc3339[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/--cov/d' pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/openapi-schema-validator/openapi-schema-validator-0.3.4.ebuild b/dev-python/openapi-schema-validator/openapi-schema-validator-0.3.4.ebuild
deleted file mode 100644
index 9509287c8c3b..000000000000
--- a/dev-python/openapi-schema-validator/openapi-schema-validator-0.3.4.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=poetry
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="OpenAPI schema validation for Python"
-HOMEPAGE="
- https://github.com/p1c2u/openapi-schema-validator/
- https://pypi.org/project/openapi-schema-validator/
-"
-SRC_URI="
- https://github.com/p1c2u/openapi-schema-validator/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- dev-python/isodate[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-4.0.0[${PYTHON_USEDEP}]
- dev-python/rfc3339-validator[${PYTHON_USEDEP}]
- dev-python/strict-rfc3339[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e '/--cov/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/openapi-schema-validator/openapi-schema-validator-0.4.0.ebuild b/dev-python/openapi-schema-validator/openapi-schema-validator-0.4.0.ebuild
deleted file mode 100644
index 6782957e8e3f..000000000000
--- a/dev-python/openapi-schema-validator/openapi-schema-validator-0.4.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=poetry
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="OpenAPI schema validation for Python"
-HOMEPAGE="
- https://github.com/p1c2u/openapi-schema-validator/
- https://pypi.org/project/openapi-schema-validator/
-"
-SRC_URI="
- https://github.com/p1c2u/openapi-schema-validator/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- dev-python/isodate[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-4.0.0[${PYTHON_USEDEP}]
- dev-python/rfc3339-validator[${PYTHON_USEDEP}]
- dev-python/strict-rfc3339[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e '/--cov/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/openapi-schema-validator/openapi-schema-validator-0.4.1.ebuild b/dev-python/openapi-schema-validator/openapi-schema-validator-0.4.1.ebuild
deleted file mode 100644
index 6782957e8e3f..000000000000
--- a/dev-python/openapi-schema-validator/openapi-schema-validator-0.4.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=poetry
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="OpenAPI schema validation for Python"
-HOMEPAGE="
- https://github.com/p1c2u/openapi-schema-validator/
- https://pypi.org/project/openapi-schema-validator/
-"
-SRC_URI="
- https://github.com/p1c2u/openapi-schema-validator/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- dev-python/isodate[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-4.0.0[${PYTHON_USEDEP}]
- dev-python/rfc3339-validator[${PYTHON_USEDEP}]
- dev-python/strict-rfc3339[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e '/--cov/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
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
new file mode 100644
index 000000000000..4009d1eae1c0
--- /dev/null
+++ b/dev-python/openapi-schema-validator/openapi-schema-validator-0.6.2.ebuild
@@ -0,0 +1,33 @@
+# 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="OpenAPI schema validation for Python"
+HOMEPAGE="
+ https://github.com/python-openapi/openapi-schema-validator/
+ https://pypi.org/project/openapi-schema-validator/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+RDEPEND="
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.19.1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-specifications-2023.5.2[${PYTHON_USEDEP}]
+ dev-python/rfc3339-validator[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -e '/--cov/d' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/openapi-spec-validator/Manifest b/dev-python/openapi-spec-validator/Manifest
index e5cf8f2f9b97..333cd068b6cc 100644
--- a/dev-python/openapi-spec-validator/Manifest
+++ b/dev-python/openapi-spec-validator/Manifest
@@ -1,3 +1 @@
-DIST openapi-spec-validator-0.4.0.gh.tar.gz 46051 BLAKE2B 43a1458ab1801700261f750e49d45b0cb4d02f1c17a16943b5232836061e0e1466fc973343bbd4bf7a8669b682bd6761cb905fdfb3b80c0b9720253cc2d5a926 SHA512 d2eaf22c75e72eb5061a916eb37b13179a5ba65eb8a00ec42e81c6b4168239bc8613388f2d77ce35113d260385b175280d8863a3deedf18ea5aa93a79f058419
-DIST openapi-spec-validator-0.5.1.gh.tar.gz 39539 BLAKE2B 66adbed2c85527f89e510d5cbc11ccf05f23546191e2677a1c34f7545d2e975dda37f1c53e988e37cf526663053ac0176567137273e3be9156b24deda89db6c1 SHA512 b70a2f926d889fec9d4fd26c51e1fbbeb5e75f13449d2d0205b1b7edb12ab2ba49e4cac69426f782ca3a4430c79a6de8f66b4aad2fc552bcfcf7005e866522ff
-DIST openapi-spec-validator-0.5.2.gh.tar.gz 39743 BLAKE2B 92a4c4503add68c2683f4229f7b68b7cf98d38f36f3c03835b03be5e2a1092ebbb46a9f8d09bfb9e3cf7059a2a72ff01b81742986d479c2713dc6ef783718e00 SHA512 68f7d507a239c555575e2edb3bab576fd1fede9bcebde48c57361e3e764c9c19c4dc0d63e650851c2f6e7f2dd7f4efcdcd028842e259aa9e341823cd052a6e20
+DIST openapi_spec_validator-0.7.1.tar.gz 37985 BLAKE2B e4e6995bba18ea9fb65be28b2156c73afd3c5074a3fbd5b83e03534a1bb5fdde2e5a586aa161e0f9fc64985d83ae995f46ff2704a4010a708f9e0cf18f97a8a8 SHA512 c2a4be4a945058a4e77857bf0d6dabf2bef27c25fbe72947db3ac011c5a60d2d0159ef0d1d44571152c5ffdc650f7d3d6c54f82834e499e9506fb474b7c9b270
diff --git a/dev-python/openapi-spec-validator/files/openapi-spec-validator-0.5.0-std-importlib.patch b/dev-python/openapi-spec-validator/files/openapi-spec-validator-0.5.0-std-importlib.patch
deleted file mode 100644
index ac794b49cd9a..000000000000
--- a/dev-python/openapi-spec-validator/files/openapi-spec-validator-0.5.0-std-importlib.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From: Arthur Zamarin <arthurzam@gentoo.org>
-Date: Fri, 2 Sep 2022 18:11:35 +0300
-Subject: [PATCH] Use stdlib importlib.resources on python >= 3.9
-
-https://github.com/p1c2u/openapi-spec-validator/pull/174
-
---- a/openapi_spec_validator/schemas/utils.py
-+++ b/openapi_spec_validator/schemas/utils.py
-@@ -5,14 +5,17 @@ from typing import Hashable
- from typing import Mapping
- from typing import Tuple
-
--import importlib_resources
-+try:
-+ from importlib.resources import as_file, files
-+except ImportError:
-+ from importlib_resources import as_file, files
- from jsonschema_spec.readers import FilePathReader
-
-
- def get_schema(version: str) -> Tuple[Mapping[Hashable, Any], str]:
- schema_path = f"resources/schemas/v{version}/schema.json"
-- ref = importlib_resources.files("openapi_spec_validator") / schema_path
-- with importlib_resources.as_file(ref) as resource_path:
-+ ref = files("openapi_spec_validator") / schema_path
-+ with as_file(ref) as resource_path:
- schema_path_full = path.join(path.dirname(__file__), resource_path)
- return FilePathReader(schema_path_full).read()
-
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -49,7 +49,7 @@ openapi-schema-validator = "^0.3.2"
- python = "^3.7.0"
- PyYAML = ">=5.1"
- requests = {version = "*", optional = true}
--importlib-resources = "^5.8.0"
-+importlib-resources = {version = "^5.8.0", python = "<3.9" }
- jsonschema-spec = "^0.1.1"
- lazy-object-proxy = "^1.7.1"
-
---
-2.37.3
-
diff --git a/dev-python/openapi-spec-validator/metadata.xml b/dev-python/openapi-spec-validator/metadata.xml
index f1585fdeea72..eb0b0955d089 100644
--- a/dev-python/openapi-spec-validator/metadata.xml
+++ b/dev-python/openapi-spec-validator/metadata.xml
@@ -4,8 +4,9 @@
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
+ <stabilize-allarches/>
<upstream>
- <remote-id type="github">p1c2u/openapi-spec-validator</remote-id>
+ <remote-id type="github">python-openapi/openapi-spec-validator</remote-id>
<remote-id type="pypi">openapi-spec-validator</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/openapi-spec-validator/openapi-spec-validator-0.4.0.ebuild b/dev-python/openapi-spec-validator/openapi-spec-validator-0.4.0.ebuild
deleted file mode 100644
index b527b5d49639..000000000000
--- a/dev-python/openapi-spec-validator/openapi-spec-validator-0.4.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=poetry
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="OpenAPI 2.0 (aka Swagger) and OpenAPI 3.0 spec validator"
-HOMEPAGE="
- https://github.com/p1c2u/openapi-spec-validator/
- https://pypi.org/project/openapi-spec-validator/
-"
-SRC_URI="
- https://github.com/p1c2u/openapi-spec-validator/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/openapi-schema-validator-0.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Internet
- tests/integration/test_shortcuts.py::TestPetstoreV2Example
- tests/integration/test_shortcuts.py::TestApiV2WithExampe
- tests/integration/test_shortcuts.py::TestPetstoreV2ExpandedExample
- tests/integration/test_shortcuts.py::TestPetstoreExample
- tests/integration/test_shortcuts.py::TestApiWithExample
- tests/integration/test_shortcuts.py::TestPetstoreExpandedExample
- tests/integration/test_validate.py::TestPetstoreExample
- tests/integration/test_validate.py::TestApiWithExample
- tests/integration/test_validate.py::TestPetstoreExpandedExample
-)
-
-src_prepare() {
- sed -i -e '/--cov/d' pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/openapi-spec-validator/openapi-spec-validator-0.5.1.ebuild b/dev-python/openapi-spec-validator/openapi-spec-validator-0.5.1.ebuild
deleted file mode 100644
index 4b61c6b41a33..000000000000
--- a/dev-python/openapi-spec-validator/openapi-spec-validator-0.5.1.ebuild
+++ /dev/null
@@ -1,64 +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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="OpenAPI 2.0 (aka Swagger) and OpenAPI 3.0 spec validator"
-HOMEPAGE="
- https://github.com/p1c2u/openapi-spec-validator/
- https://pypi.org/project/openapi-spec-validator/
-"
-SRC_URI="
- https://github.com/p1c2u/openapi-spec-validator/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/jsonschema-4.0.0[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-spec-0.1.1[${PYTHON_USEDEP}]
- >=dev-python/lazy-object-proxy-1.7.1[${PYTHON_USEDEP}]
- >=dev-python/openapi-schema-validator-0.3.2[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_resources-5.8.0[${PYTHON_USEDEP}]
- ' 3.8)
-"
-
-PATCHES=(
- # https://github.com/p1c2u/openapi-spec-validator/pull/174
- "${FILESDIR}/${PN}-0.5.0-std-importlib.patch"
-)
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Internet
- tests/integration/test_shortcuts.py::TestPetstoreV2Example
- tests/integration/test_shortcuts.py::TestApiV2WithExampe
- tests/integration/test_shortcuts.py::TestPetstoreV2ExpandedExample
- tests/integration/test_shortcuts.py::TestPetstoreExample
- tests/integration/test_shortcuts.py::TestRemoteValidatev2SpecUrl
- tests/integration/test_shortcuts.py::TestRemoteValidatev30SpecUrl
- tests/integration/test_shortcuts.py::TestApiWithExample
- tests/integration/test_shortcuts.py::TestPetstoreExpandedExample
- tests/integration/test_validate.py::TestPetstoreExample
- tests/integration/test_validate.py::TestApiWithExample
- tests/integration/test_validate.py::TestPetstoreExpandedExample
- tests/integration/validation/test_validators.py
-)
-
-src_prepare() {
- sed -i -e '/--cov/d' pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/openapi-spec-validator/openapi-spec-validator-0.5.2.ebuild b/dev-python/openapi-spec-validator/openapi-spec-validator-0.5.2.ebuild
deleted file mode 100644
index 5951fb69acfe..000000000000
--- a/dev-python/openapi-spec-validator/openapi-spec-validator-0.5.2.ebuild
+++ /dev/null
@@ -1,56 +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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="OpenAPI 2.0 (aka Swagger) and OpenAPI 3.0 spec validator"
-HOMEPAGE="
- https://github.com/p1c2u/openapi-spec-validator/
- https://pypi.org/project/openapi-spec-validator/
-"
-SRC_URI="
- https://github.com/p1c2u/openapi-spec-validator/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/jsonschema-4.0.0[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-spec-0.1.1[${PYTHON_USEDEP}]
- >=dev-python/lazy-object-proxy-1.7.1[${PYTHON_USEDEP}]
- <dev-python/openapi-schema-validator-0.5[${PYTHON_USEDEP}]
- >=dev-python/openapi-schema-validator-0.3.2[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Internet
- tests/integration/test_shortcuts.py::TestPetstoreV2Example
- tests/integration/test_shortcuts.py::TestApiV2WithExampe
- tests/integration/test_shortcuts.py::TestPetstoreV2ExpandedExample
- tests/integration/test_shortcuts.py::TestPetstoreExample
- tests/integration/test_shortcuts.py::TestRemoteValidatev2SpecUrl
- tests/integration/test_shortcuts.py::TestRemoteValidatev30SpecUrl
- tests/integration/test_shortcuts.py::TestApiWithExample
- tests/integration/test_shortcuts.py::TestPetstoreExpandedExample
- tests/integration/test_validate.py::TestPetstoreExample
- tests/integration/test_validate.py::TestApiWithExample
- tests/integration/test_validate.py::TestPetstoreExpandedExample
- tests/integration/validation/test_validators.py
-)
-
-src_prepare() {
- sed -i -e '/--cov/d' 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
new file mode 100644
index 000000000000..77e12ab9fb16
--- /dev/null
+++ b/dev-python/openapi-spec-validator/openapi-spec-validator-0.7.1.ebuild
@@ -0,0 +1,50 @@
+# 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="OpenAPI 2.0 (aka Swagger) and OpenAPI 3.0 spec validator"
+HOMEPAGE="
+ https://github.com/python-openapi/openapi-spec-validator/
+ https://pypi.org/project/openapi-spec-validator/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/jsonschema-4.18.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-path-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/lazy-object-proxy-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/openapi-schema-validator-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Internet
+ tests/integration/test_shortcuts.py::TestPetstoreV2Example
+ tests/integration/test_shortcuts.py::TestApiV2WithExampe
+ tests/integration/test_shortcuts.py::TestPetstoreV2ExpandedExample
+ tests/integration/test_shortcuts.py::TestPetstoreExample
+ tests/integration/test_shortcuts.py::TestRemoteValidatev2SpecUrl
+ tests/integration/test_shortcuts.py::TestRemoteValidatev30SpecUrl
+ tests/integration/test_shortcuts.py::TestApiWithExample
+ tests/integration/test_shortcuts.py::TestPetstoreExpandedExample
+ tests/integration/test_validate.py::TestPetstoreExample
+ tests/integration/test_validate.py::TestApiWithExample
+ tests/integration/test_validate.py::TestPetstoreExpandedExample
+ tests/integration/validation/test_validators.py
+)
+
+src_prepare() {
+ sed -i -e '/--cov/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/openapi3/Manifest b/dev-python/openapi3/Manifest
new file mode 100644
index 000000000000..697d01605b7e
--- /dev/null
+++ b/dev-python/openapi3/Manifest
@@ -0,0 +1 @@
+DIST openapi3-1.8.2.gh.tar.gz 41402 BLAKE2B a22af8ce1d1c94f3dd2b5f1871222c8c2ec902e9f8b5b065a9a3dd8143ed361df4b26438215e88ac416b6012b015a38c9709b9ed290aaf5cfdaff5b2d1d439f7 SHA512 5555ef0495f7d459fabef98c56da4b1b9d758aa06c4dc83adf1388c044dd0f6b09b933e105ef8665737359fbf98b9699ca2d7127ead2aa86e3f99682b29dbf1e
diff --git a/dev-python/openapi3/metadata.xml b/dev-python/openapi3/metadata.xml
new file mode 100644
index 000000000000..b0af68e225aa
--- /dev/null
+++ b/dev-python/openapi3/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="person">
+ <email>ceamac@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">openapi3</remote-id>
+ <remote-id type="github">Dorthu/openapi3</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/openapi3/openapi3-1.8.2.ebuild b/dev-python/openapi3/openapi3-1.8.2.ebuild
new file mode 100644
index 000000000000..77cb4b50a85a
--- /dev/null
+++ b/dev-python/openapi3/openapi3-1.8.2.ebuild
@@ -0,0 +1,33 @@
+# 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 OpenAPI 3 Specification client and validator"
+HOMEPAGE="
+ https://pypi.org/project/openapi3/
+ https://github.com/Dorthu/openapi3
+"
+SRC_URI="https://github.com/Dorthu/openapi3/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # the fastapi test is broken for fastapi 0.94+
+ rm -f tests/fastapi_test.py || die
+ epytest
+}
diff --git a/dev-python/openpyxl/Manifest b/dev-python/openpyxl/Manifest
index 47be476db6e7..1d3454889175 100644
--- a/dev-python/openpyxl/Manifest
+++ b/dev-python/openpyxl/Manifest
@@ -1 +1 @@
-DIST openpyxl-3.0.10.tar.bz2 2427596 BLAKE2B 7422e15d1852d7ce6fa7547cdde2ff6cbe02ccdc13d0a48272cc0f544ade8283833ccfd006d83cca0ac719b2354af76e220522655cadad8dda11bc39ddb6de30 SHA512 1b06ed6c17ab15c277a46cb83db030ba37424a718962070728a8723db50e3fb6a77078b26e04aaee4a924686cacb2c6413742f7aa3533c0f9ecfabca9757af56
+DIST openpyxl-3.1.2.tar.bz2 2733302 BLAKE2B 7030c698c2dfa3c3f27f23485e33cc9f4ffc0c473e590785ebfa03a958f7c1deab98503890b7350f32cbb4607b3fbf543b35299c0f8abfbfcc779e96ddda9ee1 SHA512 307d82dcf839c60be606c01f862701f69017573894c7fd26e35ec3edead2ea2a126aecca61b0c7f6727ff834dd6bed844095b9a56f2b510689ab071926a7a742
diff --git a/dev-python/openpyxl/openpyxl-3.0.10.ebuild b/dev-python/openpyxl/openpyxl-3.0.10.ebuild
deleted file mode 100644
index 84aa741abf7f..000000000000
--- a/dev-python/openpyxl/openpyxl-3.0.10.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_{9..11} )
-
-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"
-
-RDEPEND="
- dev-python/et_xmlfile[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP},tiff,jpeg]
- dev-python/py[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx doc
-distutils_enable_tests pytest
diff --git a/dev-python/openpyxl/openpyxl-3.1.2.ebuild b/dev-python/openpyxl/openpyxl-3.1.2.ebuild
new file mode 100644
index 000000000000..bc945c3d872d
--- /dev/null
+++ b/dev-python/openpyxl/openpyxl-3.1.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..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 ~loong 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/opensearch-py/Manifest b/dev-python/opensearch-py/Manifest
new file mode 100644
index 000000000000..9dea46936495
--- /dev/null
+++ b/dev-python/opensearch-py/Manifest
@@ -0,0 +1 @@
+DIST opensearch-py-2.3.0.gh.tar.gz 392631 BLAKE2B b2e88c98676c8c035f8c295b12b8cd8a7b8f4d6e4b1b4dca76f2417cf9d8c01b16bc36b3bed7f64d91d643aa2ceba681af6eac9b4d1a3d3bfa1a2cb13a53f167 SHA512 8be82ff19b4aa3d44dba8dd3b56676241de1999d6ae91c8414528132a6ed450850bf3b544a858c9fe0a5b188cd0da1196a524f9515e90369f5232c3ca7244d22
diff --git a/dev-python/opensearch-py/metadata.xml b/dev-python/opensearch-py/metadata.xml
new file mode 100644
index 000000000000..76b4ac2da973
--- /dev/null
+++ b/dev-python/opensearch-py/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>arthurzam@gentoo.org</email>
+ <name>Arthur Zamarin</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">opensearch-py</remote-id>
+ <remote-id type="github">opensearch-project/opensearch-py</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/opensearch-py/opensearch-py-2.3.0.ebuild b/dev-python/opensearch-py/opensearch-py-2.3.0.ebuild
new file mode 100644
index 000000000000..07abb4d2627b
--- /dev/null
+++ b/dev-python/opensearch-py/opensearch-py-2.3.0.ebuild
@@ -0,0 +1,45 @@
+# 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/v${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-1.21.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/botocore[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
diff --git a/dev-python/openstackdocstheme/Manifest b/dev-python/openstackdocstheme/Manifest
index 532d261dd086..bd23e2b87cba 100644
--- a/dev-python/openstackdocstheme/Manifest
+++ b/dev-python/openstackdocstheme/Manifest
@@ -1 +1 @@
-DIST openstackdocstheme-3.0.1.tar.gz 1256111 BLAKE2B c0a1a68e8e0e423bc704503dc2214d9cb51aa236daf39ba6788ef95240c25c05d1bd8b7ce2cb3d7c7290e574f3c78b276a28afe5a92645dce6f1b3ad54109158 SHA512 3643e5fc7a6e7090e766d8e0c71f6f3dfe32ac2529b3f70a7b0e825765be92dad58a2f399d8993716c9c87f0781a117b602f090abc0f3905e0586a26c87fe449
+DIST openstackdocstheme-3.2.0.tar.gz 1256119 BLAKE2B b4e0536d9846270597f9456998a9e38d728acee1f992793354dd814596dbc8b189e7e86d1aab4d85b97abdf9a0a502cdef884447fe66b8b57836cf07bec26f67 SHA512 8a9cff0ef68c78917a8a18653567683dda269ea1c4c915d183324ad28ecdfc111083c94082b4e47a88f46f8990a20e3d277478ac02febb3ea0c31067069f315b
diff --git a/dev-python/openstackdocstheme/metadata.xml b/dev-python/openstackdocstheme/metadata.xml
index d6e2ced15d08..46674f796d5e 100644
--- a/dev-python/openstackdocstheme/metadata.xml
+++ b/dev-python/openstackdocstheme/metadata.xml
@@ -15,6 +15,6 @@
<upstream>
<remote-id type="pypi">openstackdocstheme</remote-id>
<remote-id type="github">openstack/openstackdocstheme</remote-id>
- <doc>https://docs.openstack.org/openstackdocstheme/</doc>
+ <doc>https://docs.openstack.org/openstackdocstheme/latest/</doc>
</upstream>
</pkgmetadata>
diff --git a/dev-python/openstackdocstheme/openstackdocstheme-3.0.1.ebuild b/dev-python/openstackdocstheme/openstackdocstheme-3.0.1.ebuild
deleted file mode 100644
index 1e3b09df9224..000000000000
--- a/dev-python/openstackdocstheme/openstackdocstheme-3.0.1.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..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Theme and extension support for Sphinx documentation"
-HOMEPAGE="
- https://docs.openstack.org/openstackdocstheme/latest/
- https://opendev.org/openstack/openstackdocstheme/
- https://github.com/openstack/openstackdocstheme/
- https://pypi.org/project/openstackdocstheme/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc64 ~riscv ~s390 x86"
-
-BDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${BDEPEND}
- >=dev-python/dulwich-0.15.0[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/openstackdocstheme/openstackdocstheme-3.2.0.ebuild b/dev-python/openstackdocstheme/openstackdocstheme-3.2.0.ebuild
new file mode 100644
index 000000000000..4313a340bd14
--- /dev/null
+++ b/dev-python/openstackdocstheme/openstackdocstheme-3.2.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Theme and extension support for Sphinx documentation"
+HOMEPAGE="
+ https://docs.openstack.org/openstackdocstheme/latest/
+ https://opendev.org/openstack/openstackdocstheme/
+ https://github.com/openstack/openstackdocstheme/
+ https://pypi.org/project/openstackdocstheme/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc64 ~riscv ~s390 x86"
+
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${BDEPEND}
+ >=dev-python/dulwich-0.15.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/openstacksdk/Manifest b/dev-python/openstacksdk/Manifest
index 3d1c0c4de49f..63347f14ceb9 100644
--- a/dev-python/openstacksdk/Manifest
+++ b/dev-python/openstacksdk/Manifest
@@ -1 +1,2 @@
-DIST openstacksdk-0.103.0.tar.gz 1094619 BLAKE2B 66b4375469b2a8a48640198f94fa6d893c3f5d0e93a20f00dee868d6ed2da34fe367ec885691a06f9b4c056092837b5dd1033201922cb909fc7124456c7b6369 SHA512 175166fbf0aa851ff51c86b99d10cf30da6fe7c516e2d6020061fdcc9627f7d4630e3cc9ef3699be52cf298088f2f80240061e6a851a13effbd13d359a6dab26
+DIST openstacksdk-3.0.0.tar.gz 1214285 BLAKE2B f28526732c624ed1417196ea15caecce434a6ec22f716349a3c2df7359fc478302723b4be24db10d502fa153ab7e7ec7d67238efecb98736927cfec4760c9f97 SHA512 33cc81b05a682503add54094da2cd96552c492181c6ea66fe85c5c6f04a98cb2ebaf1234defad95c14861e5dfff11bfa35a4084c4135241c10d719cd61ecb9c9
+DIST openstacksdk-3.1.0.tar.gz 1215965 BLAKE2B 6bf5c3f85dcc2a027af10b675f7a3c7f7cf82bccc20558c0e094def02ff07fca4952ed71240bdf29600c3ef077575c49dce0dccb1683539bef756897813f4d1a SHA512 97ef0610115e1f1534900a6003d699028c6b331af0ef95fadb27babf0bf1467a304a3cc935f07270bf597053e2536e74de79333f67d116cf0b18583a3c8db878
diff --git a/dev-python/openstacksdk/openstacksdk-0.103.0.ebuild b/dev-python/openstacksdk/openstacksdk-0.103.0.ebuild
deleted file mode 100644
index 4a8046b27583..000000000000
--- a/dev-python/openstacksdk/openstacksdk-0.103.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
- >=dev-python/appdirs-1.3.0[${PYTHON_USEDEP}]
- >=dev-python/requestsexceptions-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/jsonpatch-1.20[${PYTHON_USEDEP}]
- >=dev-python/os-service-types-1.7.0[${PYTHON_USEDEP}]
- >=dev-python/keystoneauth-3.18.0[${PYTHON_USEDEP}]
- >=dev-python/munch-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/decorator-4.4.1[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
- >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
- >=dev-python/dogpile-cache-0.6.5[${PYTHON_USEDEP}]
- >=dev-python/cryptography-2.7.0[${PYTHON_USEDEP}]
- dev-python/importlib_metadata[${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
-
- 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.0.0.ebuild b/dev-python/openstacksdk/openstacksdk-3.0.0.ebuild
new file mode 100644
index 000000000000..76434f8532c5
--- /dev/null
+++ b/dev-python/openstacksdk/openstacksdk-3.0.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.1.0.ebuild b/dev-python/openstacksdk/openstacksdk-3.1.0.ebuild
new file mode 100644
index 000000000000..010c1c968e8f
--- /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/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..9506636e8fc6
--- /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..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenTelemetry Python API"
+HOMEPAGE="
+ https://opentelemetry.io/
+ https://pypi.org/project/opentelemetry-api/
+ https://github.com/open-telemetry/opentelemetry-python/
+"
+SRC_URI="
+ https://github.com/open-telemetry/opentelemetry-python/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/${PN}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 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..f4dcacaef8cb
--- /dev/null
+++ b/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.24.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="opentelemetry-python-${PV}"
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenTelemetry Python SDK"
+HOMEPAGE="
+ https://opentelemetry.io/
+ https://pypi.org/project/opentelemetry-sdk/
+ https://github.com/open-telemetry/opentelemetry-python/
+"
+SRC_URI="
+ https://github.com/open-telemetry/opentelemetry-python/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+
+S="${WORKDIR}/${MY_P}/${PN}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 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 -x EPYTEST_IGNORE=(
+ tests/performance/benchmarks/
+ )
+
+ epytest
+}
diff --git a/dev-python/opentelemetry-semantic-conventions/Manifest b/dev-python/opentelemetry-semantic-conventions/Manifest
new file mode 100644
index 000000000000..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..1337f89a65b5
--- /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..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="OpenTelemetry Semantic Conventions"
+HOMEPAGE="
+ https://opentelemetry.io/
+ https://pypi.org/project/opentelemetry-sdk/
+ https://github.com/open-telemetry/opentelemetry-python/
+"
+SRC_URI="
+ https://github.com/open-telemetry/opentelemetry-python/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/${PN}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 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/opt-einsum/opt-einsum-3.3.0-r1.ebuild b/dev-python/opt-einsum/opt-einsum-3.3.0-r1.ebuild
index 46c72fc56ba2..82f33bea3144 100644
--- a/dev-python/opt-einsum/opt-einsum-3.3.0-r1.ebuild
+++ b/dev-python/opt-einsum/opt-einsum-3.3.0-r1.ebuild
@@ -4,18 +4,31 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
DESCRIPTION="Optimized Einsum: A tensor contraction order optimizer"
-HOMEPAGE="https://pypi.org/project/opt-einsum/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P/-/_}.tar.gz"
-S="${WORKDIR}/${P/-/_}"
+HOMEPAGE="
+ https://github.com/dgasmith/opt_einsum/
+ https://pypi.org/project/opt-einsum/
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 arm64 x86"
-RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/versioneer[${PYTHON_USEDEP}]
+"
distutils_enable_tests pytest
+
+src_prepare() {
+ # ancient, broken version
+ rm versioneer.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/opt-einsum/opt-einsum-3.3.0.ebuild b/dev-python/opt-einsum/opt-einsum-3.3.0.ebuild
deleted file mode 100644
index 2eb8869268f0..000000000000
--- a/dev-python/opt-einsum/opt-einsum-3.3.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Optimized Einsum: A tensor contraction order optimizer"
-HOMEPAGE="https://pypi.org/project/opt-einsum/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P/-/_}.tar.gz"
-S="${WORKDIR}/${P/-/_}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
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 abf745626980..b68a3c64c3e6 100644
--- a/dev-python/ordered-set/ordered-set-4.1.0.ebuild
+++ b/dev-python/ordered-set/ordered-set-4.1.0.ebuild
@@ -5,16 +5,16 @@
EAPI=7
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A mutable set that remembers the order of its entries"
HOMEPAGE="https://github.com/rspeer/ordered-set"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+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
diff --git a/dev-python/orjson/Manifest b/dev-python/orjson/Manifest
new file mode 100644
index 000000000000..54c2589151f4
--- /dev/null
+++ b/dev-python/orjson/Manifest
@@ -0,0 +1,55 @@
+DIST ahash-0.8.11.crate 43607 BLAKE2B 7dff8e41798ba25df8c4827ff414a182bb25da4825f0119a74916fe775db5445b87be8fc87f7c7f98d3b5053e1d47546f98873de1a942d36e5f308a3fb7dd620 SHA512 47d211b2422de0b381dfe32229faa346406eb7a22dff867dc04c22389609a8671ce3218e662000c49891a06c259d82e0ff4413740f007729d80e097a6c3f0d9d
+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.2.0.crate 14808 BLAKE2B 122327d6ffd32e08dc9fbdb4dcf69128b19d56280f9d934311b946741003b40571cdd1f3ef54b2be02c8dc505aea11c962b244d33a92206bf4ee8f6b2b9da432 SHA512 66cbfd13e33b36284cf4c74c8d654f93adcc45893d127d9aaa4c1d183e47336096e72d74e7c17dd481fb7a98931ab6cfec7e4d4165cfb491861d4e3ffe2416fc
+DIST beef-0.5.2.crate 15275 BLAKE2B 95d60fb1840ca26581841ad65a4e8f3f99d5f8d44c569219f4d06ce441bb3a4ba558e231e73a51cd1c6b4d9e4cc6a07942115c134289fb1982dace03049d3a1e SHA512 755fc588acbf730bc9c80dbfc20cd0ef81f792a94da0dd28379ad83a7359ddd4c7b136ba8048dd460bb8652475db3d12814fcbd04eff4ebe8ec8a1bcd024c2aa
+DIST bytecount-0.6.7.crate 14642 BLAKE2B eabbc141f2a277d07fd002869d1746e7f743b96c3dc72b8708308e826d3934ecb01407e77653ef46d06b3bdd9d931e121c9c66a784d46116a9e6b98e992512f4 SHA512 afd46ec3f60022a173b57dd954a06c7c86f21fc153a0ee6fc2052ada5a630515a386bc8344680ced57dd19a205480c694b9a04a6da0660b6e854b4a712604d53
+DIST castaway-0.2.2.crate 11091 BLAKE2B 3445e68aaf533caa1df958fb371622ef61c7778d515fd1efe39a12588e24fe07480738daba008e414a95e72af10d5ea29702425e5b91ebb277fe346ff74bc43b SHA512 dbce2a61a429eda7a8f21b4a35dced729267298be9793310afaff58843211a7177a9bb932a4bd9dfcedaaf1a2570b90261d4c1047c62474450ea835dcfc325a4
+DIST cc-1.0.90.crate 73954 BLAKE2B 840417889519dec96a745c49ecbc8b0d3da9b37a4b6b0165ee8983c07b8150061690b34409381365ae4c70c5780923d19cddce29d5fbc370eb6b6fff29121436 SHA512 349f3c3f8208632f8754cc05d70976eb14f3f13a14d59413994c656efc36bb32b7310adc7d5f3a6745f15e0aaa88334644c9aba8d29fb961215d74bec605307e
+DIST cc-1.0.94.crate 76456 BLAKE2B bf72e0007d9fe022a66ccc12be48acbc5dd1b716a47f18e4062b415405140764db6ed26bcab071307142167309c9c9ab55382c7973ad43fd15d06e3fe6b24b69 SHA512 67ce0e73904cf7fac81b0b914ec5fd4d9e59f358602199530f51d203a2e42be9814b04f65497a644a0e2720cc6e58c5e4bf1ad4782ded35b710b22c9b0f2bee5
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST chrono-0.4.34.crate 228932 BLAKE2B a2feab8d8b079209f8661fd8c5069f2a5fc3e5b0a6233187ace16f8f2ad8b4a147253e47af306cb31aacd82bdf490a8c8a171ad702b8dc22f9b934205d080c55 SHA512 2aaccde5e5ecaec744613429f807b3c34b92632973de7fdbdafd7ca510b917a23a0abc92a6497754d0d3368d684305648aec1fa2a0a61c88a100a20fab2348f1
+DIST compact_str-0.7.1.crate 57246 BLAKE2B 2da5cfdc91d417294ca87ce834e8006d3426aff4cb22945e6744ace7d22c940f0181a75f25e6acc41efb5d83bf6ba4ee0876db3ce5cc05b9524a9868dcb8c7c9 SHA512 29ed591024f8f1b478722384664f5700fbde97b44af82fa32a8d1ccdedca9dc425555f9e5a4431a6c954d58cd90d60a25a9ed7f18773ede13edfc68094a23275
+DIST const-random-0.1.18.crate 6646 BLAKE2B 20e71fd7e2b0b9af663073a45d0224a4cf9a6a6bdab5c3565de88b4a66ff24a1b0f8c01bdbb86f5192b723c03030ae02fb86722be7cc41c3154cdc81f843f013 SHA512 e250227850001a3ac6abdda6e7bb88efeaec1504a54348a5ea71ff66c984455eb9181b2acfdc0b6c08ef6f51beb34b7ae7836e370d84d75731a2482226c5ed26
+DIST const-random-macro-0.1.16.crate 6657 BLAKE2B 44a3508e2158b79042cab698b1f31c50fa356098bb5f4537f82fe1b9e893d3e8eab59612a8957e524294ca0a035046468d799e4a0e9253c1464b68ef682f84e2 SHA512 8478bc65b0845e765a69e09fe4152e89f3e3970d2d92e4b32bb0abb7b918c725f325d4b19a45d2a462905bedf837b3a23f31b1ed9dc8655ca502de72616b074d
+DIST crunchy-0.2.2.crate 2995 BLAKE2B 74ddf8c5e0deb2ceab65c20a2743e1230739ac6aa3af60c9e867a7852270697a1278b7dee00df8949fc4268f9756a4a098df1211ab3b3e31a122652c3ba0a6fb SHA512 36dc0aebc41a3aac5f1b178a7e61b65bcd9bb5c8539b2024f79428200f7c62daa7098af55c6ab0765febd2f8969bd6c0ac8096f73cdc0958e5c4e4eb6a4f7025
+DIST encoding_rs-0.8.33.crate 1370071 BLAKE2B 0e81419086ca6e18f2aba5194b87eaba49ddf20493fd6ee09d479db86306e39dff9b23f399594afc42f1fdb33855e070beaa1871794dc0b0371c35d296a6369a SHA512 20d28a4c0ff0710f911f510be56c2bc5e7514b76d370493d2b89b7f25d1c0cd46ffa64862e54fc472f07f928a2cc24cf9d790a37751cafafc81f263705aac4bc
+DIST encoding_rs-0.8.34.crate 1378166 BLAKE2B 528692170cdb1d74ffb0b122a5aee61f50a2a7e4ce6db049ebea4a185e5c43d4ed99e515f08524053a110e061f788f861e62e0b04eb016e7a9e2678235a04577 SHA512 e23b87003814dd6e7e17924bd1f53989a5008dd1da07baa23c40d2a18dc1ab2d786d61e2c304b3f60e73be5f180ae2deea3b4499c0157b6afe3c9273d2f739f6
+DIST getrandom-0.2.12.crate 36163 BLAKE2B 0afef8504932ea0ea051cde1d14bd5b79edde68d6ebae6fe88fa4aaa532605a16f466d0d9c0d0aa619eaa105600b6d5ee4e191865a3fa041549a78f78ca82396 SHA512 dd97d7dae1a7ba653abdaf2db719e1a9c8eb721b08b4af0f1c45b1ed5079069d1b57e4f6d9d879e7fae3a890763f4b6aea9bc2d945392b98e811e7b348589bee
+DIST getrandom-0.2.14.crate 37307 BLAKE2B 5904388869335ea904d950ee83ad1867a0d3f6831b7139102b53f4bb4a2c12371c9396f1f1cbcc44e3ce69a4ea316651b1674722071bfa7562385ad4b6a88c33 SHA512 6c334415e09f570e3123e3c6c6eed1727533ac6c9c4142e16ae995c237a16effe146832a891be9fdde4335bd02b454e0fdd9160f20dc02f107ad106756221658
+DIST half-2.4.0.crate 50666 BLAKE2B 5175650e5cb9fa08a5d45ce35b76b15454d27f214d9b9236902ffab71834b342beba0654f9c85fc796bbb499a1a979b60714a5bf7666d1faf59d61530073adbd SHA512 7357a0f84dc6ae394efdd464f5a6da2bafa48bf8d794b2c34d1507d4d66af31ece8a012b58e6f76eacea2c249488a12c20f8c7e516ddd42a70633c9dbaa13bf5
+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.153.crate 740614 BLAKE2B 523a41bc8cff4ebcba0edbbe9e6a2286ec7cb3ba5e90ca5926c972b68e4b34188bc077d20c22376238c3cd91b7455898a95c505ace4ededea88cc496edb4c5a7 SHA512 3f99e3a192974fffdc053ef21e9ad5fb54b7cdbd4755df176704a95dba38047138ccab76763e89c6b565f37f98fd549fe368749f84f6d1638b3209cb07eae9b4
+DIST no-panic-0.1.29.crate 11689 BLAKE2B 15c88784de85c159d65c7f7cab968692cba303abac1bbbdeb0c92014df51932094a4e12e2df253256cea9fcfb08f339514d67f08bb549e89fb16301a7e9432b9 SHA512 647d5ade614f7dfe0eb8b1ae8a78897ce61e15cffbafb889e7a5271c90cf6b40d3c37ef94c600b2058207cc45465c0553aea9c9e17eee93963672bcff9913354
+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 orjson-3.10.0.tar.gz 4912978 BLAKE2B 1722f9b7c853bc2ff4dc2199df4390845eb011ef78b6db9669705334a43cbf3048a8b84b6e3bd21064ec36b4655ee86aab2de9781f50e24a709a7a2160f71f57 SHA512 365acde8f4a9f0ebca95d6151abbd6b7846836ecd24a5688f75fc1a936da6cd205cfb251c6b779d95b3c2da4c79a15e8d6963236cdc6d6bf56c345597d8903bd
+DIST orjson-3.10.1.tar.gz 4917664 BLAKE2B ee730e23dcf3930bf5a4046c8ea21b5995fef5e244b4ae73dfd6add1606624e22c2628144c5a7c50d498e5857ed785d1f321437449e09839fe3121e3e231df2a SHA512 54b927f407a584b0751403b3473bdb26fa3827e07895a28255b7ef938dc404d36fd388e47ddd0e724916786a3e52ef9fe5f245d8d2732d1cb6880bedb75135cf
+DIST proc-macro2-1.0.79.crate 47200 BLAKE2B fff8e514d618b8ef60d6a4ca7610607641cb25701fc5e8452e0db5f942a3c38c724acbbfb0474823fe0f4864df07958c1524383e7640105266608f1d5a741368 SHA512 8bfa6fc1022556cbabe0050a37b93c5ef1056ebda9d3dd368e705a7c695df9dfb5cd5adc18ad1eadf7338631ad1d5ed6f63f0adff3616429ef8c50a930b1838f
+DIST proc-macro2-1.0.80.crate 48227 BLAKE2B 1b4d2a1d613af8e03fab7a976707ed9ad4809ba50775992df54de10e5b8deabfcce423ca962fbce5c22090421cb0b8b26b8026d56562aa6569a8acfbb49d55de SHA512 d40181bbc4f83ee66be7721e8f89f9a08e368e12a8a0d4c1dcdb1c29cc72b1bcb8da598de1ad1a155a8182026ab7f8365f7a46fc76d589282fbffbd35aa228a0
+DIST pyo3-build-config-0.21.0.crate 30535 BLAKE2B 71bc1756e1640456cce58190d90f7c1059b9748d9d72a122dd4e28c74ba96cb9fd2bbd80791d3edf313349cc0fbaa669c8e9cecfc925c9828ac794fda17a6ed4 SHA512 ac1ee7389fe267c28ff67f5d6a23bdba57ad2e0dff16e7ef38bc2bc95d0a2a4aca0b1fe4cac8510163c6c5a44bdac128f36d7b34655dff5f8e690db38e5edc6a
+DIST pyo3-build-config-0.21.1.crate 30540 BLAKE2B 4019892096ee02c25ec6484eb56da12990fc84be5c5173f524e88e8b18e5b1b113d0db1962aff44253519bd1b5f3d4f01512ba86441927c19b04911d8282a039 SHA512 9eb4fbef1015deb1d7a414181926b6b4e44acc2347379783f2fe28e212986e62bb7e36d214d3bed613e9f213a9882084af9012042d9047846f7f4948f64112de
+DIST pyo3-ffi-0.21.0.crate 66158 BLAKE2B 40809352e9df9ed13f833a73c9d50f71e63591a5b4680fbc85b2c10fa5d0ca65b793d6f467723bdc47887a38536fba4c2b2d9ba52f5ee9b2005a23d98778c407 SHA512 4405a6dbb06e739a54056a70b072b94b1181aa5ec06515c32ba76962fe4bce6b2b63cc179b77d3656123eff5f60e650bd6efe026794ad38d37e307f3653a3f96
+DIST pyo3-ffi-0.21.1.crate 66163 BLAKE2B 7d47e140d6e39d2622a77349c20466e9e161d3732b3df7a4fba258ac4b41b5bfa57e4af87dae8ab932a27c965bc9e3e10cd38195c9037cb78246e0ad10260fd1 SHA512 6d0f6d1c9d6af1255a1d709e1da6dee82c9948ddcd2c8b38c760e5fe23b6a65b050f030b46a38697aa82b5c1927fc9a20dff92cfabf1a03ca92099583a516c68
+DIST quote-1.0.35.crate 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2
+DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
+DIST rustversion-1.0.14.crate 17261 BLAKE2B db30d01914059a893bdb4c448ed0bf04852085c2d948bfbed8819a1d2317c34133cf609abdd806ad628b86974a9c1ab9d09f79743cb8e13257ef32cd444f49c6 SHA512 466d753c28c4899ab3da3e9f3366f7ecc435d484f51e0c07acfa5f3367af0de27ea3bc75efda22159b4990c976b1466a27e7c31c834c72a87d8234318357454b
+DIST rustversion-1.0.15.crate 17406 BLAKE2B ef68a3a83e11f6734be94117e5170f92f9e1211d353a81b45ed11d4c738278c7f519ebfc9896681d564698fbcc579da10f97fddd77d56b14dbb96b90e16ea811 SHA512 e0e37511c25b71a64bd6f91cd8b29e43c4073ef56196de808634f3408cc297fc7fda1316a5adc5fffde9192b7d64f1940deb7cf396277a3805e89e15b2a855da
+DIST ryu-1.0.17.crate 47537 BLAKE2B 28408e17a4322f1afb6f21bc8d7328c39d07186de4d464f8e9bd63a69757cb4af61b46e558075e14836f310f020ac824d5ffa616fc0a5ffba59b9df0bb66ffc4 SHA512 6dad725c4fb2d3a33ea30107b63cb702eed56bd2f3c16a72265f648f5aaefcd3d5a7b919b1d037af926cc6311bc68ba58c4e0483da2b2e2135c6a7c2d6601af4
+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.115.crate 147100 BLAKE2B baa2dce9d85e331d1308f2ece9dbeff24bcc70e37be3f06c7e819ad9f4eb59fb1f00658736fd336a41a65e3616d1bf75a0c9adb359eb606e1418159a9455132f SHA512 d1a60e20af770fdfe0585853c87c5631e56944a3c1bbdf9e1e91003af8e924a8076335bd37563d167c760aad10d4c08fe59ebd47fc52e461bc3586b835808d22
+DIST simdutf8-0.1.4.crate 28621 BLAKE2B 94ab48bc899e603acf3805dd45ae8489d565aa39ff79606e80a1731b59d11f429d71bb6c65becf3ceab123767f2d20612cb9f86410fd1aad00d0a796091ad045 SHA512 9f821035e147c035707910227b51e01d3f761ab8b578d95a86a776b2a4da01bc4d8ef28df7ea2c16ca125a2699d8903b826ad07a5937728e33dd58753ebd704c
+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.55.crate 254901 BLAKE2B f48da9df7d80bc35ec7f88d2b73a29fc1f2daaf2b1e2120c8a145c730e99148ef7a41fde7466f3b12ce8f017b505341cf5109353a9aa2164827a724b775167bb SHA512 093414e1db32cf723161fdf213c6bc59aeda00c6867ca8cc28997822375bca07ec709e47324bdb936df87298e84da296fe15968811a0d74c978a1a90b89dbd3a
+DIST syn-2.0.59.crate 255393 BLAKE2B 872c6fdf55eef2f050c02fd054f383ede1793286e787f447d242a0436186e67151ce4f47a63c7ac8ab00a87d2fa9452ccc166a32cc7f1c1de2e0f2581c01d2ee SHA512 0e9e1529a0ce43afeec5e9847f8f4c86939ebb1fa0236d25aab73a9fc253b97ebc62f1c741e137a5a3173e2342b33d776a488210ccbdcd36177a1df31188afdc
+DIST target-lexicon-0.12.14.crate 25508 BLAKE2B 5ebb6b49e5c3b0057959557651287d4bf5ffe5b499340019ff64d5fc3b64e780e344982e358c94b1b25a20bf0f526a584aeecc704695b50a55cc268dd65edb97 SHA512 3410ecc0faf854f49c41c99f83972960e67065b1e0e78557a7c4996d996109bfd167d2121a019f5256f996c896cd45af032038ab7918fdcc6ee6311693ce951a
+DIST tiny-keccak-2.0.2.crate 20129 BLAKE2B 105a2d2af36cc053cd95721ea563108f33b8a3feb2ae84c75a04a65ed5d548dfe35d8b2e48977a82f725c0ebcf914f21157c547f4a74bb4d98c2e894385139be SHA512 c0219f23361eb07e0a68575c461a36b7286d9bdebae89080d9e259178d402b0c7762ccf33e65a16951ea168392322c44a24eb55189cf143e22d09d6dfc4acec1
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+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 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/orjson/metadata.xml b/dev-python/orjson/metadata.xml
new file mode 100644
index 000000000000..49613d89bfc2
--- /dev/null
+++ b/dev-python/orjson/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="pypi">orjson</remote-id>
+ <remote-id type="github">ijl/orjson</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/orjson/orjson-3.10.0.ebuild b/dev-python/orjson/orjson-3.10.0.ebuild
new file mode 100644
index 000000000000..13eae816782d
--- /dev/null
+++ b/dev-python/orjson/orjson-3.10.0.ebuild
@@ -0,0 +1,95 @@
+# 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..12} )
+
+CRATES="
+ ahash@0.8.11
+ arrayvec@0.7.4
+ associative-cache@2.0.0
+ autocfg@1.2.0
+ beef@0.5.2
+ bytecount@0.6.7
+ castaway@0.2.2
+ cc@1.0.90
+ cfg-if@1.0.0
+ chrono@0.4.34
+ compact_str@0.7.1
+ const-random-macro@0.1.16
+ const-random@0.1.18
+ crunchy@0.2.2
+ encoding_rs@0.8.33
+ getrandom@0.2.12
+ half@2.4.0
+ itoa@1.0.11
+ itoap@1.0.1
+ libc@0.2.153
+ no-panic@0.1.29
+ num-traits@0.2.18
+ once_cell@1.19.0
+ proc-macro2@1.0.79
+ pyo3-build-config@0.21.0
+ pyo3-ffi@0.21.0
+ quote@1.0.35
+ rustversion@1.0.14
+ ryu@1.0.17
+ serde@1.0.197
+ serde_derive@1.0.197
+ serde_json@1.0.115
+ simdutf8@0.1.4
+ smallvec@1.13.2
+ static_assertions@1.1.0
+ syn@2.0.55
+ target-lexicon@0.12.14
+ tiny-keccak@2.0.2
+ unicode-ident@1.0.12
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ zerocopy-derive@0.7.32
+ zerocopy@0.7.32
+"
+
+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 CC0-1.0 MIT Unicode-DFS-2016
+ || ( Apache-2.0 Boost-1.0 )
+"
+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
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -s
+}
diff --git a/dev-python/orjson/orjson-3.10.1.ebuild b/dev-python/orjson/orjson-3.10.1.ebuild
new file mode 100644
index 000000000000..e4a9be9dd6c9
--- /dev/null
+++ b/dev-python/orjson/orjson-3.10.1.ebuild
@@ -0,0 +1,95 @@
+# 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..12} )
+
+CRATES="
+ ahash@0.8.11
+ arrayvec@0.7.4
+ associative-cache@2.0.0
+ autocfg@1.2.0
+ beef@0.5.2
+ bytecount@0.6.7
+ castaway@0.2.2
+ cc@1.0.94
+ cfg-if@1.0.0
+ chrono@0.4.34
+ compact_str@0.7.1
+ const-random-macro@0.1.16
+ const-random@0.1.18
+ crunchy@0.2.2
+ encoding_rs@0.8.34
+ getrandom@0.2.14
+ half@2.4.1
+ itoa@1.0.11
+ itoap@1.0.1
+ libc@0.2.153
+ no-panic@0.1.29
+ num-traits@0.2.18
+ once_cell@1.19.0
+ proc-macro2@1.0.80
+ pyo3-build-config@0.21.1
+ pyo3-ffi@0.21.1
+ quote@1.0.36
+ rustversion@1.0.15
+ ryu@1.0.17
+ serde@1.0.197
+ serde_derive@1.0.197
+ serde_json@1.0.115
+ simdutf8@0.1.4
+ smallvec@1.13.2
+ static_assertions@1.1.0
+ syn@2.0.59
+ target-lexicon@0.12.14
+ tiny-keccak@2.0.2
+ unicode-ident@1.0.12
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ zerocopy-derive@0.7.32
+ zerocopy@0.7.32
+"
+
+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 CC0-1.0 MIT Unicode-DFS-2016
+ || ( Apache-2.0 Boost-1.0 )
+"
+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
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -s
+}
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 71bd813e009f..e5c7b30e9f8b 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,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} )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="OpenStack Client Configuation Library"
HOMEPAGE="https://www.openstack.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
@@ -23,9 +23,10 @@ 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}]
+ >=dev-python/prometheus-client-0.4.2[${PYTHON_USEDEP}]
dev-python/python-glanceclient[${PYTHON_USEDEP}]
>=dev-python/oslo-config-6.1.0[${PYTHON_USEDEP}]
>=dev-python/oslotest-3.2.0[${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 7971a473b4ea..254e9b764c4e 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
@@ -4,18 +4,17 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+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"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-IUSE=""
RDEPEND="
>=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
@@ -23,7 +22,7 @@ RDEPEND="
BDEPEND="
${RDEPEND}
test? (
- >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.4.0[${PYTHON_USEDEP}]
>=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
>=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
>=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
diff --git a/dev-python/osc-lib/Manifest b/dev-python/osc-lib/Manifest
index 7778a42a2a74..9256761c213e 100644
--- a/dev-python/osc-lib/Manifest
+++ b/dev-python/osc-lib/Manifest
@@ -1 +1 @@
-DIST osc-lib-2.6.2.tar.gz 98556 BLAKE2B 69973ad3543ff16cea81d4dc3f749f147c62daa3d40d048acd3b39706a9a7d53f11de50c096511fc42d15db9d983e1085996fea5781fd5d17ac1f50d34de0a83 SHA512 5e310265dc0d77908bbe82a479ce55462d91393d09cf39732434fc52a4bcefab0a945aa5ceafe5a2c76a9214704f89509a667a85cf6f35210db8a48c35e2642d
+DIST osc-lib-3.0.1.tar.gz 99513 BLAKE2B 8ecf2b67d5214c2f47dec6e4f2f7bb90c95e19b4c9e81fe3d33716b424ffd2419bf400a6bc3842e1744ae484653d4fcefa10ab6af53a3aafbab1e3ac707bdf04 SHA512 7b846289dd02723360cfb93d7ee5f53f3188a57af5bf7103514d22d9b3b044654d7ef05ecdfff74eb3a354d3ce8c75941632dd42af060f55f17ab0cae7aedeb1
diff --git a/dev-python/osc-lib/osc-lib-2.6.2.ebuild b/dev-python/osc-lib/osc-lib-2.6.2.ebuild
deleted file mode 100644
index 0a80930b337c..000000000000
--- a/dev-python/osc-lib/osc-lib-2.6.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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/keystoneauth-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/oslo-concurrency/Manifest b/dev-python/oslo-concurrency/Manifest
index 575ebe93ec39..0f05f548d9c5 100644
--- a/dev-python/oslo-concurrency/Manifest
+++ b/dev-python/oslo-concurrency/Manifest
@@ -1 +1 @@
-DIST oslo.concurrency-5.0.1.tar.gz 59944 BLAKE2B 76962f187d58c514f7465a5cac2e695ee83ca020ae0f9d0d0d5a8e27cfcfb6d008f2df97f8b353ef2e7c57562b2cd169a4f6ccfb16bdaefcce1ace81445a64a7 SHA512 5987900e71020b2b8b77eac69c3541647c1600cb8a51f02d45938367e45ddce5e71b874a1eda79aadfec51d639fdb895f056964d0b4bd9bba597ae9423f35463
+DIST oslo.concurrency-6.0.0.tar.gz 60373 BLAKE2B 24002c424894826f86d9fa7601d107ab04159ace9388944b615d4c1e35f54d5d8438b1a5021a3c3b0ef755d9b92382b9804fe8f7a84075feb7d7d523a4d1cbe9 SHA512 6a706e0590f6e29ab560e4133ffdb8dbd6c2cb2dc7cd16acd803ca93800a38223f57eec8c79698c9fe5bf47b1cdcbb89e1a98d3ea36f03a9ccee9da9ab39a0d9
diff --git a/dev-python/oslo-concurrency/oslo-concurrency-5.0.1.ebuild b/dev-python/oslo-concurrency/oslo-concurrency-5.0.1.ebuild
deleted file mode 100644
index 2f2e4dfe1982..000000000000
--- a/dev-python/oslo-concurrency/oslo-concurrency-5.0.1.ebuild
+++ /dev/null
@@ -1,51 +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
-
-MY_P=${P/-/.}
-DESCRIPTION="Oslo Concurrency library"
-HOMEPAGE="
- https://opendev.org/openstack/oslo.concurrency/
- https://github.com/openstack/oslo.concurrency/
- https://pypi.org/project/oslo.concurrency/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-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..55eb491289a2
--- /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..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-config/Manifest b/dev-python/oslo-config/Manifest
index ec5e1eb4a08b..4bf4788b8cae 100644
--- a/dev-python/oslo-config/Manifest
+++ b/dev-python/oslo-config/Manifest
@@ -1,2 +1 @@
-DIST oslo.config-9.0.0.tar.gz 160832 BLAKE2B ea202f09505979850d415023953b2e7784c1f7aaeeb1a4b26fccb61de320a77dc232f30b546c031233793463b9b68751ced6bd7e0572c156a377ebcf68c48325 SHA512 7d07f3011c0fa7c839a12695199ae8181fbf40c309d6d8e7c6df910f4ad85ba16058f3bcd155bef9620e6f848e371b0d170ec1dde3f5317af522a6d979a7d7c6
-DIST oslo.config-9.1.0.tar.gz 161010 BLAKE2B 58edfd3218feb51b993eb6b23fa8ea6f0464d5210f35881c1c509c672cce961f62972634d4922aed7105163d4d0f90f6a34438009016d3e2bb43dfd8c4bdbf75 SHA512 768ee64c9bbfd8b23de7a3b15d46e5065356769f2dd4bc4871ad3cb8c56febced57515c89a8c530b6ba7ae347eff826b7c4f4c12aa80daf3325b0143dad1045a
+DIST oslo.config-9.4.0.tar.gz 161322 BLAKE2B 3edd3be09ebe777ebcb4cd79171bae764046f6ceb0f0c9ca8f88388f1a0bcd23d2bb4e4130ab81a7f3cf063ce0ee668ffbcd8c4bf9f633213e97dcd12e2575dd SHA512 d404876c34c82963af8b992091fd1186855b3ced9a6a574ca4fc152a5b50bfc1945aca04e163770d8bec948cb57904a83eae9e3d7c4c3b852c90987f73e66ba9
diff --git a/dev-python/oslo-config/oslo-config-9.0.0.ebuild b/dev-python/oslo-config/oslo-config-9.0.0.ebuild
deleted file mode 100644
index 69ad963e8f8b..000000000000
--- a/dev-python/oslo-config/oslo-config-9.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=( python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Oslo Configuration API"
-HOMEPAGE="
- https://opendev.org/openstack/oslo.config/
- https://github.com/openstack/oslo.config/
- https://pypi.org/project/oslo.config/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-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.1.0.ebuild b/dev-python/oslo-config/oslo-config-9.1.0.ebuild
deleted file mode 100644
index 64c1f4607138..000000000000
--- a/dev-python/oslo-config/oslo-config-9.1.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=( python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Oslo Configuration API"
-HOMEPAGE="
- https://opendev.org/openstack/oslo.config/
- https://github.com/openstack/oslo.config/
- https://pypi.org/project/oslo.config/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-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.4.0.ebuild b/dev-python/oslo-config/oslo-config-9.4.0.ebuild
new file mode 100644
index 000000000000..8a5bbb36170a
--- /dev/null
+++ b/dev-python/oslo-config/oslo-config-9.4.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..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-context/Manifest b/dev-python/oslo-context/Manifest
index c188051d4c65..fc7816b78973 100644
--- a/dev-python/oslo-context/Manifest
+++ b/dev-python/oslo-context/Manifest
@@ -1 +1 @@
-DIST oslo.context-5.0.0.tar.gz 33660 BLAKE2B 546191a1697fa833187890dfa50f6458b86c83f8d25382c55a3987cbad99e967b014275152fdfa5690b502f657c007734423af7544c8c9fbab4659ba29d5d3be SHA512 8a20e3bf94b018e2494712b7b72bc7d976af16db771338f76ef27a1d7b63cef77e5f5ae01fa6c42c3e2522a74b5f1c6dbd19a358bd74da4a3ef4398e3598b6b0
+DIST oslo.context-5.5.0.tar.gz 34832 BLAKE2B 5131efed421d925ae311a31dba9b39cb881195493524e1ca9562aaef4b7bd81700cc23f004c04797dea59d136d274aca71e0d0a9377e133edfe0f51f0fca2341 SHA512 89b6aff1f0b01b64e3c7aa4e03e3a633a4b722514ac23d9b261449fd0cf0950077d801bbeae8c8542634c7336577dfbcad81bec8fad5e00a8c34d3a32412cb8c
diff --git a/dev-python/oslo-context/oslo-context-5.0.0.ebuild b/dev-python/oslo-context/oslo-context-5.0.0.ebuild
deleted file mode 100644
index 751d7dc090ed..000000000000
--- a/dev-python/oslo-context/oslo-context-5.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_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-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/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-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..e0b85a6c9c79
--- /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..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-i18n/Manifest b/dev-python/oslo-i18n/Manifest
index 247e153e48a3..2d67e2ff6f68 100644
--- a/dev-python/oslo-i18n/Manifest
+++ b/dev-python/oslo-i18n/Manifest
@@ -1 +1 @@
-DIST oslo.i18n-5.1.0.tar.gz 47423 BLAKE2B 621ec835fc975978fe3da392edda66471cd85fcfbe5af8c7a1704d7422d8f52f3b61c97ac8cfbd2aca94f65c8428cc5f97b095bc116ece605a4dc325a4a0171e SHA512 b2243f22de3ef3e33609c5aff573c4448a42c74d75022e023bea97c5338608e3fcd9da92aa2d262051e6b2ccbd5a88cfb2c91da79b7e3f81420dc24117da9b1d
+DIST oslo.i18n-6.3.0.tar.gz 48207 BLAKE2B 20a882516dd45da8dda34127ba422a619decd982f01adeee5909b8646d49c8609ecb6adad4fc48ab32e820c4dcf4a42d4baf7e776983daf4586ae944b738bb6e SHA512 483ff39425b3fc5c6c54a3502a78a53406ccb3cdb7aff0836b9c2a49b8146fd931e2b4f3133d708d33d16bd99155f8cbcf8505491d74de5016da5e647a069a15
diff --git a/dev-python/oslo-i18n/files/oslo-i18n-5.1.0-fix-py3.11.patch b/dev-python/oslo-i18n/files/oslo-i18n-5.1.0-fix-py3.11.patch
deleted file mode 100644
index d684cf2ed294..000000000000
--- a/dev-python/oslo-i18n/files/oslo-i18n-5.1.0-fix-py3.11.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-On python 3.11, we have some more warnings (deprecation warnings),
-so the count is >=1
-
---- a/oslo_i18n/tests/test_message.py
-+++ b/oslo_i18n/tests/test_message.py
-@@ -386,7 +386,7 @@ class MessageTestCase(test_base.BaseTestCase):
-
- self.assertEqual(default_translation, msg.translation('es'))
-
-- self.assertEqual(1, len(w))
-+ self.assertLessEqual(1, len(w))
- # Note(gibi): in python 3.4 str.__repr__ does not put the unicode
- # marker 'u' in front of the string representations so the test
- # removes that to have the same result in python 2.7 and 3.4
-@@ -394,7 +394,7 @@ class MessageTestCase(test_base.BaseTestCase):
- "translated message A message in Spanish: %s %s "
- "(Original: 'A message: %s'): "
- "not enough arguments for format string",
-- str(w[0].message).replace("u'", "'"))
-+ str(w[-1].message).replace("u'", "'"))
-
- mock_log.debug.assert_called_with(('Failed to insert replacement '
- 'values into translated message '
diff --git a/dev-python/oslo-i18n/oslo-i18n-5.1.0-r1.ebuild b/dev-python/oslo-i18n/oslo-i18n-5.1.0-r1.ebuild
deleted file mode 100644
index af940e767e5e..000000000000
--- a/dev-python/oslo-i18n/oslo-i18n-5.1.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-MY_PN=${PN/-/.}
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Oslo i18n library"
-HOMEPAGE="
- https://opendev.org/openstack/oslo.i18n/
- https://github.com/openstack/oslo.i18n/
- https://pypi.org/project/oslo.i18n/
-"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-PATCHES=(
- "${FILESDIR}/${PN}-5.1.0-fix-py3.11.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..2dc5bb3ea861
--- /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..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"
+
+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 107bb5bc3bc6..d45d2d59912c 100644
--- a/dev-python/oslo-log/Manifest
+++ b/dev-python/oslo-log/Manifest
@@ -1 +1,2 @@
-DIST oslo.log-5.0.2.tar.gz 96529 BLAKE2B c53de6c2b6576f4f1e1c0de8ed10639962b12a1fd0c1d40fa4c6d1c05a7d2c2cd0c3d3144336ab5984a7e5a91894d5556e20972f07abd5b66a961be63c6262f0 SHA512 1726b736f2c6797dfb65085f07768756a42397a41f7f42505e86df4c0247a3b5d1992dcf42ebd8898f9013cd9d0ecc96747eb0523911474d89f37ee94ffb7272
+DIST oslo.log-5.5.0.tar.gz 96856 BLAKE2B d5ce4c61f440738b2aa36a37f2543b7dc98a472ef3f990c4140dadedffd68a090040bdd4e566fb9d49bb092287d984a9539aa1453217d37eb9335f180b11b243 SHA512 ae7743eaade66cdf9e464360d6a7f643a4bf769b2562057a9c5941b5257abe16e7028409768925af7154075441686a5d3ca5bc8dfa5fa361e08508188291383f
+DIST oslo.log-5.5.1.tar.gz 96952 BLAKE2B e36734c6b31f3773955085098898172b6936d9ed6dd7635a2ae026b615d36ee4da0cf8921aacc8b2cc16e0818b003b31718e95d0d539b266bc013df034c8a376 SHA512 c32cd84922b8a8976f6c79f97ccb8bba4dc68be17933ee4f35ca3abc923f807e8b3ae003ae83528d322642884dd16a9d788b57d478f4a0efcde12551b7b166cf
diff --git a/dev-python/oslo-log/oslo-log-5.0.2.ebuild b/dev-python/oslo-log/oslo-log-5.0.2.ebuild
deleted file mode 100644
index d0041308d78c..000000000000
--- a/dev-python/oslo-log/oslo-log-5.0.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/o/oslo.log/oslo.log-${PV}.tar.gz"
-S="${WORKDIR}/oslo.log-${PV}"
-
-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 unittest
-distutils_enable_sphinx doc/source \
- dev-python/openstackdocstheme \
- dev-python/oslo-config
-
-src_prepare() {
- distutils-r1_src_prepare
- # this is used only for eventlet, and eventlet is masked for removal
- rm oslo_log/tests/unit/test_pipe_mutex.py || die
-}
-
-python_test() {
- eunittest -b
-}
diff --git a/dev-python/oslo-log/oslo-log-5.5.0.ebuild b/dev-python/oslo-log/oslo-log-5.5.0.ebuild
new file mode 100644
index 000000000000..e63de4665b79
--- /dev/null
+++ b/dev-python/oslo-log/oslo-log-5.5.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=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-5.5.1.ebuild b/dev-python/oslo-log/oslo-log-5.5.1.ebuild
new file mode 100644
index 000000000000..7c7528ab7cd8
--- /dev/null
+++ b/dev-python/oslo-log/oslo-log-5.5.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_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-7.1.0-r1[${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-serialization/Manifest b/dev-python/oslo-serialization/Manifest
index 327a3cf39668..4488597d2813 100644
--- a/dev-python/oslo-serialization/Manifest
+++ b/dev-python/oslo-serialization/Manifest
@@ -1 +1 @@
-DIST oslo.serialization-5.0.0.tar.gz 34194 BLAKE2B abaddf813ae35bd4434c96432590ca50cabeb6d31f03a2c48eb30aba9350b74d326deb463c56e38650a1df53646043a4ee28dcba09718725f7737cd96bf0e6e1 SHA512 0e2cf4efbf9803912fa5114c76da8645db0e946d6a8c4ae2c5e2ba4f5922d956e36e25f89f0dc1d384dedefca38e6c3b0e64df7098e49d1a9d8b5f8296dacc59
+DIST oslo.serialization-5.4.0.tar.gz 35070 BLAKE2B 2a6af45234083f57d964f18d36eb00b59ce6f32927fd93696bbfaa705b574a8c335db9583b2d6fb72d8b6712b1b5e6b30c943a4130b5ff3fc5766c3fce09e4a5 SHA512 00c9dae7cf254fe0fba49b25bb2d150902bd3a0a88cff922853358374bc855e8b79bef111065aaf62966c98a97605d0a0f18b5d007f36a943d9bdeb8ca69783b
diff --git a/dev-python/oslo-serialization/metadata.xml b/dev-python/oslo-serialization/metadata.xml
index a212b4b53970..0b68f7c355ab 100644
--- a/dev-python/oslo-serialization/metadata.xml
+++ b/dev-python/oslo-serialization/metadata.xml
@@ -15,6 +15,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">openstack/oslo.serialization</remote-id>
<remote-id type="pypi">oslo.serialization</remote-id>
<remote-id type="launchpad">oslo</remote-id>
</upstream>
diff --git a/dev-python/oslo-serialization/oslo-serialization-5.0.0.ebuild b/dev-python/oslo-serialization/oslo-serialization-5.0.0.ebuild
deleted file mode 100644
index b9a01084170b..000000000000
--- a/dev-python/oslo-serialization/oslo-serialization-5.0.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_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Oslo Serialization library"
-HOMEPAGE="
- https://opendev.org/openstack/oslo.serialization/
- https://github.com/openstack/oslo.serialization/
- https://pypi.org/project/oslo.serialization/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN/-/.}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-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}]
-"
-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..19ada5c2ddc6
--- /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..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/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 a83943f11f47..e368b7f84e25 100644
--- a/dev-python/oslo-utils/Manifest
+++ b/dev-python/oslo-utils/Manifest
@@ -1 +1 @@
-DIST oslo.utils-6.1.0.tar.gz 102843 BLAKE2B 8bf3889bcf82fd12589c58b2020164f1183fa9ed19491a05d252a6157841651259e3b2f412affb5d53eff4bf7f21e34a4666fdb91106652a937c79b5fd9c1c14 SHA512 ae86fe4dfe2db25c682ee533a16830fc3e03eb408ae4acd832b6aded9d7d93fd91927444f054b594b4834e338c8f13c48d0c9796b224923adc1d0df7f6cfb84a
+DIST oslo.utils-7.1.0.tar.gz 104775 BLAKE2B 6bdd137fd5ede65ea49faa872b8d93cec20ccc3b9564548384441e8e1b14526750a6d8e0263103a926bb52425c171a6e0d9dbcb0d373d1a9c8904774d03393b0 SHA512 7bd6e7e6cf097b239216d58ce8f9028eb0b2994115be15ac78d9b1bae4efb6f774fa72da4944ac79e9155d21a8e6dea3ac13b5445c8dd0f3452a6dd8143aabc4
diff --git a/dev-python/oslo-utils/oslo-utils-6.1.0.ebuild b/dev-python/oslo-utils/oslo-utils-6.1.0.ebuild
deleted file mode 100644
index 03d7e7beb37d..000000000000
--- a/dev-python/oslo-utils/oslo-utils-6.1.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_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Oslo Utility library"
-HOMEPAGE="https://launchpad.net/oslo"
-SRC_URI="mirror://pypi/${PN::1}/${PN/-/.}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-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[${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.1.0-r1.ebuild b/dev-python/oslo-utils/oslo-utils-7.1.0-r1.ebuild
new file mode 100644
index 000000000000..60d0877fcfcc
--- /dev/null
+++ b/dev-python/oslo-utils/oslo-utils-7.1.0-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
+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/netaddr-1[${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
+
+src_prepare() {
+ # require eventlet
+ rm oslo_utils/tests/test_eventletutils.py || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/oslo-utils/oslo-utils-7.1.0.ebuild b/dev-python/oslo-utils/oslo-utils-7.1.0.ebuild
new file mode 100644
index 000000000000..f9e606e99301
--- /dev/null
+++ b/dev-python/oslo-utils/oslo-utils-7.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..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/netaddr-1[${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/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/oslotest-4.5.0-r2.ebuild b/dev-python/oslotest/oslotest-4.5.0-r2.ebuild
deleted file mode 100644
index 394df304ac8f..000000000000
--- a/dev-python/oslotest/oslotest-4.5.0-r2.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="Oslo test framework"
-HOMEPAGE="
- https://opendev.org/openstack/oslotest/
- https://github.com/openstack/oslotest/
- https://pypi.org/project/oslotest/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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}]
-"
-
-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..2dd686b0ef81
--- /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..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"
+
+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/Manifest b/dev-python/outcome/Manifest
index acad68acc6d0..d2e305a71aee 100644
--- a/dev-python/outcome/Manifest
+++ b/dev-python/outcome/Manifest
@@ -1 +1 @@
-DIST outcome-1.2.0.gh.tar.gz 18147 BLAKE2B 19e99c8beb1c537a15040211e2fb2f30e425dbb6c81225f2b44720d52e26d8065f434949cd22f97d3a44b64d404077118842a7c85d38f1b7b01ec60d26ddaa39 SHA512 ac8f8738b000e50ace5fbf2c373c9d28f05e88fe40a11602dbb08c48d369f28651ca6c1269ce9ba4ebf1aa9701525e966c061f75313d8650e739934e3ad15003
+DIST outcome-1.3.0.post0.gh.tar.gz 20749 BLAKE2B d094f1c7c67b890fff20b81ee77d9b06616e0e3e89ce62b3936b6d2a6964cc95355f81feb82acf8d9a3f63c6af4b219bc4abafe1c329d2a5963936a9d3a7a827 SHA512 d01f6d74e883b112cd589f9e8ed05770db9b1f9ae48e84e2cbb1138c33c1496d3bae559e2627a4fe736496740866c1a9589cfc611d1c8218add1ad27f8f033ed
diff --git a/dev-python/outcome/outcome-1.2.0.ebuild b/dev-python/outcome/outcome-1.2.0.ebuild
deleted file mode 100644
index 90854ff011c3..000000000000
--- a/dev-python/outcome/outcome-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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Capture the outcome of Python function calls"
-HOMEPAGE="
- https://github.com/python-trio/outcome/
- https://pypi.org/project/outcome/
-"
-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="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/attrs[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/async_generator[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs/source dev-python/sphinxcontrib-trio dev-python/sphinx_rtd_theme
diff --git a/dev-python/outcome/outcome-1.3.0_p0.ebuild b/dev-python/outcome/outcome-1.3.0_p0.ebuild
new file mode 100644
index 000000000000..49f02152543c
--- /dev/null
+++ b/dev-python/outcome/outcome-1.3.0_p0.ebuild
@@ -0,0 +1,39 @@
+# 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/_p/.post}
+DESCRIPTION="Capture the outcome of Python function calls"
+HOMEPAGE="
+ https://github.com/python-trio/outcome/
+ https://pypi.org/project/outcome/
+"
+SRC_URI="
+ https://github.com/python-trio/outcome/archive/v${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/attrs[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs/source \
+ dev-python/sphinxcontrib-trio \
+ dev-python/sphinx-rtd-theme
diff --git a/dev-python/overrides/Manifest b/dev-python/overrides/Manifest
new file mode 100644
index 000000000000..4cbd129a96ee
--- /dev/null
+++ b/dev-python/overrides/Manifest
@@ -0,0 +1 @@
+DIST overrides-7.7.0.tar.gz 22812 BLAKE2B e51af6806e741f18fbfda57824e8f0db9f77686719b287c2b8abb8a33925c2ded8ac3fd40cb097cfcad60e06dcf5ced291e278b03a28afe15a6a6312306d200b SHA512 b2ad06da01e657839c5cbd62c49aa1022c4302fad44fd6b1a57e623e27d1c9d8cabdd9bf9c9a02c87a3b3618a662b922533cf407d17efa43769b0fc6360b5073
diff --git a/dev-python/overrides/metadata.xml b/dev-python/overrides/metadata.xml
new file mode 100644
index 000000000000..5f4962551bfb
--- /dev/null
+++ b/dev-python/overrides/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">overrides</remote-id>
+ <remote-id type="github">mkorpela/overrides</remote-id>
+ </upstream>
+</pkgmetadata>
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..d302e16ac49e
--- /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..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
diff --git a/dev-python/ovs/Manifest b/dev-python/ovs/Manifest
index c90aa259ddd3..4eb688975582 100644
--- a/dev-python/ovs/Manifest
+++ b/dev-python/ovs/Manifest
@@ -1,2 +1 @@
-DIST ovs-2.13.3.tar.gz 102736 BLAKE2B ee6f10a41bf46534d3963360a63a0a39a7ffbed6de468894c566c7dd2ee0c645cf6f8f211bfbcda70f03b4204e396fc0b081f457df9d27f93fc40d158bb641b8 SHA512 9f73dc383f7b717000d6d1f8f2f9114ee2be2457c9b352de68c01c1f9075c39ab4a9ef14fe67083bf1da1872240204eb2642fbf7b5a871a5ad044191e0774d88
DIST ovs-2.17.1.post1.tar.gz 104766 BLAKE2B e1cb471f7f3f3b8461292c79ee5318a36d70c2ee55947bfa0274277e36514d20ad9293cb8c602e0b2c82a590397869fe51f52ee2579255bb8163014d58dccaf7 SHA512 772e7b4768f1e7fe1f2be700a0eb6bc539459e4c70432c45e7f7877b060f4c845eaa5a974f2b2264af621f5f43b97da30a9fe344a53904ec0008393689e6b895
diff --git a/dev-python/ovs/ovs-2.13.3.ebuild b/dev-python/ovs/ovs-2.13.3.ebuild
deleted file mode 100644
index ed7b35f3de4b..000000000000
--- a/dev-python/ovs/ovs-2.13.3.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_9 )
-
-inherit distutils-r1
-
-DESCRIPTION="OVS bindings for python"
-HOMEPAGE="https://github.com/openvswitch/ovs/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-RDEPEND="dev-python/sortedcontainers[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/ovs/ovs-2.17.1_p1.ebuild b/dev-python/ovs/ovs-2.17.1_p1.ebuild
index 90b68539c543..dca3986a48c7 100644
--- a/dev-python/ovs/ovs-2.17.1_p1.ebuild
+++ b/dev-python/ovs/ovs-2.17.1_p1.ebuild
@@ -1,21 +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_{9..11} )
-inherit distutils-r1
-
-MY_P=${P/_p/.post}
+PYTHON_COMPAT=( python3_{9..12} )
+inherit distutils-r1 pypi
DESCRIPTION="OVS bindings for python"
HOMEPAGE="https://github.com/openvswitch/ovs/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86"
RDEPEND="dev-python/sortedcontainers[${PYTHON_USEDEP}]"
diff --git a/dev-python/owslib/Manifest b/dev-python/owslib/Manifest
index ecaeb3f7dd0c..0d51b16988ee 100644
--- a/dev-python/owslib/Manifest
+++ b/dev-python/owslib/Manifest
@@ -1 +1 @@
-DIST owslib-0.27.2.gh.tar.gz 949148 BLAKE2B 2e12b43de3c3c362b03af15c93fe268e9ad8dd8647a18a8ef978203db896db65dd26cd20d6d58214880248593589604f764887b50c9eb8695d8e51accef3dfe8 SHA512 02c70731ef92783d53b8f0dff2cec7d28d14ac08b0a4b5090183f9eacf156d539c823fcd2ae480c07447e901697de498cdf2aaf27c8b6d46fa4cf8eb3679ceee
+DIST OWSLib-0.30.0.gh.tar.gz 995826 BLAKE2B 58066b461794d424e646cd148f1c0379c22c17bee144611e4bda71c8410f2d4dbd172e5cad14ff1e33fc3e2a7293985c943eace6284d1830a2533abbe95ecf27 SHA512 2fdad8ac282d78181e2b7953f22db063f760c2f61682967c7d99ac8e12d62345168db978d9599a4093005f520968d4e97fc588f9a9b7d81a87894b08028d42d8
diff --git a/dev-python/owslib/owslib-0.27.2.ebuild b/dev-python/owslib/owslib-0.27.2.ebuild
deleted file mode 100644
index 43d016b02f09..000000000000
--- a/dev-python/owslib/owslib-0.27.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Library for client programming with Open Geospatial Consortium web service"
-HOMEPAGE="https://geopython.github.io/OWSLib/"
-SRC_URI="
- https://github.com/geopython/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/OWSLib-${PV}"
-
-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_DESELECT=(
- tests/test_ogcapi_features_pygeoapi.py::test_ogcapi_features_pygeoapi
-)
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e '/addopts/d' -i tox.ini || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/owslib/owslib-0.30.0.ebuild b/dev-python/owslib/owslib-0.30.0.ebuild
new file mode 100644
index 000000000000..9d1c70f0ceb7
--- /dev/null
+++ b/dev-python/owslib/owslib-0.30.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed 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/packaging/Manifest b/dev-python/packaging/Manifest
index 0f7ae56efab7..41a6b61b6345 100644
--- a/dev-python/packaging/Manifest
+++ b/dev-python/packaging/Manifest
@@ -1,3 +1,2 @@
-DIST packaging-21.3.gh.tar.gz 80471 BLAKE2B a16ba1e74f0c868816131a7cb07b7aa0c14760cf3ad4c3d6737ac30ef99276c33b1f018d29e710f28e8d0cfb0e3e6b91e375d1d17e2b7ec6302164377cd503d0 SHA512 8960deacda26877b73d98a3b632e760e902a16ec7a04707f84044980e4d4fb33e4f584db115c9008066aa876079f28633bafe37fbd5ce9a23830b6b89eb4ae7a
-DIST packaging-22.0.gh.tar.gz 83340 BLAKE2B 6f8e36c1bed71d4d5902fb833a7c011f3eac5e5e00f9e73a7258bbb6c79cfd30c6c175ad5778c5a5dd88bc275a66f69448ec59937159553d229f93510e189d41 SHA512 2189dec11dd9fd78a6d816bda08f881e5aa54fde09d51450ceb460a37ba87231fcfdb5ad4f58d262face44dfb0f1c4b420f759491008f8c26cef7e8317c414a8
-DIST packaging-23.0.gh.tar.gz 84318 BLAKE2B b600fc124e368ce583e16c3f4ee478e5774a830818884ff29c797410675c206b37e3cbac8e9ddd724b40ce53c00b1f0b6a58a9dacc1988e3bf59165b656b134b SHA512 5dd2f4a596e5a1ed01b461a37e063573f5ae08e181df40377a167fe2483205b3d965e10dc403cd173d0f87e0bdcae3cde05bd39024783fbe44541d0f777d94de
+DIST packaging-23.2.tar.gz 146714 BLAKE2B cf7986a07312fd82a2a0ee738088993b9570d95cd0b573afa7a1f911bf335de7084e3d40d961adea7f5a8369738688f9d0a4265ef26a393f2d30769bc13f752a SHA512 8ab5e9bc4feef2fac1c9044dc8a6f2d41aaf9fe2dae671de8b98c0b1a19dca2169588b87d85a8c990d808b1e76faee65984ce970eaa3282b75e107ca82cc2863
+DIST packaging-24.0.tar.gz 147882 BLAKE2B 32c5f30623d39890376e9f5bb3d80ef4a5bd2291ae906883d28236c0d095628eb5d379e5bfb503d6d06fcea0aefc0b2beb1a7968d3ec8c543c48572b432438f3 SHA512 b6af704f93bcb7611a06eb2bfa94d8dc4bb1e5e9898af7c0eb85e67cf1ebdb858e272ca18019be4daaa43ac3f73b1cb2e690d8b50a4252380a2dc9f2d0e03a58
diff --git a/dev-python/packaging/packaging-21.3-r2.ebuild b/dev-python/packaging/packaging-21.3-r2.ebuild
deleted file mode 100644
index 9640e2da1ed1..000000000000
--- a/dev-python/packaging/packaging-21.3-r2.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 7 -- sys-apps/portage dep
-EAPI=7
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Core utilities for Python packages"
-HOMEPAGE="
- https://github.com/pypa/packaging/
- https://pypi.org/project/packaging/"
-SRC_URI="
- https://github.com/pypa/packaging/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-SLOT="0"
-LICENSE="|| ( Apache-2.0 BSD-2 )"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- >=dev-python/pyparsing-3.0.7-r1[${PYTHON_USEDEP}]
-"
-DEPEND="
- test? (
- dev-python/pretend[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_configure() {
- # 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 = "packaging"
- dynamic = ["version"]
- description = "More routines for operating on iterables, beyond itertools"
- EOF
-}
-
-python_test() {
- epytest --capture=no
-}
diff --git a/dev-python/packaging/packaging-22.0.ebuild b/dev-python/packaging/packaging-22.0.ebuild
deleted file mode 100644
index e572f1e8533b..000000000000
--- a/dev-python/packaging/packaging-22.0.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 7 -- sys-apps/portage dep
-EAPI=7
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Core utilities for Python packages"
-HOMEPAGE="
- https://github.com/pypa/packaging/
- https://pypi.org/project/packaging/"
-SRC_URI="
- https://github.com/pypa/packaging/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-SLOT="0"
-LICENSE="|| ( Apache-2.0 BSD-2 )"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- >=dev-python/pyparsing-3.0.7-r1[${PYTHON_USEDEP}]
-"
-DEPEND="
- test? (
- dev-python/pretend[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest --capture=no
-}
diff --git a/dev-python/packaging/packaging-23.0.ebuild b/dev-python/packaging/packaging-23.0.ebuild
deleted file mode 100644
index e572f1e8533b..000000000000
--- a/dev-python/packaging/packaging-23.0.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 7 -- sys-apps/portage dep
-EAPI=7
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Core utilities for Python packages"
-HOMEPAGE="
- https://github.com/pypa/packaging/
- https://pypi.org/project/packaging/"
-SRC_URI="
- https://github.com/pypa/packaging/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-SLOT="0"
-LICENSE="|| ( Apache-2.0 BSD-2 )"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- >=dev-python/pyparsing-3.0.7-r1[${PYTHON_USEDEP}]
-"
-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-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-24.0.ebuild b/dev-python/packaging/packaging-24.0.ebuild
new file mode 100644
index 000000000000..9b8b880fe358
--- /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..12} 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/pafy/Manifest b/dev-python/pafy/Manifest
deleted file mode 100644
index 393f707e256c..000000000000
--- a/dev-python/pafy/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pafy-0.5.5.tar.gz 29769 BLAKE2B 84c9bfac18fb668327103341cc01229c7c77fda5b5edaecdb662b891fcf4390c578466364b81d4bcdb1abdbe0cb32641ec6320fbbca8779621fafc011cbde20d SHA512 3b7e02bc9cc541bd66718469c7a743be5da3b0822d7cc63ec82f49c2721fe6b3bdbb87cdd9dd26b0bf05fa8bb9566ff6cc59b37baa17ccb7aae12c881faa884c
diff --git a/dev-python/pafy/metadata.xml b/dev-python/pafy/metadata.xml
deleted file mode 100644
index 943eda474e17..000000000000
--- a/dev-python/pafy/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">pafy</remote-id>
- <remote-id type="github">mps-youtube/pafy</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pafy/pafy-0.5.5.ebuild b/dev-python/pafy/pafy-0.5.5.ebuild
deleted file mode 100644
index d3b4304947bc..000000000000
--- a/dev-python/pafy/pafy-0.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://github.com/mps-youtube/pafy.git"
- inherit git-r3
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="amd64 ~x86"
-fi
-
-DESCRIPTION="Python library to retrieve YouTube content and metadata"
-HOMEPAGE="https://pythonhosted.org/pafy/ https://pypi.org/project/pafy/"
-
-LICENSE="LGPL-3"
-SLOT="0"
-
-RDEPEND="net-misc/youtube-dl[${PYTHON_USEDEP}]"
diff --git a/dev-python/pafy/pafy-9999.ebuild b/dev-python/pafy/pafy-9999.ebuild
deleted file mode 100644
index 890930a4f9ad..000000000000
--- a/dev-python/pafy/pafy-9999.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://github.com/mps-youtube/pafy.git"
- inherit git-r3
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-DESCRIPTION="Python library to retrieve YouTube content and metadata"
-HOMEPAGE="https://pythonhosted.org/pafy/ https://pypi.org/project/pafy/"
-
-LICENSE="LGPL-3"
-SLOT="0"
-
-RDEPEND="net-misc/youtube-dl[${PYTHON_USEDEP}]"
diff --git a/dev-python/paginate/Manifest b/dev-python/paginate/Manifest
new file mode 100644
index 000000000000..2289fdca573a
--- /dev/null
+++ b/dev-python/paginate/Manifest
@@ -0,0 +1 @@
+DIST paginate-0.5.6.gh.tar.gz 15567 BLAKE2B c5b60ad43c61a918c618668b345cae82e5e61516aa73130339830db8b8d1d49d271ed24bf9379c570ef8ae9de0844ff8e088820c7e128e1e6e77a03427c06596 SHA512 64d7d1a9952dc8ae5894113c381a9cdca5395477091d794774ed770f1e1dfb6a5d88a7bd07cc4fca0c0c8f708656261f3160b315af6f86ecc5b7f46e1d639150
diff --git a/dev-python/paginate/metadata.xml b/dev-python/paginate/metadata.xml
new file mode 100644
index 000000000000..878328a3af8a
--- /dev/null
+++ b/dev-python/paginate/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">Pylons/paginate</remote-id>
+ <remote-id type="pypi">paginate</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/paginate/paginate-0.5.6.ebuild b/dev-python/paginate/paginate-0.5.6.ebuild
new file mode 100644
index 000000000000..65692bbfe32b
--- /dev/null
+++ b/dev-python/paginate/paginate-0.5.6.ebuild
@@ -0,0 +1,42 @@
+# 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="Divides large result sets into pages for easier browsing"
+HOMEPAGE="
+ https://github.com/Pylons/paginate/
+ https://pypi.org/project/paginate/
+"
+SRC_URI="
+ https://github.com/Pylons/paginate/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ python3.12)
+ EPYTEST_DESELECT+=(
+ # these tests assume that dict is not sliceable
+ # https://github.com/Pylons/paginate/issues/19
+ tests/test_paginate.py::test_wrong_collection
+ tests/test_paginate.py::TestCollectionTypes::test_unsliceable_sequence3
+ )
+ ;;
+ esac
+
+ epytest
+}
diff --git a/dev-python/paho-mqtt/Manifest b/dev-python/paho-mqtt/Manifest
index dab90f78ae37..a489180c42c3 100644
--- a/dev-python/paho-mqtt/Manifest
+++ b/dev-python/paho-mqtt/Manifest
@@ -1 +1,2 @@
-DIST paho-mqtt-1.6.1.tar.gz 145673 BLAKE2B fb583a2505892370737edfc9ad06b195c0feda4fd87794f3aa40fb30679b5710e04483e610a6be9c0e0978084f3ca96c0d285cf8cacb2bf67aca605f1d53ed7c SHA512 8a13c1f6f97138728d5cab6f7bcd6474942fdf9dfc18d1fad723d50de81f4e062953b5bef2ebbde27b08e480eed305ecbfeae467d70eb10f07ec0adca11750ec
+DIST paho-mqtt-1.6.1.gh.tar.gz 145673 BLAKE2B fb583a2505892370737edfc9ad06b195c0feda4fd87794f3aa40fb30679b5710e04483e610a6be9c0e0978084f3ca96c0d285cf8cacb2bf67aca605f1d53ed7c SHA512 8a13c1f6f97138728d5cab6f7bcd6474942fdf9dfc18d1fad723d50de81f4e062953b5bef2ebbde27b08e480eed305ecbfeae467d70eb10f07ec0adca11750ec
+DIST paho.mqtt.python-2.0.0.gh.tar.gz 166275 BLAKE2B bb4fe07f86f18313417745b9e5d7123481e4d325a66378e01b5106a9af4bb09ec925bdf0e8c860735465dffecc58d9428a7e1acbbfd0b82402947a4b32264060 SHA512 1a0e1cf9ac4f4088c6c41c140b7cbf91ae9c6b73bc47253df26a37796a65c3e27ada2ad202c19b09e76ba4cbfbf2b44ac41ffe0d8429a8a53529dab043f2a2c8
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
new file mode 100644
index 000000000000..9d30e2e3f2fb
--- /dev/null
+++ b/dev-python/paho-mqtt/paho-mqtt-1.6.1-r1.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..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="A client class with support for MQTT v5.0, v3.1.1, and v3.1"
+HOMEPAGE="https://www.eclipse.org/paho/index.php?page=clients/python https://github.com/eclipse/paho.mqtt.python"
+SRC_URI="
+ https://github.com/eclipse/paho.mqtt.python/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/paho.mqtt.python-${PV}"
+
+LICENSE="EPL-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+BDEPEND="
+ test? (
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/paho-mqtt/paho-mqtt-1.6.1.ebuild b/dev-python/paho-mqtt/paho-mqtt-1.6.1.ebuild
deleted file mode 100644
index 8585b378d792..000000000000
--- a/dev-python/paho-mqtt/paho-mqtt-1.6.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} )
-
-inherit distutils-r1
-
-DESCRIPTION="A client class with support for MQTT v5.0, v3.1.1, and v3.1"
-HOMEPAGE="https://www.eclipse.org/paho/index.php?page=clients/python https://github.com/eclipse/paho.mqtt.python"
-SRC_URI="https://github.com/eclipse/paho.mqtt.python/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/paho.mqtt.python-${PV}"
-
-LICENSE="EPL-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-BDEPEND="
- test? (
- dev-python/six[${PYTHON_USEDEP}]
- ) "
-
-distutils_enable_tests pytest
diff --git a/dev-python/paho-mqtt/paho-mqtt-2.0.0.ebuild b/dev-python/paho-mqtt/paho-mqtt-2.0.0.ebuild
new file mode 100644
index 000000000000..de07f8232db2
--- /dev/null
+++ b/dev-python/paho-mqtt/paho-mqtt-2.0.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..12} )
+
+inherit distutils-r1
+
+MY_P="paho.mqtt.python-${PV}"
+DESCRIPTION="MQTT version 5.0/3.1.1 client class"
+HOMEPAGE="
+ https://www.eclipse.org/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 b79658803548..4fa85d2c6764 100644
--- a/dev-python/pallets-sphinx-themes/Manifest
+++ b/dev-python/pallets-sphinx-themes/Manifest
@@ -1,2 +1 @@
-DIST pallets-sphinx-themes-2.0.2.tar.gz 20655 BLAKE2B a5e2d3a02a5996df6e648b8cf9943260d6e0e475108921493300c7d9437837cc66e83b489ad335596c39eac29f3a6e23b7b4abc3cf1fe3bbb018fd874b44aefd SHA512 a37b0f4fe38c098c0508988faa54ed8b2e1ad9ba41f95f862734cf38fd093e2b7c42d408fc10e529aca810f4cc37d16e6d707ed9affa433adfcb481006cd4577
-DIST pallets-sphinx-themes-2.0.3.gh.tar.gz 20835 BLAKE2B 72cea4f0dd6e6b6e862f187c492b892a6646f4db4b57031ae9c3dbac0aca7fe14df0637d6aa41a6e26bfe493839cd20064f2310c628823a70940e4a57e49ffd2 SHA512 a7c84effe85eb56001dab8b326d0160442aa63397d9ae2d0dff9ec85352ee3896a0cd1423b09b99d764290602ec67e0dc3f4b4aaad186a274d5cd74827c525ce
+DIST Pallets-Sphinx-Themes-2.1.1.tar.gz 21776 BLAKE2B e43137bc6e545f0fc4977a4c724f739fdcfc234f0100b31f27c00f6abbc8cc7f7cc93b8beb9df0e576e6f4a65f52494685ecebf2db5362dc6ad7c9ad23552e11 SHA512 959e63970a3787ae58dc8418813ae490f3979cad4945d897594bcdca3bf15abde6d17364916a3a4d7f9803720d2b5dfee5adaad1d918f520b9954ccc5da136ec
diff --git a/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.0.2.ebuild b/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.0.2.ebuild
deleted file mode 100644
index bc4bd16b0cbe..000000000000
--- a/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.0.2.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_{9..10} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="Sphinx themes for Pallets and related projects"
-HOMEPAGE="https://github.com/pallets/pallets-sphinx-themes"
-SRC_URI="https://github.com/pallets/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-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[${PYTHON_USEDEP}]"
diff --git a/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.0.3.ebuild b/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.0.3.ebuild
deleted file mode 100644
index 520cda0a2bff..000000000000
--- a/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.0.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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Sphinx themes for Pallets and related projects"
-HOMEPAGE="
- https://github.com/pallets/pallets-sphinx-themes/
- https://pypi.org/project/Pallets-Sphinx-Themes/
-"
-SRC_URI="
- https://github.com/pallets/pallets-sphinx-themes/archive/${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"
-
-RDEPEND="
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
-"
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
new file mode 100644
index 000000000000..9e9cac8fde83
--- /dev/null
+++ b/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.1.1.ebuild
@@ -0,0 +1,27 @@
+# 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/pandas-datareader/Manifest b/dev-python/pandas-datareader/Manifest
deleted file mode 100644
index 0b71a54a2998..000000000000
--- a/dev-python/pandas-datareader/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pandas-datareader-0.10.0.tar.gz 259641 BLAKE2B b8a5c7aaa76b30abd9297c820638731fc5d81b5ee2cd1a016c1d8d10dc237708b913a4ec505b9a703b02f470413725f58fa4cbf54ba70113bfae5d0ffb0875b9 SHA512 b078122c6c0a614aa5b55151446b830dba64382b0570761ac80baaf362ef8121fac2c4b53b8cacc367bf985ef1ecc16d44041f1d1f4b13fc1024fe6ab74f1d0b
diff --git a/dev-python/pandas-datareader/metadata.xml b/dev-python/pandas-datareader/metadata.xml
deleted file mode 100644
index bd97f464e506..000000000000
--- a/dev-python/pandas-datareader/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>
- <longdescription lang="en">
- Up to date remote data access for pandas, which works for multiple versions of
- pandas and lets you extract data from a wide range of Internet sources directly
- into a pandas DataFrame.
- </longdescription>
- <upstream>
- <remote-id type="github">pydata/pandas-datareader</remote-id>
- <remote-id type="pypi">pandas-datareader</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pandas-datareader/pandas-datareader-0.10.0.ebuild b/dev-python/pandas-datareader/pandas-datareader-0.10.0.ebuild
deleted file mode 100644
index 2aa5e6871b76..000000000000
--- a/dev-python/pandas-datareader/pandas-datareader-0.10.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Pandas DataFrame extraction from a wide range of Internet sources"
-HOMEPAGE="https://github.com/pydata/pandas-datareader"
-SRC_URI="https://github.com/pydata/pandas-datareader/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc"
-PROPERTIES="test_network"
-RESTRICT="test"
-
-RDEPEND="
- dev-python/lxml[${PYTHON_USEDEP}]
- >=dev-python/pandas-0.19.2[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- doc? (
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- )"
-BDEPEND="
- test? ( dev-python/wrapt[${PYTHON_USEDEP}] )"
-
-distutils_enable_sphinx docs dev-python/sphinx_rtd_theme
-distutils_enable_tests pytest
-
-python_test() {
- local deselect=(
- # looks like minor numpy incompatibility
- pandas_datareader/tests/yahoo/test_yahoo.py::TestYahoo::test_get_data_null_as_missing_data
- )
- epytest pandas_datareader --only-stable --skip-requires-api-key \
- ${deselect[@]/#/--deselect }
-}
diff --git a/dev-python/pandas/Manifest b/dev-python/pandas/Manifest
index b04ced31e5b0..05856a547c23 100644
--- a/dev-python/pandas/Manifest
+++ b/dev-python/pandas/Manifest
@@ -1,3 +1,2 @@
-DIST pandas-1.5.1.tar.gz 5199286 BLAKE2B 17d98870f3397d7a9289a18708021a614b1d456e2ea99dae8927727aabb8aab73bd31f25c3035947f8f4c38404e7d971bf999500b300307b19a2cf6029763d0e SHA512 e5f25f21f17f36c6488f14fbfa391beb9f1989652de01cb8346d2826dead9331fea27295ee1e6f42d0875f2f1a91fcd23d606edd339432589bca5ba8d89e5ecd
-DIST pandas-1.5.2.tar.gz 5201551 BLAKE2B c6a8156a6c116f1b576837882e4ad4ada6cf21bf72acd673d74bdb1dda4f97f88a5e6422e8f8ad2fbbb85a334cd68cb0abae316d5826c54a85baf8b325ab6183 SHA512 1e6b653ff418c839895946123f90fffcfafd57f24dfbd6bae4e9988893b7d57d6276ed101112c8f9730af53f600d006fe3a53bbed597c0376856f2cfc90c1f05
-DIST pandas-1.5.3.tar.gz 5203060 BLAKE2B 846a6caa8ead6a2556303494f92e2091582d8fcde2aee424fa172c4e29c189a7305261f6a931a20249e969668646ff4a3d605ee1b57785fa3677dfbd137b3602 SHA512 3c725c33dcaf78b952d2eb966ced73ff0073162a01d3cbcb722d58d8f12a82163e6e684c27284c735bdfb32dea263b960f70f6a80ff93e6b316316d40835ae35
+DIST pandas-2.2.1.tar.gz 4395256 BLAKE2B 7f66c2995699832930a626ff01b3b39bafa0bd19f41245b8b49bbf5a1b78663433060f4d94817498494b6cf66d38dde27da64e196c6400e50f30441d7e51991b SHA512 8e6af4793d8b77e5c86a22c88f999dba63b1cc1954f5148bdb8c9b1bfe4e7fc5004de7d0f035b2d651f56c44b28ba4b0bd304f9c9122426cc37fb97596e13746
+DIST pandas-2.2.2.tar.gz 4398391 BLAKE2B 6b723d85c500abaca4d833e4fb329d9a495e3e8ae51c74632111b139ed38ca9e26087ba43ecc40d68f66613352dc140bb2f1b0cbb92915bb027548886072fc79 SHA512 85b006f96bd6400aeea2ec29df3557ea6c4bfee0a7aebb172547a43171dc0e7682d15f798081846a4f464559ab83f579cfe06d66d4b5c0cb0fb2975c2ef98f9c
diff --git a/dev-python/pandas/pandas-1.5.1.ebuild b/dev-python/pandas/pandas-1.5.1.ebuild
deleted file mode 100644
index 7a54dd501984..000000000000
--- a/dev-python/pandas/pandas-1.5.1.ebuild
+++ /dev/null
@@ -1,210 +0,0 @@
-# Copyright 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="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/pytables-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
- )
- )
-"
-COMMON_DEPEND="
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1-r3[${PYTHON_USEDEP}]
- >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
-"
-DEPEND="
- ${COMMON_DEPEND}
- >=dev-python/cython-0.29.32[${PYTHON_USEDEP}]
- doc? (
- ${VIRTUALX_DEPEND}
- app-text/pandoc
- 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/pytables-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}]
- 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
-
- # 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
- )
-
- 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/pytables-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-1.5.2.ebuild b/dev-python/pandas/pandas-1.5.2.ebuild
deleted file mode 100644
index 1fecf64c6a25..000000000000
--- a/dev-python/pandas/pandas-1.5.2.ebuild
+++ /dev/null
@@ -1,210 +0,0 @@
-# Copyright 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="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/pytables-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
- )
- )
-"
-COMMON_DEPEND="
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1-r3[${PYTHON_USEDEP}]
- >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
-"
-DEPEND="
- ${COMMON_DEPEND}
- >=dev-python/cython-0.29.32[${PYTHON_USEDEP}]
- doc? (
- ${VIRTUALX_DEPEND}
- app-text/pandoc
- 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/pytables-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}]
- 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
-
- # 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
- )
-
- 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/pytables-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-1.5.3.ebuild b/dev-python/pandas/pandas-1.5.3.ebuild
deleted file mode 100644
index 9ca1288b0be6..000000000000
--- a/dev-python/pandas/pandas-1.5.3.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
-PYTHON_COMPAT=( python3_{9..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/pytables-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
- )
- )
-"
-COMMON_DEPEND="
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1-r3[${PYTHON_USEDEP}]
- >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
-"
-DEPEND="
- ${COMMON_DEPEND}
- >=dev-python/cython-0.29.32[${PYTHON_USEDEP}]
- doc? (
- ${VIRTUALX_DEPEND}
- app-text/pandoc
- 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/pytables-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}]
- 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/pytables-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.2.1-r1.ebuild b/dev-python/pandas/pandas-2.2.1-r1.ebuild
new file mode 100644
index 000000000000..360e1d07a141
--- /dev/null
+++ b/dev-python/pandas/pandas-2.2.1-r1.ebuild
@@ -0,0 +1,215 @@
+# 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 ~hppa ~riscv"
+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}]
+ !arm? ( !hppa? ( !ppc? ( !x86? (
+ >=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
+ dev-python/statsmodels[${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-2[${PYTHON_USEDEP}]
+ >=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
+
+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
+ )
+
+ 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/pandas/pandas-2.2.1.ebuild b/dev-python/pandas/pandas-2.2.1.ebuild
new file mode 100644
index 000000000000..0ac867c48b80
--- /dev/null
+++ b/dev-python/pandas/pandas-2.2.1.ebuild
@@ -0,0 +1,218 @@
+# 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 arm arm64 ~hppa ~loong ~riscv ~s390 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}]
+ !arm? ( !hppa? ( !ppc? ( !x86? (
+ >=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
+ dev-python/statsmodels[${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-2[${PYTHON_USEDEP}]
+ >=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 (which is really broken)
+ 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/pandas/pandas-2.2.2-r1.ebuild b/dev-python/pandas/pandas-2.2.2-r1.ebuild
new file mode 100644
index 000000000000..f72d6e42f17c
--- /dev/null
+++ b/dev-python/pandas/pandas-2.2.2-r1.ebuild
@@ -0,0 +1,214 @@
+# 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 ~hppa ~riscv"
+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}]
+ !arm? ( !hppa? ( !ppc? ( !x86? (
+ >=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
+ dev-python/statsmodels[${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
+
+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
+ )
+
+ 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/pandas/pandas-2.2.2.ebuild b/dev-python/pandas/pandas-2.2.2.ebuild
new file mode 100644
index 000000000000..cadc42ab07aa
--- /dev/null
+++ b/dev-python/pandas/pandas-2.2.2.ebuild
@@ -0,0 +1,217 @@
+# 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 ~arm ~arm64 ~hppa ~loong ~riscv ~s390 ~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}]
+ !arm? ( !hppa? ( !ppc? ( !x86? (
+ >=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
+ dev-python/statsmodels[${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 53a4d31ed847..000000000000
--- a/dev-python/pandocfilters/pandocfilters-1.5.0.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 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="Utilities for writing pandoc filters in python"
-HOMEPAGE="https://github.com/jgm/pandocfilters"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k 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..2701acc23592
--- /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..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/parallax/metadata.xml b/dev-python/parallax/metadata.xml
index 17ba73f46621..cbc70ccfc33d 100644
--- a/dev-python/parallax/metadata.xml
+++ b/dev-python/parallax/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>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</name>
- </maintainer>
<maintainer type="project">
<email>cluster@gentoo.org</email>
<name>Gentoo Cluster Project</name>
diff --git a/dev-python/parameterized/Manifest b/dev-python/parameterized/Manifest
index dfbc96757472..989a4b866dc2 100644
--- a/dev-python/parameterized/Manifest
+++ b/dev-python/parameterized/Manifest
@@ -1 +1 @@
-DIST parameterized-0.8.1.tar.gz 23936 BLAKE2B 3d36b049071907f66ef17dcae0ef9480210344f2466744b2bee8e964f46e2553411a07b233fab032d1acbc2523dc32890bc5e6e4ffc5b37d1fee3f0db3a70cbb SHA512 ad6e31b2bb27623bf070ee5c30686a5bd6a531bc71602f77ca6aa01a77fc246caaacca121098dcbe13b1a174cdcfafa6545bf6e62f6a5337a647821c02fac64a
+DIST parameterized-0.9.0.tar.gz 24351 BLAKE2B 3b0fb1c0a788f702cba74b67868fbd179e4912b518646f6a7d0d136f54b515d2546d27ad1fd14a03c128a8b53d42165a4ef9f8f434965483af24f69c3e406b25 SHA512 2c1c97a841db631608e0a9fcd93fa1af819aa288538851e0c771b56ba0bb27fb682ac3a09fcdb33e57162926d1e8fae452f7bab9384d0c40bec9a03ab3d6b126
diff --git a/dev-python/parameterized/files/parameterized-0.8.1-nose-to-pytest.patch b/dev-python/parameterized/files/parameterized-0.8.1-nose-to-pytest.patch
deleted file mode 100644
index 45b86d8a13af..000000000000
--- a/dev-python/parameterized/files/parameterized-0.8.1-nose-to-pytest.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-diff --git a/parameterized/test.py b/parameterized/test.py
-index f98d865..ede7689 100644
---- a/parameterized/test.py
-+++ b/parameterized/test.py
-@@ -2,8 +2,8 @@
-
- import inspect
- import mock
-+import pytest
- from unittest import TestCase
--from nose.tools import assert_equal, assert_raises
-
- from .parameterized import (
- PY3, PY2, parameterized, param, parameterized_argument_value_pairs,
-@@ -91,7 +91,7 @@ if not PYTEST:
-
- @parameterized([(1, ), (2, )])
- def test_setup(self, count, *a):
-- assert_equal(self.actual_order, "setup %s" %(count, ))
-+ assert self.actual_order == "setup %s" %(count, )
- missing_tests.remove("test_setup(%s)" %(self.actual_order, ))
-
-
-@@ -235,9 +235,9 @@ class TestParamerizedOnTestCase(TestCase):
- frame_locals = frame[0].f_locals
- nose_test_method_name = frame_locals['a'][0]._testMethodName
- expected_name = "test_on_TestCase2_custom_name_" + str(foo)
-- assert_equal(nose_test_method_name, expected_name,
-- "Test Method name '%s' did not get customized to expected: '%s'" %
-- (nose_test_method_name, expected_name))
-+ assert nose_test_method_name == expected_name, \
-+ "Test Method name '%s' did not get customized to expected: '%s'" % \
-+ (nose_test_method_name, expected_name)
- missing_tests.remove("%s(%r, bar=%r)" %(expected_name, foo, bar))
-
-
-@@ -259,7 +259,7 @@ class TestParameterizedExpandDocstring(TestCase):
- actual_docstring = test_method.__doc__
- if rstrip:
- actual_docstring = actual_docstring.rstrip()
-- assert_equal(actual_docstring, expected_docstring)
-+ assert actual_docstring == expected_docstring
-
- @parameterized.expand([param("foo")],
- doc_func=lambda f, n, p: "stuff")
-@@ -335,7 +335,7 @@ def test_helpful_error_on_empty_iterable_input():
-
- def test_skip_test_on_empty_iterable():
- func = parameterized([], skip_on_empty=True)(lambda: None)
-- assert_raises(SkipTest, func)
-+ pytest.raises(SkipTest, func)
-
-
- def test_helpful_error_on_empty_iterable_input_expand():
-@@ -366,10 +366,6 @@ def test_helpful_error_on_non_iterable_input():
- raise AssertionError("Expected exception not raised")
-
-
--def tearDownModule():
-- missing = sorted(list(missing_tests))
-- assert_equal(missing, [])
--
- def test_old_style_classes():
- if PY3:
- raise SkipTest("Py3 doesn't have old-style classes")
-@@ -418,7 +414,7 @@ class TestOldStyleClass:
- def test_parameterized_argument_value_pairs(func_params, p, expected):
- helper = eval("lambda %s: None" %(func_params, ))
- actual = parameterized_argument_value_pairs(helper, p)
-- assert_equal(actual, expected)
-+ assert actual == expected
-
-
- @parameterized([
-@@ -428,7 +424,7 @@ def test_parameterized_argument_value_pairs(func_params, p, expected):
- (123456789, "12...89", 4),
- ])
- def test_short_repr(input, expected, n=6):
-- assert_equal(short_repr(input, n=n), expected)
-+ assert short_repr(input, n=n) == expected
-
- @parameterized([
- ("foo", ),
-@@ -442,7 +438,7 @@ cases_over_10 = [(i, i+1) for i in range(11)]
-
- @parameterized(cases_over_10)
- def test_cases_over_10(input, expected):
-- assert_equal(input, expected-1)
-+ assert input == expected-1
-
-
- @parameterized_class(("a", "b", "c"), [
-@@ -461,7 +457,7 @@ class TestParameterizedClass(TestCase):
-
- def _assertions(self, test_name):
- assert hasattr(self, "a")
-- assert_equal(self.b + self.c, 3)
-+ assert self.b + self.c == 3
- missing_tests.remove("%s:%s(%r, %r, %r)" %(
- self.__class__.__name__,
- test_name,
diff --git a/dev-python/parameterized/files/parameterized-0.9.0-py312-test.patch b/dev-python/parameterized/files/parameterized-0.9.0-py312-test.patch
new file mode 100644
index 000000000000..457cd58da75c
--- /dev/null
+++ b/dev-python/parameterized/files/parameterized-0.9.0-py312-test.patch
@@ -0,0 +1,17 @@
+Remove the usage of assertRaisesRegexp unit test alias removed in Python 3.12
+
+Upstream-PR: https://github.com/wolever/parameterized/pull/169
+
+diff --git a/parameterized/test.py b/parameterized/test.py
+index 6c71f79..498c591 100644
+--- a/parameterized/test.py
++++ b/parameterized/test.py
+@@ -35,7 +35,7 @@ def assert_raises_regexp_decorator(expected_exception, expected_regexp):
+ def func_decorator(func):
+ @wraps(func)
+ def wrapper(self, *args, **kwargs):
+- with self.assertRaisesRegexp(expected_exception, expected_regexp):
++ with self.assertRaisesRegex(expected_exception, expected_regexp):
+ func(self, *args, **kwargs)
+
+ return wrapper
diff --git a/dev-python/parameterized/metadata.xml b/dev-python/parameterized/metadata.xml
index 4ee6d8ce9ff4..9c785e618837 100644
--- a/dev-python/parameterized/metadata.xml
+++ b/dev-python/parameterized/metadata.xml
@@ -10,6 +10,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">wolever/parameterized</remote-id>
<remote-id type="pypi">parameterized</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/parameterized/parameterized-0.8.1-r2.ebuild b/dev-python/parameterized/parameterized-0.8.1-r2.ebuild
deleted file mode 100644
index 0322b4b0516e..000000000000
--- a/dev-python/parameterized/parameterized-0.8.1-r2.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Parameterized testing with any Python test framework"
-HOMEPAGE="
- https://github.com/wolever/parameterized/
- https://pypi.org/project/parameterized/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-nose-to-pytest.patch"
-)
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest parameterized/test.py
-}
diff --git a/dev-python/parameterized/parameterized-0.9.0.ebuild b/dev-python/parameterized/parameterized-0.9.0.ebuild
new file mode 100644
index 000000000000..5ba5013e9c36
--- /dev/null
+++ b/dev-python/parameterized/parameterized-0.9.0.ebuild
@@ -0,0 +1,31 @@
+# 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="Parameterized testing with any Python test framework"
+HOMEPAGE="
+ https://github.com/wolever/parameterized/
+ https://pypi.org/project/parameterized/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-py312-test.patch"
+)
+
+distutils_enable_tests unittest
diff --git a/dev-python/paramiko/Manifest b/dev-python/paramiko/Manifest
index f1b32d05ad16..f03fc1283b0f 100644
--- a/dev-python/paramiko/Manifest
+++ b/dev-python/paramiko/Manifest
@@ -1,2 +1 @@
-DIST paramiko-2.12.0.gh.tar.gz 351956 BLAKE2B d41668f32f28a5c2c3af1d2b5c85bb4c3d2f5af9028cd5ebcb2b8aa21bc25df2c1ead5ddfe61ff12cfacec4b92913833e267f8a3fef07fa9a794f4b064fdb472 SHA512 1bf325ffd393447cb90009d01dc1104d0d43a6acdd08cc6d28310063a649a333323748800dab119ab5e10833975e68f5f5702044fc247a2e8058122a5327f2c7
-DIST paramiko-3.0.0.gh.tar.gz 350348 BLAKE2B ba7211a3f3c7d4f9c0023017d96ed51511039378b4eba1ace13fbbf6902cda40aa09f2cf7b5ce9f7aee666907d9a662e9bf7eccd5d06669685b9aa25fccfa551 SHA512 3754314fcbd64bf3db5fd6a8d55babc13e639675d09e85d796e99f25eecb55b0f987c0b47bce288c3d154a2dbdb586ecc34bbb09d67786bcc13b0a94a78e6654
+DIST paramiko-3.4.0.gh.tar.gz 374441 BLAKE2B a6ea03d40e477cb02c1293c46025909251f8eec2be70638bf850638d9fe8c15bfe0e278697e41f3595f482b8f0755d911b905b11db2324eca597fc9be2a22f24 SHA512 f78fccf653d05acee78dfb76fb662c85fbfea7901fd94460a2d2e526c9b25169993051d20c16cfe0b7745008b1ea3a745fc9a280386d98a06689aaadf78f6752
diff --git a/dev-python/paramiko/files/paramiko-2.12.0-pytest-relaxed.patch b/dev-python/paramiko/files/paramiko-2.12.0-pytest-relaxed.patch
deleted file mode 100644
index cf34fbfd1c60..000000000000
--- a/dev-python/paramiko/files/paramiko-2.12.0-pytest-relaxed.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 935507cc60b6f0b2b83c9c0e3be3900297b41757 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Tue, 17 May 2022 07:26:36 +0200
-Subject: [PATCH] Replace pytest-relaxed with plain pytest.raises
-
-There is really no technical reason to bring pytest-relaxed to call
-@raises as a decorator while plain pytest works just fine. Plus,
-pytest.raises() is used in test_sftp already.
-
-pytest-relaxed causes humongous breakage to other packages
-on the system. It has been banned from Gentoo for this reason.
----
- dev-requirements.txt | 1 -
- pytest.ini | 3 ---
- tests/test_client.py | 19 +++++++++----------
- 3 files changed, 9 insertions(+), 14 deletions(-)
-
-diff --git a/dev-requirements.txt b/dev-requirements.txt
-index 3ed9eb40..e90f3373 100644
---- a/dev-requirements.txt
-+++ b/dev-requirements.txt
-@@ -2,7 +2,6 @@
- invoke==1.6.0
- invocations==2.6.0
- pytest==4.4.2
--pytest-relaxed==1.1.5
- # pytest-xdist for test dir watching and the inv guard task
- pytest-xdist==1.28.0
- mock==2.0.0
-diff --git a/pytest.ini b/pytest.ini
-index be207cd8..5a506bcd 100644
---- a/pytest.ini
-+++ b/pytest.ini
-@@ -1,7 +1,4 @@
- [pytest]
--# We use pytest-relaxed just for its utils at the moment, so disable it at the
--# plugin level until we adapt test organization to really use it.
--addopts = -p no:relaxed
- # Loop on failure
- looponfailroots = tests paramiko
- # Ignore some warnings we cannot easily handle.
-diff --git a/tests/test_client.py b/tests/test_client.py
-index 3eaad4fb..66c41b0b 100644
---- a/tests/test_client.py
-+++ b/tests/test_client.py
-@@ -34,7 +34,6 @@ import weakref
- from tempfile import mkstemp
-
- import pytest
--from pytest_relaxed import raises
- from mock import patch, Mock
-
- import paramiko
-@@ -787,11 +786,11 @@ class PasswordPassphraseTests(ClientTest):
-
- # TODO: more granular exception pending #387; should be signaling "no auth
- # methods available" because no key and no password
-- @raises(SSHException)
- @requires_sha1_signing
- def test_passphrase_kwarg_not_used_for_password_auth(self):
-- # Using the "right" password in the "wrong" field shouldn't work.
-- self._test_connection(passphrase="pygmalion")
-+ with pytest.raises(SSHException):
-+ # Using the "right" password in the "wrong" field shouldn't work.
-+ self._test_connection(passphrase="pygmalion")
-
- @requires_sha1_signing
- def test_passphrase_kwarg_used_for_key_passphrase(self):
-@@ -811,15 +810,15 @@ class PasswordPassphraseTests(ClientTest):
- password="television",
- )
-
-- @raises(AuthenticationException) # TODO: more granular
- @requires_sha1_signing
- def test_password_kwarg_not_used_for_passphrase_when_passphrase_kwarg_given( # noqa
- self
- ):
- # Sanity: if we're given both fields, the password field is NOT used as
- # a passphrase.
-- self._test_connection(
-- key_filename=_support("test_rsa_password.key"),
-- password="television",
-- passphrase="wat? lol no",
-- )
-+ with pytest.raises(AuthenticationException):
-+ self._test_connection(
-+ key_filename=_support("test_rsa_password.key"),
-+ password="television",
-+ passphrase="wat? lol no",
-+ )
---
-2.38.1
-
diff --git a/dev-python/paramiko/files/paramiko-2.4.2-disable-server.patch b/dev-python/paramiko/files/paramiko-2.4.2-disable-server.patch
deleted file mode 100644
index 19450cbee1bc..000000000000
--- a/dev-python/paramiko/files/paramiko-2.4.2-disable-server.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff --git a/paramiko/transport.py b/paramiko/transport.py
-index f72eebaf..ec7a1445 100644
---- a/paramiko/transport.py
-+++ b/paramiko/transport.py
-@@ -110,6 +110,8 @@ from paramiko.ssh_exception import (
- from paramiko.util import retry_on_signal, ClosingContextManager, clamp_value
-
-
-+SERVER_DISABLED_BY_GENTOO = True
-+
- # for thread cleanup
- _active_threads = []
-
-@@ -633,6 +635,8 @@ class Transport(threading.Thread, ClosingContextManager):
- `.SSHException` -- if negotiation fails (and no ``event`` was
- passed in)
- """
-+ if SERVER_DISABLED_BY_GENTOO:
-+ raise Exception("Disabled by Gentoo for security reasons. Enable with 'server' USE flag")
- if server is None:
- server = ServerInterface()
- self.server_mode = True
-diff --git a/tests/conftest.py b/tests/conftest.py
-index 2b509c5c..bb23ac74 100644
---- a/tests/conftest.py
-+++ b/tests/conftest.py
-@@ -4,7 +4,7 @@ import shutil
- import threading
-
- import pytest
--from paramiko import RSAKey, SFTPServer, SFTP, Transport
-+from paramiko import RSAKey, SFTPServer, SFTP, Transport, transport
-
- from .loop import LoopSocket
- from .stub_sftp import StubServer, StubSFTPServer
-@@ -15,6 +15,10 @@ from .util import _support
- # 'nicer'.
-
-
-+# We need the server component for testing
-+transport.SERVER_DISABLED_BY_GENTOO = False
-+
-+
- # Perform logging by default; pytest will capture and thus hide it normally,
- # presenting it on error/failure. (But also allow turning it off when doing
- # very pinpoint debugging - e.g. using breakpoints, so you don't want output
diff --git a/dev-python/paramiko/files/paramiko-3.0.0-nih-test-deps.patch b/dev-python/paramiko/files/paramiko-3.0.0-nih-test-deps.patch
deleted file mode 100644
index 26b12f0ce154..000000000000
--- a/dev-python/paramiko/files/paramiko-3.0.0-nih-test-deps.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From c7d1373554910102846123afb35c8c1a842f2c9a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Tue, 17 May 2022 07:26:36 +0200
-Subject: [PATCH] Replace pytest-relaxed with plain pytest.raises
-
-There is really no technical reason to bring pytest-relaxed to call
-@raises as a decorator while plain pytest works just fine. Plus,
-pytest.raises() is used in test_sftp already.
-
-pytest-relaxed causes humongous breakage to other packages
-on the system. It has been banned from Gentoo for this reason.
----
- dev-requirements.txt | 6 ++++++
- pytest.ini | 3 ---
- tests/test_client.py | 19 +++++++++----------
- 3 files changed, 15 insertions(+), 13 deletions(-)
-
-diff --git a/tests/test_client.py b/tests/test_client.py
-index dae5b13a..d0e9c434 100644
---- a/tests/test_client.py
-+++ b/tests/test_client.py
-@@ -33,7 +33,6 @@ import weakref
- from tempfile import mkstemp
-
- import pytest
--from pytest_relaxed import raises
- from unittest.mock import patch, Mock
-
- import paramiko
-@@ -786,11 +785,11 @@ class PasswordPassphraseTests(ClientTest):
-
- # TODO: more granular exception pending #387; should be signaling "no auth
- # methods available" because no key and no password
-- @raises(SSHException)
- @requires_sha1_signing
- def test_passphrase_kwarg_not_used_for_password_auth(self):
-- # Using the "right" password in the "wrong" field shouldn't work.
-- self._test_connection(passphrase="pygmalion")
-+ with pytest.raises(SSHException):
-+ # Using the "right" password in the "wrong" field shouldn't work.
-+ self._test_connection(passphrase="pygmalion")
-
- @requires_sha1_signing
- def test_passphrase_kwarg_used_for_key_passphrase(self):
-@@ -810,15 +809,15 @@ class PasswordPassphraseTests(ClientTest):
- password="television",
- )
-
-- @raises(AuthenticationException) # TODO: more granular
- @requires_sha1_signing
- def test_password_kwarg_not_used_for_passphrase_when_passphrase_kwarg_given( # noqa
- self,
- ):
- # Sanity: if we're given both fields, the password field is NOT used as
- # a passphrase.
-- self._test_connection(
-- key_filename=_support("test_rsa_password.key"),
-- password="television",
-- passphrase="wat? lol no",
-- )
-+ with pytest.raises(AuthenticationException):
-+ self._test_connection(
-+ key_filename=_support("test_rsa_password.key"),
-+ password="television",
-+ passphrase="wat? lol no",
-+ )
---
-2.39.1
-
-From becd215434a7c01c74b407cbf2cbcb192e138a15 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sat, 21 Jan 2023 06:56:09 +0100
-Subject: [PATCH] Remove icecream dep
-
----
- tests/conftest.py | 6 ------
- 1 file changed, 6 deletions(-)
-
-diff --git a/tests/conftest.py b/tests/conftest.py
-index b28d2a17..3cecb7e8 100644
---- a/tests/conftest.py
-+++ b/tests/conftest.py
-@@ -10,12 +10,6 @@ from .loop import LoopSocket
- from .stub_sftp import StubServer, StubSFTPServer
- from .util import _support
-
--from icecream import ic, install as install_ic
--
--
--install_ic()
--ic.configureOutput(includeContext=True)
--
-
- # Perform logging by default; pytest will capture and thus hide it normally,
- # presenting it on error/failure. (But also allow turning it off when doing
---
-2.39.1
-
diff --git a/dev-python/paramiko/files/paramiko-3.2.0-disable-server.patch b/dev-python/paramiko/files/paramiko-3.2.0-disable-server.patch
new file mode 100644
index 000000000000..942f5161ee6f
--- /dev/null
+++ b/dev-python/paramiko/files/paramiko-3.2.0-disable-server.patch
@@ -0,0 +1,58 @@
+From a47e9bdc80224c9ceafcea6da5cea1539ddfbd4d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Fri, 26 May 2023 06:05:13 +0200
+Subject: [PATCH 3/3] Disable server component due to security issues
+
+---
+ paramiko/transport.py | 4 ++++
+ tests/conftest.py | 5 +++++
+ 2 files changed, 9 insertions(+)
+
+diff --git a/paramiko/transport.py b/paramiko/transport.py
+index 8785d6bb..803d07d1 100644
+--- a/paramiko/transport.py
++++ b/paramiko/transport.py
+@@ -120,6 +120,8 @@ from paramiko.util import (
+ )
+
+
++SERVER_DISABLED_BY_GENTOO = True
++
+ # for thread cleanup
+ _active_threads = []
+
+@@ -768,6 +770,8 @@ class Transport(threading.Thread, ClosingContextManager):
+ `.SSHException` -- if negotiation fails (and no ``event`` was
+ passed in)
+ """
++ if SERVER_DISABLED_BY_GENTOO:
++ raise Exception("Disabled by Gentoo for security reasons. Enable with 'server' USE flag")
+ if server is None:
+ server = ServerInterface()
+ self.server_mode = True
+diff --git a/tests/conftest.py b/tests/conftest.py
+index 7546aae4..804a289e 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -16,6 +16,7 @@ from paramiko import (
+ Ed25519Key,
+ ECDSAKey,
+ PKey,
++ transport,
+ )
+
+ from ._loop import LoopSocket
+@@ -23,6 +24,10 @@ from ._stub_sftp import StubServer, StubSFTPServer
+ from ._util import _support
+
+
++# We need the server component for testing
++transport.SERVER_DISABLED_BY_GENTOO = False
++
++
+ # Perform logging by default; pytest will capture and thus hide it normally,
+ # presenting it on error/failure. (But also allow turning it off when doing
+ # very pinpoint debugging - e.g. using breakpoints, so you don't want output
+--
+2.40.1
+
diff --git a/dev-python/paramiko/files/paramiko-3.2.0-nih-test-deps.patch b/dev-python/paramiko/files/paramiko-3.2.0-nih-test-deps.patch
new file mode 100644
index 000000000000..84fb618dffb8
--- /dev/null
+++ b/dev-python/paramiko/files/paramiko-3.2.0-nih-test-deps.patch
@@ -0,0 +1,134 @@
+From 33c56a44f425bb5c4bf63759fbe85cfee06ab087 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Tue, 17 May 2022 07:26:36 +0200
+Subject: [PATCH 1/3] Replace pytest-relaxed with plain pytest.raises
+
+There is really no technical reason to bring pytest-relaxed to call
+@raises as a decorator while plain pytest works just fine. Plus,
+pytest.raises() is used in test_sftp already.
+
+pytest-relaxed causes humongous breakage to other packages
+on the system. It has been banned from Gentoo for this reason.
+---
+ tests/test_client.py | 19 +++++++++----------
+ 1 file changed, 9 insertions(+), 10 deletions(-)
+
+diff --git a/tests/test_client.py b/tests/test_client.py
+index 1c0c6c84..c12cbe9a 100644
+--- a/tests/test_client.py
++++ b/tests/test_client.py
+@@ -33,7 +33,6 @@ import weakref
+ from tempfile import mkstemp
+
+ import pytest
+-from pytest_relaxed import raises
+ from unittest.mock import patch, Mock
+
+ import paramiko
+@@ -799,11 +798,11 @@ class PasswordPassphraseTests(ClientTest):
+
+ # TODO: more granular exception pending #387; should be signaling "no auth
+ # methods available" because no key and no password
+- @raises(SSHException)
+ @requires_sha1_signing
+ def test_passphrase_kwarg_not_used_for_password_auth(self):
+- # Using the "right" password in the "wrong" field shouldn't work.
+- self._test_connection(passphrase="pygmalion")
++ with pytest.raises(SSHException):
++ # Using the "right" password in the "wrong" field shouldn't work.
++ self._test_connection(passphrase="pygmalion")
+
+ @requires_sha1_signing
+ def test_passphrase_kwarg_used_for_key_passphrase(self):
+@@ -823,15 +822,15 @@ class PasswordPassphraseTests(ClientTest):
+ password="television",
+ )
+
+- @raises(AuthenticationException) # TODO: more granular
+ @requires_sha1_signing
+ def test_password_kwarg_not_used_for_passphrase_when_passphrase_kwarg_given( # noqa
+ self,
+ ):
+ # Sanity: if we're given both fields, the password field is NOT used as
+ # a passphrase.
+- self._test_connection(
+- key_filename=_support("test_rsa_password.key"),
+- password="television",
+- passphrase="wat? lol no",
+- )
++ with pytest.raises(AuthenticationException):
++ self._test_connection(
++ key_filename=_support("test_rsa_password.key"),
++ password="television",
++ passphrase="wat? lol no",
++ )
+--
+2.40.1
+
+From a75bdc46a6eb72a0b0e80eeafad2e2a2536a9bd8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sat, 21 Jan 2023 06:56:09 +0100
+Subject: [PATCH 2/3] Remove icecream dep
+
+---
+ tests/conftest.py | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/tests/conftest.py b/tests/conftest.py
+index 12b97283..7546aae4 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -22,13 +22,6 @@ from ._loop import LoopSocket
+ from ._stub_sftp import StubServer, StubSFTPServer
+ from ._util import _support
+
+-from icecream import ic, install as install_ic
+-
+-
+-# Better print() for debugging - use ic()!
+-install_ic()
+-ic.configureOutput(includeContext=True)
+-
+
+ # Perform logging by default; pytest will capture and thus hide it normally,
+ # presenting it on error/failure. (But also allow turning it off when doing
+--
+2.40.1
+
+From a4f96f21450942398b46f2b5f125b89297f3f3f2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Fri, 26 May 2023 06:18:25 +0200
+Subject: [PATCH] Remove pointless use of Lexicon vendored from invoke with
+ class
+
+---
+ tests/conftest.py | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/tests/conftest.py b/tests/conftest.py
+index 7546aae4..45362de8 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -4,8 +4,6 @@ import shutil
+ import threading
+ from pathlib import Path
+
+-from invoke.vendor.lexicon import Lexicon
+-
+ import pytest
+ from paramiko import (
+ SFTPServer,
+@@ -132,6 +130,10 @@ for datum in key_data:
+ datum.insert(0, short)
+
+
++class Lexicon:
++ pass
++
++
+ @pytest.fixture(scope="session", params=key_data, ids=lambda x: x[0])
+ def keys(request):
+ """
+--
+2.40.1
+
diff --git a/dev-python/paramiko/paramiko-2.12.0.ebuild b/dev-python/paramiko/paramiko-2.12.0.ebuild
deleted file mode 100644
index c7d516f719cc..000000000000
--- a/dev-python/paramiko/paramiko-2.12.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-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 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris"
-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}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}/${PN}-2.12.0-pytest-relaxed.patch"
- )
-
- if ! use server; then
- PATCHES+=( "${FILESDIR}/${PN}-2.4.2-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.0.0.ebuild b/dev-python/paramiko/paramiko-3.0.0.ebuild
deleted file mode 100644
index f521b9dc0990..000000000000
--- a/dev-python/paramiko/paramiko-3.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
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-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 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris"
-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}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}/${PN}-3.0.0-nih-test-deps.patch"
- )
-
- if ! use server; then
- PATCHES+=( "${FILESDIR}/${PN}-2.4.2-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..0d9df530e354
--- /dev/null
+++ b/dev-python/paramiko/paramiko-3.4.0.ebuild
@@ -0,0 +1,62 @@
+# 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/parse/Manifest b/dev-python/parse/Manifest
index f2c60871ee76..c292fa58c18c 100644
--- a/dev-python/parse/Manifest
+++ b/dev-python/parse/Manifest
@@ -1 +1 @@
-DIST parse-1.19.0.tar.gz 30884 BLAKE2B 97f0d1fb7f1d2d826f20df592a61bc94e65ea583ba651d4ddf18b3ffb21d977444c2a3a0e75ba9138d2bae48668456d1ac56d50d05d4b8ed7721733f3bda59f2 SHA512 25e183949a78213e699c319f5dcf1b2664ea6cfcfae4b9eb8dcaf1825e55dcb2ce2032f9eb630e962acf2d94588d4f4b8cf340af1075cbab5ab44aed5377ef6f
+DIST parse-1.20.1.tar.gz 29122 BLAKE2B b201f0cc491c964909bf0e4f0b406922ad7dcc0f1e232785efdf434e4c7643aaff53ac46b24c893eaa262d35021fd86001541fcb5e289a10e5163e7c2626e02f SHA512 6aee92558496e9eca2fc1647131671dd88934687fbb23a04a99213b7885f4da776235cd380a7ea237b5f5b018522f92b6d702bd58858a0957a2213baca0e2a5c
diff --git a/dev-python/parse/parse-1.19.0-r1.ebuild b/dev-python/parse/parse-1.19.0-r1.ebuild
deleted file mode 100644
index 6fc1fbdfa45c..000000000000
--- a/dev-python/parse/parse-1.19.0-r1.ebuild
+++ /dev/null
@@ -1,18 +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="Parse strings using a specification based on the Python format() syntax"
-HOMEPAGE="https://pypi.org/project/parse/"
-SRC_URI="mirror://pypi/${P::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
-
-distutils_enable_tests unittest
diff --git a/dev-python/parse/parse-1.20.1.ebuild b/dev-python/parse/parse-1.20.1.ebuild
new file mode 100644
index 000000000000..42c012f60a6f
--- /dev/null
+++ b/dev-python/parse/parse-1.20.1.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..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_type/Manifest b/dev-python/parse_type/Manifest
index d17dd1d70d82..eb79399eb3d8 100644
--- a/dev-python/parse_type/Manifest
+++ b/dev-python/parse_type/Manifest
@@ -1 +1 @@
-DIST parse_type-0.6.0.gh.tar.gz 272744 BLAKE2B fdba57380bfbefa43793338ddd1dfc618d15036c8e78adfbccd993156c77d59f30c2351b1dba826bdc41de12ab3e403102124fe85a462f3fbb6fb915885fb026 SHA512 cbe2c8d2bac567cb89b600ef4b0fb5e65c5afdb8e83c3da01cf0b80ce40630c6fb0e1156e352f8b64d5b6d69555126edfbd3f48c6482f7fe8cfb79fcff8ac5b7
+DIST parse_type-0.6.2.tar.gz 69720 BLAKE2B 76deaacc1824f701db74fbdd971b1dd8131f6d45f329e64f6eae993d6a41cebebb44c0653813bcb625e335bae5a81853c8c3704c0f102ebad96a38f43826059c SHA512 d614b105696baf135a7f8c84f751a2491dc7558cadf1c3891f1223f6196a7b041c499f3df4902b04daca5e6507522ec0f99533b6b1d027773a15f7738a574958
diff --git a/dev-python/parse_type/files/parse_type-0.6.0-setupwarn.patch b/dev-python/parse_type/files/parse_type-0.6.0-setupwarn.patch
deleted file mode 100644
index 4dbf73e1a02e..000000000000
--- a/dev-python/parse_type/files/parse_type-0.6.0-setupwarn.patch
+++ /dev/null
@@ -1,7 +0,0 @@
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -17,3 +17,3 @@
- [upload_docs]
--upload-dir = build/docs/html
-+upload_dir = build/docs/html
-
diff --git a/dev-python/parse_type/parse_type-0.6.0.ebuild b/dev-python/parse_type/parse_type-0.6.0.ebuild
deleted file mode 100644
index 409ca7ed9041..000000000000
--- a/dev-python/parse_type/parse_type-0.6.0.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_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Extension to the parse module"
-HOMEPAGE="https://pypi.org/project/parse-type/"
-SRC_URI="https://github.com/jenisys/parse_type/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/parse[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${P}-setupwarn.patch
-)
-
-DOCS=( CHANGES.txt README.rst )
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
-
- # disable unnecessary html test report and its pytest-html dependency
- sed -i '/^addopts/,/report.xml$/d' pytest.ini || die
-}
diff --git a/dev-python/parse_type/parse_type-0.6.2.ebuild b/dev-python/parse_type/parse_type-0.6.2.ebuild
new file mode 100644
index 000000000000..193a7f863880
--- /dev/null
+++ b/dev-python/parse_type/parse_type-0.6.2.ebuild
@@ -0,0 +1,30 @@
+# 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="Extension to the parse module"
+HOMEPAGE="https://pypi.org/project/parse-type/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+
+RDEPEND="
+ dev-python/parse[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
+
+DOCS=( CHANGES.txt README.rst )
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ # disable unnecessary html test report and its pytest-html dependency
+ sed -i '/^addopts/,/report.xml$/d' pytest.ini || die
+}
diff --git a/dev-python/parsedatetime/parsedatetime-2.6-r1.ebuild b/dev-python/parsedatetime/parsedatetime-2.6-r1.ebuild
index da2a9f927a50..4fec265a5737 100644
--- a/dev-python/parsedatetime/parsedatetime-2.6-r1.ebuild
+++ b/dev-python/parsedatetime/parsedatetime-2.6-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -17,6 +17,6 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86 ~arm64-macos ~x64-macos"
distutils_enable_tests pytest
diff --git a/dev-python/parso/Manifest b/dev-python/parso/Manifest
index bdcfd4c9eab0..793c61e38836 100644
--- a/dev-python/parso/Manifest
+++ b/dev-python/parso/Manifest
@@ -1 +1,2 @@
-DIST parso-0.8.3.tar.gz 397648 BLAKE2B 8942408e27198075c92ef51f7a191cc7781eb3a5110119b91fd95f86e13ebe2fbfee11022a2bfec794150f60b3af8c4d5f324cb011703cd581c17f92232ae5bf SHA512 7874460053662d40c2cfcf0015e330e1c8201eeb07682e2079a636db553a82dc25b70b14ad0f0c82fb817f655359d695101a17f616abf9a39f49c61ae5fd49b1
+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
index f3551c4b2f0a..1e3d469f7c67 100644
--- a/dev-python/parso/parso-0.8.3-r1.ebuild
+++ b/dev-python/parso/parso-0.8.3-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
@@ -15,12 +15,12 @@ HOMEPAGE="
"
SRC_URI="
https://github.com/davidhalter/${PN}/archive/v${PV}.tar.gz
- -> ${P}.tar.gz
+ -> ${P}.gh.tar.gz
"
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 ~arm64-macos ~x64-macos"
distutils_enable_sphinx docs
distutils_enable_tests pytest
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..8418e5c05160
--- /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..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/partd/Manifest b/dev-python/partd/Manifest
index 5ebadda700e1..92e97254035f 100644
--- a/dev-python/partd/Manifest
+++ b/dev-python/partd/Manifest
@@ -1 +1 @@
-DIST partd-1.3.0.tar.gz 36153 BLAKE2B e717d61f44c30cfef487e0849a920f839bcafdba1f39b884d9bb4314547074f876aaae53e8613687f5f71dabcc6fd68c95c37264dc52a52544eed50367e85acc SHA512 0ebcccb5dd25d7328bf76e05523b3e40836a92ea867d26aee31e739b7859ca7848da92c6c20824ed1343c1ced2c759361b25ec30f8405e61bd36308613f866c7
+DIST partd-1.4.1.tar.gz 36272 BLAKE2B 032f30988468d68b5b8a18ceeb28f75c6807bae8ec57a88c50beb1c4ed2f99721d5f50e1002cf74376867f54f5c5dbdaf823b999f8680766f13e8f5f9df74801 SHA512 0bf285a33731d3c000e6c2c1958cda0df21c3a2be31694ac31ce0cc45aa2b31b8631f962c25b9ecac3831474abb5872748bd3348f99e13faadee467a1f164492
diff --git a/dev-python/partd/partd-1.3.0-r1.ebuild b/dev-python/partd/partd-1.3.0-r1.ebuild
deleted file mode 100644
index aaed1cacf0e1..000000000000
--- a/dev-python/partd/partd-1.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
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Appendable key-value storage"
-HOMEPAGE="https://github.com/dask/partd/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.1.ebuild b/dev-python/partd/partd-1.4.1.ebuild
new file mode 100644
index 000000000000..40e7a1fc8b4e
--- /dev/null
+++ b/dev-python/partd/partd-1.4.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=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+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 ~riscv x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/locket[${PYTHON_USEDEP}]
+ dev-python/toolz[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ 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
+
+src_prepare() {
+ # remove outdated version
+ rm versioneer.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/parver/Manifest b/dev-python/parver/Manifest
index 253cbe649d45..791ce8f5872f 100644
--- a/dev-python/parver/Manifest
+++ b/dev-python/parver/Manifest
@@ -1 +1 @@
-DIST parver-0.4.gh.tar.gz 26130 BLAKE2B b2835271434f92e054dea72af716082f6eaf0d9486ed39319815341d3ab256484b0aaa34725f000289efdb75e238fcec4701c50248a1c2f7bf94774c17be3c40 SHA512 3ff9532904712726588b493e6300e8422edf5231774fa01308533e184e66c0e73037aff40be66417de2ad066ac8332a4c62ffabd0bc89cecb29d45ce7b3f2013
+DIST parver-0.5.gh.tar.gz 26048 BLAKE2B ff658dd477a707b7756717da73317c73fff521968ab7c16f55aa2d6ab3270d4961f16afd114dc2775d5beeb9208b2e459a0e3f262ebcbfe825015925a2ed2bbd SHA512 55fd52cb229c8358e89053f4c44d8cdb4bfbc8fd79ec40f4b7c6f18f2c848fb025e2be4e907b5cfbeb598e535fed67be4e10cea71d529a21e6d0712679c665d3
diff --git a/dev-python/parver/parver-0.4.ebuild b/dev-python/parver/parver-0.4.ebuild
deleted file mode 100644
index ff23c70cf2a0..000000000000
--- a/dev-python/parver/parver-0.4.ebuild
+++ /dev/null
@@ -1,40 +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="Parse and manipulate version numbers"
-HOMEPAGE="
- https://github.com/RazerM/parver/
- https://pypi.org/project/parver/
-"
-SRC_URI="
- https://github.com/RazerM/parver/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/Arpeggio-1.7[${PYTHON_USEDEP}]
- >=dev-python/attrs-19.2[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.9)
-"
-
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pretend[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/parver/parver-0.5.ebuild b/dev-python/parver/parver-0.5.ebuild
new file mode 100644
index 000000000000..90b283b435a6
--- /dev/null
+++ b/dev-python/parver/parver-0.5.ebuild
@@ -0,0 +1,37 @@
+# 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="Parse and manipulate version numbers"
+HOMEPAGE="
+ https://github.com/RazerM/parver/
+ https://pypi.org/project/parver/
+"
+SRC_URI="
+ https://github.com/RazerM/parver/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/Arpeggio-1.7[${PYTHON_USEDEP}]
+ >=dev-python/attrs-19.2[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/passlib/passlib-1.7.4-r2.ebuild b/dev-python/passlib/passlib-1.7.4-r2.ebuild
index 3a842611f883..708ef7f23b53 100644
--- a/dev-python/passlib/passlib-1.7.4-r2.ebuild
+++ b/dev-python/passlib/passlib-1.7.4-r2.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1 optfeature
+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/
"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
LICENSE="BSD-2"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
diff --git a/dev-python/paste/Manifest b/dev-python/paste/Manifest
index be44253624ef..44424ddb6a0d 100644
--- a/dev-python/paste/Manifest
+++ b/dev-python/paste/Manifest
@@ -1 +1,2 @@
-DIST Paste-3.5.2.tar.gz 638207 BLAKE2B 98d9f508923836e41657b653b1cd70d3cea13121dee375c6cfaf28e6f82ebcc36ba74658ade927fd6802f09bf9d9ca566d2b9bbf3eed5122aedd35ed0ac9d5ec SHA512 a1920dbd7ebea137ca33f8f8c33aad563329d1eea193d84e6aa7fc57690f706c1969e3ba76bbf21a73c59a0fe0f732daa4db15705914ac359814b4332a01bc75
+DIST Paste-3.8.0.tar.gz 636922 BLAKE2B 4952eb6a8c59d0ed653ba9b74cb55fbf0c5a32fa298fc2e6a8c7beb10c4f0a35a82b9e30ca7bf8612f6ae4f4e6e4124974b49ee8f268fc95d15f8f619e3e8222 SHA512 88e21b3a00f7f871292d4c098b1e8c1c5331c9e28a297ca37a40551d11a2f086e6ddedb6ba1a9ec92b9d20c6584703e6ed1e84d236fcaf0378b15729360c52bd
+DIST Paste-3.9.0.tar.gz 637286 BLAKE2B 8bb21f2f6d46750dfff8d9e6377141ea1bcf12848e070138be76823d4dd2bd6be510e420f6568cdab631ab627d45ef93be9815141c6ce31544c4ed38487875e8 SHA512 a9099b89e17f597e853d82cc5d99aaf84fa71ee25e92a382a47a482982800a7e766d8389530ef2a7ad145771ebbabdb1ae5d8370d9cd30121b94e18bcaef3f81
diff --git a/dev-python/paste/metadata.xml b/dev-python/paste/metadata.xml
index 372cf3b31af0..e218c42fdc4b 100644
--- a/dev-python/paste/metadata.xml
+++ b/dev-python/paste/metadata.xml
@@ -11,6 +11,7 @@
those interfaces.</longdescription>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">cdent/paste</remote-id>
<remote-id type="pypi">Paste</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/paste/paste-3.5.2.ebuild b/dev-python/paste/paste-3.5.2.ebuild
deleted file mode 100644
index 87462b9b927f..000000000000
--- a/dev-python/paste/paste-3.5.2.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} pypy3 )
-
-inherit distutils-r1
-
-MY_P="Paste-${PV}"
-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/
-"
-SRC_URI="mirror://pypi/${MY_P::1}/${PN^}/${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 ~x64-macos ~sparc-solaris"
-
-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.11 ]] && EPYTEST_DESELECT+=(
- # fails due to cgi deprecation warning
- tests/test_cgiapp.py::test_form
- )
-
- epytest
-}
diff --git a/dev-python/paste/paste-3.8.0.ebuild b/dev-python/paste/paste-3.8.0.ebuild
new file mode 100644
index 000000000000..fba172447066
--- /dev/null
+++ b/dev-python/paste/paste-3.8.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
+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/paste/paste-3.9.0.ebuild b/dev-python/paste/paste-3.9.0.ebuild
new file mode 100644
index 000000000000..3a332f892652
--- /dev/null
+++ b/dev-python/paste/paste-3.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_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"
+
+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/pastedeploy/Manifest b/dev-python/pastedeploy/Manifest
index 13af0bc6a3ef..98b72f7c9437 100644
--- a/dev-python/pastedeploy/Manifest
+++ b/dev-python/pastedeploy/Manifest
@@ -1 +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 d19eceb5c44a..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_{9..11} 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 ~x86-solaris"
-
-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
new file mode 100644
index 000000000000..049e9f93e6f4
--- /dev/null
+++ b/dev-python/pastedeploy/pastedeploy-3.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 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/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 82aed98e1228..5a63c18616e4 100644
--- a/dev-python/pastel/pastel-0.2.1-r1.ebuild
+++ b/dev-python/pastel/pastel-0.2.1-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -20,6 +20,6 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~x86"
distutils_enable_tests pytest
diff --git a/dev-python/patatt/patatt-0.6.2.ebuild b/dev-python/patatt/patatt-0.6.2.ebuild
index 52bbf5a324c4..f28ca2403e7e 100644
--- a/dev-python/patatt/patatt-0.6.2.ebuild
+++ b/dev-python/patatt/patatt-0.6.2.ebuild
@@ -6,14 +6,13 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A simple library to add cryptographic attestation to patches sent via email"
HOMEPAGE="https://pypi.org/project/patatt/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="dev-python/pynacl[${PYTHON_USEDEP}]"
diff --git a/dev-python/patch-ng/Manifest b/dev-python/patch-ng/Manifest
index 1db7aa9b24b4..c88444691fee 100644
--- a/dev-python/patch-ng/Manifest
+++ b/dev-python/patch-ng/Manifest
@@ -1 +1 @@
-DIST patch-ng-1.17.4.tar.gz 168306 BLAKE2B 78067e3c3d296a21f8fd4155fe770245ba4457cb9e37003f5e7667c30827878a8c06d62c77bb1fdaf61b96a813612a7c39800d7040b13a9d18f0baeccbd86ba1 SHA512 919c04c3adfa36672f3db5f1761a12ccbb08ccfb890015bb0d27b1801c8c7dba99c4da01674b269703a7cbf39df5889f5c446551bb4cf7039dc383c23d8a5db3
+DIST patch-ng-1.17.4.gh.tar.gz 168306 BLAKE2B 78067e3c3d296a21f8fd4155fe770245ba4457cb9e37003f5e7667c30827878a8c06d62c77bb1fdaf61b96a813612a7c39800d7040b13a9d18f0baeccbd86ba1 SHA512 919c04c3adfa36672f3db5f1761a12ccbb08ccfb890015bb0d27b1801c8c7dba99c4da01674b269703a7cbf39df5889f5c446551bb4cf7039dc383c23d8a5db3
diff --git a/dev-python/patch-ng/patch-ng-1.17.4-r1.ebuild b/dev-python/patch-ng/patch-ng-1.17.4-r1.ebuild
new file mode 100644
index 000000000000..f92f1b0c4aea
--- /dev/null
+++ b/dev-python/patch-ng/patch-ng-1.17.4-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Library to parse and apply unified diffs, fork of dev-python/patch"
+HOMEPAGE="https://github.com/conan-io/python-patch-ng https://pypi.org/project/patch-ng/"
+SRC_URI="https://github.com/conan-io/python-patch-ng/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}/python-${P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86 ~amd64-linux ~x86-linux"
+
+distutils_enable_tests unittest
+
+python_test() {
+ "${EPYTHON}" -m unittest -v tests/run_tests.py || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/patch-ng/patch-ng-1.17.4.ebuild b/dev-python/patch-ng/patch-ng-1.17.4.ebuild
deleted file mode 100644
index 341dc97f17ca..000000000000
--- a/dev-python/patch-ng/patch-ng-1.17.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Library to parse and apply unified diffs, fork of dev-python/patch"
-HOMEPAGE="https://github.com/conan-io/python-patch-ng https://pypi.org/project/patch-ng/"
-SRC_URI="https://github.com/conan-io/python-patch-ng/archive/${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/python-${P}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-distutils_enable_tests unittest
-
-python_test() {
- "${EPYTHON}" -m unittest -v tests/run_tests.py || die "Tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/path-and-address/metadata.xml b/dev-python/path-and-address/metadata.xml
index 5497bd41a20e..1838b58c5891 100644
--- a/dev-python/path-and-address/metadata.xml
+++ b/dev-python/path-and-address/metadata.xml
@@ -1,13 +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>
<maintainer type="person">
<email>bkohler@gentoo.org</email>
<name>Ben Kohler</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">joeyespo/path-and-address</remote-id>
<remote-id type="pypi">path-and-address</remote-id>
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
new file mode 100644
index 000000000000..44c21d84f23c
--- /dev/null
+++ b/dev-python/path-and-address/path-and-address-2.0.1-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( pypy3 python3_{9..12} )
+PYPI_NO_NORMALIZE=1
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 pypi
+
+DESCRIPTION="Functions for server CLI applications used by humans"
+HOMEPAGE="https://github.com/joeyespo/path-and-address"
+LICENSE="MIT"
+
+SLOT="0"
+SRC_URI="$(pypi_sdist_url --no-normalize ${PN} ${PV} .zip)"
+
+KEYWORDS="amd64"
+
+BDEPEND="app-arch/unzip"
diff --git a/dev-python/path-and-address/path-and-address-2.0.1.ebuild b/dev-python/path-and-address/path-and-address-2.0.1.ebuild
deleted file mode 100644
index b65e43329c66..000000000000
--- a/dev-python/path-and-address/path-and-address-2.0.1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Functions for server CLI applications used by humans"
-HOMEPAGE="https://github.com/joeyespo/path-and-address"
-LICENSE="MIT"
-
-SLOT="0"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
-
-KEYWORDS="amd64"
-
-BDEPEND="app-arch/unzip"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/path/Manifest b/dev-python/path/Manifest
index 54f88c0201b0..bff44a55f1a0 100644
--- a/dev-python/path/Manifest
+++ b/dev-python/path/Manifest
@@ -1 +1,4 @@
-DIST path-16.6.0.gh.tar.gz 45238 BLAKE2B f1fa3a23ba19f623ca276496c1fa7351ea02858710f2dddbf5f4d96cf2c9f8fc3325c74a56f1b4dec809e28e927f2c8adab913eed9d8893016e0fd3d0b3a662d SHA512 4d7772b7eb7017bee78f95f30f6286b14750d6d8edbf5f58617ede12bd664f1b893921b89bb64f797e1d2eb7e67e361d8f1e01618fee26d64a5b879a3854aead
+DIST path-16.10.0.tar.gz 49271 BLAKE2B 36762e0b50d74b07db14ca01c6d94577f24b36c007eda58de4b63197cd91f869efbdc5ac1ceb270f1fc5e5a07c4c87f6cabd10cbac5fac74681f73451a3f73e1 SHA512 a5dfa964f5ffd4c2aa27733716b67437f02fd6dedc8c574bb87a9a3ac64eb60d27c3a05217aa4859293ebd96bdd17cdb1a04ea21c6ad35b7b22f05725826c057
+DIST path-16.10.2.tar.gz 49415 BLAKE2B 3784b557bc31b17523a0fe37ebc646f932edd2427c6cae6d3544db29a689026b1e828d0d105234af10787f494ff1afce95e7935a36f01477a9434ce8994113d9 SHA512 df698a44b7c3f0b0dac1f5a3668c3a76f0b473921696bba2e4a66d4b7c7379bcda5938a9800a628dbaa487b6a35920266edee13ea829ee0f4cabb3ec1c30dca1
+DIST path-16.12.1.tar.gz 49685 BLAKE2B 2e2fca5db8ed82764686f4cb9a3de0ce18ce92e6e70999ffd93f13638a061cb2b3624d96f91740cba3efc9fcb8d80c37b55ab9595138e90764093901ab05c111 SHA512 144710438a0ed6f433094f9c27c0f9a3de02e6ee3fad337092a3b8d3c969746f330d4380924ba2ef17f99dc2757cde47115e392f6ee393bcd9f650e0f214d145
+DIST path-16.14.0.tar.gz 50076 BLAKE2B 0046501fc05e65a211360e84cd30e312c6b1a18d482a36b8451d338cd8c87749254fc31dbe497ec55d55880dab0eae3b88ce412b2058454c0c1ad01cb180d522 SHA512 1b35bf06413d3f5da5fd818b2327458ef92a3bcb7e0d8108e4db113e3819f3723384650f7f9e889862bfcd2bc761f2be46932d11023f5a1dcda6bb4c51074ec0
diff --git a/dev-python/path/path-16.10.0.ebuild b/dev-python/path/path-16.10.0.ebuild
new file mode 100644
index 000000000000..09894ede6758
--- /dev/null
+++ b/dev-python/path/path-16.10.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..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/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.10.2.ebuild b/dev-python/path/path-16.10.2.ebuild
new file mode 100644
index 000000000000..5346cd3c6d67
--- /dev/null
+++ b/dev-python/path/path-16.10.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..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/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.12.1.ebuild b/dev-python/path/path-16.12.1.ebuild
new file mode 100644
index 000000000000..5346cd3c6d67
--- /dev/null
+++ b/dev-python/path/path-16.12.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} 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/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.14.0.ebuild b/dev-python/path/path-16.14.0.ebuild
new file mode 100644
index 000000000000..5bb399e2402a
--- /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..12} 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.6.0.ebuild b/dev-python/path/path-16.6.0.ebuild
deleted file mode 100644
index 92ebbe5403b9..000000000000
--- a/dev-python/path/path-16.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A module wrapper for os.path"
-HOMEPAGE="
- https://github.com/jaraco/path/
- https://pypi.org/project/path/
-"
-SRC_URI="
- https://github.com/jaraco/path/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-SLOT="0"
-LICENSE="MIT"
-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/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
-)
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/pathable/pathable-0.4.3.ebuild b/dev-python/pathable/pathable-0.4.3.ebuild
index 7e2f2ab79f66..aec721f206ce 100644
--- a/dev-python/pathable/pathable-0.4.3.ebuild
+++ b/dev-python/pathable/pathable-0.4.3.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
DESCRIPTION="Object-oriented paths"
@@ -18,7 +18,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
distutils_enable_tests pytest
diff --git a/dev-python/pathlib2/pathlib2-2.3.7_p1-r1.ebuild b/dev-python/pathlib2/pathlib2-2.3.7_p1-r1.ebuild
new file mode 100644
index 000000000000..b9724da0146f
--- /dev/null
+++ b/dev-python/pathlib2/pathlib2-2.3.7_p1-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+# this is a backport, please do not add newer impls unless necessary
+PYTHON_COMPAT=( pypy3 python3_9 )
+
+inherit distutils-r1
+
+MY_P=${P/_p/-post}
+DESCRIPTION="Backport of pathlib aiming to support the full stdlib Python API"
+HOMEPAGE="
+ https://pypi.org/project/pathlib2/
+ https://github.com/jazzband/pathlib2/
+"
+SRC_URI="
+ https://github.com/jazzband/pathlib2/archive/${PV/_p/-post}.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/six[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pathlib2/pathlib2-2.3.7_p1.ebuild b/dev-python/pathlib2/pathlib2-2.3.7_p1.ebuild
deleted file mode 100644
index 8b820d39c892..000000000000
--- a/dev-python/pathlib2/pathlib2-2.3.7_p1.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
-# this is a backport, please do not add newer impls unless necessary
-PYTHON_COMPAT=( pypy3 python3_9 )
-
-inherit distutils-r1
-
-MY_P=${P/_p/-post}
-DESCRIPTION="Backport of pathlib aiming to support the full stdlib Python API"
-HOMEPAGE="
- https://pypi.org/project/pathlib2/
- https://github.com/jazzband/pathlib2/
-"
-SRC_URI="
- https://github.com/jazzband/pathlib2/archive/${PV/_p/-post}.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"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pathspec/Manifest b/dev-python/pathspec/Manifest
index 57c18f4f5db5..6e2bddebcee2 100644
--- a/dev-python/pathspec/Manifest
+++ b/dev-python/pathspec/Manifest
@@ -1,2 +1 @@
-DIST pathspec-0.10.3.tar.gz 45821 BLAKE2B ae7c29bbb58d896de555b142ac18879f8a82437a2a701abfb259d40e3a5f992989c274a24c8c70ee6cbe6dbbe6a5030c67c1164e7f3eaa5563ab54cdad403581 SHA512 d0876374ab20d3624f1ba522de30472e401220ef3b269df9ea2e20526d5abddb8fd19866b0e3405a4746beb3a4b4b6f21ada4da5b7292a46febd6d418829e0f3
-DIST pathspec-0.11.0.tar.gz 45214 BLAKE2B 96b84fe78c8540ec9145c2735936c437b6eaff4e4f15e37de0c13c147e15c8852a19db4f4c9ce0dcf43dc543ac021edb148321b3a099b0915380ec243dd87041 SHA512 accce445ff5257baf9a3c055d337d8668f1c8db2b9f9641f174ae9d2307dc15810a1f45947d2b2a3838b85dd03ee04f54660d6d5590e24861021532515f6dff4
+DIST pathspec-0.12.1.tar.gz 51043 BLAKE2B e5cf93dc0a24a51bdcbcec807514344ed4e39029a8f1abe8db7cf8fa4883ac2e74f8b1a3ad6cd44bcff538b5eecc5b091b145c6c8d170de574ce9217d58855cb SHA512 19d1a8ae5936e76eacd691b0e2fb33d0de376556751a9ae007f6b09d0aa36af7d171101df620cab3e93c9913be578ff3d6bba9d4460351ac248e5c9e015380ad
diff --git a/dev-python/pathspec/pathspec-0.10.3.ebuild b/dev-python/pathspec/pathspec-0.10.3.ebuild
deleted file mode 100644
index ef34b0fdabaa..000000000000
--- a/dev-python/pathspec/pathspec-0.10.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Utility library for gitignore style pattern matching of file paths"
-HOMEPAGE="
- https://github.com/cpburnz/python-pathspec/
- https://pypi.org/project/pathspec/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-distutils_enable_tests unittest
diff --git a/dev-python/pathspec/pathspec-0.11.0.ebuild b/dev-python/pathspec/pathspec-0.11.0.ebuild
deleted file mode 100644
index 7fd0f71c54f8..000000000000
--- a/dev-python/pathspec/pathspec-0.11.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=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Utility library for gitignore style pattern matching of file paths"
-HOMEPAGE="
- https://github.com/cpburnz/python-pathspec/
- https://pypi.org/project/pathspec/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-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..11a34a2daf73
--- /dev/null
+++ b/dev-python/pathspec/pathspec-0.12.1.ebuild
@@ -0,0 +1,21 @@
+# 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/pathvalidate/Manifest b/dev-python/pathvalidate/Manifest
index 3d216b6eada5..c0fa5e10012e 100644
--- a/dev-python/pathvalidate/Manifest
+++ b/dev-python/pathvalidate/Manifest
@@ -1 +1 @@
-DIST pathvalidate-2.5.2.tar.gz 26715 BLAKE2B aa42a6592b36b339611cd4bc70412e92da10a57838df4c668c0438c56aa714842c37d8c5239cbc1e89c7f52a2d4fce2ee9df2301fb168ca0aa0cac6f21c9a43a SHA512 44c9d329f60deb81590854e0aa4699e4105821535aa5bf306c78df395c510ce851075db246937a459f46ee2f9abc54538a4a48995b94f5eb031f14fe60c769ce
+DIST pathvalidate-3.2.0.tar.gz 31246 BLAKE2B 9b30ae5957e2e062ef38b784894aec538e47df03c26c76d82145c4ed7363c63035345db4229b705a6df10a75473e7c0a0f3b44884b6d2ac7ac83f8c138edbd8d SHA512 e3a898bb3a1a35b7851600d6c8a6254220905a95e0dca2e697e0aa95857e3a741e3b77c3c3f0aadc42f458fabd5f1b10d34f99434e7aa3891836470b7a33a77f
diff --git a/dev-python/pathvalidate/pathvalidate-2.5.2.ebuild b/dev-python/pathvalidate/pathvalidate-2.5.2.ebuild
deleted file mode 100644
index 82b05ec8e1b4..000000000000
--- a/dev-python/pathvalidate/pathvalidate-2.5.2.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=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python library to sanitize/validate a string such as filenames/file-paths/etc"
-HOMEPAGE="https://github.com/thombashi/pathvalidate"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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/pathvalidate/pathvalidate-3.2.0.ebuild b/dev-python/pathvalidate/pathvalidate-3.2.0.ebuild
new file mode 100644
index 000000000000..e99bf7bd521a
--- /dev/null
+++ b/dev-python/pathvalidate/pathvalidate-3.2.0.ebuild
@@ -0,0 +1,31 @@
+# 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 ~arm64 ~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 054d06521ce4..c2391999b8ed 100644
--- a/dev-python/patiencediff/Manifest
+++ b/dev-python/patiencediff/Manifest
@@ -1 +1 @@
-DIST patiencediff-0.2.12.tar.gz 26936 BLAKE2B 674d1a0397c7d8d75be647e22ee002593d2b175a4fa607f1343fa0eba3cb0a6810178cea9cf26c41bd2f592913a72f4910ae1d1a9402f3558e93d26c1a139885 SHA512 23ff933623f0445dc3cb91e0825e00c465255edf777c2b9b2f9fec907c1fa74e60790d8f23c9de91d0950a7ef6aacd8756ded3e219d32771fb18e1fcb5c85565
+DIST patiencediff-0.2.14.tar.gz 29258 BLAKE2B 1b7aee1053d08bb5a3e40f62ef39d1f8fe38635a1b5303b33f67df1b8d63a311e3c6523fc5c40f7457c7213db18daa5e839f120fc09e8e1fb2c7524462165a07 SHA512 624db38a072906557a430555d52f914030d1933237cedda76804faafe26d1ff2ad4a569ec90ad887162e48a57078a1accc19e2f417ab095f5b6435912d280998
diff --git a/dev-python/patiencediff/patiencediff-0.2.12.ebuild b/dev-python/patiencediff/patiencediff-0.2.12.ebuild
deleted file mode 100644
index 594fbac6b405..000000000000
--- a/dev-python/patiencediff/patiencediff-0.2.12.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python implementation of the patiencediff algorithm"
-HOMEPAGE="
- https://github.com/breezy-team/patiencediff/
- https://pypi.org/project/patiencediff/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~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
new file mode 100644
index 000000000000..85391f492bec
--- /dev/null
+++ b/dev-python/patiencediff/patiencediff-0.2.14.ebuild
@@ -0,0 +1,27 @@
+# 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/patsy/Manifest b/dev-python/patsy/Manifest
index 4b6452e86436..a53e0f32064c 100644
--- a/dev-python/patsy/Manifest
+++ b/dev-python/patsy/Manifest
@@ -1 +1 @@
-DIST patsy-0.5.3.tar.gz 397680 BLAKE2B 43696f9e95c124cab5bf907723596d8b2b15f0539fbd2b9c2a2fcc76591e935020929ba31fd5378114fe58d22a9931508d89edf21f24b00c916a6e78dc4ee58f SHA512 9a6ea2382287208013e02bab7cba9378311a8e18fe059593aa99090bb6191efa74badff011424a7f6b3c8ec72c1b8650637322b71617f23357bb4b38ac6a79a0
+DIST patsy-0.5.6.tar.gz 398011 BLAKE2B c5fb15c57e270e3545cfdc8c13f8e745c94822be6684aa6703bdbc1da15ea63eb7a21d1e0bd1aaed2a4d919f4848fd9089dbcd3c304676e0a9512d13f94302bb SHA512 df73ddfa0e66088cb50133240e2d67e2a833d8f691e17b443cdc0661adf580eb8908b1e1082e8debd91439bbe7b990a9a455f16bd6773173c7e86273f2c1051b
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 f1a4ba4de248..000000000000
--- a/dev-python/patsy/patsy-0.5.3-r1.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
-inherit distutils-r1
-
-DESCRIPTION="Python module to describe statistical models and design matrices"
-HOMEPAGE="https://patsy.readthedocs.io/en/latest/index.html"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.6.ebuild b/dev-python/patsy/patsy-0.5.6.ebuild
new file mode 100644
index 000000000000..6643571e86f2
--- /dev/null
+++ b/dev-python/patsy/patsy-0.5.6.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[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ !hppa? (
+ dev-python/scipy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pbkdf2/pbkdf2-1.3-r2.ebuild b/dev-python/pbkdf2/pbkdf2-1.3-r2.ebuild
index 0229e5fd78d6..43faf5e46db1 100644
--- a/dev-python/pbkdf2/pbkdf2-1.3-r2.ebuild
+++ b/dev-python/pbkdf2/pbkdf2-1.3-r2.ebuild
@@ -4,17 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Implementation of PBKDF2, specified in RSA PKCS#5 v2.0"
-HOMEPAGE="https://www.dlitz.net/software/python-pbkdf2/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://www.dlitz.net/software/python-pbkdf2/
+ https://pypi.org/project/pbkdf2/
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux"
+KEYWORDS="amd64 ~arm arm64 x86 ~amd64-linux"
python_test() {
"${EPYTHON}" test/test_pbkdf2.py -v || die "Tests failed with ${EPYTHON}"
diff --git a/dev-python/pbr/Manifest b/dev-python/pbr/Manifest
index 176c9088cc42..3d2779411bd6 100644
--- a/dev-python/pbr/Manifest
+++ b/dev-python/pbr/Manifest
@@ -1,2 +1 @@
-DIST pbr-5.11.0.tar.gz 127505 BLAKE2B 201fcd04ded1f909f4792886ddf79a5a764318645ff6b6245543cde2940d502ab711820cb6e999894a339df933e43e6a8394bd8ec1e978d930710a3085b131fd SHA512 bdb442e8ef7bda90a65c5fb7f0696041808278fcc643eb0c15d5401b7da7d64cd3566018b1046145f55bc5683791ee182bec92461801004b02a35b8bf4c5abf0
-DIST pbr-5.11.1.tar.gz 127597 BLAKE2B 4ed433f271b4cbed3e7baca66cbeef057d575b7b061507c45a65ba93704edbed7b6f8668e9b9766f03079aaf06dbd6c394960c1c528b1beb992db65d0c3b89e4 SHA512 466dc5ce2622c43451186698f00d405141878449ffe9f7771b0057e8356bf12b426a9bfefff7e5843f1b3f963af3ffc9c4a42fa91a9407b79617abea046ff438
+DIST pbr-6.0.0.tar.gz 123150 BLAKE2B ed41fcf9febc11fe664d3045a8ac01f7a549f770e359b29045508653bffa838d91797c4aec5d5d1eba97907e83fb199f78afa4fd6f0b6be6b93b2e5f781d4425 SHA512 35cb184b02c9bc38e839e652d1f114197b2a82255f824253e156666a07dee1d19823ab4f2fb17b1f4376c775295f533e006cb58136ee978f9989e98a3f782120
diff --git a/dev-python/pbr/pbr-5.11.0.ebuild b/dev-python/pbr/pbr-5.11.0.ebuild
deleted file mode 100644
index 1ebeff6fa025..000000000000
--- a/dev-python/pbr/pbr-5.11.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_TESTED=( python3_{9..11} )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Inject some useful and sensible default behaviors into setuptools"
-HOMEPAGE="
- https://opendev.org/openstack/pbr/
- https://github.com/openstack/pbr/
- https://pypi.org/project/pbr/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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-cygwin ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/setuptools-60.5.0[${PYTHON_USEDEP}]
-"
-# git is needed for tests, see https://bugs.launchpad.net/pbr/+bug/1326682 and https://bugs.gentoo.org/show_bug.cgi?id=561038
-# docutils is needed for sphinx exceptions... https://bugs.gentoo.org/show_bug.cgi?id=603848
-# stestr is run as external tool
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- >=dev-python/wheel-0.32.0[${PYTHON_USEDEP}]
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.12.0[${PYTHON_USEDEP}]
- dev-python/sphinx[${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}]
- >=dev-python/virtualenv-20.0.3[${PYTHON_USEDEP}]
- dev-vcs/git
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-distutils_enable_tests unittest
-
-python_prepare_all() {
- # TODO: investigate
- sed -e 's:test_console_script_develop:_&:' \
- -e 's:test_console_script_install:_&:' \
- -e 's:test_setup_py_keywords:_&:' \
- -i pbr/tests/test_core.py || die
- # network
- rm pbr/tests/test_wsgi.py || die
- # installs random packages via pip from the Internet
- sed -e 's:test_requirement_parsing:_&:' \
- -e 's:test_pep_517_support:_&:' \
- -i pbr/tests/test_packaging.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Testing on ${EPYTHON} is not supported at the moment"
- return
- fi
-
- eunittest -b
-}
diff --git a/dev-python/pbr/pbr-5.11.1.ebuild b/dev-python/pbr/pbr-5.11.1.ebuild
deleted file mode 100644
index 0e554ba255b9..000000000000
--- a/dev-python/pbr/pbr-5.11.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=setuptools
-PYTHON_TESTED=( python3_{9..11} )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Inject some useful and sensible default behaviors into setuptools"
-HOMEPAGE="
- https://opendev.org/openstack/pbr/
- https://github.com/openstack/pbr/
- https://pypi.org/project/pbr/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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-cygwin ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/setuptools-60.5.0[${PYTHON_USEDEP}]
-"
-# git is needed for tests, see https://bugs.launchpad.net/pbr/+bug/1326682 and https://bugs.gentoo.org/show_bug.cgi?id=561038
-# docutils is needed for sphinx exceptions... https://bugs.gentoo.org/show_bug.cgi?id=603848
-# stestr is run as external tool
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- >=dev-python/wheel-0.32.0[${PYTHON_USEDEP}]
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.12.0[${PYTHON_USEDEP}]
- dev-python/sphinx[${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}]
- >=dev-python/virtualenv-20.0.3[${PYTHON_USEDEP}]
- dev-vcs/git
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-distutils_enable_tests unittest
-
-python_prepare_all() {
- # TODO: investigate
- sed -e 's:test_console_script_develop:_&:' \
- -e 's:test_console_script_install:_&:' \
- -e 's:test_setup_py_keywords:_&:' \
- -i pbr/tests/test_core.py || die
- # network
- rm pbr/tests/test_wsgi.py || die
- # installs random packages via pip from the Internet
- sed -e 's:test_requirement_parsing:_&:' \
- -e 's:test_pep_517_support:_&:' \
- -i pbr/tests/test_packaging.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Testing on ${EPYTHON} is not supported at the moment"
- return
- fi
-
- eunittest -b
-}
diff --git a/dev-python/pbr/pbr-6.0.0.ebuild b/dev-python/pbr/pbr-6.0.0.ebuild
new file mode 100644
index 000000000000..61b026af75cc
--- /dev/null
+++ b/dev-python/pbr/pbr-6.0.0.ebuild
@@ -0,0 +1,72 @@
+# 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} )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Inject some useful and sensible default behaviors into setuptools"
+HOMEPAGE="
+ https://opendev.org/openstack/pbr/
+ https://github.com/openstack/pbr/
+ https://pypi.org/project/pbr/
+"
+
+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"
+
+RDEPEND="
+ >=dev-python/setuptools-60.5.0[${PYTHON_USEDEP}]
+"
+
+# git is needed for tests, see https://bugs.launchpad.net/pbr/+bug/1326682 and
+# https://bugs.gentoo.org/show_bug.cgi?id=561038 docutils is needed for sphinx
+# exceptions... https://bugs.gentoo.org/show_bug.cgi?id=603848 stestr is run as
+# external tool.
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/wheel-0.32.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.12.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}]
+ >=dev-python/virtualenv-20.0.3[${PYTHON_USEDEP}]
+ dev-vcs/git
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests unittest
+
+python_prepare_all() {
+ # TODO: investigate
+ sed -e 's:test_console_script_develop:_&:' \
+ -e 's:test_console_script_install:_&:' \
+ -e 's:test_setup_py_keywords:_&:' \
+ -i pbr/tests/test_core.py || die
+ # network
+ rm pbr/tests/test_wsgi.py || die
+ # installs random packages via pip from the Internet
+ sed -e 's:test_requirement_parsing:_&:' \
+ -e 's:test_pep_517_support:_&:' \
+ -i pbr/tests/test_packaging.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Testing on ${EPYTHON} is not supported at the moment"
+ return
+ fi
+
+ eunittest -b
+}
diff --git a/dev-python/pbs-installer/Manifest b/dev-python/pbs-installer/Manifest
new file mode 100644
index 000000000000..64f270ba927d
--- /dev/null
+++ b/dev-python/pbs-installer/Manifest
@@ -0,0 +1 @@
+DIST pbs-installer-2024.4.1.gh.tar.gz 68006 BLAKE2B 5455b00dd08881e78fbbc9b565e9224ee7d04f17855da9869fcb420fcbf8ee3743e6f21113d406bcfb66e786788735bd1ef2d3bfa30a14a5a74fb2c36e8f3d0a SHA512 407ffc7a7f5430d8f889f32b53614cc2c5e3fb05937905d6b43c7ca9151f3d5cb794bcd60633e4945dc62555cc6575d75e0b7b7a1e5dc0c9f99c2318fada3a10
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.1.ebuild b/dev-python/pbs-installer/pbs-installer-2024.4.1.ebuild
new file mode 100644
index 000000000000..dfe012214833
--- /dev/null
+++ b/dev-python/pbs-installer/pbs-installer-2024.4.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=pdm-backend
+PYTHON_COMPAT=( python3_{10..12} )
+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/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+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/Manifest b/dev-python/pdfrw/Manifest
index 17ba1dd8c366..ab1fb3bd9836 100644
--- a/dev-python/pdfrw/Manifest
+++ b/dev-python/pdfrw/Manifest
@@ -1,2 +1,2 @@
-DIST pdfrw-0.4-1.tar.gz 143615 BLAKE2B 281dc94c762dcc776e2c9c84609b59ca32387510bcfbec39271a6073533f9ad5d416cf4250b3dcd8564973d197ce090719c5561f58b972c89d463b90723ac8e6 SHA512 f2ef6a966cb1b947425679e6c16e658b5d1dbc13d62fb2e1edc278508b03f6c6847b3c83dab8bcd7df3438e587df066bc16b653461ae402bb8688ddb05f4e886
+DIST pdfrw-0.4-1.gh.tar.gz 143615 BLAKE2B 281dc94c762dcc776e2c9c84609b59ca32387510bcfbec39271a6073533f9ad5d416cf4250b3dcd8564973d197ce090719c5561f58b972c89d463b90723ac8e6 SHA512 f2ef6a966cb1b947425679e6c16e658b5d1dbc13d62fb2e1edc278508b03f6c6847b3c83dab8bcd7df3438e587df066bc16b653461ae402bb8688ddb05f4e886
DIST pdfrw-static_pdfs-d646009a0e3e71daf13a52ab1029e2230920ebf4.tar.gz 25243391 BLAKE2B 5c491d56c9731352907787bbe10b8b3ac362f0c7892ddcd15a1299d3b2b4bb604662f6231aa22478290992a345e769af2e2c2459a25a16c370ea05fa68101f80 SHA512 9bf1d5ddc8f55b40b50041e745579406bb0036fb7795ac40064aad7cdf592869051ba84a5ab080042e237690bb2f1811b86b2a4424535aa4c367f6e29a0c34eb
diff --git a/dev-python/pdfrw/pdfrw-0.4_p1-r1.ebuild b/dev-python/pdfrw/pdfrw-0.4_p1-r1.ebuild
new file mode 100644
index 000000000000..94e7a27f4547
--- /dev/null
+++ b/dev-python/pdfrw/pdfrw-0.4_p1-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+PDFS_COMMIT=d646009a0e3e71daf13a52ab1029e2230920ebf4
+DESCRIPTION="PDF file reader/writer library"
+HOMEPAGE="
+ https://github.com/sarnold/pdfrw/
+ https://pypi.org/project/pdfrw/
+"
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/sarnold/pdfrw.git"
+ EGIT_BRANCH="main"
+ inherit git-r3
+else
+ MY_PV="${PV/_p/-}"
+ MY_P="${PN}-${MY_PV}"
+ SRC_URI="
+ https://github.com/sarnold/pdfrw/archive/${MY_PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+ test? (
+ https://github.com/pmaupin/static_pdfs/archive/${PDFS_COMMIT}.tar.gz
+ -> pdfrw-static_pdfs-${PDFS_COMMIT}.tar.gz
+ )
+ "
+ KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ppc ppc64 ~sparc x86"
+ S=${WORKDIR}/${MY_P}
+fi
+
+LICENSE="BSD MIT"
+SLOT="0"
+IUSE="crypt"
+
+RDEPEND="
+ crypt? (
+ dev-python/pycryptodome[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/reportlab[${PYTHON_USEDEP}]
+ )
+"
+
+# unittest would be sufficient but its output is unreadable
+distutils_enable_tests pytest
+
+src_unpack() {
+ default
+ if use test; then
+ mv "static_pdfs-${PDFS_COMMIT}"/* "${MY_P}"/tests/static_pdfs || die
+ fi
+}
+
+src_prepare() {
+ eapply "${FILESDIR}/pdfrw-fix-import-collections-warning.patch"
+ use test && eapply "${FILESDIR}/pdfrw-static-fix-import-collections-warning.patch"
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/pdfrw/pdfrw-0.4_p1.ebuild b/dev-python/pdfrw/pdfrw-0.4_p1.ebuild
deleted file mode 100644
index 3bb2b9690104..000000000000
--- a/dev-python/pdfrw/pdfrw-0.4_p1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-PDFS_COMMIT=d646009a0e3e71daf13a52ab1029e2230920ebf4
-DESCRIPTION="PDF file reader/writer library"
-HOMEPAGE="https://github.com/sarnold/pdfrw"
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/sarnold/pdfrw.git"
- EGIT_BRANCH="main"
- inherit git-r3
-else
- MY_PV="${PV/_p/-}"
- MY_P="${PN}-${MY_PV}"
- SRC_URI="https://github.com/sarnold/${PN}/archive/${MY_PV}.tar.gz -> ${PN}-${MY_PV}.tar.gz
- test? ( https://github.com/pmaupin/static_pdfs/archive/${PDFS_COMMIT}.tar.gz
- -> pdfrw-static_pdfs-${PDFS_COMMIT}.tar.gz )"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
- S="${WORKDIR}/${MY_P}"
-fi
-
-LICENSE="BSD MIT"
-SLOT="0"
-IUSE="crypt"
-
-BDEPEND="dev-python/pillow[${PYTHON_USEDEP}]
- crypt? ( dev-python/pycryptodome[${PYTHON_USEDEP}] )
- test? ( dev-python/reportlab[${PYTHON_USEDEP}] )"
-
-# unittest would be sufficient but its output is unreadable
-distutils_enable_tests pytest
-
-src_unpack() {
- default
- if use test; then
- mv "static_pdfs-${PDFS_COMMIT}"/* "${MY_P}"/tests/static_pdfs || die
- fi
-}
-
-src_prepare() {
- # broken upstream (sensitive to reportlab version?)
- #sed -e 's:test_rl1_platypus:_&:' \
- # -i tests/test_examples.py || die
- eapply "${FILESDIR}/pdfrw-fix-import-collections-warning.patch"
- use test && eapply "${FILESDIR}/pdfrw-static-fix-import-collections-warning.patch"
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pdm-backend/Manifest b/dev-python/pdm-backend/Manifest
new file mode 100644
index 000000000000..77caecf2f006
--- /dev/null
+++ b/dev-python/pdm-backend/Manifest
@@ -0,0 +1,3 @@
+DIST pdm-backend-2.1.8.gh.tar.gz 134738 BLAKE2B 5baf6db7193f27de5aa89e41852c714de7d2aa7fd9f75de9b1f1ebd455052bc9d9d47d95dbbed3436e9e9dae79c9a1d0ec54d71a4437036869de38aa035f0642 SHA512 975dad24d128a01b5484f62aece3b209eb3dddf3800c75e422ed1dd0d4cbe15ce60a155d6ed0cec4104eef47cad822e56a2379c877e3f5c8c719dfa86d8800c7
+DIST pdm-backend-2.2.0.gh.tar.gz 135965 BLAKE2B 7e4bfd68fb882caf91c0d7fe4164de9cb37b31ca158b25398a9c129edae42ad8a8ee811fd6819bda861b1412a44ea6c88b2b806b92b2a7bfaf531e947461be58 SHA512 8126b15852c25c27a70f6c39f9067b8617226648578f270c08f8030c2a9c181eb1a9162e17dc9d57a90268c2aad3f02120eb47bc8df674de1060e9de30a05e12
+DIST pdm-backend-2.2.1.gh.tar.gz 136401 BLAKE2B 4d761a689f8e3ff5e5cb300d4a2aa76a3ebd7663e0fa34a5d4a1b7ad26ada07e2d8c128b66549cafaa2d86f714db20b925dd4081226c87ecb8e09c4ee7f1c6dd SHA512 f10048492e33fcf68b94cd24e4e5091b54adb7a848dbf2160b5a8a88e3aac2af8c15a421e4dda8ed14eb9d8e4d6830c5aaace3ec67038786f11d2c37f51ae607
diff --git a/dev-python/pdm-backend/metadata.xml b/dev-python/pdm-backend/metadata.xml
new file mode 100644
index 000000000000..b27d716c3e92
--- /dev/null
+++ b/dev-python/pdm-backend/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">pdm-backend</remote-id>
+ <remote-id type="github">pdm-project/pdm-backend</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pdm-backend/pdm-backend-2.1.8.ebuild b/dev-python/pdm-backend/pdm-backend-2.1.8.ebuild
new file mode 100644
index 000000000000..feddb5abeab3
--- /dev/null
+++ b/dev-python/pdm-backend/pdm-backend-2.1.8.ebuild
@@ -0,0 +1,68 @@
+# 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..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="~alpha 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.2.0.ebuild b/dev-python/pdm-backend/pdm-backend-2.2.0.ebuild
new file mode 100644
index 000000000000..768d26b1dd72
--- /dev/null
+++ b/dev-python/pdm-backend/pdm-backend-2.2.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_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="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# see src/pdm/backend/_vendor/vendor.txt
+RDEPEND="
+ >=dev-python/packaging-24.0[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-metadata-0.8.0_rc1[${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.2.1.ebuild b/dev-python/pdm-backend/pdm-backend-2.2.1.ebuild
new file mode 100644
index 000000000000..6acf66b19a87
--- /dev/null
+++ b/dev-python/pdm-backend/pdm-backend-2.2.1.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=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="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# see src/pdm/backend/_vendor/vendor.txt
+RDEPEND="
+ >=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
+}
diff --git a/dev-python/pdm-pep517/Manifest b/dev-python/pdm-pep517/Manifest
index e966bb484bf9..a9c93b8c8910 100644
--- a/dev-python/pdm-pep517/Manifest
+++ b/dev-python/pdm-pep517/Manifest
@@ -1 +1 @@
-DIST pdm-pep517-1.0.6.gh.tar.gz 315755 BLAKE2B 7b221d9ddc9683521e901177cafd2ffd2908af4acbe083b4a7d6525a81ece64d3768331135451d45ffc5c40c67c8c72802d75d52fdf85fa89a13f30110436a13 SHA512 5aeef3179d508d2acaedf4b99df41e64b26537120e586a01870651d2b379e2e5a1bf42934ee28a4b285cb83fe10ead073408b6b7d022ca1f55653533d12a2da1
+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
index f00d2775021c..8de62c6cc043 100644
--- a/dev-python/pdm-pep517/metadata.xml
+++ b/dev-python/pdm-pep517/metadata.xml
@@ -8,6 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">pdm-pep517</remote-id>
- <remote-id type="github">pdm-project/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.0.6.ebuild b/dev-python/pdm-pep517/pdm-pep517-1.0.6.ebuild
deleted file mode 100644
index bf0f6daa63a1..000000000000
--- a/dev-python/pdm-pep517/pdm-pep517-1.0.6.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=standalone
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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-pep517/
-"
-SRC_URI="
- https://github.com/pdm-project/pdm-pep517/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/cerberus-1.3.4[${PYTHON_USEDEP}]
- dev-python/license-expression[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.0[${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-pep517/pdm-pep517-1.1.4.ebuild b/dev-python/pdm-pep517/pdm-pep517-1.1.4.ebuild
new file mode 100644
index 000000000000..3783b9bc35e3
--- /dev/null
+++ b/dev-python/pdm-pep517/pdm-pep517-1.1.4.ebuild
@@ -0,0 +1,63 @@
+# 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 ~mips 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
new file mode 100644
index 000000000000..170c9a23073f
--- /dev/null
+++ b/dev-python/pdm/Manifest
@@ -0,0 +1,3 @@
+DIST pdm-2.12.4.tar.gz 2598160 BLAKE2B 9eecae679a577c9d6172a07ad633be8b840ac5d972ad0e468b368dabc716203d10c5f0c78e87b815aa30af3be37f6370bcb6623fc5d272a52b6c3e4490112455 SHA512 12cabaff90f962ac195a484ea2bafa8a5ec9debdaf90b59b81d28eee51f854b9ac6d894e22a16c5ad8b69740c5df6a6573942a82c4ea5482819e60bc903c8358
+DIST pdm-2.13.3.tar.gz 2609678 BLAKE2B 58eb9fda4bc30fc37ef43b38fa140252242c22a062c4ddef49e90c0ece102cb36ea2186b02fb995a895c6eb80c0da9e602c42c15e83158b3e19fa5d0f55e8d6a SHA512 ea4b0e51d13effe8749a95237799de304047dcec8efc22a41d0985c97ff39447065a9fc84f4510b18055527dd64695bcee4129abcf34221573b2b9d39c2a3c92
+DIST pdm-2.14.0.tar.gz 2610646 BLAKE2B d0b6c6fc576315b1bcc81c2555731cc0945c0482d912dab9d26edae3bf24dc2c933afc8f9bfb72c482e40540892d1c53fc01d164578dad9245d3c54b72109849 SHA512 07f3b7840dc577d3884e1149c15c33e8618c4ab922ac7c5b69f0b32f8481c3532ca77a5a650cf33d32bdb4437610727894b55fa622b002d54144bbbf5e66483f
diff --git a/dev-python/pdm/metadata.xml b/dev-python/pdm/metadata.xml
new file mode 100644
index 000000000000..bf76b2fdeed2
--- /dev/null
+++ b/dev-python/pdm/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="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">pdm-project/pdm</remote-id>
+ <remote-id type="pypi">pdm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pdm/pdm-2.12.4.ebuild b/dev-python/pdm/pdm-2.12.4.ebuild
new file mode 100644
index 000000000000..2275630b637f
--- /dev/null
+++ b/dev-python/pdm/pdm-2.12.4.ebuild
@@ -0,0 +1,81 @@
+# 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..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/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/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}]
+ ' 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/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.13.3.ebuild b/dev-python/pdm/pdm-2.13.3.ebuild
new file mode 100644
index 000000000000..79d9646a54be
--- /dev/null
+++ b/dev-python/pdm/pdm-2.13.3.ebuild
@@ -0,0 +1,115 @@
+# 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..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"
+
+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[${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/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]"
+ # 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.14.0.ebuild b/dev-python/pdm/pdm-2.14.0.ebuild
new file mode 100644
index 000000000000..89154bdbedff
--- /dev/null
+++ b/dev-python/pdm/pdm-2.14.0.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..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"
+
+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[${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/pdoc3/files/pdoc3-0.10.0-update-tests.patch b/dev-python/pdoc3/files/pdoc3-0.10.0-update-tests.patch
new file mode 100644
index 000000000000..bd68ea2d8368
--- /dev/null
+++ b/dev-python/pdoc3/files/pdoc3-0.10.0-update-tests.patch
@@ -0,0 +1,114 @@
+From 80af5d40d3ca39e2701c44941c1003ae6a280799 Mon Sep 17 00:00:00 2001
+From: Kernc <kerncece@gmail.com>
+Date: Sat, 29 Oct 2022 18:55:46 +0200
+Subject: [PATCH] CI: Bump min Python 3.7+ and update tests for Python 3.10
+
+Fix https://github.com/pdoc3/pdoc/issues/400
+Thanks @tjni
+--- a/pdoc/__init__.py
++++ b/pdoc/__init__.py
+@@ -1275,7 +1275,7 @@ def _formatannotation(annot):
+ `typing.Optional`, `nptyping.NDArray` and other types.
+
+ >>> _formatannotation(NewType('MyType', str))
+- 'MyType'
++ 'pdoc.MyType'
+ >>> _formatannotation(Optional[Tuple[Optional[int], None]])
+ 'Optional[Tuple[Optional[int], None]]'
+ """
+--- a/pdoc/documentation.md
++++ b/pdoc/documentation.md
+@@ -353,7 +353,7 @@ modified templates into the `directories` list of the
+
+ Compatibility
+ -------------
+-`pdoc` requires Python 3.6+.
++`pdoc` requires Python 3.7+.
+ The last version to support Python 2.x is [pdoc3 0.3.x].
+
+ [pdoc3 0.3.x]: https://pypi.org/project/pdoc3/0.3.13/
+--- a/pdoc/test/__init__.py
++++ b/pdoc/test/__init__.py
+@@ -126,7 +126,8 @@ class CliTest(unittest.TestCase):
+ def setUp(self):
+ pdoc.reset()
+
+- @unittest.skipIf(sys.version_info < (3, 7), 'pdoc._formatannotation fails on Py3.6')
++ @unittest.skipIf(sys.version_info < (3, 10),
++ 'HACK: _formatannotation() changed return value in Py3.10')
+ def test_project_doctests(self):
+ doctests = doctest.testmod(pdoc)
+ assert not doctests.failed and doctests.attempted, doctests
+@@ -185,8 +186,12 @@ def test_html(self):
+ '<object ',
+ ' class="ident">_private',
+ ' class="ident">_Private',
+- 'non_callable_routine',
+ ]
++ if sys.version_info >= (3, 10):
++ include_patterns.append('non_callable_routine')
++ else:
++ exclude_patterns.append('non_callable_routine')
++
+ package_files = {
+ '': self.PUBLIC_FILES,
+ '.subpkg2': [f for f in self.PUBLIC_FILES
+@@ -356,8 +361,11 @@ def test_text(self):
+ '_Private',
+ 'subprocess',
+ 'Hidden',
+- 'non_callable_routine',
+ ]
++ if sys.version_info >= (3, 10):
++ include_patterns.append('non_callable_routine')
++ else:
++ exclude_patterns.append('non_callable_routine')
+
+ with self.subTest(package=EXAMPLE_MODULE):
+ with redirect_streams() as (stdout, _):
+@@ -543,8 +551,9 @@ class C:
+ self.assertEqual(doc.doc['vars_dont'].docstring, '')
+ self.assertIn('integer', doc.doc['but_clss_have_doc'].docstring)
+
++ @unittest.skipIf(sys.version_info >= (3, 10), 'No builtin module "parser" in Py3.10')
+ def test_builtin_methoddescriptors(self):
+- import parser
++ import parser # TODO: replace with another public binary builtin
+ with self.assertWarns(UserWarning):
+ c = pdoc.Class('STType', pdoc.Module(parser), parser.STType)
+ self.assertIsInstance(c.doc['compile'], pdoc.Function)
+@@ -906,9 +915,13 @@ def bug130_str_annotation(a: "str"):
+ def bug253_newtype_annotation(a: CustomType):
+ return
+
++ expected = CustomType.__name__
++ if sys.version_info > (3, 10):
++ expected = f'{__name__}.{CustomType.__name__}'
++
+ self.assertEqual(
+ pdoc.Function('bug253', mod, bug253_newtype_annotation).params(annotate=True),
+- ['a:\N{NBSP}CustomType'])
++ [f'a:\N{NBSP}{expected}'])
+
+ # typing.Callable bug
+ def f(a: typing.Callable):
+--- a/setup.py
++++ b/setup.py
+@@ -2,8 +2,8 @@
+ import sys
+ from setuptools import setup, find_packages
+
+-if sys.version_info < (3, 6):
+- sys.exit('ERROR: pdoc requires Python 3.6+')
++if sys.version_info < (3, 7):
++ sys.exit('ERROR: pdoc requires Python 3.7+')
+
+
+ def _discover_tests():
+@@ -58,5 +58,5 @@ def _discover_tests():
+ 'write_to': os.path.join('pdoc', '_version.py'),
+ },
+ test_suite="setup._discover_tests",
+- python_requires='>= 3.6',
++ python_requires='>= 3.7',
+ )
diff --git a/dev-python/pdoc3/pdoc3-0.10.0-r1.ebuild b/dev-python/pdoc3/pdoc3-0.10.0-r1.ebuild
new file mode 100644
index 000000000000..9dd52ae79fd7
--- /dev/null
+++ b/dev-python/pdoc3/pdoc3-0.10.0-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 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.ebuild b/dev-python/pdoc3/pdoc3-0.10.0.ebuild
deleted file mode 100644
index f7c8f5f90348..000000000000
--- a/dev-python/pdoc3/pdoc3-0.10.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Auto-generate API documentation for Python projects"
-HOMEPAGE="https://pdoc3.github.io/pdoc/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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"
-)
-
-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 e416ca1b2574..88566b1c7056 100644
--- a/dev-python/pebble/Manifest
+++ b/dev-python/pebble/Manifest
@@ -1 +1 @@
-DIST Pebble-5.0.3.tar.gz 29076 BLAKE2B d140cc0abd08cb5d6031a3fb8ba6f573e273f865d23e8854e9e540e115b030cabd07d8517f94b542216294abd742960b3addda592f0e7d31662bd10b224c8d7b SHA512 324cba58905b0be76b2cd56e0ee5d3e51a36d46a7754fbccb1f9307af0747c2f02b81d137e2c4bce1c766706b70ce1a909c3b287676db147c202cab7445fc764
+DIST Pebble-5.0.7.tar.gz 32054 BLAKE2B d9211facf566551702b0305202c5765ef24f341201cc7a1593525a38a1e3b9ae69f33a739ebbc37cb3f60239ea19289741137f23275e3cd8a7bb5e14024295ee SHA512 2602512208808ce15150e35fb9bbd383a6b98850e7641ed26c46e520fe7e62483dfcb67aa77a2412a0c643fc862035487283f8e760feef3852f3ab9236f29176
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 7cdc644aab09..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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${P^}
-DESCRIPTION="Threading and multiprocessing eye-candy"
-HOMEPAGE="
- https://pebble.readthedocs.io/
- https://github.com/noxdafox/pebble/
- https://pypi.org/project/Pebble/
-"
-SRC_URI="mirror://pypi/${MY_P::1}/${PN^}/${MY_P}.tar.gz"
-S=${WORKDIR}/${P^}
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k 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..bea652c0c578
--- /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..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/pecan/Manifest b/dev-python/pecan/Manifest
index 80a7fcafe7c7..008301ada527 100644
--- a/dev-python/pecan/Manifest
+++ b/dev-python/pecan/Manifest
@@ -1 +1 @@
-DIST pecan-1.4.2.tar.gz 124900 BLAKE2B bf78c630605dbf020bcda830855cf19dc660c8bdbfa6d68a9739a0da7c585ec17d30525d37337867e007aa31d3329e87224cfd4e0335b14496df911457af5c82 SHA512 cea290db5b7c4664057ec326e1f9ac11d4b523e2df83a84c3b47acbce0520f248bbd33de0f66379409a4ff463b6408b587238917362572479288d36843542ab0
+DIST pecan-1.5.1.tar.gz 124161 BLAKE2B 441c4fcc94409aef93324ab8dfb727fc09a3e0f8802ba804d3d5f52237d4f089c3eed23f55a8ad82a9d372d28d622faf8b196b59936e7fc9feb69c4f87883084 SHA512 87fff8657268accda3a53f156338332e3d23df8055cc62d77d9f1641f692c1d7e4013f564b0108541e5df69e1d3d2c8e3df87486e0b4316e437f67d010013fa9
diff --git a/dev-python/pecan/metadata.xml b/dev-python/pecan/metadata.xml
index fa1794b73986..bf5ef66f2a1f 100644
--- a/dev-python/pecan/metadata.xml
+++ b/dev-python/pecan/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">pecan/pecan</remote-id>
<remote-id type="pypi">pecan</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pecan/pecan-1.4.2.ebuild b/dev-python/pecan/pecan-1.4.2.ebuild
deleted file mode 100644
index c9229e81f7f9..000000000000
--- a/dev-python/pecan/pecan-1.4.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A WSGI object-dispatching web framework, lean, fast, with few dependencies"
-HOMEPAGE="
- https://github.com/pecan/pecan/
- https://pypi.org/project/pecan/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/webob-1.4[${PYTHON_USEDEP}]
- >=dev-python/mako-0.4.0[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- >=dev-python/logutils-0.3.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/webtest-1.3.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/scripts=/d' setup.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pecan/pecan-1.5.1.ebuild b/dev-python/pecan/pecan-1.5.1.ebuild
new file mode 100644
index 000000000000..2d0fe6122c3a
--- /dev/null
+++ b/dev-python/pecan/pecan-1.5.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..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A WSGI object-dispatching web framework, lean, fast, with few dependencies"
+HOMEPAGE="
+ https://github.com/pecan/pecan/
+ https://pypi.org/project/pecan/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/webob-1.4[${PYTHON_USEDEP}]
+ >=dev-python/mako-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/logutils-0.3.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/webtest-1.3.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/peewee/Manifest b/dev-python/peewee/Manifest
index 981481bfb314..0f6692c30f2e 100644
--- a/dev-python/peewee/Manifest
+++ b/dev-python/peewee/Manifest
@@ -1 +1,3 @@
-DIST peewee-3.15.4.gh.tar.gz 908759 BLAKE2B 5bb53598f44c75f4b819d7aa032a2bc812f1e6de415b4cc01e22e521e4881dd409ceaf26435ddfcf08167c5193594917f23b15ae91f037fa4216d78752e77247 SHA512 9042e1c4fffac0c395500597981ab4732383c273e2b7f2b129b2b7702d9762772a219bb848a1f0aff802c468f38327f629df1c49028858451578115cf0811a13
+DIST peewee-3.17.1.gh.tar.gz 918980 BLAKE2B 192bdb4c8ba40c0d65f8182c4d87b6917d7758a8017977144b3455a0abdc96e6dfc2299cb9dfb967092c2619666816886b2f1fc163ee1e0607fb6ddfb6f2ae75 SHA512 7b3515949f862c96c9509edf2b1e7c8fc4947f3371421c5df8ca066f8456000471b0c2af8b906c9d826ea3bdc187b4e8676299b328160bda91ffd7f5a1b95435
+DIST peewee-3.17.2.gh.tar.gz 926852 BLAKE2B e40b049858f693d558e15c63d5bd4d7ad7978769d620f5e744df73d412f6d210c4f3bfa3c99cda9484730a3818e9ac0332131ecdc37224fdeb0ebb22100bfd21 SHA512 eaf495523170400e97416a4c3c6632f722648224f45aeba4ecc486e502324c4947fc0422acb0ba2bc8941c58b2ea920c5f48778e9d9af77aaf795035785dea01
+DIST peewee-3.17.3.gh.tar.gz 926892 BLAKE2B e5d378da37f7fda74c75d3c3998e3fae79e9b8c7d66ca5a17e76a7b855c9d7ae159b4eedb97f68c9ec13cf00f2268f425b36273e7b09fbd001364e748d13bc95 SHA512 d7d0c716c1b6600275c151894ea8738c3393e554627ae4d8cf0d52548be99cfaf31e5553f51762cedc7f9e66a779ddef60d305a3797e3db71ac1a2178bb45468
diff --git a/dev-python/peewee/metadata.xml b/dev-python/peewee/metadata.xml
index 69c882d79303..f2395542a773 100644
--- a/dev-python/peewee/metadata.xml
+++ b/dev-python/peewee/metadata.xml
@@ -9,4 +9,10 @@
<remote-id type="github">coleifer/peewee</remote-id>
<remote-id type="pypi">peewee</remote-id>
</upstream>
+ <use>
+ <flag name="native-extensions">
+ Compiles native C extension for more complete SQLite3
+ support.
+ </flag>
+ </use>
</pkgmetadata>
diff --git a/dev-python/peewee/peewee-3.15.4.ebuild b/dev-python/peewee/peewee-3.15.4.ebuild
deleted file mode 100644
index 46e8473aeca8..000000000000
--- a/dev-python/peewee/peewee-3.15.4.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_{9..11} )
-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/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-IUSE="examples test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs
-
-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.1.ebuild b/dev-python/peewee/peewee-3.17.1.ebuild
new file mode 100644
index 000000000000..c7d0a62d3703
--- /dev/null
+++ b/dev-python/peewee/peewee-3.17.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_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.2.ebuild b/dev-python/peewee/peewee-3.17.2.ebuild
new file mode 100644
index 000000000000..1db76107559a
--- /dev/null
+++ b/dev-python/peewee/peewee-3.17.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_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}]
+ 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.3.ebuild b/dev-python/peewee/peewee-3.17.3.ebuild
new file mode 100644
index 000000000000..1db76107559a
--- /dev/null
+++ b/dev-python/peewee/peewee-3.17.3.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..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}]
+ 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/pefile/Manifest b/dev-python/pefile/Manifest
index fe7458f1a06d..c776143f6b89 100644
--- a/dev-python/pefile/Manifest
+++ b/dev-python/pefile/Manifest
@@ -1 +1 @@
-DIST pefile-2022.5.30.tar.gz 72899 BLAKE2B 11752fe849c91749c5272ee9157513db0690fa47a51e274d24093f47c21096e877b364e1dba9cf08d9369abb7e9133743fe98d524079559b9aa9159ece76af74 SHA512 b584472387f7f0161449d2dc0035867da8983eb2c89b488952f38a3e836d23241d46f49a1c9cde13dde4253ef3f212971df48747ea2fec6b91c4db2b7618956d
+DIST pefile-2023.2.7.gh.tar.gz 74852 BLAKE2B ddca4b8ef37af829bb1757eb4c4ba9f46c3914e05e6c13e13a8e5a3c88a608aba486deec9338400fddae4591867c0c7dcf7325cee14d42b1bb724751a3a2a7f0 SHA512 241d9846954f094ed39e61d80e7d8c1612829ec909650175e75657f9cf69c9bef9e2a115d4106bb14757125c0ffaa3e93abfb2f078e80326e78ac5818c7c2fd3
diff --git a/dev-python/pefile/files/pefile-2022.5.30-remove-future.patch b/dev-python/pefile/files/pefile-2022.5.30-remove-future.patch
deleted file mode 100644
index 7f7cc5d29d48..000000000000
--- a/dev-python/pefile/files/pefile-2022.5.30-remove-future.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-Bug: https://bugs.gentoo.org/888279
-
-From 36bf63f1185b8407ff9b4ce8c1c8e8620d8ae30f Mon Sep 17 00:00:00 2001
-From: Letu Ren <fantasquex@gmail.com>
-Date: Sun, 26 Jun 2022 22:54:27 +0800
-Subject: [PATCH] Remove future from dependencies
-
-Fix: #348
----
- ordlookup/__init__.py | 15 ++-------------
- peutils.py | 7 -------
- setup.py | 19 ++++---------------
- tests/pefile_test.py | 3 ---
- 4 files changed, 6 insertions(+), 38 deletions(-)
-
-diff --git a/ordlookup/__init__.py b/ordlookup/__init__.py
-index c69aee0..8841d74 100644
---- a/ordlookup/__init__.py
-+++ b/ordlookup/__init__.py
-@@ -1,5 +1,3 @@
--from __future__ import absolute_import
--import sys
- from . import ws2_32
- from . import oleaut32
-
-@@ -15,18 +13,9 @@
- b"oleaut32.dll": oleaut32.ord_names,
- }
-
--PY3 = sys.version_info > (3,)
-
--if PY3:
--
-- def formatOrdString(ord_val):
-- return "ord{}".format(ord_val).encode()
--
--
--else:
--
-- def formatOrdString(ord_val):
-- return b"ord%d" % ord_val
-+def formatOrdString(ord_val):
-+ return "ord{}".format(ord_val).encode()
-
-
- def ordLookup(libname, ord_val, make_name=False):
-diff --git a/peutils.py b/peutils.py
-index 34b98f5..4d4b2bd 100644
---- a/peutils.py
-+++ b/peutils.py
-@@ -6,13 +6,6 @@
-
- All rights reserved.
- """
--from __future__ import division
--from future import standard_library
--
--standard_library.install_aliases()
--from builtins import range
--from builtins import object
--
- import os
- import re
- import string
-diff --git a/setup.py b/setup.py
-index c8ab89f..206db6f 100755
---- a/setup.py
-+++ b/setup.py
-@@ -5,8 +5,6 @@
- import re
- import sys
-
--if sys.version_info.major == 3:
-- from io import open
-
- try:
- from setuptools import setup, Command
-@@ -25,12 +23,8 @@ def _read_doc():
- Parse docstring from file 'pefile.py' and avoid importing
- this module directly.
- """
-- if sys.version_info.major == 2:
-- with open('pefile.py', 'r') as f:
-- tree = ast.parse(f.read())
-- else:
-- with open('pefile.py', 'r', encoding='utf-8') as f:
-- tree = ast.parse(f.read())
-+ with open('pefile.py', 'r', encoding='utf-8') as f:
-+ tree = ast.parse(f.read())
- return ast.get_docstring(tree)
-
-
-@@ -42,12 +36,8 @@ def _read_attr(attr_name):
- __version__, __author__, __contact__,
- """
- regex = attr_name + r"\s+=\s+['\"](.+)['\"]"
-- if sys.version_info.major == 2:
-- with open('pefile.py', 'r') as f:
-- match = re.search(regex, f.read())
-- else:
-- with open('pefile.py', 'r', encoding='utf-8') as f:
-- match = re.search(regex, f.read())
-+ with open('pefile.py', 'r', encoding='utf-8') as f:
-+ match = re.search(regex, f.read())
- # Second item in the group is the value of attribute.
- return match.group(1)
-
-@@ -89,7 +79,6 @@ def run(self):
- python_requires=">=3.6.0",
- packages = ['ordlookup'],
- install_requires=[
-- 'future',
- ],
- license="MIT",
- )
diff --git a/dev-python/pefile/pefile-2022.5.30-r1.ebuild b/dev-python/pefile/pefile-2022.5.30-r1.ebuild
deleted file mode 100644
index e8ad4af63362..000000000000
--- a/dev-python/pefile/pefile-2022.5.30-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="Module to read and work with Portable Executable (PE) files"
-HOMEPAGE="https://github.com/erocarrera/pefile"
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://github.com/erocarrera/pefile.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/erocarrera/pefile/releases/download/v${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~x86"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-
-PATCHES=(
- "${FILESDIR}/${P}-remove-future.patch"
-)
-
-# Unfortunately there is nothing we can test here. Upstream doesn't ship a test
-# suite inside the release files. The test fixtures in the source repo is
-# encrypted so that only their CI pipeline is able to run the tests.
diff --git a/dev-python/pefile/pefile-2022.5.30.ebuild b/dev-python/pefile/pefile-2022.5.30.ebuild
deleted file mode 100644
index f6395af3347e..000000000000
--- a/dev-python/pefile/pefile-2022.5.30.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..10} )
-inherit distutils-r1
-
-DESCRIPTION="Module to read and work with Portable Executable (PE) files"
-HOMEPAGE="https://github.com/erocarrera/pefile"
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://github.com/erocarrera/pefile.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/erocarrera/pefile/releases/download/v${PV}/${P}.tar.gz"
- KEYWORDS="amd64 x86"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-
-RDEPEND="${PYTHON_DEPS}
- dev-python/future[${PYTHON_USEDEP}]"
-
-# Unfortunately there is nothing we can test here. Upstream doesn't ship a test
-# suite inside the release files. The test fixtures in the source repo is
-# encrypted so that only their CI pipeline is able to run the tests.
diff --git a/dev-python/pefile/pefile-2023.2.7.ebuild b/dev-python/pefile/pefile-2023.2.7.ebuild
new file mode 100644
index 000000000000..2f55fd3023a6
--- /dev/null
+++ b/dev-python/pefile/pefile-2023.2.7.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Module to read and work with Portable Executable (PE) files"
+HOMEPAGE="https://github.com/erocarrera/pefile"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/erocarrera/pefile.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/erocarrera/pefile/releases/download/v${PV}/${P}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+# Unfortunately there is nothing we can test here. Upstream doesn't ship a test
+# suite inside the release files. The test fixtures in the source repo is
+# encrypted so that only their CI pipeline is able to run the tests.
diff --git a/dev-python/pefile/pefile-9999.ebuild b/dev-python/pefile/pefile-9999.ebuild
index 4d76ae872210..7f530f4c4bec 100644
--- a/dev-python/pefile/pefile-9999.ebuild
+++ b/dev-python/pefile/pefile-9999.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="Module to read and work with Portable Executable (PE) files"
@@ -14,8 +14,8 @@ if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/erocarrera/pefile.git"
inherit git-r3
else
- SRC_URI="https://github.com/erocarrera/pefile/releases/download/v${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ SRC_URI="https://github.com/erocarrera/pefile/releases/download/v${PV}/${P}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86"
fi
LICENSE="MIT"
diff --git a/dev-python/pelican-minify/Manifest b/dev-python/pelican-minify/Manifest
index c7e3f9540150..9ab6934a30b6 100644
--- a/dev-python/pelican-minify/Manifest
+++ b/dev-python/pelican-minify/Manifest
@@ -1 +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/metadata.xml b/dev-python/pelican-minify/metadata.xml
index 90e73ab55bc1..dd1f5ee146c6 100644
--- a/dev-python/pelican-minify/metadata.xml
+++ b/dev-python/pelican-minify/metadata.xml
@@ -11,6 +11,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">rdegges/pelican-minify</remote-id>
<remote-id type="pypi">pelican-minify</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pelican-minify/pelican-minify-0.9-r1.ebuild b/dev-python/pelican-minify/pelican-minify-0.9-r1.ebuild
deleted file mode 100644
index 0dd6e683df47..000000000000
--- a/dev-python/pelican-minify/pelican-minify-0.9-r1.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_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="An HTML minification plugin for Pelican, the static site generator"
-HOMEPAGE="https://pypi.org/project/pelican-minify/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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}]"
diff --git a/dev-python/pelican-minify/pelican-minify-2.0.0.ebuild b/dev-python/pelican-minify/pelican-minify-2.0.0.ebuild
new file mode 100644
index 000000000000..04ecab5a8dcc
--- /dev/null
+++ b/dev-python/pelican-minify/pelican-minify-2.0.0.ebuild
@@ -0,0 +1,31 @@
+# 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="An HTML minification plugin for Pelican, the static site generator"
+HOMEPAGE="
+ https://github.com/pelican-plugins/minify/
+ https://pypi.org/project/pelican-minify/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=app-text/pelican-4.5[${PYTHON_USEDEP}]
+ >=dev-python/minify-html-0.10.8[${PYTHON_USEDEP}]
+"
+
+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 a6ec7ab0e778..000000000000
--- a/dev-python/pendulum/pendulum-2.1.2-r2.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
-
-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="amd64 ~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}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pep517/Manifest b/dev-python/pep517/Manifest
deleted file mode 100644
index 10ec756e1802..000000000000
--- a/dev-python/pep517/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pep517-0.13.0.gh.tar.gz 23816 BLAKE2B d1bab5fe1a629384dcd264c0ea3d42d6b11de3530441de5de49516543630293b9a8023c8a55b291a7a415f8c90d4077f156cd036ed7fd477339d1210bfe47059 SHA512 dc534e73ea8659994041a39c8bfc92ee0a81b164c2d1ee383e3549d830f513fc89227d1bda3f749352532d0610e450de6b2be956aa4387f4b2f272d9f8aec0a0
diff --git a/dev-python/pep517/metadata.xml b/dev-python/pep517/metadata.xml
deleted file mode 100644
index b2dbc3badee9..000000000000
--- a/dev-python/pep517/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">pep517</remote-id>
- <remote-id type="github">pypa/pep517</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pep517/pep517-0.13.0.ebuild b/dev-python/pep517/pep517-0.13.0.ebuild
deleted file mode 100644
index 084ffccb550e..000000000000
--- a/dev-python/pep517/pep517-0.13.0.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_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Wrappers to build Python packages using PEP 517 hooks"
-HOMEPAGE="
- https://pypi.org/project/pep517/
- https://github.com/pypa/pep517/
- https://pep517.readthedocs.io/
-"
-SRC_URI="
- https://github.com/pypa/pep517/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/tomli[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/testpath[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # require Internet
- tests/test_meta.py
-)
-
-src_prepare() {
- sed -i -e '/--flake8/d' pytest.ini || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pexpect/Manifest b/dev-python/pexpect/Manifest
index 335b751b7e95..13443088b210 100644
--- a/dev-python/pexpect/Manifest
+++ b/dev-python/pexpect/Manifest
@@ -1 +1 @@
-DIST pexpect-4.8.0.tar.gz 157037 BLAKE2B 742642bd6b9ec3f6cdfad054d4fd22db56b4a55b746d675c27a8cdf824ea749ec4589e296dffa08778195f3ccd20feb56bc0fd5212984396ea5aa0555c41ca96 SHA512 7447ae2d1e13be422c894a8fd51c5aaa788e37ea7f0c798c88b77afd401fb3631400a637077ccbb83c2e3876b0d0c5e1dbd5fdc9d3739d785b4d5ad7c0192580
+DIST pexpect-4.9.0.tar.gz 166450 BLAKE2B a08e10deb9f21e49a04021d78dc1ff6c9eeded5825ef73b236c3dac725e6877a4fe74deaa6844c8aa4b1beab4b915d7612e682529c4ed97b364a737a1960b30f SHA512 0e4b3a6978b94aee221ff23cd7bd771517e0e0f1a1a8b17f77f15bf78edd3130ad093d925b7d1e86fe6ba7eb956205d4c616b4e52b2fcfa1e944d4860dd7b3a0
diff --git a/dev-python/pexpect/files/pexpect-4.8.0-fix-PS1.patch b/dev-python/pexpect/files/pexpect-4.8.0-fix-PS1.patch
deleted file mode 100644
index 903b742f71d3..000000000000
--- a/dev-python/pexpect/files/pexpect-4.8.0-fix-PS1.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-From: whitley-delamora <62795654+whitley-delamora@users.noreply.github.com>
-Date: Sat, 28 Mar 2020 13:46:47 +0100
-Subject: [PATCH] REPLWrapTestCase.test_bash_env(): export variable PS1
-
-https://github.com/pexpect/pexpect/commit/51c0b09f92f140eda10b62d234710f65ad56dee2
-
---- a/tests/test_replwrap.py
-+++ b/tests/test_replwrap.py
-@@ -45,6 +45,7 @@ def test_bash_env(self):
- """env, which displays PS1=..., should not mess up finding the prompt.
- """
- bash = replwrap.bash()
-+ res = bash.run_command("export PS1")
- res = bash.run_command("env")
- self.assertIn('PS1', res)
- res = bash.run_command("echo $HOME")
diff --git a/dev-python/pexpect/files/pexpect-4.8.0-py311.patch b/dev-python/pexpect/files/pexpect-4.8.0-py311.patch
deleted file mode 100644
index b7de17a68785..000000000000
--- a/dev-python/pexpect/files/pexpect-4.8.0-py311.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 52af5b0ae0627139524448a3f2e83d9f40802bc2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
-Date: Thu, 24 Mar 2022 15:15:33 +0100
-Subject: [PATCH] Convert @asyncio.coroutine to async def
-
-This is required for Python 3.11+ support.
-
-Fixes https://github.com/pexpect/pexpect/issues/677
----
- pexpect/_async.py | 16 +++++++---------
- 1 file changed, 7 insertions(+), 9 deletions(-)
-
-diff --git a/pexpect/_async.py b/pexpect/_async.py
-index dfbfeef5..bc83261d 100644
---- a/pexpect/_async.py
-+++ b/pexpect/_async.py
-@@ -4,8 +4,7 @@
-
- from pexpect import EOF
-
--@asyncio.coroutine
--def expect_async(expecter, timeout=None):
-+async def expect_async(expecter, timeout=None):
- # First process data that was previously read - if it maches, we don't need
- # async stuff.
- idx = expecter.existing_data()
-@@ -14,7 +13,7 @@ def expect_async(expecter, timeout=None):
- if not expecter.spawn.async_pw_transport:
- pw = PatternWaiter()
- pw.set_expecter(expecter)
-- transport, pw = yield from asyncio.get_event_loop()\
-+ transport, pw = await asyncio.get_event_loop()\
- .connect_read_pipe(lambda: pw, expecter.spawn)
- expecter.spawn.async_pw_transport = pw, transport
- else:
-@@ -22,26 +21,25 @@ def expect_async(expecter, timeout=None):
- pw.set_expecter(expecter)
- transport.resume_reading()
- try:
-- return (yield from asyncio.wait_for(pw.fut, timeout))
-+ return (await asyncio.wait_for(pw.fut, timeout))
- except asyncio.TimeoutError as e:
- transport.pause_reading()
- return expecter.timeout(e)
-
--@asyncio.coroutine
--def repl_run_command_async(repl, cmdlines, timeout=-1):
-+async def repl_run_command_async(repl, cmdlines, timeout=-1):
- res = []
- repl.child.sendline(cmdlines[0])
- for line in cmdlines[1:]:
-- yield from repl._expect_prompt(timeout=timeout, async_=True)
-+ await repl._expect_prompt(timeout=timeout, async_=True)
- res.append(repl.child.before)
- repl.child.sendline(line)
-
- # Command was fully submitted, now wait for the next prompt
-- prompt_idx = yield from repl._expect_prompt(timeout=timeout, async_=True)
-+ prompt_idx = await repl._expect_prompt(timeout=timeout, async_=True)
- if prompt_idx == 1:
- # We got the continuation prompt - command was incomplete
- repl.child.kill(signal.SIGINT)
-- yield from repl._expect_prompt(timeout=1, async_=True)
-+ await repl._expect_prompt(timeout=1, async_=True)
- raise ValueError("Continuation prompt found - input was incomplete:")
- return u''.join(res + [repl.child.before])
-
diff --git a/dev-python/pexpect/files/pexpect-4.8.0-sphinx-3.patch b/dev-python/pexpect/files/pexpect-4.8.0-sphinx-3.patch
deleted file mode 100644
index d23055fba251..000000000000
--- a/dev-python/pexpect/files/pexpect-4.8.0-sphinx-3.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 506bcd97fa1d20d1412d399353c38f0ff3546a1a Mon Sep 17 00:00:00 2001
-From: Sebastian Pipping <sebastian@pipping.org>
-Date: Mon, 13 Apr 2020 23:26:09 +0200
-Subject: [PATCH] Fix compilation of docs with Sphinx 3.0.1
-
-https://github.com/pexpect/pexpect/issues/637
----
- doc/sphinxext/github.py | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/doc/sphinxext/github.py b/doc/sphinxext/github.py
-index 519e146..771dccc 100644
---- a/doc/sphinxext/github.py
-+++ b/doc/sphinxext/github.py
-@@ -146,7 +146,6 @@ def setup(app):
-
- :param app: Sphinx application context.
- """
-- app.info('Initializing GitHub plugin')
- app.add_role('ghissue', ghissue_role)
- app.add_role('ghpull', ghissue_role)
- app.add_role('ghuser', ghuser_role)
---
-2.26.0
-
diff --git a/dev-python/pexpect/pexpect-4.8.0-r3.ebuild b/dev-python/pexpect/pexpect-4.8.0-r3.ebuild
deleted file mode 100644
index d06d741b44ee..000000000000
--- a/dev-python/pexpect/pexpect-4.8.0-r3.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_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-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="mirror://pypi/${PN:0:1}/${PN}/${P}.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"
-IUSE="examples"
-
-RDEPEND="
- >=dev-python/ptyprocess-0.5[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-sphinx-3.patch
- "${FILESDIR}"/${P}-fix-PS1.patch
- "${FILESDIR}"/${P}-py311.patch
-)
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc
-
-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
new file mode 100644
index 000000000000..46cbdc59f88f
--- /dev/null
+++ b/dev-python/pexpect/pexpect-4.9.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2023 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="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/
+"
+
+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
+ 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
+ )
+ 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/pgspecial/Manifest b/dev-python/pgspecial/Manifest
index 5570a6d0d1d7..b4b50f5ac035 100644
--- a/dev-python/pgspecial/Manifest
+++ b/dev-python/pgspecial/Manifest
@@ -1,2 +1 @@
-DIST pgspecial-1.13.1.tar.gz 50269 BLAKE2B 0566a7c2d8ee1ea350e27a4283f56c4cb1360f23ac9fe0147358ff68f527907c47650466dd41ae9c68e8a1f8ba658e452a88db360a7066f5562b7f0c578b8b62 SHA512 4b8f0495451db40087327640edc4bf8c29997b4f501dc5af6d093ad880fc337050d651676ae8ff434da3564e773f9e89e6e7d6bf0d6cfb7b70d8b4beea73a347
-DIST pgspecial-2.0.1.gh.tar.gz 50181 BLAKE2B 6f3f9f8feba717c18d3985d80a432eb7d127c65f7436bfc792a44cb5d7aad08e6e3b931cc289a051fbfea43cd5d8d7db44ede6de89683d462d51635c5caf2e04 SHA512 e89e7cd0f7e849fe93b8e8e79e409ee73ba6c22f3d76279415f236184f732d12cdd8b6bb7722b24ec2bd665f3429c0bf4e6905cd24c9739aa78906b12f841f13
+DIST pgspecial-2.1.1.tar.gz 51017 BLAKE2B 170db33ca1629244b2c8c2d23a5768528e474660dcaf73079c516d33624202cc05487a338b21ac5bab28780d127923bf24d86231e85cade2f82714add5bdd789 SHA512 4ab8596536b90837c2ed0a11b6bbfecd6e5dc487b073a58a1406e8e70028ebb7010430784963fe27a08a5cc48292785f6d02affb750f4a1b74cbe33a0e06a5f0
diff --git a/dev-python/pgspecial/pgspecial-1.13.1-r1.ebuild b/dev-python/pgspecial/pgspecial-1.13.1-r1.ebuild
deleted file mode 100644
index baa7522af657..000000000000
--- a/dev-python/pgspecial/pgspecial-1.13.1-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
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python implementation of PostgreSQL meta commands"
-HOMEPAGE="https://github.com/dbcli/pgspecial"
-SRC_URI="https://github.com/dbcli/pgspecial/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- >=dev-python/click-4.1[${PYTHON_USEDEP}]
- >=dev-python/configobj-5.0.6[${PYTHON_USEDEP}]
- >=dev-python/psycopg-2.7.4:2[${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 )
-
-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.0.1.ebuild b/dev-python/pgspecial/pgspecial-2.0.1.ebuild
deleted file mode 100644
index d2105974bbd4..000000000000
--- a/dev-python/pgspecial/pgspecial-2.0.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python implementation of PostgreSQL meta commands"
-HOMEPAGE="
- https://github.com/dbcli/pgspecial/
- https://pypi.org/project/pgspecial/
-"
-SRC_URI="
- https://github.com/dbcli/pgspecial/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD MIT"
-SLOT="0"
-KEYWORDS="amd64 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 )
-
-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.1.ebuild b/dev-python/pgspecial/pgspecial-2.1.1.ebuild
new file mode 100644
index 000000000000..f835abccdbc1
--- /dev/null
+++ b/dev-python/pgspecial/pgspecial-2.1.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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/pgzero/pgzero-1.2.1-r2.ebuild b/dev-python/pgzero/pgzero-1.2.1-r2.ebuild
index 8b2903c837aa..814cb18b36a0 100644
--- a/dev-python/pgzero/pgzero-1.2.1-r2.ebuild
+++ b/dev-python/pgzero/pgzero-1.2.1-r2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{11..12} )
inherit distutils-r1
MY_PV="${PV/_p/.post}"
diff --git a/dev-python/phonenumbers/Manifest b/dev-python/phonenumbers/Manifest
index 9263f3a2618f..70d4a2c3140e 100644
--- a/dev-python/phonenumbers/Manifest
+++ b/dev-python/phonenumbers/Manifest
@@ -1,2 +1,2 @@
-DIST python-phonenumbers-8.13.3.gh.tar.gz 4906633 BLAKE2B 320f4caa2feb5c5884cc519de8d9caebb7bbfeb656e060f84aac25f0561b042498a14fff237be404b47b5242f57afb705e4bc91f0c33d5f951a88b3de614d16a SHA512 f0aceacc52a5155757c5b2542a3e67ad78bf5b8ef2a24493e62b850ac2a0c260e21e63067252e698047a4969a5966bd602c8920457b62a20d8911badca200a0a
-DIST python-phonenumbers-8.13.4.gh.tar.gz 4906855 BLAKE2B 3949376b44ecf5ed7fb13148c557c7ac376b14dc826baf9249a449fe2a966aff660bb4cb53b5922573d55af2593ec549577b663cb1125849a8ce9bc1961dd62d SHA512 d484949088991839a304d816f400dbfbeef8cdac9616c30ce7c2564ddc7cacfed4f2babd625da465ac5c45f76e3bc0a05812b9f63a26a3d520e84ec9ed628672
+DIST python-phonenumbers-8.13.33.gh.tar.gz 4915782 BLAKE2B 651be55fe6ee6f78f5160b7d88a98e88f2fec21df71589f181e02500a578ce1beb3c3b852b7df8fc423f9ce4c5a9155d571dcb414ee78d2951cff42a28d4ed63 SHA512 0402908a43ff93a1948edc7e08c41c9ab2d406215b810ce06175d9b6e2eb17cd6b597082b6bfb2c9f74d2247a646ffef4256996fc933ce9a502b2305d279a28f
+DIST python-phonenumbers-8.13.34.gh.tar.gz 4915435 BLAKE2B 9b3addd5553f71a0e47f7bfdc5228155a2bb803b8e7e6a81349ee6445fcf0d57018875745049f7d2a1f30a82359fe9211affe17b00496eba06facd2ee82f6a95 SHA512 3d7443562fd0f2c2a49edaca78cfdc7aab42d77906826c53eb3b7e4766753242ba4ef9db6e1a6ee5f7d00e169336546069d2932ca0a907622e302e2ea09d46e9
diff --git a/dev-python/phonenumbers/phonenumbers-8.13.3.ebuild b/dev-python/phonenumbers/phonenumbers-8.13.3.ebuild
deleted file mode 100644
index f02dfcaeb112..000000000000
--- a/dev-python/phonenumbers/phonenumbers-8.13.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-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.33.ebuild b/dev-python/phonenumbers/phonenumbers-8.13.33.ebuild
new file mode 100644
index 000000000000..154cbd60212d
--- /dev/null
+++ b/dev-python/phonenumbers/phonenumbers-8.13.33.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/phonenumbers/phonenumbers-8.13.34.ebuild b/dev-python/phonenumbers/phonenumbers-8.13.34.ebuild
new file mode 100644
index 000000000000..2fc9bdbaa7c9
--- /dev/null
+++ b/dev-python/phonenumbers/phonenumbers-8.13.34.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/phonenumbers/phonenumbers-8.13.4.ebuild b/dev-python/phonenumbers/phonenumbers-8.13.4.ebuild
deleted file mode 100644
index 20fb3f38daee..000000000000
--- a/dev-python/phonenumbers/phonenumbers-8.13.4.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
-
-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/phply/Manifest b/dev-python/phply/Manifest
index d8d6efae0c28..0b166cf0d18a 100644
--- a/dev-python/phply/Manifest
+++ b/dev-python/phply/Manifest
@@ -1,2 +1 @@
-DIST phply-1.2.5.gh.tar.gz 35624 BLAKE2B 99fe9704cef570ad3055fa6c5aaaaed866d3c41c1479efbd29bb3224ae666d2ba13ccca61e6d67a8a0da4542dec79b5fdd201254e1ad638de81fa762049f4d13 SHA512 f0e4d0a6d2dfad5163fb68660602482b6de58c0dbd60d8db2f1df0622a9da3cc24e5fd309299a4a9ccf7abde081644a9a91fac8a2800520859199060f4080dc4
DIST phply-1.2.6.gh.tar.gz 36068 BLAKE2B 766783e047b99330e5af829be875b9ee06fa70222a9c42a8792506ef0c6decc525ca90560f54d9833cdf4516fcd447f19a05d94d595a7e5056ca5d3d89bd1753 SHA512 3d7065971c6839dbe908efbfede1865183aebb0ffea1bb3b1a27c20239736894e52dc9b0a89ad6da152f1d9411dce288cf67a907d86c9838f0516236f0c19dd6
diff --git a/dev-python/phply/phply-1.2.5.ebuild b/dev-python/phply/phply-1.2.5.ebuild
deleted file mode 100644
index 84fbb21be9ce..000000000000
--- a/dev-python/phply/phply-1.2.5.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Lexer and parser for PHP source implemented using PLY"
-HOMEPAGE="
- https://github.com/viraptor/phply/
- https://pypi.org/project/phply/"
-SRC_URI="
- https://github.com/viraptor/phply/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="dev-python/ply[${PYTHON_USEDEP}]"
-BDEPEND="${RDEPEND}"
-
-distutils_enable_tests nose
-
-src_prepare() {
- # namespace? seriously?
- sed -i -e '/namespace_packages/d' setup.py || die
- # prevent installing tests, turn phply back into normal package
- mv tests/__init__.py phply/ || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/phply/phply-1.2.6.ebuild b/dev-python/phply/phply-1.2.6.ebuild
index 659247559564..13387549acf3 100644
--- a/dev-python/phply/phply-1.2.6.ebuild
+++ b/dev-python/phply/phply-1.2.6.ebuild
@@ -4,7 +4,8 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
+
inherit distutils-r1
DESCRIPTION="Lexer and parser for PHP source implemented using PLY"
@@ -17,7 +18,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="dev-python/ply[${PYTHON_USEDEP}]"
BDEPEND="${RDEPEND}"
diff --git a/dev-python/picklemagic/Manifest b/dev-python/picklemagic/Manifest
deleted file mode 100644
index f18140d20c10..000000000000
--- a/dev-python/picklemagic/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST picklemagic-0.0_pre20160415.tar.xz 23364 BLAKE2B 07104393d41c68fabb26d642b6a78b5b5506322edc1322f6a0957c485c2681aafb388488b4d65d920102fb56839ebdeb82cbde909dae3d982311a3d776ca8aca SHA512 0b0866895df5f5f49462d75ad6a435f93796c60eae2442350ea0768872cc1938406b68f5ecb54e1583c245c6ac6d4feada32469184e24186adf78d002adfcd76
diff --git a/dev-python/picklemagic/metadata.xml b/dev-python/picklemagic/metadata.xml
deleted file mode 100644
index fd5c1e286b51..000000000000
--- a/dev-python/picklemagic/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>bircoph@gentoo.org</email>
- <name>Andrew Savchenko</name>
- </maintainer>
- <longdescription>
- A set of modules for analyzing and playing with the mechanics of python pickles.
- Features:
- * Forgiving: Extracts as much data as possible from the pickle, even if class definitions are unavailable.
- * Safe: You can safely unpickle data structures from unknown sources
- * Easy to use: Tools are provided which make it possible to code around the unpickled datastructures as if they were created from the actual class definitions.
- * Customizeable: Most functionality is easily subclassable to suit your needs.
- * Create pickles as if you were writing python: Via a few constructs it's possible to create custom pickles with the ease of writing normal python.
- * Works in both python 2 and 3
- </longdescription>
- <upstream>
- <remote-id type="github">CensoredUsername/picklemagic</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/picklemagic/picklemagic-0.0_pre20160415.ebuild b/dev-python/picklemagic/picklemagic-0.0_pre20160415.ebuild
deleted file mode 100644
index 62aedd757fa9..000000000000
--- a/dev-python/picklemagic/picklemagic-0.0_pre20160415.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_{9..10} )
-inherit python-r1
-
-DESCRIPTION="A library for analysing python pickles safely"
-HOMEPAGE="https://github.com/CensoredUsername/picklemagic"
-SRC_URI="https://dev.gentoo.org/~bircoph/distfiles/${P}.tar.xz"
-
-LICENSE="WTFPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-BDEPEND="doc? ( dev-python/sphinx )"
-RDEPEND="${PYTHON_DEPS}"
-
-src_compile() {
- use doc && emake -C doc html
-}
-
-src_install() {
- default
- python_foreach_impl python_domodule *.py
- use doc && dodoc -r doc/build/html
-}
diff --git a/dev-python/pickleshare/metadata.xml b/dev-python/pickleshare/metadata.xml
index 0de7998633f5..d3fa09b18576 100644
--- a/dev-python/pickleshare/metadata.xml
+++ b/dev-python/pickleshare/metadata.xml
@@ -20,6 +20,6 @@
</longdescription>
<upstream>
<remote-id type="pypi">pickleshare</remote-id>
- <remote-id type="github">pickleshare/pickleshare</remote-id>
+ <remote-id type="github">ipython/pickleshare</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pickleshare/pickleshare-0.7.5-r1.ebuild b/dev-python/pickleshare/pickleshare-0.7.5-r1.ebuild
new file mode 100644
index 000000000000..8d765c0c3a68
--- /dev/null
+++ b/dev-python/pickleshare/pickleshare-0.7.5-r1.ebuild
@@ -0,0 +1,24 @@
+# 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 small 'shelve' like datastore with concurrency support"
+HOMEPAGE="
+ https://github.com/ipython/pickleshare/
+ https://pypi.org/project/pickleshare/
+"
+
+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/path-6.2[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pickleshare/pickleshare-0.7.5.ebuild b/dev-python/pickleshare/pickleshare-0.7.5.ebuild
deleted file mode 100644
index bf34a21218f3..000000000000
--- a/dev-python/pickleshare/pickleshare-0.7.5.ebuild
+++ /dev/null
@@ -1,19 +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="A small 'shelve' like datastore with concurrency support"
-HOMEPAGE="https://github.com/pickleshare/pickleshare"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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/path-6.2[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/picobox/Manifest b/dev-python/picobox/Manifest
index b99d37fb1e9c..3acbd4ef327c 100644
--- a/dev-python/picobox/Manifest
+++ b/dev-python/picobox/Manifest
@@ -1 +1,2 @@
-DIST picobox-2.2.0.tar.gz 30231 BLAKE2B 9911e2e41a850b57d4a642aa454e55703e0546bdb3a5b95aa4a15747388413babaec7dc3a3f7fcb7ecae7ecd0f81dc203161975ca393f87353987825e0413355 SHA512 d127ea71637105285701ae5252e59e0c940077fbbe044ba1f42f80134ea08291344ebb6bc8bce240112a7efe0be8561c8040b43d20912f1fbd121098578a1795
+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/files/picobox-2.2.0-fix-py3.10.patch b/dev-python/picobox/files/picobox-2.2.0-fix-py3.10.patch
deleted file mode 100644
index 74c6f9b2193f..000000000000
--- a/dev-python/picobox/files/picobox-2.2.0-fix-py3.10.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/tests/test_box.py b/tests/test_box.py
-index c1c1ca2..d576086 100644
---- a/tests/test_box.py
-+++ b/tests/test_box.py
-@@ -402,7 +402,7 @@ def test_box_pass_unexpected_argument(boxclass):
- with pytest.raises(TypeError) as excinfo:
- fn(1, 2)
-
-- assert str(excinfo.value) == "fn() got an unexpected keyword argument 'd'"
-+ assert "fn() got an unexpected keyword argument 'd'" in str(excinfo.value)
-
-
- def test_box_pass_keyerror(boxclass):
-diff --git a/tests/test_stack.py b/tests/test_stack.py
-index 725d378..10129b3 100644
---- a/tests/test_stack.py
-+++ b/tests/test_stack.py
-@@ -472,7 +472,7 @@ def test_box_pass_unexpected_argument(boxclass, teststack):
- with pytest.raises(TypeError) as excinfo:
- fn(1, 2)
-
-- assert str(excinfo.value) == "fn() got an unexpected keyword argument 'd'"
-+ assert "fn() got an unexpected keyword argument 'd'" in str(excinfo.value)
-
-
- def test_box_pass_keyerror(boxclass, teststack):
diff --git a/dev-python/picobox/picobox-2.2.0.ebuild b/dev-python/picobox/picobox-2.2.0.ebuild
deleted file mode 100644
index 7bbcba69bc04..000000000000
--- a/dev-python/picobox/picobox-2.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="Dependency injection framework designed with Python in mind"
-HOMEPAGE="https://pypi.org/project/picobox/
- https://github.com/ikalnytskyi/picobox"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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}]
- test? (
- dev-python/flask[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-py3.10.patch"
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/picobox/picobox-3.0.0.ebuild b/dev-python/picobox/picobox-3.0.0.ebuild
new file mode 100644
index 000000000000..9916c31899c9
--- /dev/null
+++ b/dev-python/picobox/picobox-3.0.0.ebuild
@@ -0,0 +1,28 @@
+# 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
new file mode 100644
index 000000000000..9916c31899c9
--- /dev/null
+++ b/dev-python/picobox/picobox-4.0.0.ebuild
@@ -0,0 +1,28 @@
+# 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/pid/pid-3.0.4-r1.ebuild b/dev-python/pid/pid-3.0.4-r1.ebuild
index a4cee51c8ae5..e97c85879e6e 100644
--- a/dev-python/pid/pid-3.0.4-r1.ebuild
+++ b/dev-python/pid/pid-3.0.4-r1.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Pidfile featuring stale detection and file-locking"
HOMEPAGE="https://pypi.org/project/pid/ https://github.com/trbs/pid/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
distutils_enable_tests pytest
diff --git a/dev-python/piexif/piexif-1.1.3-r2.ebuild b/dev-python/piexif/piexif-1.1.3-r2.ebuild
index 86b91124fcd9..b411af6ecfe3 100644
--- a/dev-python/piexif/piexif-1.1.3-r2.ebuild
+++ b/dev-python/piexif/piexif-1.1.3-r2.ebuild
@@ -4,25 +4,27 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit edos2unix distutils-r1
+inherit edos2unix distutils-r1 pypi
DESCRIPTION="Exif manipulation with pure Python"
-HOMEPAGE="https://github.com/hMatoba/Piexif
- https://pypi.org/project/piexif/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+HOMEPAGE="
+ https://github.com/hMatoba/Piexif/
+ https://pypi.org/project/piexif/
+"
+SRC_URI="$(pypi_sdist_url "${PN}" "${PV}" .zip)"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~riscv ~x86"
+KEYWORDS="amd64 arm64 ~riscv ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+BDEPEND="
app-arch/unzip
- test? ( dev-python/pillow[jpeg,${PYTHON_USEDEP}] )"
-RDEPEND=""
+ test? ( dev-python/pillow[jpeg,${PYTHON_USEDEP}] )
+"
PATCHES=(
# From https://github.com/hMatoba/Piexif/pull/109
@@ -35,5 +37,5 @@ src_prepare() {
}
python_test() {
- "${PYTHON}" setup.py test || die
+ esetup.py test
}
diff --git a/dev-python/pika/Manifest b/dev-python/pika/Manifest
index b63cf1411ac3..257b429977e3 100644
--- a/dev-python/pika/Manifest
+++ b/dev-python/pika/Manifest
@@ -1 +1 @@
-DIST pika-1.3.1.gh.tar.gz 321628 BLAKE2B c473ec22dc20d0bdf87848b37dbca6d7c1a0581e23e89dbd6b7de382575133ae0c7db6ae505585297fd3253d948df35c74b801ff2a72c8e8cc5a53ddbfabcc48 SHA512 5b3b785f74cd11433198dfb9b423daae9f3acac6cee158638ac793d1bd575296d0d6425165f3f00338a65f89f48e1c2795725e7a4f791e815a5837b25c69ba46
+DIST pika-1.3.2.gh.tar.gz 323647 BLAKE2B 30cd1154bd35708a29a924d6f0f646ebdd3737745ba588e5d56fd2ae6b2a138005352475b346738b5eea66adadedb0c50fa9411f659c4f6c6b81bc9bf048c7fb SHA512 86c1c33db808274052cbe18af68bef685fafa260f692d16dcd3ce6259107c343ebdd3482713a7948583566581defa6037f3344d03b11c50458432d044d8b2057
diff --git a/dev-python/pika/pika-1.3.1.ebuild b/dev-python/pika/pika-1.3.2.ebuild
index 75b80c3792f5..75b80c3792f5 100644
--- a/dev-python/pika/pika-1.3.1.ebuild
+++ b/dev-python/pika/pika-1.3.2.ebuild
diff --git a/dev-python/pikepdf/Manifest b/dev-python/pikepdf/Manifest
index d7d4b05c8233..e7a447ccb6e5 100644
--- a/dev-python/pikepdf/Manifest
+++ b/dev-python/pikepdf/Manifest
@@ -1,4 +1,4 @@
-DIST pikepdf-6.2.6.gh.tar.gz 2905945 BLAKE2B 3ab7e80ca43c7395994333a47f3ef667b69228cc80c5e03d3264c9dbefaafcd7d367030a90f7836904f141ce497967024264939a50dd59a0ab92e0beca607697 SHA512 a395e6b53792ecbd604424be67ccefd66d4a0a73dc1f22c86ee763e97a2f940d607494d5a0c5172867196932ffa0efac44427dddb277b754fe39e28f41f1fae5
-DIST pikepdf-6.2.7.gh.tar.gz 2906211 BLAKE2B bfc3d8e707b952e214fda3e31ecb0cb44266f41de63f2daea7e13dc944ed8d9d2438ead7a0b6a8f18b6295f52621311f94849b060459d082e75eef0c71713148 SHA512 4cfab0729c0f87bd52f58b9f23af8a4ddd34029b1259e4e2c67a73abfda3b5bd2e8de25962ed70a5497609398453e4f1ea6642e3b01245cb2c70bc09b5ac55f8
-DIST pikepdf-6.2.8.gh.tar.gz 2906054 BLAKE2B 7b639741112857dbf784da7245f905e76664b200f4f832b6a2e8bbf7ab3e48e7f3a5dba1ae00bba72a5797e7e7bce0f1cea6777114ccf9a9b39d352a754edaeb SHA512 d27d8dcd80aa6a553ea6fb3c404bbe7752b2d1a7fb7a8e0315707f24243ff3fcdf58f273dc283e117a0124bfa724f7384004340f20d9f322cf08a5e0366b0225
-DIST pikepdf-6.2.9.gh.tar.gz 2906102 BLAKE2B bd876f506714b237a6010b72c4557bc600e2ee4d6621131c21902ae9f41eb39a9a54a6c08d08dfa84fb3eeec8f2ae7e256d1f1fde533dbc2660a2b415077c8a7 SHA512 2b16e51c999fe1d1f593a9079ae0f13fdaa1955b5d55023169e3a805cbdda07b7ca4108ecea66463a1a253712b851b6dc824aed2c80e5f0caa3ba398d413bd64
+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
diff --git a/dev-python/pikepdf/pikepdf-6.2.6.ebuild b/dev-python/pikepdf/pikepdf-6.2.6.ebuild
deleted file mode 100644
index e4ee7a01eadd..000000000000
--- a/dev-python/pikepdf/pikepdf-6.2.6.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
-
-MY_P=${P/_p/.post}
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-SRC_URI="
- https://github.com/${PN}/${PN}/archive/v${PV/_p/.post}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc ~x86"
-
-DEPEND="
- >=app-text/qpdf-11.1.1:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecation[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-9[${PYTHON_USEDEP}]
- >=dev-python/pybind11-2.9.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.9.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools_scm-7.0.5[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-5[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5[${PYTHON_USEDEP}]
- >=dev-python/pytest-6[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-1.4.2[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
- >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e '/-n auto/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pikepdf/pikepdf-6.2.7.ebuild b/dev-python/pikepdf/pikepdf-6.2.7.ebuild
deleted file mode 100644
index fae6bc7738cb..000000000000
--- a/dev-python/pikepdf/pikepdf-6.2.7.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
-
-MY_P=${P/_p/.post}
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-SRC_URI="
- https://github.com/${PN}/${PN}/archive/v${PV/_p/.post}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-DEPEND="
- >=app-text/qpdf-11.1.1:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecation[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-9[${PYTHON_USEDEP}]
- >=dev-python/pybind11-2.9.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.9.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools_scm-7.0.5[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-5[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5[${PYTHON_USEDEP}]
- >=dev-python/pytest-6[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-1.4.2[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
- >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e '/-n auto/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pikepdf/pikepdf-6.2.8.ebuild b/dev-python/pikepdf/pikepdf-6.2.8.ebuild
deleted file mode 100644
index fae6bc7738cb..000000000000
--- a/dev-python/pikepdf/pikepdf-6.2.8.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
-
-MY_P=${P/_p/.post}
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-SRC_URI="
- https://github.com/${PN}/${PN}/archive/v${PV/_p/.post}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-DEPEND="
- >=app-text/qpdf-11.1.1:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecation[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-9[${PYTHON_USEDEP}]
- >=dev-python/pybind11-2.9.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.9.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools_scm-7.0.5[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-5[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5[${PYTHON_USEDEP}]
- >=dev-python/pytest-6[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-1.4.2[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
- >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e '/-n auto/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pikepdf/pikepdf-6.2.9.ebuild b/dev-python/pikepdf/pikepdf-6.2.9.ebuild
deleted file mode 100644
index fae6bc7738cb..000000000000
--- a/dev-python/pikepdf/pikepdf-6.2.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_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${P/_p/.post}
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-SRC_URI="
- https://github.com/${PN}/${PN}/archive/v${PV/_p/.post}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-DEPEND="
- >=app-text/qpdf-11.1.1:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecation[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-9[${PYTHON_USEDEP}]
- >=dev-python/pybind11-2.9.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.9.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools_scm-7.0.5[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-5[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5[${PYTHON_USEDEP}]
- >=dev-python/pytest-6[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-1.4.2[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
- >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e '/-n auto/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
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..417da5be9fcd
--- /dev/null
+++ b/dev-python/pikepdf/pikepdf-8.11.2-r1.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
+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}]
+ >=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.14.0-r1.ebuild b/dev-python/pikepdf/pikepdf-8.14.0-r1.ebuild
new file mode 100644
index 000000000000..367e7b427436
--- /dev/null
+++ b/dev-python/pikepdf/pikepdf-8.14.0-r1.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
+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}]
+ >=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.15.1-r1.ebuild b/dev-python/pikepdf/pikepdf-8.15.1-r1.ebuild
new file mode 100644
index 000000000000..420eaac097bf
--- /dev/null
+++ b/dev-python/pikepdf/pikepdf-8.15.1-r1.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
+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}]
+ >=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..74215529a058
--- /dev/null
+++ b/dev-python/pikepdf/pikepdf-8.4.1-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} 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}]
+ >=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/pillow/Manifest b/dev-python/pillow/Manifest
index 0aedb5035947..deb1cb5bc2f3 100644
--- a/dev-python/pillow/Manifest
+++ b/dev-python/pillow/Manifest
@@ -1 +1,4 @@
-DIST pillow-9.4.0.gh.tar.gz 50412873 BLAKE2B 12003b8b9e582c47b45d82f4a10553e376dcb38e65154eca5753b2908d6ecad10fc732d622856c7742fb413abbf4afc926e3d30e1e9e410e966f18da4ddde6c1 SHA512 6c08336e5ca1e652bb3237ae092be61b78dc1cf65603d6b23369eb8e0554786114a8f87ab092a5fb9577e02cd0bb381353fa657e03090baeb91b4b8e3c740d51
+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
diff --git a/dev-python/pillow/files/pillow-10.1.0-olefile-0.47.patch b/dev-python/pillow/files/pillow-10.1.0-olefile-0.47.patch
new file mode 100644
index 000000000000..e3b6a6473dfc
--- /dev/null
+++ b/dev-python/pillow/files/pillow-10.1.0-olefile-0.47.patch
@@ -0,0 +1,50 @@
+From 0e523d986858e7c0b4acd45ea1c5a3a639e39b4b Mon Sep 17 00:00:00 2001
+From: Andrew Murray <radarhere@users.noreply.github.com>
+Date: Sat, 2 Dec 2023 10:57:16 +1100
+Subject: [PATCH] Fixed closing file pointer with olefile 0.47
+
+---
+ src/PIL/FpxImagePlugin.py | 1 +
+ src/PIL/MicImagePlugin.py | 3 +++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/src/PIL/FpxImagePlugin.py b/src/PIL/FpxImagePlugin.py
+index a878cbfd2..3027ef45b 100644
+--- a/src/PIL/FpxImagePlugin.py
++++ b/src/PIL/FpxImagePlugin.py
+@@ -227,6 +227,7 @@ class FpxImageFile(ImageFile.ImageFile):
+ break # isn't really required
+
+ self.stream = stream
++ self._fp = self.fp
+ self.fp = None
+
+ def load(self):
+diff --git a/src/PIL/MicImagePlugin.py b/src/PIL/MicImagePlugin.py
+index 801318930..e4154902f 100644
+--- a/src/PIL/MicImagePlugin.py
++++ b/src/PIL/MicImagePlugin.py
+@@ -66,6 +66,7 @@ class MicImageFile(TiffImagePlugin.TiffImageFile):
+ self._n_frames = len(self.images)
+ self.is_animated = self._n_frames > 1
+
++ self.__fp = self.fp
+ self.seek(0)
+
+ def seek(self, frame):
+@@ -87,10 +88,12 @@ class MicImageFile(TiffImagePlugin.TiffImageFile):
+ return self.frame
+
+ def close(self):
++ self.__fp.close()
+ self.ole.close()
+ super().close()
+
+ def __exit__(self, *args):
++ self.__fp.close()
+ self.ole.close()
+ super().__exit__()
+
+--
+2.43.0
+
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/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
new file mode 100644
index 000000000000..1e25a3391179
--- /dev/null
+++ b/dev-python/pillow/pillow-10.0.1.ebuild
@@ -0,0 +1,134 @@
+# 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-r1.ebuild b/dev-python/pillow/pillow-10.1.0-r1.ebuild
new file mode 100644
index 000000000000..0c65cdff5b1c
--- /dev/null
+++ b/dev-python/pillow/pillow-10.1.0-r1.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..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
+)
+
+PATCHES=(
+ # https://github.com/python-pillow/pillow/pull/7594
+ "${FILESDIR}/${P}-olefile-0.47.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
+
+ # 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.2.0.ebuild b/dev-python/pillow/pillow-10.2.0.ebuild
new file mode 100644
index 000000000000..6149846c306e
--- /dev/null
+++ b/dev-python/pillow/pillow-10.2.0.ebuild
@@ -0,0 +1,134 @@
+# 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
+)
+
+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.3.0.ebuild b/dev-python/pillow/pillow-10.3.0.ebuild
new file mode 100644
index 000000000000..b9f65bc8e4da
--- /dev/null
+++ b/dev-python/pillow/pillow-10.3.0.ebuild
@@ -0,0 +1,130 @@
+# 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? (
+ 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() {
+ # 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
+ # 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-9.4.0.ebuild b/dev-python/pillow/pillow-9.4.0.ebuild
deleted file mode 100644
index d24068aef35f..000000000000
--- a/dev-python/pillow/pillow-9.4.0.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} 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"
-IUSE="examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib"
-REQUIRED_USE="test? ( jpeg jpeg2k 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="
- 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/pip-run/Manifest b/dev-python/pip-run/Manifest
index c327923a5c4f..991aaabcdf2c 100644
--- a/dev-python/pip-run/Manifest
+++ b/dev-python/pip-run/Manifest
@@ -1,9 +1 @@
-DIST pip-run-10.0.1.gh.tar.gz 25236 BLAKE2B 319f67420f44c4df1ea950f920de16f3187f1465c619fb628123a07ce56b3c63c96490cc9705f38f273a6fe71d868c9cb31193236af50aff903a34755991a241 SHA512 d4ddca5395a1be291b763555f7d634f5740515167bb38f670b1c3af81d7196e1e084b5659f0d981f2328adb340632bfd452e2913f3d56ea012a2587623b28364
-DIST pip-run-10.0.2.gh.tar.gz 25253 BLAKE2B 9ed3066e70109e64a907426752757881d1c95af304f5f114a270e767945d327ec49eebf2bcae1f2f469151446626cb5204d419c63e8701ec90091a4522a9cd7b SHA512 2d0e8e891aa93b36daefa9259a437ea29860bdc07d986f244ad3fc485351a50f68b5ba53fe6431e42b7a04c437195ef58342674b247f001a4aea5181f31ee03d
-DIST pip-run-10.0.3.gh.tar.gz 25330 BLAKE2B 43a1e21674cd717be2059bcc599f80db10529f06f6dd903bb7ea1d0e65fa63ce7f6996945c9a123981009a05b87e22819df5266ff07f9ca20f45764698d83d88 SHA512 47e94382985d144bc2bb4ea528ad54ee54c98c8d217d3dff3b7bbe6eeb4e1221b66735f2c930354ae0045a7d7631fd8514e439a0e6b15299784c8b2c47c4070a
-DIST pip-run-10.0.4.gh.tar.gz 25454 BLAKE2B c159f9e581d87d7c0b8e9f10ecfe200b4088205a2a5d50092b4d0032288e93a0fda168a80d330c5f6aab9d32d7d15ff461313073cb3235a92ba660d6461ee65c SHA512 fd7e26e62a2c27032b0161b757b2efdd1f8bd64f78b24843c16a67bb856773b7d6350af7e09ec4aafe13cb290d352134c5e7ddb39c339622a6526f44f37c9178
-DIST pip-run-10.0.5.gh.tar.gz 25463 BLAKE2B a25d6f06aa53dabbb15fec0f5a051bd7d612fb96bb1557ac25cd5611db7963110cb5aa8be376fe199e7e9438b3b28930fd45626af1246deb48c41de9b61b8264 SHA512 6595c9b3b635a5bb5ae6e61478986531698947fb4289734b8c689f902afe7726efda283df43530253fc0f9b9416db13c4645a7ac0ed4d2ac8d87a71e9a9923ab
-DIST pip-run-9.0.0.gh.tar.gz 23171 BLAKE2B ca1bee27f4d1826029aa2520dbad9807d22ce66326fd917f0b7687284ce3daf9abcd45e593d735633fb86186ea88ffa0b71780f9b56e27458798763db309bd9d SHA512 117b2260fe628dcc5aae47335ab645c2db47ca9b4d5cd0446ef11bb399c0e91df3a32b61aa7a228aca4d7b837228ddb41fe010896f7debf5fbca6111398cce73
-DIST pip-run-9.2.1.gh.tar.gz 24104 BLAKE2B ebb26cd5356a5919d74c6601b36deed0046c0d67d7533f5817b62b7b7ba74240ef44dd2425be7143f8432d3f8a3f611a051f099b6059e64479eadd77e8f39b45 SHA512 f320da7641817df5c9418094fb49792e3368907ddac551ef22d97ab45b5183cb84f40338da106d5a47d238ca68ca376cbfc6d6c3528b9fca1db02bf910bd3d28
-DIST pip-run-9.4.0.gh.tar.gz 25821 BLAKE2B 8d4d9712f0563d3edf8d963e14221fde89cffc14c3fb26afc2b18bdeca9917cacb27c88a815d398d2b67f10112e888c9f60b497c3c1bf59d0105a4c972aef15d SHA512 c266e6eb30f21ddfd89cc25dee5c56542b3734497d59315751c190e7bd985c6746b95802255ec05da19d5cec8822f4fa169eba4218989013e36a2c118d560f4d
-DIST pip-run-9.5.0.gh.tar.gz 25620 BLAKE2B 156b33f6978ae7c26e4f73be931f887b0a6d793414dee5b69290b88eb849b487d366ce722d6cc6eb58a10074c779cf7dd4bbbdf192bb57494757a6f9c11adbee SHA512 5f1a59e60203dc5e5fd818687112f23ef93117af315161a4ce31e2de183e097aa205af12bd81f45aac91ab2b6a18fbd6a0275b9ad3ce3a7942140b345f49a7a9
+DIST pip-run-12.6.1.tar.gz 38868 BLAKE2B 852e8207fc5951a4007f761c18dd06b483a0658d3ab3f51e667b5f0a204fe2f2c530ade5d2d36005c2a25d564cb779b5d2911aeaf5e046477631958172414352 SHA512 b4dcdf0d96061b7049bd8ad25e20f36fe305fe04148937cab3be91ab8fc95849b07b14d2948eb0d5172d36f5ef561b80cff07b1203c62f117c52eb5d265e9356
diff --git a/dev-python/pip-run/pip-run-10.0.1.ebuild b/dev-python/pip-run/pip-run-10.0.1.ebuild
deleted file mode 100644
index 1efb18721d8b..000000000000
--- a/dev-python/pip-run/pip-run-10.0.1.ebuild
+++ /dev/null
@@ -1,54 +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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Install packages and run Python with them"
-HOMEPAGE="
- https://github.com/jaraco/pip-run/
- https://pypi.org/project/pip-run/
-"
-SRC_URI="
- https://github.com/jaraco/pip-run/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~x86"
-
-RDEPEND="
- dev-python/autocommand[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/importlib_resources[${PYTHON_USEDEP}]
- ' 3.8)
- dev-python/jaraco-context[${PYTHON_USEDEP}]
- dev-python/jaraco-functools[${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/jaraco-path[${PYTHON_USEDEP}]
- >=dev-python/jaraco-test-5.2[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # Needs network access, and another test dep nbformat
- tests/test_scripts.py
-)
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/pip-run/pip-run-10.0.2.ebuild b/dev-python/pip-run/pip-run-10.0.2.ebuild
deleted file mode 100644
index 9ba34a0a97c5..000000000000
--- a/dev-python/pip-run/pip-run-10.0.2.ebuild
+++ /dev/null
@@ -1,64 +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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Install packages and run Python with them"
-HOMEPAGE="
- https://github.com/jaraco/pip-run/
- https://pypi.org/project/pip-run/
-"
-SRC_URI="
- https://github.com/jaraco/pip-run/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
-
-RDEPEND="
- dev-python/autocommand[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/importlib_resources[${PYTHON_USEDEP}]
- ' 3.8)
- dev-python/jaraco-context[${PYTHON_USEDEP}]
- dev-python/jaraco-functools[${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/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}]
- ' 'python*')
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-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-10.0.3.ebuild b/dev-python/pip-run/pip-run-10.0.3.ebuild
deleted file mode 100644
index 079b0a5465d1..000000000000
--- a/dev-python/pip-run/pip-run-10.0.3.ebuild
+++ /dev/null
@@ -1,64 +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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Install packages and run Python with them"
-HOMEPAGE="
- https://github.com/jaraco/pip-run/
- https://pypi.org/project/pip-run/
-"
-SRC_URI="
- https://github.com/jaraco/pip-run/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86"
-
-RDEPEND="
- dev-python/autocommand[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/importlib_resources[${PYTHON_USEDEP}]
- ' 3.8)
- dev-python/jaraco-context[${PYTHON_USEDEP}]
- dev-python/jaraco-functools[${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/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}]
- ' 'python*')
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-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-10.0.4.ebuild b/dev-python/pip-run/pip-run-10.0.4.ebuild
deleted file mode 100644
index 079b0a5465d1..000000000000
--- a/dev-python/pip-run/pip-run-10.0.4.ebuild
+++ /dev/null
@@ -1,64 +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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Install packages and run Python with them"
-HOMEPAGE="
- https://github.com/jaraco/pip-run/
- https://pypi.org/project/pip-run/
-"
-SRC_URI="
- https://github.com/jaraco/pip-run/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86"
-
-RDEPEND="
- dev-python/autocommand[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/importlib_resources[${PYTHON_USEDEP}]
- ' 3.8)
- dev-python/jaraco-context[${PYTHON_USEDEP}]
- dev-python/jaraco-functools[${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/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}]
- ' 'python*')
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-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-10.0.5.ebuild b/dev-python/pip-run/pip-run-10.0.5.ebuild
deleted file mode 100644
index 079b0a5465d1..000000000000
--- a/dev-python/pip-run/pip-run-10.0.5.ebuild
+++ /dev/null
@@ -1,64 +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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Install packages and run Python with them"
-HOMEPAGE="
- https://github.com/jaraco/pip-run/
- https://pypi.org/project/pip-run/
-"
-SRC_URI="
- https://github.com/jaraco/pip-run/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~x86"
-
-RDEPEND="
- dev-python/autocommand[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/importlib_resources[${PYTHON_USEDEP}]
- ' 3.8)
- dev-python/jaraco-context[${PYTHON_USEDEP}]
- dev-python/jaraco-functools[${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/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}]
- ' 'python*')
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-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..a9d57b961bdf
--- /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..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}]
+ $(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-9.0.0.ebuild b/dev-python/pip-run/pip-run-9.0.0.ebuild
deleted file mode 100644
index 569ce977e926..000000000000
--- a/dev-python/pip-run/pip-run-9.0.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Install packages and run Python with them"
-HOMEPAGE="
- https://github.com/jaraco/pip-run/
- https://pypi.org/project/pip-run/
-"
-SRC_URI="
- https://github.com/jaraco/pip-run/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/autocommand[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/path[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pygments[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # Needs network access, and another test dep nbformat
- pip_run/tests/test_scripts.py
-)
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/pip-run/pip-run-9.2.1.ebuild b/dev-python/pip-run/pip-run-9.2.1.ebuild
deleted file mode 100644
index b8aafa299c8f..000000000000
--- a/dev-python/pip-run/pip-run-9.2.1.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Install packages and run Python with them"
-HOMEPAGE="
- https://github.com/jaraco/pip-run/
- https://pypi.org/project/pip-run/
-"
-SRC_URI="
- https://github.com/jaraco/pip-run/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/autocommand[${PYTHON_USEDEP}]
- dev-python/jaraco-context[${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}]
-"
-BDEPEND="
- test? (
- dev-python/jaraco-path[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # Needs network access, and another test dep nbformat
- tests/test_scripts.py
-)
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/pip-run/pip-run-9.4.0.ebuild b/dev-python/pip-run/pip-run-9.4.0.ebuild
deleted file mode 100644
index 7f83ec37bded..000000000000
--- a/dev-python/pip-run/pip-run-9.4.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Install packages and run Python with them"
-HOMEPAGE="
- https://github.com/jaraco/pip-run/
- https://pypi.org/project/pip-run/
-"
-SRC_URI="
- https://github.com/jaraco/pip-run/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/autocommand[${PYTHON_USEDEP}]
- dev-python/jaraco-context[${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/jaraco-path[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # Needs network access, and another test dep nbformat
- tests/test_scripts.py
-)
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/pip-run/pip-run-9.5.0.ebuild b/dev-python/pip-run/pip-run-9.5.0.ebuild
deleted file mode 100644
index 7f83ec37bded..000000000000
--- a/dev-python/pip-run/pip-run-9.5.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Install packages and run Python with them"
-HOMEPAGE="
- https://github.com/jaraco/pip-run/
- https://pypi.org/project/pip-run/
-"
-SRC_URI="
- https://github.com/jaraco/pip-run/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/autocommand[${PYTHON_USEDEP}]
- dev-python/jaraco-context[${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/jaraco-path[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # Needs network access, and another test dep nbformat
- tests/test_scripts.py
-)
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/pip/Manifest b/dev-python/pip/Manifest
index fbee9bbfc87a..3116dbf3047d 100644
--- a/dev-python/pip/Manifest
+++ b/dev-python/pip/Manifest
@@ -1,4 +1 @@
-DIST pip-22.3.1.gh.tar.gz 9326504 BLAKE2B b125599a9f77e49414dae13ca3fe0ac27c9b7e127f6ca7f467f3af4e0b51d835f2790f8311b2ec616966c299fb431403b456f7b38ea1f3fe1e7f769f7d5a78e5 SHA512 c7865c4ce79b0fea7ba469fe593af3be205b3bdb574a6ae019842e0f82a0af406ec905d8c6ff02fbbafe01630c8899a398d071ce74501ca830249160f2f6df98
-DIST setuptools-62.3.2-py3-none-any.whl 1225929 BLAKE2B 608952e201f749ebf557e3962ba9856d5bdcbc534f3a25598cab0d6c53282cfb3b9f007ba135497a8addf49db4c02bc4387c486d95a4529d01ce4114154ec28a SHA512 366d69dc44e326dd7549cdacd8dec481a14dce4feef4338adc38b9de5c4c338f04d61696e13ce8603be1315f2e8734100f92d3fe4b4b11843e19f550c9631978
-DIST virtualenv-16.7.12.gh.tar.gz 8906590 BLAKE2B a1f206769e4e5797562906162e492e44c4a72720e4f88a0362dc802ce2df20c65aaab6a72dce2238445601a10fae59bd90cd362217994d30911f105afd71c5fa SHA512 0278b33fb19f6553e70ad3dcffa6ea1a455ff435b216ac9b4fadff216b2932714faa2bb6027af3058010111d8511a5c2fcd424f31c9645be361603971f111c8e
-DIST wheel-0.36.2-py2.py3-none-any.whl 35046 BLAKE2B bc4e8dab7c74eea34d3b4a813b7eaf6295a99a396a861b6cdd76f743043e89140bad132bdd13e385e8945ce02e0798e1d3ac73fc1b23bde5b2a83e4bb4dd5cdc SHA512 6bb5119b4d3704fe1e3c1eaaa3124edab13f61b46f8a0a8e75974fac4e5b25d8b53606071a03a8d8990ad1cfe2ab247ddea260098df2c0c35ae965be47080284
+DIST pip-24.0.gh.tar.gz 9398156 BLAKE2B 17a7ed9e15e9b8efa0d3e3c5586dc446958b62cf9ba52155a0d1ad97a3e212ee7a08a0e88a592718fc3d542eb8f434155a75cb98d90c008904bd8f59bd2b40b6 SHA512 0c2ecb2ecde4f155c83468d35bc4f52f37efffc16821ae7c706d035e1e8cc3709b41cb10f8140ff09205e8bbdba2c76128ad76d1cbd18401328b619228e834df
diff --git a/dev-python/pip/files/pip-20.0.2-disable-system-install.patch b/dev-python/pip/files/pip-20.0.2-disable-system-install.patch
deleted file mode 100644
index e0b0034e407a..000000000000
--- a/dev-python/pip/files/pip-20.0.2-disable-system-install.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 3aee04cbb93c0e479b040e682b2aef676629c9a2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sat, 1 Feb 2020 09:14:46 +0100
-Subject: [PATCH] install: Raise an error to avoid breaking python-exec
-
-Running pip without --target, --prefix, --root, or --user will result
-in packages being installed systemwide. This has a tendency to break
-python-exec if setuptools gets installed or upgraded.
----
- src/pip/_internal/commands/install.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/pip/_internal/commands/install.py b/src/pip/_internal/commands/install.py
-index 8c2c32fd..41bac878 100644
---- a/src/pip/_internal/commands/install.py
-+++ b/src/pip/_internal/commands/install.py
-@@ -238,6 +238,9 @@ class InstallCommand(RequirementCommand):
- if options.upgrade:
- upgrade_strategy = options.upgrade_strategy
-
-+ if not options.use_user_site and not options.target_dir and not options.root_path and not options.prefix_path and not os.getenv('GENTOO_PIP_TESTING'):
-+ raise CommandError("(Gentoo) Please run pip with the --user option to avoid breaking python-exec")
-+
- cmdoptions.check_dist_restriction(options, check_target=True)
-
- install_options = options.install_options or []
---
-2.28.0
-
diff --git a/dev-python/pip/files/pip-22.2.1-no-coverage.patch b/dev-python/pip/files/pip-22.2.1-no-coverage.patch
deleted file mode 100644
index bd9523956ca8..000000000000
--- a/dev-python/pip/files/pip-22.2.1-no-coverage.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From fe4438ee999938da3b6f67b4dd53d6676d67c3e7 Mon Sep 17 00:00:00 2001
-From: Arthur Zamarin <arthurzam@gentoo.org>
-Date: Fri, 29 Jul 2022 14:06:03 +0300
-Subject: [PATCH] Disable coverage testing support inside test venvs
-
----
- tests/conftest.py | 15 ---------------
- 1 file changed, 15 deletions(-)
-
-diff --git a/tests/conftest.py b/tests/conftest.py
-index c9ab292..e7c14df 100644
---- a/tests/conftest.py
-+++ b/tests/conftest.py
-@@ -403,13 +403,6 @@ def wheel_install(tmpdir_factory: pytest.TempPathFactory, common_wheels: Path) -
- return _common_wheel_editable_install(tmpdir_factory, common_wheels, "wheel")
-
-
--@pytest.fixture(scope="session")
--def coverage_install(
-- tmpdir_factory: pytest.TempPathFactory, common_wheels: Path
--) -> Path:
-- return _common_wheel_editable_install(tmpdir_factory, common_wheels, "coverage")
--
--
- def install_pth_link(
- venv: VirtualEnvironment, project_name: str, lib_dir: Path
- ) -> None:
-@@ -424,7 +417,6 @@ def virtualenv_template(
- tmpdir_factory: pytest.TempPathFactory,
- pip_src: Path,
- setuptools_install: Path,
-- coverage_install: Path,
- ) -> Iterator[VirtualEnvironment]:
-
- venv_type: VirtualEnvironmentType
-@@ -451,13 +443,6 @@ def virtualenv_template(
- [os.fspath(venv.bin / "python"), "setup.py", "-q", "develop"], cwd=pip_editable
- )
-
-- # Install coverage and pth file for executing it in any spawned processes
-- # in this virtual environment.
-- install_pth_link(venv, "coverage", coverage_install)
-- # zz prefix ensures the file is after easy-install.pth.
-- with open(venv.site / "zz-coverage-helper.pth", "a") as f:
-- f.write("import coverage; coverage.process_startup()")
--
- # Drop (non-relocatable) launchers.
- for exe in os.listdir(venv.bin):
- if not (
---
-2.35.1
-
diff --git a/dev-python/pip/files/pip-23.1-no-coverage.patch b/dev-python/pip/files/pip-23.1-no-coverage.patch
new file mode 100644
index 000000000000..943cc281cdfb
--- /dev/null
+++ b/dev-python/pip/files/pip-23.1-no-coverage.patch
@@ -0,0 +1,52 @@
+From d915b0eec7b5844c06b5d8853544c8c5b538b0b9 Mon Sep 17 00:00:00 2001
+From: Arthur Zamarin <arthurzam@gentoo.org>
+Date: Fri, 29 Jul 2022 14:06:03 +0300
+Subject: [PATCH] Disable coverage testing support inside test venvs
+
+---
+ tests/conftest.py | 15 ---------------
+ 1 file changed, 15 deletions(-)
+
+diff --git a/tests/conftest.py b/tests/conftest.py
+index 57dd7e68a..af2af9ffa 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -408,13 +408,6 @@ def wheel_install(tmpdir_factory: pytest.TempPathFactory, common_wheels: Path) -
+ return _common_wheel_editable_install(tmpdir_factory, common_wheels, "wheel")
+
+
+-@pytest.fixture(scope="session")
+-def coverage_install(
+- tmpdir_factory: pytest.TempPathFactory, common_wheels: Path
+-) -> Path:
+- return _common_wheel_editable_install(tmpdir_factory, common_wheels, "coverage")
+-
+-
+ def install_pth_link(
+ venv: VirtualEnvironment, project_name: str, lib_dir: Path
+ ) -> None:
+@@ -430,7 +423,6 @@ def virtualenv_template(
+ pip_src: Path,
+ setuptools_install: Path,
+ wheel_install: Path,
+- coverage_install: Path,
+ ) -> Iterator[VirtualEnvironment]:
+ venv_type: VirtualEnvironmentType
+ if request.config.getoption("--use-venv"):
+@@ -457,13 +449,6 @@ def virtualenv_template(
+ [os.fspath(venv.bin / "python"), "setup.py", "-q", "develop"], cwd=pip_editable
+ )
+
+- # Install coverage and pth file for executing it in any spawned processes
+- # in this virtual environment.
+- install_pth_link(venv, "coverage", coverage_install)
+- # zz prefix ensures the file is after easy-install.pth.
+- with open(venv.site / "zz-coverage-helper.pth", "a") as f:
+- f.write("import coverage; coverage.process_startup()")
+-
+ # Drop (non-relocatable) launchers.
+ for exe in os.listdir(venv.bin):
+ if not (
+--
+2.40.0
+
diff --git a/dev-python/pip/files/pip-23.3.1-no-color.patch b/dev-python/pip/files/pip-23.3.1-no-color.patch
new file mode 100644
index 000000000000..528e2c6cf465
--- /dev/null
+++ b/dev-python/pip/files/pip-23.3.1-no-color.patch
@@ -0,0 +1,35 @@
+From ad01e9c2a965d395c5902c8ad70c970c7631316b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sat, 25 Nov 2023 07:36:59 +0100
+Subject: [PATCH] Fix tests when NO_COLOR is set in the calling environment
+
+Add `FORCE_COLOR` and `NO_COLOR` variables to the `isolate()` fixture
+to ensure that these two variables do not affect internal test output.
+This fixes the following two test failures when pytest is called with
+`NO_COLOR` set:
+
+```
+FAILED tests/unit/test_exceptions.py::TestDiagnosticPipErrorPresentation_ASCII::test_complete_color - AssertionError: assert '\x1b[1merror...ing harder.\n' == '\x1b[1;31mer...ing harder.\n'
+FAILED tests/unit/test_exceptions.py::TestDiagnosticPipErrorPresentation_Unicode::test_complete_color - AssertionError: assert '\x1b[1merror...ing harder.\n' == '\x1b[1;31mer...ing harder.\n'
+```
+---
+ news/7ae28a10-04c4-4a1f-a276-4c9e04f2e0c1.trivial.rst | 0
+ tests/conftest.py | 4 ++++
+ 2 files changed, 4 insertions(+)
+ create mode 100644 news/7ae28a10-04c4-4a1f-a276-4c9e04f2e0c1.trivial.rst
+
+diff --git a/tests/conftest.py b/tests/conftest.py
+index c5bf4bb9567..8d9eb029c79 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -318,6 +318,10 @@ def isolate(tmpdir: Path, monkeypatch: pytest.MonkeyPatch) -> None:
+ # Make sure tests don't share a requirements tracker.
+ monkeypatch.delenv("PIP_BUILD_TRACKER", False)
+
++ # Make sure color control variables don't affect internal output.
++ monkeypatch.delenv("FORCE_COLOR", False)
++ monkeypatch.delenv("NO_COLOR", False)
++
+ # FIXME: Windows...
+ os.makedirs(os.path.join(home_dir, ".config", "git"))
+ with open(os.path.join(home_dir, ".config", "git", "config"), "wb") as fp:
diff --git a/dev-python/pip/pip-22.3.1.ebuild b/dev-python/pip/pip-22.3.1.ebuild
deleted file mode 100644
index 0dfc64f4ea0a..000000000000
--- a/dev-python/pip/pip-22.3.1.ebuild
+++ /dev/null
@@ -1,139 +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-wheels along with this package!
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{9..10} )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_11 pypy3 )
-PYTHON_REQ_USE="ssl(+),threads(+)"
-
-inherit bash-completion-r1 distutils-r1 multiprocessing
-
-# setuptools & wheel .whl files are required for testing,
-# the exact version is not very important.
-SETUPTOOLS_WHL="setuptools-62.3.2-py3-none-any.whl"
-WHEEL_WHL="wheel-0.36.2-py2.py3-none-any.whl"
-# upstream still requires virtualenv-16 for testing, we are now fetching
-# it directly to avoid blockers with virtualenv-20
-VENV_PV=16.7.12
-
-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/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
- test? (
- https://files.pythonhosted.org/packages/py3/s/setuptools/${SETUPTOOLS_WHL}
- https://files.pythonhosted.org/packages/py2.py3/w/wheel/${WHEEL_WHL}
- https://github.com/pypa/virtualenv/archive/${VENV_PV}.tar.gz
- -> virtualenv-${VENV_PV}.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 vanilla"
-
-RDEPEND="
- >=dev-python/setuptools-39.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- 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/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-22.2.1-no-coverage.patch"
- )
- if ! use vanilla; then
- PATCHES+=( "${FILESDIR}/pip-20.0.2-disable-system-install.patch" )
- fi
-
- distutils-r1_python_prepare_all
-
- if use test; then
- mkdir tests/data/common_wheels/ || die
- cp "${DISTDIR}"/{${SETUPTOOLS_WHL},${WHEEL_WHL}} \
- 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} since virtualenv-16 is broken"
- return 0
- fi
-
- local EPYTEST_DESELECT=(
- tests/functional/test_inspect.py::test_inspect_basic
- tests/functional/test_install.py::test_double_install_fail
- tests/functional/test_list.py::test_multiple_exclude_and_normalization
- # Internet
- tests/functional/test_install.py::test_install_dry_run
- tests/functional/test_install.py::test_install_editable_with_prefix_setup_cfg
- tests/functional/test_install.py::test_editable_install__local_dir_no_setup_py_with_pyproject
- 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
- # git: fatal: transport 'file' not allowed
- tests/functional/test_install_vcs_git.py::test_check_submodule_addition
- )
-
- 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 GENTOO_PIP_TESTING=1
- local -x PYTHONPATH="${WORKDIR}/virtualenv-${VENV_PV}"
- 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..8e9ed0858608
--- /dev/null
+++ b/dev-python/pip/pip-24.0.ebuild
@@ -0,0 +1,136 @@
+# 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..12} )
+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"
+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"
+ # 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.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"
+}
+
+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
new file mode 100644
index 000000000000..88b46781bb9a
--- /dev/null
+++ b/dev-python/pipdeptree/Manifest
@@ -0,0 +1,2 @@
+DIST pipdeptree-2.16.2.tar.gz 32151 BLAKE2B 18715b0c7835e19bd5b6846922990e321a7e06315642204e7d79375a50b692f87e2ba1ec5884c4f69ff6e8d75e863c8cf372152aca7561ab94ef265d3c1df9fb SHA512 06d72f94a9165fe52cc15b9f539e3adb6da99e4a63cae78928bf68be3499b2828a5d471f270455b94a960ba2fe2f6319f5319c20ed270029a38a81173a7cd403
+DIST pipdeptree-2.17.0.tar.gz 34677 BLAKE2B 3f92c4361978d2a6b1ae46d3a7e21aca231d504abf3a3cc8388d64a70fc3853a33edeac091a0b60cd3043d86162f6816292f973e9c8691420f906e946a5c9dac SHA512 1e7a4bc7f2f872e9d3115b413acc791eeb912a6f428fca772e30a3c8164ecfa44bba7e5246f9b65cbc4d34ffcd8050ff795ced3e3f9ad918f134ce052a8e8992
diff --git a/dev-python/pipdeptree/files/pipdeptree-2.13.1-expect-hpy-in-pypy-7.3.3.patch b/dev-python/pipdeptree/files/pipdeptree-2.13.1-expect-hpy-in-pypy-7.3.3.patch
new file mode 100644
index 000000000000..5cc4b1ca580d
--- /dev/null
+++ b/dev-python/pipdeptree/files/pipdeptree-2.13.1-expect-hpy-in-pypy-7.3.3.patch
@@ -0,0 +1,26 @@
+https://github.com/tox-dev/pipdeptree/pull/302
+
+From 8a2ccfe062d8978f010e2e4bd3f8e8b9e46ecbce 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
+@@ -33,7 +33,11 @@ def test_custom_interpreter(
+ if implementation == "CPython":
+ expected = {"pip", "setuptools", "wheel"}
+ elif implementation == "PyPy":
+- expected = {"cffi", "greenlet", "pip", "readline", "setuptools", "wheel"}
++ # hpy added in 7.3.2, enabled in 7.3.3
++ if sys.pypy_version_info >= (7, 3, 3):
++ 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.42.1
+
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/metadata.xml b/dev-python/pipdeptree/metadata.xml
new file mode 100644
index 000000000000..f1082b8162d3
--- /dev/null
+++ b/dev-python/pipdeptree/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" proxied="yes">
+ <email>oz.tiram@gmail.com</email>
+ <name>Oz Tiram</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">tox-dev/pipdeptree</remote-id>
+ <remote-id type="pypi">pipdeptree</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pipdeptree/pipdeptree-2.16.2.ebuild b/dev-python/pipdeptree/pipdeptree-2.16.2.ebuild
new file mode 100644
index 000000000000..dbb4e804f288
--- /dev/null
+++ b/dev-python/pipdeptree/pipdeptree-2.16.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=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/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
+
+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.ebuild b/dev-python/pipdeptree/pipdeptree-2.17.0.ebuild
new file mode 100644
index 000000000000..d4b8329e97ea
--- /dev/null
+++ b/dev-python/pipdeptree/pipdeptree-2.17.0.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.13.2-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/pipenv/Manifest b/dev-python/pipenv/Manifest
index 3fefbc1c596d..a78ee4044bd4 100644
--- a/dev-python/pipenv/Manifest
+++ b/dev-python/pipenv/Manifest
@@ -1 +1 @@
-DIST pipenv-2022.12.19.gh.tar.gz 11118843 BLAKE2B 812aa7eacd2b1eaa42a586e64b73e7a13d2ac3ed4c2abf834e190ed5a8a4398d3d17999c1e196de6b01eb755f6771493967b8497710ac3fe20d73408f6251f80 SHA512 edd1e43cb3e91ed0001aff0a590f72e510f9b4c5f436a1c81d1e8a815d22f5bcf199254e5faf78dbdfec3ee0d4b51709b6de28163cf01e58d6f0de044ae99fdc
+DIST pipenv-2023.12.1.gh.tar.gz 10728288 BLAKE2B dc9425303e24652b797c9f9f9f6cc6f13f30e32775fe0458ee472af5d859ee245c58f3adb6040390bd53d3e1efd6493f930c7336e69956516b36e26e70ca14b7 SHA512 caadbeb32c0445abfae65d86df8d9a5875e71c1a0a281193194ae61c0b095c8f9361a5dd67f92acd5b64d8dc1d877324e959357470894d7d60ceb1a619c831db
diff --git a/dev-python/pipenv/files/pipenv-2022.12.19-append-always-install.patch b/dev-python/pipenv/files/pipenv-2022.12.19-append-always-install.patch
deleted file mode 100644
index a5746fdb8ebe..000000000000
--- a/dev-python/pipenv/files/pipenv-2022.12.19-append-always-install.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/pipenv/core.py b/pipenv/core.py
-index e42f184d1..02f8994de 100644
---- a/pipenv/core.py
-+++ b/pipenv/core.py
-@@ -791,6 +791,12 @@ 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-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.9.8-append-always-install-to-pip-extra-args.patch b/dev-python/pipenv/files/pipenv-2023.9.8-append-always-install-to-pip-extra-args.patch
new file mode 100644
index 000000000000..d97987fd0db3
--- /dev/null
+++ b/dev-python/pipenv/files/pipenv-2023.9.8-append-always-install-to-pip-extra-args.patch
@@ -0,0 +1,34 @@
+From 8ee76835b2d615156bb6d329417d6ce8d19bfa3a Mon Sep 17 00:00:00 2001
+From: Oz Tiram <oz.tiram@gmail.com>
+Date: Wed, 20 Sep 2023 23:11:27 +0200
+Subject: [PATCH 2/4] Append always install to pip extra args
+
+---
+ pipenv/routines/install.py | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/pipenv/routines/install.py b/pipenv/routines/install.py
+index 2f135b435..e30f2da52 100644
+--- a/pipenv/routines/install.py
++++ b/pipenv/routines/install.py
+@@ -459,6 +459,17 @@ def batch_install_iteration(
+ allow_global=False,
+ extra_pip_args=None,
+ ):
++ # 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")
++
++ # End of Gentoo patch
++
+ with temp_environ():
+ if not allow_global:
+ os.environ["PIP_USER"] = "0"
+--
+2.41.0
+
diff --git a/dev-python/pipenv/files/pipenv-2023.9.8-inject-system-packages.patch b/dev-python/pipenv/files/pipenv-2023.9.8-inject-system-packages.patch
new file mode 100644
index 000000000000..cf211f1ab846
--- /dev/null
+++ b/dev-python/pipenv/files/pipenv-2023.9.8-inject-system-packages.patch
@@ -0,0 +1,53 @@
+From b6b25911c050f0bec192e5ccb09ddc6dc3d5fa7d Mon Sep 17 00:00:00 2001
+From: Oz Tiram <oz.tiram@gmail.com>
+Date: Wed, 20 Sep 2023 23:03:57 +0200
+Subject: [PATCH 1/4] Inject system packages
+
+---
+ pipenv/patched/pip/__main__.py | 8 ++++++++
+ pipenv/resolver.py | 6 ++++++
+ 2 files changed, 14 insertions(+)
+
+diff --git a/pipenv/patched/pip/__main__.py b/pipenv/patched/pip/__main__.py
+index 032297163..59f7ad19e 100644
+--- a/pipenv/patched/pip/__main__.py
++++ b/pipenv/patched/pip/__main__.py
+@@ -21,10 +21,18 @@ if __package__ == "":
+ 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)
+ sys.modules["pipenv"] = pipenv
++
++
+ spec.loader.exec_module(pipenv)
+ from pipenv.patched.pip._internal.cli.main import main as _main
+
+diff --git a/pipenv/resolver.py b/pipenv/resolver.py
+index 82e01ca39..29461b878 100644
+--- a/pipenv/resolver.py
++++ b/pipenv/resolver.py
+@@ -10,6 +10,12 @@ except ImportError:
+ cached_property = property
+
+
++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(
+ "typing_extensions",
+--
+2.41.0
+
diff --git a/dev-python/pipenv/pipenv-2022.12.19.ebuild b/dev-python/pipenv/pipenv-2022.12.19.ebuild
deleted file mode 100644
index 1f9dabc494e4..000000000000
--- a/dev-python/pipenv/pipenv-2022.12.19.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_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-2022.12.19-append-always-install.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}]
- >=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 click 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 tomlkit from vendoring
- for fname in pipenv/utils/toml.py tests/integration/conftest.py; do
- sed --in-place -e "s/from pipenv\.vendor import toml, tomlkit/from pipenv\.vendor import toml\\nimport tomlkit/g" $fname || die "Failed sed in $fname"
- done
- #for fname in "tests/unit/test_vendor.py "; do
- # sed --in-place -e "s/from pipenv\.vendor import tomlkit/import tomlkit/g" $fname || die "Failed sed in tomlkit"
- #done
- # remove python ruaml yaml
- sed --in-place -e "s/from pipenv\.vendor\.ruamel\.yaml import YAML/from ruaml\.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 ruaml\.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.12.1.ebuild b/dev-python/pipenv/pipenv-2023.12.1.ebuild
new file mode 100644
index 000000000000..4fcc048b339f
--- /dev/null
+++ b/dev-python/pipenv/pipenv-2023.12.1.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[${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/pipx/Manifest b/dev-python/pipx/Manifest
new file mode 100644
index 000000000000..d60fee2198cc
--- /dev/null
+++ b/dev-python/pipx/Manifest
@@ -0,0 +1,3 @@
+DIST pipx-1.4.1-test-shim.tar.xz 76316 BLAKE2B 25200c9519f8e916cba3933b4df3cc808d5575ac055c4465dbd4cf0ced92bc7f0bca5c448e324b9d61a0cf70710f584cfba6106859ffcccf42e0f59910b81cd0 SHA512 760ad73c67588747bed91b7172821a8e899e52fff8966836d7a2b3dc8cd3946006c76fdcae0320364fe0cb5afc8b51dd583c0a3720099812702fb585b98b9fef
+DIST pipx-1.4.3.gh.tar.gz 361782 BLAKE2B 579f16fe9c8fca973a2fdd1dc6b0cee9ae9d3da37be5acd1cc9d14e37fb291f678986bcfd52b185ebce3200000817a9dacdce95473f9fd498d4f6dc89cf7d3da SHA512 423310d4a2523fdb0eca69fd5ee861f8cad144f458aaf63008ca018fea0dc3b6a4274f7cae1ffdde45013dd85eee05a4a379589a93f4c369376e122a5dc4f23e
+DIST pipx-1.5.0.gh.tar.gz 374890 BLAKE2B 214e6a3f73815888ab06fbf75e09434cf033bba402a0aa39d803a24ad052d3b9ece1d6daab79f1c5196e8da09d1ea085f96f816da4240df6ec67f88f8d1f2121 SHA512 7d8d64f2b042f050153dee27a759de2734a567a445470411c2838292e9365cfa18199cb096c0015651210e656173006be0cba20a16cc4b3ebc211a6a2caef2c7
diff --git a/dev-python/pipx/metadata.xml b/dev-python/pipx/metadata.xml
new file mode 100644
index 000000000000..9d7f8d31d438
--- /dev/null
+++ b/dev-python/pipx/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>cedk@gentoo.org</email>
+ <name>Cédric Krier</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pipx</remote-id>
+ <remote-id type="github">pypa/pipx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pipx/pipx-1.4.3.ebuild b/dev-python/pipx/pipx-1.4.3.ebuild
new file mode 100644
index 000000000000..388b94a953f1
--- /dev/null
+++ b/dev-python/pipx/pipx-1.4.3.ebuild
@@ -0,0 +1,87 @@
+# 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
+
+TEST_SHIM=pipx-1.4.1-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
+ )
+"
+
+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}]
+"
+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
+ 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]'
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -x
+}
diff --git a/dev-python/pipx/pipx-1.5.0.ebuild b/dev-python/pipx/pipx-1.5.0.ebuild
new file mode 100644
index 000000000000..dda904431a85
--- /dev/null
+++ b/dev-python/pipx/pipx-1.5.0.ebuild
@@ -0,0 +1,93 @@
+# 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
+
+TEST_SHIM=pipx-1.4.1-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
+ )
+"
+
+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}]
+"
+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
+ 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/Manifest b/dev-python/pivy/Manifest
index c7ff605c4fef..02d933036402 100644
--- a/dev-python/pivy/Manifest
+++ b/dev-python/pivy/Manifest
@@ -1 +1,2 @@
+DIST pivy-0.6.8-python312-unittests.patch 39874 BLAKE2B e63be84da3b852c89e04cf7baa61b44e175414245dc20799a6463fecb6896082dfb03a365540880e37b30cde99c0124bd5b2aacf9d011d580cda2c1add917922 SHA512 3cb3980b31b2d6ff957a38b028319c32bfc0398cd08048171f1fe7a0b3e25a6a6096960fdfc2ada1b4adf184c381537214a7110569e91e75ede7b951a4e3ac98
DIST pivy-0.6.8.tar.gz 6618458 BLAKE2B 08c57f0d7bff15a7f9d49b56b75b44c587416eb0feb2b237db48d7e2edd478f9212d7e898f4dd102b9d5dd10046dd652f37a9974861598c7ba91d7fdb1145c91 SHA512 723b09028f2e3075056b9588cebad0ddccbc98d0c15552b9565c177b0de764b9645f88ea2bc534ccf606f2e0b59f91e1d03551b55ece66c0654ce9cdf09a1a7c
diff --git a/dev-python/pivy/files/pivy-0.6.8-python312.patch b/dev-python/pivy/files/pivy-0.6.8-python312.patch
new file mode 100644
index 000000000000..6742d7579521
--- /dev/null
+++ b/dev-python/pivy/files/pivy-0.6.8-python312.patch
@@ -0,0 +1,23 @@
+From d3faf04b8770c60ca9b2186059ee82201e3620ad Mon Sep 17 00:00:00 2001
+From: lorenz <looooo@users.noreply.github.com>
+Date: Thu, 13 Jul 2023 23:59:17 +0200
+Subject: [PATCH] python 3.12 support
+
+PyUnicode_GET_SIZE -> PyUnicode_GET_LENGTH
+---
+ Inventor/SoInput.i | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Inventor/SoInput.i b/Inventor/SoInput.i
+index 0925ab50..f0be6383 100644
+--- a/Inventor/SoInput.i
++++ b/Inventor/SoInput.i
+@@ -10,7 +10,7 @@
+ if (PyUnicode_Check($input))
+ {
+ $1 = (void *) PyUnicode_AsUTF8($input);
+- $2 = PyUnicode_GET_SIZE($input);
++ $2 = PyUnicode_GET_LENGTH($input);
+ }
+ else if (PyBytes_Check($input))
+ {
diff --git a/dev-python/pivy/pivy-0.6.8.ebuild b/dev-python/pivy/pivy-0.6.8.ebuild
index 9284cbc1fb81..73dc11cf83dd 100644
--- a/dev-python/pivy/pivy-0.6.8.ebuild
+++ b/dev-python/pivy/pivy-0.6.8.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
@@ -15,7 +16,10 @@ if [[ ${PV} == *9999 ]]; then
inherit git-r3
PIVY_REPO_URI="https://github.com/coin3d/pivy.git"
else
- SRC_URI="https://github.com/coin3d/pivy/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+ SRC_URI="
+ https://github.com/coin3d/pivy/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~andrewammerlaan/${P}-python312-unittests.patch
+ "
KEYWORDS="amd64 x86"
fi
@@ -36,8 +40,8 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND="
+ dev-build/cmake
dev-lang/swig
- dev-util/cmake
test? ( ${RDEPEND} )
"
@@ -45,6 +49,10 @@ PATCHES=(
"${FILESDIR}"/${PN}-0.6.6-0001-fix-CMakeLists.txt-for-distutils_cmake.patch
"${FILESDIR}"/${PN}-0.6.6-0002-Gentoo-specific-clear-swig-deprecation-warning.patch
"${FILESDIR}"/${PN}-0.6.7-find-qmake.patch
+ # https://github.com/coin3d/pivy/issues/105
+ "${FILESDIR}"/${PN}-0.6.8-python312.patch
+ # https://github.com/coin3d/pivy/pull/109
+ "${DISTDIR}"/${PN}-0.6.8-python312-unittests.patch
)
DOCS=( AUTHORS HACKING NEWS README.md THANKS )
diff --git a/dev-python/pkgconfig/Manifest b/dev-python/pkgconfig/Manifest
index 9d325e81da55..fa350a92b5e9 100644
--- a/dev-python/pkgconfig/Manifest
+++ b/dev-python/pkgconfig/Manifest
@@ -1 +1 @@
-DIST pkgconfig-1.5.5.tar.gz 7331 BLAKE2B ef93a712198c1da5a38aec59f52d325b3d7cb25deef799bb006ba1f1d16b673b21d8c837475839e659f62eea9571a50476e38d3c8f95551fb5512a61a155334d SHA512 dfdd0a6ba0d9f37b6d504dc9bea8b19b18a3431ae54bb5fe061911bd1c6a20452f30ea66f67acc6c13c06123247036de7442bba3a7b0eb1af4ebb62d84df64f5
+DIST pkgconfig-1.5.5.gh.tar.gz 7331 BLAKE2B ef93a712198c1da5a38aec59f52d325b3d7cb25deef799bb006ba1f1d16b673b21d8c837475839e659f62eea9571a50476e38d3c8f95551fb5512a61a155334d SHA512 dfdd0a6ba0d9f37b6d504dc9bea8b19b18a3431ae54bb5fe061911bd1c6a20452f30ea66f67acc6c13c06123247036de7442bba3a7b0eb1af4ebb62d84df64f5
diff --git a/dev-python/pkgconfig/pkgconfig-1.5.5-r1.ebuild b/dev-python/pkgconfig/pkgconfig-1.5.5-r1.ebuild
index ca6cafd21402..f699c69f5d3a 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_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
@@ -15,12 +15,12 @@ HOMEPAGE="
"
SRC_URI="
https://github.com/matze/pkgconfig/archive/v${PV}.tar.gz
- -> ${P}.tar.gz
+ -> ${P}.gh.tar.gz
"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+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-python/Manifest b/dev-python/pkgcraft-python/Manifest
deleted file mode 100644
index 2f00c0c73e36..000000000000
--- a/dev-python/pkgcraft-python/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pkgcraft-0.0.3.tar.gz 1239742 BLAKE2B c9148d3ac34d80c47db5d1080b3806e6b64fffa226d595a11499215626342286efc19b86fd1e158a8ca0021ab8946d35e4393fceaf8a318c258114a6c2e1ffdf SHA512 53ae196d073271654807ef5587c38d83e10b606f59baf63e3c8da7ce1b1d80d7acd1e3e201ebba1346c14d101eded666d6ad9bdf972b36c574c9b494147baa4a
diff --git a/dev-python/pkgcraft-python/pkgcraft-python-0.0.3.ebuild b/dev-python/pkgcraft-python/pkgcraft-python-0.0.3.ebuild
deleted file mode 100644
index 5dc743ca3d03..000000000000
--- a/dev-python/pkgcraft-python/pkgcraft-python-0.0.3.ebuild
+++ /dev/null
@@ -1,74 +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="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"
- inherit git-r3
-
- PKGCRAFT_VERSION_MIN="9999"
- PKGCRAFT_VERSION_MAX="9999"
-else
- SRC_URI="https://github.com/pkgcraft/pkgcraft-python/releases/download/v${PV}/${P/-python}.tar.gz"
- S="${WORKDIR}"/${P/-python}
-
- KEYWORDS="~amd64"
-
- PKGCRAFT_VERSION_MIN="0.0.4"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="+examples"
-
-RDEPEND="
- >=sys-libs/pkgcraft-${PKGCRAFT_VERSION_MIN}:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-python/cython
- dev-python/setuptools_scm
- 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
- 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-python/pkgcraft-python-9999.ebuild b/dev-python/pkgcraft-python/pkgcraft-python-9999.ebuild
deleted file mode 100644
index 5dc743ca3d03..000000000000
--- a/dev-python/pkgcraft-python/pkgcraft-python-9999.ebuild
+++ /dev/null
@@ -1,74 +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="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"
- inherit git-r3
-
- PKGCRAFT_VERSION_MIN="9999"
- PKGCRAFT_VERSION_MAX="9999"
-else
- SRC_URI="https://github.com/pkgcraft/pkgcraft-python/releases/download/v${PV}/${P/-python}.tar.gz"
- S="${WORKDIR}"/${P/-python}
-
- KEYWORDS="~amd64"
-
- PKGCRAFT_VERSION_MIN="0.0.4"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="+examples"
-
-RDEPEND="
- >=sys-libs/pkgcraft-${PKGCRAFT_VERSION_MIN}:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-python/cython
- dev-python/setuptools_scm
- 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
- 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/Manifest b/dev-python/pkgcraft/Manifest
new file mode 100644
index 000000000000..46d87a4c79f0
--- /dev/null
+++ b/dev-python/pkgcraft/Manifest
@@ -0,0 +1 @@
+DIST pkgcraft-0.0.9.tar.gz 431872 BLAKE2B 6c6ed1677c891c0e5579c7e28342876c2d7cbe03f2fcf3f8ad9f994302570d1d2398d2b4a55ec1a2fd82bbea518a4d2f76e9cabe760f0d9779b8d55170c1d940 SHA512 13988ff6822a5f9b715f3a9e8593a21d6ac530a91ca98790bd8a1c3e5958c97e440ce0610d25ed518f6d485837c9aded2ba145facf98e217325802777a33b3a7
diff --git a/dev-python/pkgcraft-python/metadata.xml b/dev-python/pkgcraft/metadata.xml
index 39d39075985d..39d39075985d 100644
--- a/dev-python/pkgcraft-python/metadata.xml
+++ b/dev-python/pkgcraft/metadata.xml
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..b61769cf7136
--- /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..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.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
new file mode 100644
index 000000000000..b61769cf7136
--- /dev/null
+++ b/dev-python/pkgcraft/pkgcraft-9999.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..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.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/pkginfo/Manifest b/dev-python/pkginfo/Manifest
index eb66bb54e81d..39de2683d043 100644
--- a/dev-python/pkginfo/Manifest
+++ b/dev-python/pkginfo/Manifest
@@ -1,5 +1 @@
-DIST pkginfo-1.9.2.tar.gz 377091 BLAKE2B e217e3d58fbc7a4efe7321d1eb4f6c95ea75cfcdcbdd06c0f8b728eb1ec18c5800a7ed6f6338996c60f5f251f36d40b40c20d0b1700956dd8a23a6e40594a356 SHA512 16eb4708040811a21184e5fff1bbbde775360718fa67df97f56c646381f6f1e58967920753437e5759e4d88c31a4f10c1e4d8be2380981939e51e4ee140dbeda
-DIST pkginfo-1.9.3.tar.gz 786745 BLAKE2B 6b5c507073a30900e9325c68e437594fee0e491199a38de19baea0170453d84031441ab7a08387d5b3d363f8b77ec971ef6c36dd72154114041e724c17f4eb1b SHA512 452893a2fdc99068ea780f11d1a54bc5c0f99a2ec7e1ced2ec43a0703c85af24e61b6d80c0724981fab9b6e0caa3e2e98882f34d3edbe8b187ea16d66e120dcc
-DIST pkginfo-1.9.4.tar.gz 378812 BLAKE2B fa548bfd84ff177759cbf2227246360bec68e38c1c2a778da192dad8ab7781a7d6cbe9c160f7684f99517c6d3eaff4fa1fb014014caff5a42f74397d4ff48aa8 SHA512 45a3af0352ba8e4d4fdf13082a8676c0c97b450a82c73d11b6579134dbc28c486ea4b439adcfb2dd146659580fd882b3a2770490092a37b14eaedc77fb8d67f5
-DIST pkginfo-1.9.5.tar.gz 379301 BLAKE2B 2cee09d742fbe49582f61ca4f1bff7cb5bca5b46f82a047ffccdc7e92bda556753eafbf4440aca176b9e1c807ddde5e53f180e7928b504a3f4d9572fb0374977 SHA512 4d25334e8381268cbe6dfe2b8f71a9e2ffbdb6eee1e5185ae8130552ed399ef93708f3b871eb5670737100488f263fb9f7a8142b065ce039b103978f2798aa31
-DIST pkginfo-1.9.6.tar.gz 379307 BLAKE2B a063e3461aecabac5bf35a9eb6b9f59a24865f3eeb903f69538a6e625893f506a897df7199d647539405bdd383b10722f5b0048380cc8ce8b6a8b4e7b2016c54 SHA512 07d9b8ce9965572b84ddced107aa1fcd2ed20a485580f87d667bd53508b0a8fc3aef2ca900bf8bb7fc075b95a81512920c4eef513c9ee6582d61b09968efee08
+DIST pkginfo-1.10.0.tar.gz 378457 BLAKE2B 976bde677c365b78bde56604cef46892c95f796af59836946e1302cea868882a06d3f8cdbb330e3af011691dc8123f2555d0ebf6bacfaeff5a4e010a9bdd7030 SHA512 d1350166bc6d37d8c7f227bfee332f5d289e1a513a13db1ba75992dbb24b30b42b2b95d2fe55ca249c83132e880a46975d4146e0cb9d5b1d103da2e9ce36a858
diff --git a/dev-python/pkginfo/pkginfo-1.10.0.ebuild b/dev-python/pkginfo/pkginfo-1.10.0.ebuild
new file mode 100644
index 000000000000..7b63e11fcaea
--- /dev/null
+++ b/dev-python/pkginfo/pkginfo-1.10.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..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/pkginfo/pkginfo-1.9.2.ebuild b/dev-python/pkginfo/pkginfo-1.9.2.ebuild
deleted file mode 100644
index 98e3508b2b93..000000000000
--- a/dev-python/pkginfo/pkginfo-1.9.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.3.ebuild b/dev-python/pkginfo/pkginfo-1.9.3.ebuild
deleted file mode 100644
index 6566999ee981..000000000000
--- a/dev-python/pkginfo/pkginfo-1.9.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} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.4.ebuild b/dev-python/pkginfo/pkginfo-1.9.4.ebuild
deleted file mode 100644
index 6566999ee981..000000000000
--- a/dev-python/pkginfo/pkginfo-1.9.4.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 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.5.ebuild b/dev-python/pkginfo/pkginfo-1.9.5.ebuild
deleted file mode 100644
index 6566999ee981..000000000000
--- a/dev-python/pkginfo/pkginfo-1.9.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=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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 6566999ee981..000000000000
--- a/dev-python/pkginfo/pkginfo-1.9.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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 4ccd86ab2cd7..82e1e3a93142 100644
--- a/dev-python/platformdirs/Manifest
+++ b/dev-python/platformdirs/Manifest
@@ -1 +1 @@
-DIST platformdirs-2.6.2.gh.tar.gz 21184 BLAKE2B 4acc85301f764d4457ace88f9fb409e4d2f8bb17b9133dc3316c4d265a7cf50019298f1ba4cef87f5999b48fd7060687f7008079de26ffe74740a4cefff9309e SHA512 704cc39ba1746055e0459139759e118bd6178fb13cc8ecf580f58d16073fbb8ade0bce8b5eb9230ccc45b19f622a41c84a06f8698ee722da9d5cec44c5f46e25
+DIST platformdirs-4.2.0.tar.gz 20055 BLAKE2B 07338fc1ad6f5edf3dfe9de9e74326af4c22a4b6db0979a2b0926d248e7bc27f6f40e9e47e62979657c0804e3d296dfba5b18f57fa64b1fdcd205d52ae21fe17 SHA512 615742163cc4eb0ee97c4dba069d59a08e0056e05a3fbeab32dcab854ed56976e8707dd70afd65dbd0732bf1ad1a42c565fb3d980b7b668aa2cdecc5cc1de4f0
diff --git a/dev-python/platformdirs/platformdirs-2.6.2-r1.ebuild b/dev-python/platformdirs/platformdirs-2.6.2-r1.ebuild
deleted file mode 100644
index 5388ac74cddd..000000000000
--- a/dev-python/platformdirs/platformdirs-2.6.2-r1.ebuild
+++ /dev/null
@@ -1,53 +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..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A small Python module for determining appropriate platform-specific dirs"
-HOMEPAGE="
- https://pypi.org/project/platformdirs/
- https://github.com/platformdirs/platformdirs/
-"
-SRC_URI="
- https://github.com/platformdirs/platformdirs/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-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-2.6.2.ebuild b/dev-python/platformdirs/platformdirs-2.6.2.ebuild
deleted file mode 100644
index 26bb508072da..000000000000
--- a/dev-python/platformdirs/platformdirs-2.6.2.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A small Python module for determining appropriate platform-specific dirs"
-HOMEPAGE="
- https://pypi.org/project/platformdirs/
- https://github.com/platformdirs/platformdirs/
-"
-SRC_URI="
- https://github.com/platformdirs/platformdirs/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- >=dev-python/hatch-vcs-0.3[${PYTHON_USEDEP}]
- test? (
- dev-python/appdirs[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/platformdirs/platformdirs-4.2.0.ebuild b/dev-python/platformdirs/platformdirs-4.2.0.ebuild
new file mode 100644
index 000000000000..52a9c40b8429
--- /dev/null
+++ b/dev-python/platformdirs/platformdirs-4.2.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_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/plette/Manifest b/dev-python/plette/Manifest
new file mode 100644
index 000000000000..bca984057c24
--- /dev/null
+++ b/dev-python/plette/Manifest
@@ -0,0 +1,2 @@
+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
diff --git a/dev-python/plette/metadata.xml b/dev-python/plette/metadata.xml
new file mode 100644
index 000000000000..523f24eb048c
--- /dev/null
+++ b/dev-python/plette/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" proxied="yes">
+ <email>oz.tiram@gmail.com</email>
+ <name>Oz Tiram</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">sarugaku/plette</remote-id>
+ <remote-id type="pypi">plette</remote-id>
+ </upstream>
+</pkgmetadata>
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/plotly-geo/Manifest b/dev-python/plotly-geo/Manifest
index 43ba51a2d31f..967b53769804 100644
--- a/dev-python/plotly-geo/Manifest
+++ b/dev-python/plotly-geo/Manifest
@@ -1 +1 @@
-DIST plotly-geo-1.0.0.tar.gz 23718591 BLAKE2B f78b36cd7ac6ec10e830f6be5758ed31ad2382882454d96ef652a73a11aa9b3be46ea24fd3f49a6189d9fd9eeaa89ca6777c691be9fc65f4d2a04a4d2bd58823 SHA512 977621c0fc84a6c72b2a91bcba27cc25b277f32cc87a7098675b3d7cb8c468a8291ef66397f3ceb45fbaa3484eba53d7649f809cf9d02af6309562af0b4fdf4a
+DIST plotly.py-5.13.0.gh.tar.gz 30683340 BLAKE2B 0e2c5638c766e5da6e2067d7be270576afed984b45deec0955fa10698d37bd082f3ebc568a8290c17554c672ef9e31cee81b0fae18b9f3249591fe62510ce5fd SHA512 c874b46ac43520519951aad55f93bfcfe03910873fd273f283fe16ae2a4150cfa35104be422c21b65785c77f468f084847278f76bce3d9179cc2a339809c42e3
diff --git a/dev-python/plotly-geo/plotly-geo-1.0.0-r1.ebuild b/dev-python/plotly-geo/plotly-geo-1.0.0-r1.ebuild
deleted file mode 100644
index 678e302fe0a4..000000000000
--- a/dev-python/plotly-geo/plotly-geo-1.0.0-r1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_10 )
-
-inherit distutils-r1
-
-DESCRIPTION="Browser-based graphing library for Python"
-HOMEPAGE="https://plot.ly/python/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/plotly[${PYTHON_USEDEP}]
-"
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
new file mode 100644
index 000000000000..5dbd3d08fc75
--- /dev/null
+++ b/dev-python/plotly-geo/plotly-geo-1.0.0-r2.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
+inherit distutils-r1
+
+PLOTLY_PV="5.13.0"
+
+DESCRIPTION="Browser-based graphing library for Python"
+HOMEPAGE="https://plotly.com/python/"
+SRC_URI="https://github.com/plotly/plotly.py/archive/refs/tags/v${PLOTLY_PV}.tar.gz -> plotly.py-${PLOTLY_PV}.gh.tar.gz"
+S="${WORKDIR}/plotly.py-${PLOTLY_PV}/packages/python/${PN}"
+
+# The warning about tests not being enabled is a false positive.
+# Add distutils_enable_tests and restrict the tests to suppress the warning.
+RESTRICT="test"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/plotly[${PYTHON_USEDEP}]
+"
+
+# There are sphinx docs but we are missing a bunch of dependencies.
+# distutils_enable_sphinx ../../../doc/apidoc
+distutils_enable_tests pytest
diff --git a/dev-python/plotly/Manifest b/dev-python/plotly/Manifest
index 8375fe3c18d1..6dbe1a238680 100644
--- a/dev-python/plotly/Manifest
+++ b/dev-python/plotly/Manifest
@@ -1 +1,3 @@
-DIST plotly-5.10.0.tar.gz 7600627 BLAKE2B cb83d2b14553b0336db098977a29e0417ce8f65ef5088bfa7fbd4ab5ee7cc561e3f3e32504604a402be395d8c46b0948379e9350dff37b225eba3298f2549cfd SHA512 f30f78ad8683d8b8ccd6a1c383772eddf6719fd47b4be693a72e9ae2c6d567fbf683e87aecc24dcd4c1fd89697366e510cfd93e6599d859554b687e6f6cfb416
+DIST plotly.py-5.19.0.gh.tar.gz 30892237 BLAKE2B ef93c54bdc40a5f25448a7e68dc40b3642c8be60945edc39e3e590eb97973896cb0df54cd8ea9928a2553d50de1bf17997b41947711baaedce075e31709581ce SHA512 a97f5d130fd56b49087e7b10c34cfe2aa21f00afd1f252215f7cec2215d9031f5f6204a6445ea7a69d7aed0c6838b3d76f981c076af93fa9406ff37a0020e4e7
+DIST plotly.py-5.20.0.gh.tar.gz 30896587 BLAKE2B ef8deee791b8fdc94dcd3dae1189fc04569d9156593f13bd44715bc4f7b2846642eab19a1bb6084647ed15b1c961ffb207f19369f94cbba3e999e970c0b7cfe7 SHA512 db73334bf32fcd54f717aa0e04378278045fabba3824d645e4e289cfd559655141f350624196d8e55d988befc27a4a64d741b11a84925969aadc720c6c15bee3
+DIST plotly.py-5.21.0.gh.tar.gz 30912188 BLAKE2B 2c193cad821a94a58d3c72ade06f8cc752d7490290a9abd44733ca80c38fcf1af94af0d5f76b80f1542e959dd2d8fa02752cebf8aa9ea28abd1a568073683c14 SHA512 38841fae844452550004fd22126c12c19fa65dae8985e8449eb5ff5be53dcb04a20658afc13a675c6086db2c623e0902e4138cd28f3b4c9d0a9a0013c1465c13
diff --git a/dev-python/plotly/plotly-5.10.0-r1.ebuild b/dev-python/plotly/plotly-5.10.0-r1.ebuild
deleted file mode 100644
index 09aedaaecb62..000000000000
--- a/dev-python/plotly/plotly-5.10.0-r1.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..10} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="Browser-based graphing library for Python"
-HOMEPAGE="https://plotly.com/python/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-# TODO: package plotly-orca and kaleido
-RESTRICT="test"
-
-RDEPEND="
- >=dev-python/tenacity-6.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- dev-python/backports-tempfile[${PYTHON_USEDEP}]
- ' 3.8)
- dev-python/inflect[${PYTHON_USEDEP}]
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/jupyter[${PYTHON_USEDEP}]
- dev-python/jupyterlab[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/mock[${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/pyshp[${PYTHON_USEDEP}]
- sci-libs/scikit-image[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-5.8.0-fix-versioneer-import.patch
-)
-
-distutils_enable_tests pytest
-
-python_install_all() {
- distutils-r1_python_install_all
-
- mkdir -p "${ED}"/etc/ || die
- mv "${ED}"/usr/etc/jupyter "${ED}"/etc/ || die
- rmdir "${ED}"/usr/etc || die
-}
diff --git a/dev-python/plotly/plotly-5.19.0.ebuild b/dev-python/plotly/plotly-5.19.0.ebuild
new file mode 100644
index 000000000000..2907cb22ae91
--- /dev/null
+++ b/dev-python/plotly/plotly-5.19.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}]
+ )
+"
+
+# 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.20.0.ebuild b/dev-python/plotly/plotly-5.20.0.ebuild
new file mode 100644
index 000000000000..2907cb22ae91
--- /dev/null
+++ b/dev-python/plotly/plotly-5.20.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}]
+ )
+"
+
+# 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.21.0.ebuild b/dev-python/plotly/plotly-5.21.0.ebuild
new file mode 100644
index 000000000000..2907cb22ae91
--- /dev/null
+++ b/dev-python/plotly/plotly-5.21.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}]
+ )
+"
+
+# 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/pluggy/Manifest b/dev-python/pluggy/Manifest
index 8bceab03d73b..851b18929985 100644
--- a/dev-python/pluggy/Manifest
+++ b/dev-python/pluggy/Manifest
@@ -1 +1 @@
-DIST pluggy-1.0.0.tar.gz 51510 BLAKE2B 8107df9a91a843166a602e7518dd1d4167304464a8cc80180b60b03a2ac803be9b1ba190df9189907addd34a92b93a6b271d3d6b7485aa563203ce733c6a656c SHA512 cf0bcbb4330c24ce473614befa19548f33fb39fa0ad094e1eae786202d7adadc28e16499f80ab96b630091765404ca5c5b6f9a55bc605e03514d8ab50cf9ae00
+DIST pluggy-1.4.0.tar.gz 65812 BLAKE2B 0a8bff68f1871f0e571105012b0e3961771c6ee34a64711520084d0a951308d192187d01b14136c389b5bc09f127ead1a1f96ebffa7b345d2d5023157c049c43 SHA512 ac21a0c68cfcb9c7c401e5c48404f7447489b75befe8bc8b6e7ea84f24a1c6dbfb3de024577dd9e36ca9f538f9867ef836ba13018e3b8b348bba3e9bbd0c4dfd
diff --git a/dev-python/pluggy/pluggy-1.0.0-r2.ebuild b/dev-python/pluggy/pluggy-1.0.0-r2.ebuild
deleted file mode 100644
index e07817f0c9cb..000000000000
--- a/dev-python/pluggy/pluggy-1.0.0-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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Plugin and hook calling mechanisms for Python"
-HOMEPAGE="
- https://pluggy.readthedocs.io/
- https://github.com/pytest-dev/pluggy/
- https://pypi.org/project/pluggy/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pluggy/pluggy-1.4.0.ebuild b/dev-python/pluggy/pluggy-1.4.0.ebuild
new file mode 100644
index 000000000000..e485090460f2
--- /dev/null
+++ b/dev-python/pluggy/pluggy-1.4.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..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/pluginbase/pluginbase-1.0.1-r1.ebuild b/dev-python/pluginbase/pluginbase-1.0.1-r1.ebuild
new file mode 100644
index 000000000000..d3984db8b7df
--- /dev/null
+++ b/dev-python/pluginbase/pluginbase-1.0.1-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Support library for building plugins sytems in Python"
+HOMEPAGE="
+ https://github.com/mitsuhiko/pluginbase/
+ https://pypi.org/project/pluginbase/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
+
+src_test() {
+ cd tests || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/pluginbase/pluginbase-1.0.1.ebuild b/dev-python/pluginbase/pluginbase-1.0.1.ebuild
deleted file mode 100644
index c29ca3b56bd5..000000000000
--- a/dev-python/pluginbase/pluginbase-1.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Support library for building plugins sytems in Python"
-HOMEPAGE="https://github.com/mitsuhiko/pluginbase"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-src_test() {
- cd tests || die
- distutils-r1_src_test
-}
diff --git a/dev-python/plumbum/Manifest b/dev-python/plumbum/Manifest
index 8a24e2c7a82f..b99fb088d3f3 100644
--- a/dev-python/plumbum/Manifest
+++ b/dev-python/plumbum/Manifest
@@ -1,2 +1 @@
-DIST plumbum-1.8.0.tar.gz 325060 BLAKE2B 30006fa3826bbdd9482592d825931fd7dcb05b2aca6d762093c4f722f0426aaa6f07fde55754f115e4fba4a45997d2995a657c5a1cfa34c417bb4f5fb2e5834d SHA512 47874c42081d385fad85b9073fbeb711112b8fa847fc79035be1277a1fdabcfb06e7822a4dbba271d86502b9b297a70742f30b1158c363b668a47e783c9990cd
-DIST plumbum-1.8.1.tar.gz 316432 BLAKE2B 91288c5f793b9e3e7d1e1d3724f5cc16989d604b1236438fc71283fab5aa59bb34f1742fe2d79b7a9220e09a3622f5145769497765f3f9213dc70960af478fa0 SHA512 80031c07be3b68767556bba8246e964c51b16336d6105ad3d51d62f7c39287af6f928be713171c8c22cdd37145a0e7c3bd65d44f14bf8b1bc62483b648f3acff
+DIST plumbum-1.8.2.tar.gz 317675 BLAKE2B d21a105d9919f70ad480d5de7ce157f2ae6c56cd248a2b70ad037c83a5e4b56bd8bdb3d9587860db383b04dd6528828426b47895c345f8bf7dc4931310be343d SHA512 636d10ea1c727cb24d4692537f3c0005077f86c3d9d2ae244f86ef5dd9621f8b51e0b5efffaa7acf66d6ba5552fddd641d4a1796c7fd760ac0a27d029f685c20
diff --git a/dev-python/plumbum/plumbum-1.8.0.ebuild b/dev-python/plumbum/plumbum-1.8.0.ebuild
deleted file mode 100644
index 048238ccec4f..000000000000
--- a/dev-python/plumbum/plumbum-1.8.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_{9..11} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="A library for shell script-like programs in python"
-HOMEPAGE="https://plumbum.readthedocs.io/en/latest/ https://github.com/tomerfiliba/plumbum"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-BDEPEND="
- 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.1.ebuild b/dev-python/plumbum/plumbum-1.8.1.ebuild
deleted file mode 100644
index b4fbc1aefe35..000000000000
--- a/dev-python/plumbum/plumbum-1.8.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 optfeature
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~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.2.ebuild b/dev-python/plumbum/plumbum-1.8.2.ebuild
new file mode 100644
index 000000000000..fa6aefc5d91c
--- /dev/null
+++ b/dev-python/plumbum/plumbum-1.8.2.ebuild
@@ -0,0 +1,57 @@
+# 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/ply/Manifest b/dev-python/ply/Manifest
index d81f6c1fe096..d70f495e3f43 100644
--- a/dev-python/ply/Manifest
+++ b/dev-python/ply/Manifest
@@ -1 +1,2 @@
+DIST ply-3.11-py3.12-assert.patch.xz 3832 BLAKE2B 5872a2f6c71ee093dfcb12a3a9b80c54091ba2a3d331948ccd88918fd263569a413e87962c607368f23f79abefd0f98738f1e1a33413832983ff3057c1ea021b SHA512 bc145cef28a0947773ee13df4a86fd60b04ebe8a06e563059a32eff55475f54bb99fb7cf7ef73c463d92b8795013b7c9f1aebcdf5a6c4f98d71675710f496b97
DIST ply-3.11.tar.gz 159130 BLAKE2B 58c50b9dad445ad83a64aaa8174ed4602b36f5c8df33a7d62590a92388c4a21c9800599c1d4e4db6f02630e8dee4c8482611e26498e4aa8ccdb2cf3453ae1db4 SHA512 37e39a4f930874933223be58a3da7f259e155b75135f1edd47069b3b40e5e96af883ebf1c8a1bbd32f914a9e92cfc12e29fec05cf61b518f46c1d37421b20008
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 f181dbebea41..894dd485bd96 100644
--- a/dev-python/ply/ply-3.11-r2.ebuild
+++ b/dev-python/ply/ply-3.11-r2.ebuild
@@ -5,9 +5,9 @@
EAPI=7
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Python Lex-Yacc library"
HOMEPAGE="
@@ -15,17 +15,18 @@ HOMEPAGE="
https://github.com/dabeaz/ply/
https://pypi.org/project/ply/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-py3.12-assert.patch.xz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+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"
DOCS=( ANNOUNCE CHANGES TODO )
PATCHES=(
"${FILESDIR}/3.6-picklefile-IOError.patch"
+ "${WORKDIR}/${P}-py3.12-assert.patch"
)
python_test() {
diff --git a/dev-python/plyr/Manifest b/dev-python/plyr/Manifest
deleted file mode 100644
index 3ee06dbd0d8f..000000000000
--- a/dev-python/plyr/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-glyr-1.0.6.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 595b5eb0a1d8..000000000000
--- a/dev-python/plyr/plyr-1.0.6-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=( python3_{9..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}.tar.gz
-"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-3+"
-KEYWORDS="amd64 x86"
-SLOT="0"
-
-DEPEND="
- media-libs/glyr:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- dev-python/cython[${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 68787225e224..000000000000
--- a/dev-python/plyvel/plyvel-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
-# Disable PyPy3 for now because it is not stable enough:
-# https://github.com/wbolster/plyvel/issues/140
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python interface to LevelDB"
-HOMEPAGE="
- https://github.com/wbolster/plyvel/
- https://pypi.org/project/plyvel/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- >=dev-libs/leveldb-1.21:=
-"
-RDEPEND="
- ${DEPEND}
-"
-
-distutils_enable_sphinx doc
-distutils_enable_tests pytest
-
-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..fb7c8b655e5a
--- /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..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/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 9ea8d5b6f9b1..000000000000
--- a/dev-python/pmw/pmw-2.0.1-r3.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..10} )
-PYTHON_REQ_USE="tk"
-
-inherit distutils-r1 virtualx
-
-MY_PN="Pmw"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Toolkit for building high-level compound Python widgets using the Tkinter module"
-HOMEPAGE="http://pmw.sourceforge.net/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-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..51b2e0a96cbe
--- /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..12} )
+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/pocketlint/Manifest b/dev-python/pocketlint/Manifest
index b01a4686a894..c7f40bfeab45 100644
--- a/dev-python/pocketlint/Manifest
+++ b/dev-python/pocketlint/Manifest
@@ -1 +1 @@
-DIST pocketlint-0.24.gh.tar.gz 23875 BLAKE2B b4699d1f0633ed6a3f84b97db972818c00a1d382a48648fd4fe6870f4c54f983fd36366f85a409a99b860f385902a9a05adec63199e35d1264a522a7a3086e31 SHA512 21c4055dd42c244760950b64ec4cd9359fc589014953be6f9296e0265101f098fbe34351e87f92630751fa0055de20281974a04b425f691acc4608cf929d4bf4
+DIST pocketlint-0.25.gh.tar.gz 23931 BLAKE2B e8254477223ea0e631129778cc760ef57d34adb78f783258c8c097f7eac1acfe4cb00d21bc9aff576fbfab2bb3f7b687de33b3bc1f02c8d083d690a2e392bbac SHA512 dcb21ee147839a606520370f948594fc695c779a03d9edfb054dd6c07f4dd1c4ad0b64ccaad504da01e3b6c572ce27db8813ac8b61468d43e3745b5053a4edb7
diff --git a/dev-python/pocketlint/pocketlint-0.24.ebuild b/dev-python/pocketlint/pocketlint-0.24.ebuild
deleted file mode 100644
index c546d6ff289a..000000000000
--- a/dev-python/pocketlint/pocketlint-0.24.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_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Shared code for running pylint against rhinstaller projects"
-HOMEPAGE="
- https://github.com/rhinstaller/pocketlint/
- https://pypi.org/project/pocketlint/
-"
-SRC_URI="
- https://github.com/rhinstaller/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pylint[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/pocketlint/pocketlint-0.25.ebuild b/dev-python/pocketlint/pocketlint-0.25.ebuild
new file mode 100644
index 000000000000..821ce664b4cc
--- /dev/null
+++ b/dev-python/pocketlint/pocketlint-0.25.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Shared code for running pylint against rhinstaller projects"
+HOMEPAGE="
+ https://github.com/rhinstaller/pocketlint/
+ https://pypi.org/project/pocketlint/
+"
+SRC_URI="
+ https://github.com/rhinstaller/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pylint[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ "${EPYTHON}" tests/pylint/runpylint.py || die "test failed with ${EPYTHON}"
+}
diff --git a/dev-python/pockets/pockets-0.9.1-r2.ebuild b/dev-python/pockets/pockets-0.9.1-r2.ebuild
deleted file mode 100644
index 19d39f353ea7..000000000000
--- a/dev-python/pockets/pockets-0.9.1-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
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-# No tags upstream, https://github.com/RobRuana/pockets/issues/5
-COMMIT="777724c8eabaf76f6d0c5e4837c982d110509b2e"
-
-DESCRIPTION="Collection of helpful Python tools"
-HOMEPAGE="https://pockets.readthedocs.io/ https://pypi.org/project/pockets/"
-SRC_URI="
- https://github.com/RobRuana/pockets/archive/${COMMIT}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${PN}-${COMMIT}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-BDEPEND="test? ( dev-python/pytz[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e 's/description-file/description_file/g' "${S}/setup.cfg" ||die
- default
-}
diff --git a/dev-python/pockets/pockets-0.9.1-r3.ebuild b/dev-python/pockets/pockets-0.9.1-r3.ebuild
index f2895bc08375..39add067ef57 100644
--- a/dev-python/pockets/pockets-0.9.1-r3.ebuild
+++ b/dev-python/pockets/pockets-0.9.1-r3.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -12,7 +12,11 @@ inherit distutils-r1
COMMIT="777724c8eabaf76f6d0c5e4837c982d110509b2e"
DESCRIPTION="Collection of helpful Python tools"
-HOMEPAGE="https://pockets.readthedocs.io/ https://pypi.org/project/pockets/"
+HOMEPAGE="
+ https://pockets.readthedocs.io/
+ https://github.com/RobRuana/pockets/
+ https://pypi.org/project/pockets/
+"
SRC_URI="
https://github.com/RobRuana/pockets/archive/${COMMIT}.tar.gz
-> ${P}.gh.tar.gz
@@ -21,11 +25,15 @@ S="${WORKDIR}/${PN}-${COMMIT}"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm64 ~x86 ~amd64-linux ~x86-linux"
-RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
BDEPEND="
- test? ( dev-python/pytz[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
"
distutils_enable_tests pytest
diff --git a/dev-python/podcastparser/Manifest b/dev-python/podcastparser/Manifest
index e4dc402edfb3..1b2bea5faa8b 100644
--- a/dev-python/podcastparser/Manifest
+++ b/dev-python/podcastparser/Manifest
@@ -1,2 +1 @@
-DIST podcastparser-0.6.8.tar.gz 29809 BLAKE2B 19eda892dcc83f5371d23147a9044bd1249c05885aa7e72edc868e05744bf691336ceb8b445dca4c51612846bc7e8c087fa0c36fa44568a4f95b0e8f3eb155cf SHA512 8c1152c6d7229faf375af5c3f02642debd081915dcb55ba706863620af6039eb710648bf970d1cd8018d43dd36ba579a456e3db0e82c7efcb6ac94a5cd23b1e8
-DIST podcastparser-0.6.9.tar.gz 30399 BLAKE2B a1882cdb298b3e2dccc0aa821ffb97863377b51b6dd78bcd09e00d9170b88c94298996ca20c7515ab761f9ff0c73b371b7f8c9b3c4fbacbcdc2215004e3cc137 SHA512 5e28b361b5fd0aba22c8c34318d3c8f575d82913f7de0f8f62ced9c8d904dcfcf40282b8b832867998f820de6bd5b793ce6be4657dd04b4965a151e32f2f0131
+DIST podcastparser-0.6.10.tar.gz 31717 BLAKE2B 19ea422b78c7631fd2622f935e292d5bb14a31ab749db36a9a19e356a5a331246e7d853412bf913522588ce6446be2070f2ad4e6c1b50d245058eae49739519e SHA512 55b822a80f8fed56feb41d5f9a39c04371e4e11dead45b8ca6aaf666ecc26dc3c94673331da59e2ed6665f2a9ca367b6daccb24f987b1763b6b3ad8b302ee783
diff --git a/dev-python/podcastparser/podcastparser-0.6.10.ebuild b/dev-python/podcastparser/podcastparser-0.6.10.ebuild
new file mode 100644
index 000000000000..39b06646c673
--- /dev/null
+++ b/dev-python/podcastparser/podcastparser-0.6.10.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Podcast parser for the gpodder client"
+HOMEPAGE="
+ https://github.com/gpodder/podcastparser/
+ https://pypi.org/project/podcastparser/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/podcastparser/podcastparser-0.6.8-r1.ebuild b/dev-python/podcastparser/podcastparser-0.6.8-r1.ebuild
deleted file mode 100644
index 1bcbc5d1aacd..000000000000
--- a/dev-python/podcastparser/podcastparser-0.6.8-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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Podcast parser for the gpodder client"
-HOMEPAGE="https://github.com/gpodder/podcastparser"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/podcastparser/podcastparser-0.6.9.ebuild b/dev-python/podcastparser/podcastparser-0.6.9.ebuild
deleted file mode 100644
index 9e3903014094..000000000000
--- a/dev-python/podcastparser/podcastparser-0.6.9.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Podcast parser for the gpodder client"
-HOMEPAGE="
- https://github.com/gpodder/podcastparser/
- https://pypi.org/project/podcastparser/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/podman-py/Manifest b/dev-python/podman-py/Manifest
deleted file mode 100644
index 694f0c6120ab..000000000000
--- a/dev-python/podman-py/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST podman-py-4.3.0.gh.tar.gz 177403 BLAKE2B 549d3aba023423e5ae45fb04e0ec67bdb8ef6cdbe3e4fe6dec2f5e4d1f1df08828aed00aa83b7ad26f6c88ba225211a108ff67ba28e0003827c00ce3c32428ea SHA512 4e7c1f23d7baf425079689635c2b468871eff7f898f150b9244faf3d199a1cf2544aee1f633e431cd40701fbaaa41861d894e72486a38c6a198fd2c33691b826
diff --git a/dev-python/podman-py/files/podman-py-4.3.0-tomli.patch b/dev-python/podman-py/files/podman-py-4.3.0-tomli.patch
deleted file mode 100644
index 0be9ab796217..000000000000
--- a/dev-python/podman-py/files/podman-py-4.3.0-tomli.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From c5a356fb4ea8a6fb66a6d20bdc2c9cffe615028b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Fri, 14 Oct 2022 13:54:31 +0200
-Subject: [PATCH] Use modern tomllib/tomli modules for reading TOML files
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Replace the unmaintained `toml`/`pytoml` dependencies with the modern
-alternatives: the built-in `tomllib` module in Python 3.11, and `tomli`
-in older Python versions. Preserving backwards compatibility does not
-seem necessary, as podman-py no longer supports Python versions older
-than 3.6.
-
-Signed-off-by: Michał Górny <mgorny@gentoo.org>
----
- podman/domain/config.py | 16 ++++++++++------
- pyproject.toml | 2 +-
- python-podman.spec.rpkg | 8 ++++----
- requirements.txt | 2 +-
- setup.cfg | 2 +-
- 5 files changed, 17 insertions(+), 13 deletions(-)
-
-diff --git a/podman/domain/config.py b/podman/domain/config.py
-index 555ed9d..6ea8eb6 100644
---- a/podman/domain/config.py
-+++ b/podman/domain/config.py
-@@ -1,17 +1,21 @@
- """Read containers.conf file."""
-+import sys
- import urllib
- from pathlib import Path
- from typing import Dict, Optional
-
- import xdg.BaseDirectory
-
--try:
-- import toml
--except ImportError:
-- import pytoml as toml
--
- from podman.api import cached_property
-
-+if sys.version_info >= (3, 11):
-+ from tomllib import loads as toml_loads
-+else:
-+ try:
-+ from tomli import loads as toml_loads
-+ except ImportError:
-+ from toml import loads as toml_loads
-+
-
- class ServiceConnection:
- """ServiceConnection defines a connection to the Podman service."""
-@@ -64,7 +68,7 @@ def __init__(self, path: Optional[str] = None):
- if self.path.exists():
- with self.path.open(encoding='utf-8') as file:
- buffer = file.read()
-- self.attrs = toml.loads(buffer)
-+ self.attrs = toml_loads(buffer)
-
- def __hash__(self) -> int:
- return hash(tuple(self.path.name))
-diff --git a/pyproject.toml b/pyproject.toml
-index f3cdfb9..3b29ecb 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -25,7 +25,7 @@ requires = [
- "requests>=2.24",
- "setuptools>=46.4",
- "sphinx",
-- "toml>=0.10.2",
-+ "tomli>=1.2.3; python_version<'3.11'",
- "urllib3>=1.24.2",
- "wheel",
- ]
-diff --git a/setup.cfg b/setup.cfg
-index f8d1b6f..2066951 100644
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -36,7 +36,7 @@ test_suite =
- install_requires =
- pyxdg>=0.26
- requests>=2.24
-- toml>=0.10.2
-+ tomli>=1.2.3; python_version<'3.11'
- urllib3>=1.24.2
-
- # typing_extensions are included for RHEL 8.5
diff --git a/dev-python/podman-py/podman-py-4.3.0-r1.ebuild b/dev-python/podman-py/podman-py-4.3.0-r1.ebuild
deleted file mode 100644
index e223cbf3882a..000000000000
--- a/dev-python/podman-py/podman-py-4.3.0-r1.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="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
- -> ${P}.gh.tar.gz
-"
-
-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.24.2[${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
-
-PATCHES=(
- "${FILESDIR}"/${P}-tomli.patch
-)
-
-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/Manifest b/dev-python/podman/Manifest
new file mode 100644
index 000000000000..9c6b0e48c1ff
--- /dev/null
+++ b/dev-python/podman/Manifest
@@ -0,0 +1,2 @@
+DIST podman-py-4.9.0.gh.tar.gz 182639 BLAKE2B fce3efa75658bb29513fdb55fa8b51d41401a49d58c2ea3c17c037e435f1f822090c6cc12b1afd06aec7e96c2541abb898fc37a0d2a62fcc5cddeeaf7832a0c0 SHA512 73488ccd3e910284410a43ec607cefdab3b8f3478617b95d5a6efd6f817a3eaced1a5ac9993d13c0104bad1bcd868507d544ef0396202003bb2f8b024901396c
+DIST podman-py-5.0.0.gh.tar.gz 183844 BLAKE2B c2c5511815d37321a843dfe028839592f6e9b4cc580263e743b6a2ee0917b3307b77bf4d08b327781c6d765c231d8bfcc4d1e0027351c4297509433405887552 SHA512 3abcc4c989843fb82a09e32359018cb9b3352f014253def4bec46a7336c95405b50fe774192d2f4625748351c57293b70d393eb85671719833c0a9f1311612ed
diff --git a/dev-python/podman-py/metadata.xml b/dev-python/podman/metadata.xml
index 6dcf1a50ca47..6dcf1a50ca47 100644
--- a/dev-python/podman-py/metadata.xml
+++ b/dev-python/podman/metadata.xml
diff --git a/dev-python/podman/podman-4.9.0.ebuild b/dev-python/podman/podman-4.9.0.ebuild
new file mode 100644
index 000000000000..9567fabe9519
--- /dev/null
+++ b/dev-python/podman/podman-4.9.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..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..9567fabe9519
--- /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..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/poetry-core/Manifest b/dev-python/poetry-core/Manifest
index 589d23cd8318..43ce99e68b9f 100644
--- a/dev-python/poetry-core/Manifest
+++ b/dev-python/poetry-core/Manifest
@@ -1,2 +1 @@
-DIST poetry-core-1.4.0.gh.tar.gz 556575 BLAKE2B 6a0860f965bb7d554f1f13c46d76727b9a763dd3dc04a1d889ca894c30ad91e46931308981560fadf70348731f080322da9c9590248b7877e02eb81f4009e02a SHA512 31c9b42ae8e4ec5c4cec93604a5ea72642fb89717867d7f43fdf930835c7e1da97b0251870d86841c30b1bf0ee7b167fc6a8dcfe939beb5b40acd7e24dfaede7
-DIST poetry-core-1.5.0.gh.tar.gz 478924 BLAKE2B 54653b6a8dcac08ac732ccb8efd2ff0404e6e78e7e2f6981fca2aafc53144309372389cc11d2524470ff25b0fc3ade5039df850629fefe016b6e9860f09d3247 SHA512 18b62096f32b7e57abc296bd8e35d0802873563c83e19b0e6e5f9994edaa503e05b9a782a6612d28b8544e34efc92efe213dcd5b595ec1d217e678522df3ae31
+DIST poetry-core-1.9.0.gh.tar.gz 371033 BLAKE2B 67e4674bcc45f6ce1737a26d8f1fd1ce6e6469d692cabe461fb2959b03ab3ca26b9e3848d9cbf533c5fd9bf7d75ac8b70a6aad0cce1930472971cc1ad530aedf SHA512 a2d63480f0df36fabe61c234377a4fa9ea0a1ddce449006162d6e49e849c92ad9c77d0a93aba7c51561bac16a77d5db00a95594bd5e2de328e1664f3f41f689b
diff --git a/dev-python/poetry-core/poetry-core-1.4.0.ebuild b/dev-python/poetry-core/poetry-core-1.4.0.ebuild
deleted file mode 100644
index af9fa1e04212..000000000000
--- a/dev-python/poetry-core/poetry-core-1.4.0.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=( pypy3 python3_{9..11} )
-
-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"
-
-# check inside src/poetry/core/_vendor/vendor.txt
-# (note that some are indirect deps)
-RDEPEND="
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/lark[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/tomlkit[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/build[${PYTHON_USEDEP}]
- dev-python/pep517[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )
-"
-
-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() {
- # needed for migration from <1.1
- distutils_write_namespace poetry
- epytest
-}
diff --git a/dev-python/poetry-core/poetry-core-1.5.0.ebuild b/dev-python/poetry-core/poetry-core-1.5.0.ebuild
deleted file mode 100644
index 3662767312e7..000000000000
--- a/dev-python/poetry-core/poetry-core-1.5.0.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=( pypy3 python3_{9..11} )
-
-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"
-
-# check inside src/poetry/core/_vendor/vendor.txt
-# (note that some are indirect deps)
-RDEPEND="
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/lark[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/tomlkit[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/build[${PYTHON_USEDEP}]
- dev-python/pep517[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )
-"
-
-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() {
- # needed for migration from <1.1
- distutils_write_namespace poetry
- 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..df860e59d7c2
--- /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..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-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
new file mode 100644
index 000000000000..70b648701017
--- /dev/null
+++ b/dev-python/poetry-plugin-export/Manifest
@@ -0,0 +1,3 @@
+DIST poetry_plugin_export-1.6.0.tar.gz 29265 BLAKE2B 90690afe197fd109d5fc5ae4566675a6a1e5e4df50cd814370146501389ba3bb0e78c2be2878cac322548ea5be065ef68f5b28a6d79a003d0f7b31c149ad0214 SHA512 d071f69ace98dbc23a3b129ba7fb30c4e6eac07138f4ee5156c266150f8f025f8b69c61dfadd90d29e1895c70d448fc44a9b5cc502024f00e1657247ed3310bd
+DIST poetry_plugin_export-1.7.0.tar.gz 29196 BLAKE2B dc3db16ceee5cc727c865e141527ce4c854b2b68050ab8e4c7d03a2912f8fc7c3310653c098510198aea6254b35c875d9e837e129d327ecf0c2bec8f47c88c61 SHA512 9f458491d90b847c896416666cbd1517a1833d355ed0e59df6ae00603ef53383434f02eeb8a31069efeb9a99b1b93abd0a9b7647c9e2ff67976858be458ac95c
+DIST poetry_plugin_export-1.7.1.tar.gz 29656 BLAKE2B 130eb35064104c3f22958816447ff674d1f5aed657ada2fe23a635de52338cb736f631b622b0641aae308d69494eb939a1ea659e33fc6227bb742ee01335ae15 SHA512 d472d8e4d6eb803587722854be912009a9bc0a8f86ee0e3ef0046f385ed59236af229109dae85198e3a205702cff86780576939e518fa797f3e5093537a0d2f1
diff --git a/dev-python/poetry-plugin-export/metadata.xml b/dev-python/poetry-plugin-export/metadata.xml
new file mode 100644
index 000000000000..20f252723c38
--- /dev/null
+++ b/dev-python/poetry-plugin-export/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="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>martin-kokos@protonmail.com</email>
+ <name>Martin Mokry</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">poetry-plugin-export</remote-id>
+ <remote-id type="github">python-poetry/poetry-plugin-export</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..e09698cfb060
--- /dev/null
+++ b/dev-python/poetry-plugin-export/poetry-plugin-export-1.6.0.ebuild
@@ -0,0 +1,33 @@
+# 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.0.ebuild b/dev-python/poetry-plugin-export/poetry-plugin-export-1.7.0.ebuild
new file mode 100644
index 000000000000..a1e7b242c958
--- /dev/null
+++ b/dev-python/poetry-plugin-export/poetry-plugin-export-1.7.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..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.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.7.1.ebuild b/dev-python/poetry-plugin-export/poetry-plugin-export-1.7.1.ebuild
new file mode 100644
index 000000000000..a1e7b242c958
--- /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..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.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/Manifest b/dev-python/poetry/Manifest
new file mode 100644
index 000000000000..6f518beb1cab
--- /dev/null
+++ b/dev-python/poetry/Manifest
@@ -0,0 +1,4 @@
+DIST poetry-1.7.1.tar.gz 1483927 BLAKE2B d32f84cbed6f895678fba723700504cafe2bb7b1de0be0f289c0606b3c775d02e4172d74aafe58f29f9e2b5b9cb0f614b902bb9efa55ab1077a6689a8b4d331f SHA512 bf3654e9de71da35d7adfc239797dbed9813a2a1bb585b0bd9ad398706ad1628430422d0ebe7d9c3dcc1f619ad1a1a2073e9d9d3296354bf2f14a1aed5a5444e
+DIST poetry-1.8.0.tar.gz 1514968 BLAKE2B 6ef6b8db6cd32c3c8d9a0759ebbfcfd4fafd79a4d236a5f48d7d1abc2d31bd93ee00686bf3623c5fbec212001dc1f2c4afce41f660b1404c39ad04815d364275 SHA512 ef2b3c6ea66d1d565ba8e17f0e4210e4406c08dd2d947deed85eb667ebfd618c3148ee0b67b5b2a020c7ddfb3fc692859de19e421c449954019d7a4b7942dd3d
+DIST poetry-1.8.1.tar.gz 1514978 BLAKE2B 663b4db56e3a78a156c6f90eb2c34160c3d9a4f37762ff9df8826aabb59ba2d297f60c19a260e91bf34b40717a577fbfbd3fe9f4dc1ad9ca635a3c552da633a5 SHA512 b0d1240bdf20e46cc152e128351a4ed1b2aea86bd34a0edba662c6be403535bcf7339fdb2670807e6294f3043d2dd6296d085c03abccfd1c2c89216ddefe093b
+DIST poetry-1.8.2.tar.gz 1516966 BLAKE2B 6ca39b426a4117d0c2c3f12b9151d621d629f746e51ca77cda8d7f67ae2493ea9ecb7dd02f69cad3f346579fc3bb16b1117c0dad0a148763bb439c35eac673a5 SHA512 0151c264c2f353753ab7c5a248cdd30e60e33505fd915d841e789a37b18cc06f28b4f987144cd3dbf915e23f6947f6b17cb8fa316b34ce866b6b3559e73b8ddc
diff --git a/dev-python/poetry/metadata.xml b/dev-python/poetry/metadata.xml
new file mode 100644
index 000000000000..a87ee8e5007b
--- /dev/null
+++ b/dev-python/poetry/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="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>martin-kokos@protonmail.com</email>
+ <name>Martin Mokry</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">poetry</remote-id>
+ <remote-id type="github">python-poetry/poetry</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/poetry/poetry-1.7.1.ebuild b/dev-python/poetry/poetry-1.7.1.ebuild
new file mode 100644
index 000000000000..35f6dc860f18
--- /dev/null
+++ b/dev-python/poetry/poetry-1.7.1.ebuild
@@ -0,0 +1,88 @@
+# 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.0.ebuild b/dev-python/poetry/poetry-1.8.0.ebuild
new file mode 100644
index 000000000000..b2545930acf3
--- /dev/null
+++ b/dev-python/poetry/poetry-1.8.0.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..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.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-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-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.1.ebuild b/dev-python/poetry/poetry-1.8.1.ebuild
new file mode 100644
index 000000000000..5126c1214c1c
--- /dev/null
+++ b/dev-python/poetry/poetry-1.8.1.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..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.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.2.ebuild b/dev-python/poetry/poetry-1.8.2.ebuild
new file mode 100644
index 000000000000..5126c1214c1c
--- /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..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.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/polib/Manifest b/dev-python/polib/Manifest
index 4c0382fecbf6..7c1b5d3be158 100644
--- a/dev-python/polib/Manifest
+++ b/dev-python/polib/Manifest
@@ -1 +1 @@
-DIST polib-1.1.1.tar.gz 154644 BLAKE2B 3dfbaf2fa73d286a60a1fff3e50d8703cf62917b7da0c8b783aaec49b8dcfb927b03b0fe0b411b5f90c2ac89298ea027beb2f0d00ad582a65628d8351397ddab SHA512 38de5fbdbc9ef879a4d55b9fe4f86a3aca3fb90dbb671745bd2b126be443598b8b18fe53afd116c3a4d3efc7a42b5ed05d75569bb5b2ef0bd2ced6e13eda95ad
+DIST polib-1.2.0.tar.gz 161658 BLAKE2B 8f53d829ac7a2e59676fa7b548645eed26fbd5a2c6e966093145b43bc492ba05ef715e4ddb95f35f8c965890e24c80b7e19d58c6d75d26c4cef141fb15a7d79e SHA512 b325730cd4df6c881ffcab72da1796eb2949243f6060c650209e1c6584e5344ecaede870f22ece00f5c74bcd289fa5d2aa5223b88cb78de0dff5f9e41759096e
diff --git a/dev-python/polib/polib-1.1.1.ebuild b/dev-python/polib/polib-1.1.1.ebuild
deleted file mode 100644
index 23788a6e213c..000000000000
--- a/dev-python/polib/polib-1.1.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=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A library to manipulate gettext files (.po and .mo files)"
-HOMEPAGE="https://github.com/izimobil/polib https://polib.readthedocs.io/en/latest/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
-
-distutils_enable_sphinx docs
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.0.7-BE-test.patch
-)
-
-python_test() {
- "${EPYTHON}" tests/tests.py -v || die "Tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/polib/polib-1.2.0.ebuild b/dev-python/polib/polib-1.2.0.ebuild
new file mode 100644
index 000000000000..0168119fdd90
--- /dev/null
+++ b/dev-python/polib/polib-1.2.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=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A library to manipulate gettext files (.po and .mo files)"
+HOMEPAGE="
+ https://github.com/izimobil/polib/
+ https://pypi.org/project/polib/
+ https://polib.readthedocs.io/en/latest/
+"
+
+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
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.7-BE-test.patch
+)
+
+python_test() {
+ "${EPYTHON}" tests/tests.py -v || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/pooch/Manifest b/dev-python/pooch/Manifest
index ee30b77b2b53..411bcee40c80 100644
--- a/dev-python/pooch/Manifest
+++ b/dev-python/pooch/Manifest
@@ -1 +1 @@
-DIST pooch-1.6.0.tar.gz 52318 BLAKE2B c5cdf04a27a5754accee5a4522d5e6a51c4e71b7034cd570c6a2f30bc580ba9c15e0717be792e7cdd020ca745e6813a63681ce966ad61c0ed4aaa8b84829b920 SHA512 e1b6253b8879ef172bd6370139a7807355c7e1c03a1626ac46cb083b1f7d8beb5a8adb08c0828eb34e96a7164211d2dc7da214fd0176eb0606fe4ff47911257c
+DIST pooch-1.8.1.tar.gz 59614 BLAKE2B ff30e6f1a1cc71091d5e822eb0eeda59fb1ff8f53d2dd6dc67dccc955d28f3fa485d03615d544096fdae7786c181a3395b62e3c59212f80b977755e3df0addf0 SHA512 9e78da7839deb443340c925622d5e9b1d7a3f14fdac3eae2528fb91ebf86f88715e8737e869057fe7c703e8423303e15379c07e5d11a7bebd3da63b1ac06ae3f
diff --git a/dev-python/pooch/pooch-1.6.0.ebuild b/dev-python/pooch/pooch-1.6.0.ebuild
deleted file mode 100644
index ef37165d57a1..000000000000
--- a/dev-python/pooch/pooch-1.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="Manage your Python library's sample data files"
-HOMEPAGE="https://github.com/fatiando/pooch"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- dev-python/appdirs[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]"
-
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/paramiko[${PYTHON_USEDEP}]
- dev-python/pytest-localftpserver[${PYTHON_USEDEP}]
- dev-python/tqdm[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_DESELECT=(
- # Needs network
- "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[figshare]"
- "pooch/tests/test_downloaders.py::test_figshare_url_file_not_found[zenodo]"
- "pooch/tests/test_downloaders.py::test_doi_downloader[figshare]"
- "pooch/tests/test_downloaders.py::test_doi_downloader[zenodo]"
-)
-
-### docs no included in pypi tarball
-# distutils_enable_sphinx doc \
-# dev-python/sphinx_rtd_theme
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_test() {
- epytest -k "not network"
-}
diff --git a/dev-python/pooch/pooch-1.8.1.ebuild b/dev-python/pooch/pooch-1.8.1.ebuild
new file mode 100644
index 000000000000..6c8e9bd05f5b
--- /dev/null
+++ b/dev-python/pooch/pooch-1.8.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=( 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/portalocker/Manifest b/dev-python/portalocker/Manifest
new file mode 100644
index 000000000000..b57d3027b596
--- /dev/null
+++ b/dev-python/portalocker/Manifest
@@ -0,0 +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
diff --git a/dev-python/portalocker/metadata.xml b/dev-python/portalocker/metadata.xml
new file mode 100644
index 000000000000..f2b5d16ea0b9
--- /dev/null
+++ b/dev-python/portalocker/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <name>Florian Schmaus</name>
+ <email>flow@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">WoLpH/portalocker</remote-id>
+ <remote-id type="pypi">portalocker</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/portalocker/portalocker-2.7.0.ebuild b/dev-python/portalocker/portalocker-2.7.0.ebuild
new file mode 100644
index 000000000000..1129e7ffef3a
--- /dev/null
+++ b/dev-python/portalocker/portalocker-2.7.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 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
new file mode 100644
index 000000000000..f60b24c8aba5
--- /dev/null
+++ b/dev-python/portalocker/portalocker-2.8.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 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/Manifest b/dev-python/portend/Manifest
index c553c8574848..2799086d61b1 100644
--- a/dev-python/portend/Manifest
+++ b/dev-python/portend/Manifest
@@ -1 +1 @@
-DIST portend-3.1.0.tar.gz 9448 BLAKE2B d9391577ecc6f878ebbceb07266f06902352076fb61164b5e905a3ed0a557ce5dafcd8e3c77a099aab97fa576aee5be024d98f457e3b333aa80dbd534167218b SHA512 017dff68ea85f48d19398f71fbd8189329ca9c27c05d8599dd5e53632eb5ddc6dea322e94c924a0653f25f042a3c8ee1cda5f8450b02f3406a72036d54cd1aaf
+DIST portend-3.2.0.tar.gz 10514 BLAKE2B f60a800d37e61400e173507146f33ed6977cb0020773f5d2b6fba0a155bfd7e101e00bf057604ec0f25f5cd6f1bb57e3bfe2fc2bbe75b00f55c234f597a1f3f6 SHA512 56790cdb6d1619e8873acc2498f9bee758a64ad8f8e47f31e48ae1ac7b6f038fc81af5d52cbc4bc4797dd6dc25d453d391d73d454c98559b1d6a8e9061837d7f
diff --git a/dev-python/portend/portend-3.1.0.ebuild b/dev-python/portend/portend-3.1.0.ebuild
deleted file mode 100644
index 3f2ab6986e85..000000000000
--- a/dev-python/portend/portend-3.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="TCP port monitoring utilities"
-HOMEPAGE="
- https://github.com/jaraco/portend/
- https://pypi.org/project/portend/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.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/tempora-1.8[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/portend/portend-3.2.0.ebuild b/dev-python/portend/portend-3.2.0.ebuild
new file mode 100644
index 000000000000..501d62570ab2
--- /dev/null
+++ b/dev-python/portend/portend-3.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=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="TCP port monitoring utilities"
+HOMEPAGE="
+ https://github.com/jaraco/portend/
+ https://pypi.org/project/portend/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/tempora-1.8[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/poyo/poyo-0.5.0-r1.ebuild b/dev-python/poyo/poyo-0.5.0-r1.ebuild
new file mode 100644
index 000000000000..a82d88eda68b
--- /dev/null
+++ b/dev-python/poyo/poyo-0.5.0-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 lightweight YAML Parser for Python"
+HOMEPAGE="
+ https://github.com/hackebrot/poyo/
+ https://pypi.org/project/poyo/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/poyo/poyo-0.5.0.ebuild b/dev-python/poyo/poyo-0.5.0.ebuild
deleted file mode 100644
index 12675d637ff4..000000000000
--- a/dev-python/poyo/poyo-0.5.0.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="A lightweight YAML Parser for Python"
-HOMEPAGE="https://github.com/hackebrot/poyo"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pplpy/Manifest b/dev-python/pplpy/Manifest
new file mode 100644
index 000000000000..f8d6a7f443cd
--- /dev/null
+++ b/dev-python/pplpy/Manifest
@@ -0,0 +1 @@
+DIST pplpy-0.8.10.tar.gz 64203 BLAKE2B b0735722a051ef33b7415528147a84a163ac49bf5d07e2f6599a7bbf004140abf5e6a09b7f0555ac57b55614a1c059bba20cc7ac7fe47a83f429e33d7f0dd1bc SHA512 982d36291cd0108786e47cb1ff73127ba2b2a619edc697e28360a87ace743e7fc6dd04e32aab38d41724d455de4861065f9ac3d409fd2f68114b07f4d1328c23
diff --git a/dev-python/pplpy/metadata.xml b/dev-python/pplpy/metadata.xml
new file mode 100644
index 000000000000..18bf8b9ca3a9
--- /dev/null
+++ b/dev-python/pplpy/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ </maintainer>
+
+ <maintainer type="person" proxied="yes">
+ <email>frp.bissey@gmail.com</email>
+ <name>François Bissey</name>
+ </maintainer>
+
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+
+ <maintainer type="project">
+ <email>sci-mathematics@gentoo.org</email>
+ <name>Gentoo Mathematics Project</name>
+ </maintainer>
+
+ <upstream>
+ <remote-id type="pypi">pplpy</remote-id>
+ <remote-id type="github">sagemath/pplpy</remote-id>
+ </upstream>
+</pkgmetadata>
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/precis-i18n/Manifest b/dev-python/precis-i18n/Manifest
index 2a8d43c1ebe6..ddb3a58b779a 100644
--- a/dev-python/precis-i18n/Manifest
+++ b/dev-python/precis-i18n/Manifest
@@ -1,2 +1 @@
-DIST precis_i18n-1.0.4.tar.gz 67599 BLAKE2B db1f614b46015741b9f511b9a5df12e44b960ffb247357bf8d2e9f3a1deea9d417eed937e6c9e6a34d19a22c3e6d87bf8f2314767cd02b15cba068759588896f SHA512 f57840cffe1224d282e707f6a36ebd53b539f9acee58de7053f28ceed5356bd35627d7c205cc91dc81983925cca55138715051c0ca535ca1dcc9d26aad9a9353
-DIST precis_i18n-1.0.5.tar.gz 67710 BLAKE2B 7995c3cb74290524d70ecd75b052201df49ae7e9f4d0052c8176756866ba8533d164b057f0fc4c5c47b938a20e36898cb52bec411b56461cb9c4e4f7029db4ed SHA512 ba3b43d4a84de02e002f7e62a7fb75c4694f3c6a8963e5bdfd9927989c2ee84317fc5fa6f119e79bb1f88dc97a37a06930829daae3969d6a5b2f5ba57bedc3e9
+DIST precis_i18n-1.1.0.tar.gz 69488 BLAKE2B 2484e8b9d8df7393b1e61030da45ff22a864cb4d97c0e1b1bff319035810ef65f3686510c16335be678c32503333e667fa4555365976ace2a93ae80a532ede86 SHA512 95eb40aa063a808885e9a405f8331621e74b669d4602de617f0e6e78e4d9b7f57665d194b826bbdfc6305c71eaecd2e6388f79b2381d85abc606fe7515510b45
diff --git a/dev-python/precis-i18n/precis-i18n-1.0.4.ebuild b/dev-python/precis-i18n/precis-i18n-1.0.4.ebuild
deleted file mode 100644
index 13c842d2ad1c..000000000000
--- a/dev-python/precis-i18n/precis-i18n-1.0.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_{9..11} )
-inherit distutils-r1
-
-MY_PN="${PN/-/_}"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Internationalized Usernames and Passwords"
-HOMEPAGE="https://pypi.org/project/precis-i18n/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/_}/${P/-/_}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86"
-
-distutils_enable_tests unittest
-
-python_test() {
- eunittest -s test
-}
diff --git a/dev-python/precis-i18n/precis-i18n-1.0.5.ebuild b/dev-python/precis-i18n/precis-i18n-1.0.5.ebuild
deleted file mode 100644
index 0e3679b6e54f..000000000000
--- a/dev-python/precis-i18n/precis-i18n-1.0.5.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_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${P/-/_}
-DESCRIPTION="Internationalized Usernames and Passwords"
-HOMEPAGE="
- https://github.com/byllyfish/precis_i18n/
- https://pypi.org/project/precis-i18n/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/_}/${P/-/_}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
-
-distutils_enable_tests unittest
-
-python_test() {
- eunittest -s test
-}
diff --git a/dev-python/precis-i18n/precis-i18n-1.1.0.ebuild b/dev-python/precis-i18n/precis-i18n-1.1.0.ebuild
new file mode 100644
index 000000000000..3639ca645604
--- /dev/null
+++ b/dev-python/precis-i18n/precis-i18n-1.1.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Internationalized Usernames and Passwords"
+HOMEPAGE="
+ https://github.com/byllyfish/precis_i18n/
+ https://pypi.org/project/precis-i18n/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
+
+distutils_enable_tests unittest
+
+python_test() {
+ eunittest -s test
+}
diff --git a/dev-python/pretend/Manifest b/dev-python/pretend/Manifest
index 08e5f598ee9f..11d840f13f4a 100644
--- a/dev-python/pretend/Manifest
+++ b/dev-python/pretend/Manifest
@@ -1 +1 @@
-DIST pretend-1.0.9.tar.gz 5656 BLAKE2B 1a8e280fbbf147f502f1148b9e3685630e0f5cd270dc8b6fa8fbbd8177aaa08efe401a6684b669a976d828e7fcdd48d686170bfa3cd3d8a857b78af473a5b6f8 SHA512 976e3272557aecfb11e4147a868ea96e23546e277d57d726f41b945103bef3451039716e6bbc5082d691fa1fd331c06b3d0f8b254deb0510948153571326eaf0
+DIST pretend-1.0.9.gh.tar.gz 5656 BLAKE2B 1a8e280fbbf147f502f1148b9e3685630e0f5cd270dc8b6fa8fbbd8177aaa08efe401a6684b669a976d828e7fcdd48d686170bfa3cd3d8a857b78af473a5b6f8 SHA512 976e3272557aecfb11e4147a868ea96e23546e277d57d726f41b945103bef3451039716e6bbc5082d691fa1fd331c06b3d0f8b254deb0510948153571326eaf0
diff --git a/dev-python/pretend/pretend-1.0.9-r2.ebuild b/dev-python/pretend/pretend-1.0.9-r2.ebuild
index 7ec3b6ef10c3..1fcb007a5620 100644
--- a/dev-python/pretend/pretend-1.0.9-r2.ebuild
+++ b/dev-python/pretend/pretend-1.0.9-r2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
@@ -15,11 +15,11 @@ HOMEPAGE="
"
SRC_URI="
https://github.com/alex/pretend/archive/v${PV}.tar.gz
- -> ${P}.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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+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
diff --git a/dev-python/pretty-yaml/Manifest b/dev-python/pretty-yaml/Manifest
deleted file mode 100644
index 00a216803862..000000000000
--- a/dev-python/pretty-yaml/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pyaml-21.10.1.tar.gz 20466 BLAKE2B c90adb2023c9555f55a6fafe4e82fa8c50795a9f798250f640d9db6511584f3715a0a8fa4ee3cb26148967c75d59665b05915dd6ef1d4f807bfc7a68f2818482 SHA512 3a98a021856446584f079bfb7427c63feaf6fdd1bd0d809d46aa0c646b2cb9533c393ed0167240be587aad7b94209b6e5bfe2c09918b45ec9a86ad9781bdf9f2
diff --git a/dev-python/pretty-yaml/pretty-yaml-21.10.1.ebuild b/dev-python/pretty-yaml/pretty-yaml-21.10.1.ebuild
deleted file mode 100644
index 7c611e28e084..000000000000
--- a/dev-python/pretty-yaml/pretty-yaml-21.10.1.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-MY_P=pyaml-${PV}
-DESCRIPTION="PyYAML-based module to produce pretty and readable YAML-serialized data"
-HOMEPAGE="https://github.com/mk-fg/pretty-yaml"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_P%-*}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="WTFPL-2"
-SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ~ppc64 ~riscv x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-python/pyyaml[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- ${RDEPEND}
- dev-python/unidecode[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests unittest
diff --git a/dev-python/prettytable/Manifest b/dev-python/prettytable/Manifest
index 15ce1fb497dc..cac51cb568bf 100644
--- a/dev-python/prettytable/Manifest
+++ b/dev-python/prettytable/Manifest
@@ -1,3 +1,2 @@
-DIST prettytable-3.3.0.tar.gz 54305 BLAKE2B 4d131c16b6c6a0fd64aae1f9f54e286bf27b562888af56a6944d192a24c05d6138c3bdb8f298dcc060db7609d72b8d86ab9664bf6bcf43cd2105bdd433bae3cf SHA512 e190717e2ea89e8faddc7015fd5118e0d93ac5f5318641ce5960b22b4ea3740ff12c4d15812b33655252f258c96f9e848f554d1e678d39761c28025ba7772609
-DIST prettytable-3.5.0.gh.tar.gz 45387 BLAKE2B 0ddb2c89e80c8f713c01afd4db7d5fcfa8151bcfaf7dcf07d66898b1b868ca093931829fe1b4db96c120a6eda1f84580726931dbd6d49b9870c1fc1eb0e479b9 SHA512 24ef28a42365568bf68a974afd42fcc1bfb9208e1cb75fc1b2890bc2253487afa6536e778b58e320e952ca8bf9b69193bd1293bb7615628d03765ee24c44edff
-DIST prettytable-3.6.0.gh.tar.gz 46174 BLAKE2B 2a7e507efdf4ab3282e95e8db14b92477fdd40a06fdb009146ce6a3a52ef49e46a61803ac3cd85d2ec993ad8cc49bd842d438b97fc037e56cb33cd4495b535ef SHA512 b4693a3d30555f598cb955923560d02ce7c757e87ee49bf09c8d50d3ce8bef67ebfad1c780914f488e89852c0e363c2cad098addc058a88864efb8eefa8e9cd8
+DIST prettytable-3.10.0.tar.gz 54830 BLAKE2B d19abefd31ebf25fd0c5ed91ce1314cebff1c519393fd0d07f82661393c46d337b6589094922f0500180265dc6515706d0d24b5127406a646f83608bed824ccb SHA512 184ab33f3ebe12b3496ff6e2dd2115b4c5f1cf51cedbb73dfa8028e371847c30e69830bb656a92ae3784e70414c4e5782a45b5b39fed87924adaf40078049059
+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..9963af859ea6
--- /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..12} 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.3.0.ebuild b/dev-python/prettytable/prettytable-3.3.0.ebuild
deleted file mode 100644
index bff5779379c3..000000000000
--- a/dev-python/prettytable/prettytable-3.3.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Easily displaying tabular data in a visually appealing ASCII table format"
-HOMEPAGE="
- https://github.com/jazzband/prettytable/
- https://pypi.org/project/prettytable/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- $(python_gen_impl_dep sqlite)
- dev-python/pytest-lazy-fixture[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/prettytable/prettytable-3.5.0.ebuild b/dev-python/prettytable/prettytable-3.5.0.ebuild
deleted file mode 100644
index 8f107b22cec0..000000000000
--- a/dev-python/prettytable/prettytable-3.5.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Easily displaying tabular data in a visually appealing ASCII table format"
-HOMEPAGE="
- https://github.com/jazzband/prettytable/
- https://pypi.org/project/prettytable/
-"
-SRC_URI="
- https://github.com/jazzband/prettytable/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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-fixture[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/prettytable/prettytable-3.6.0.ebuild b/dev-python/prettytable/prettytable-3.6.0.ebuild
deleted file mode 100644
index 60c7957b7724..000000000000
--- a/dev-python/prettytable/prettytable-3.6.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Easily displaying tabular data in a visually appealing ASCII table format"
-HOMEPAGE="
- https://github.com/jazzband/prettytable/
- https://pypi.org/project/prettytable/
-"
-SRC_URI="
- https://github.com/jazzband/prettytable/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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-fixture[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/prettytable/prettytable-3.9.0.ebuild b/dev-python/prettytable/prettytable-3.9.0.ebuild
new file mode 100644
index 000000000000..1b54e0fea1f6
--- /dev/null
+++ b/dev-python/prettytable/prettytable-3.9.0.ebuild
@@ -0,0 +1,32 @@
+# 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="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-fixture[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/primecountpy/Manifest b/dev-python/primecountpy/Manifest
new file mode 100644
index 000000000000..4e9165f2f794
--- /dev/null
+++ b/dev-python/primecountpy/Manifest
@@ -0,0 +1 @@
+DIST primecountpy-0.1.0.tar.gz 16070 BLAKE2B e14b0d4bdd27cf4757e796853ec8d260c40a5f01740dc60e2e16f1251434533c5aa0bbd66a9c6de6ad3f69a5010dd77703305b3d1d9262207489e25c552e6225 SHA512 c279fb2bec9d2108960510a25cf645c605618359649dd0a4b6b707aee01047937cbd02fe89c249693dc152e44b85cb960803e378a05e6a52b50c6cba6124c3d5
diff --git a/dev-python/primecountpy/metadata.xml b/dev-python/primecountpy/metadata.xml
new file mode 100644
index 000000000000..b7f899eb0f3e
--- /dev/null
+++ b/dev-python/primecountpy/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ </maintainer>
+
+ <maintainer type="person" proxied="yes">
+ <email>frp.bissey@gmail.com</email>
+ <name>François Bissey</name>
+ </maintainer>
+
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+
+ <maintainer type="project">
+ <email>sci-mathematics@gentoo.org</email>
+ <name>Gentoo Mathematics Project</name>
+ </maintainer>
+
+ <upstream>
+ <remote-id type="pypi">primecountpy</remote-id>
+ <remote-id type="github">dimpase/primecountpy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/primecountpy/primecountpy-0.1.0.ebuild b/dev-python/primecountpy/primecountpy-0.1.0.ebuild
new file mode 100644
index 000000000000..3138a7c8cb3e
--- /dev/null
+++ b/dev-python/primecountpy/primecountpy-0.1.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2020-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="Cython interface to sci-mathematics/primecount"
+HOMEPAGE="https://pypi.org/project/primecountpy/
+ https://github.com/dimpase/primecountpy"
+
+# LICENSE clarification in README.md
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+DEPEND="sci-mathematics/primecount
+ dev-python/cysignals[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+BDEPEND="dev-python/cython[${PYTHON_USEDEP}]"
diff --git a/dev-python/priority/priority-1.3.0-r1.ebuild b/dev-python/priority/priority-1.3.0-r1.ebuild
index 4830c16b82dc..aa850d60259f 100644
--- a/dev-python/priority/priority-1.3.0-r1.ebuild
+++ b/dev-python/priority/priority-1.3.0-r1.ebuild
@@ -4,9 +4,10 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_TESTED=( python3_{10..11} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_12 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A pure-Python implementation of the HTTP/2 priority tree"
HOMEPAGE="
@@ -14,14 +15,17 @@ HOMEPAGE="
https://github.com/python-hyper/priority/
https://pypi.org/project/priority/
"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.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/hypothesis-3.4.2[${PYTHON_USEDEP}] )
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/hypothesis-3.4.2[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
"
PATCHES=(
@@ -29,3 +33,13 @@ 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 7314fa2fdf50..497d45d034c2 100644
--- a/dev-python/priority/priority-2.0.0-r1.ebuild
+++ b/dev-python/priority/priority-2.0.0-r1.ebuild
@@ -4,9 +4,10 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_TESTED=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A pure-Python implementation of the HTTP/2 priority tree"
HOMEPAGE="
@@ -14,14 +15,26 @@ HOMEPAGE="
https://github.com/python-hyper/priority/
https://pypi.org/project/priority/
"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.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/hypothesis-3.4.2[${PYTHON_USEDEP}] )
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/hypothesis-3.4.2[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
"
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/Manifest b/dev-python/process-tests/Manifest
index e8e94375fb3b..234b923231c0 100644
--- a/dev-python/process-tests/Manifest
+++ b/dev-python/process-tests/Manifest
@@ -1 +1 @@
-DIST process-tests-2.1.2.tar.gz 11554 BLAKE2B bf4716f32b8d5e6cd8d5f8eef1156c09545fe22e48134fa0f98c47172141f0365f1995c2dad94c4e3a6f5a151883f92048bcd943fa07faeb7eff9c60f18555df SHA512 56a76d8467312de34413994e663eb63378ff179720b883037735eae9d8f23a5cc0ea32d4a9a2f9041af417b5ada07b7948fd481e3d5b2cb43db3c19183f6b263
+DIST process-tests-3.0.0.tar.gz 15165 BLAKE2B 9e475a8b526a4d4749b86feae161127338594667642d90bfd4a194d500373b8fdb7d05b1eee7d5bcc0e980cf793c7bb15eb3de1e560d42cf07643c5bb47a3076 SHA512 2dc44c56f9ea1f8fc0ecce633fc1fc8d59a1abf6ccec6011515cb0899a7cefaa33afb99f5e8d72dc608e222d7856b615cdad281b2d93f9ef0467a06c80ae4a6e
diff --git a/dev-python/process-tests/process-tests-2.1.2-r1.ebuild b/dev-python/process-tests/process-tests-2.1.2-r1.ebuild
deleted file mode 100644
index 3ec2645697b9..000000000000
--- a/dev-python/process-tests/process-tests-2.1.2-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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Tools for testing processes"
-HOMEPAGE="https://github.com/ionelmc/python-process-tests https://pypi.org/project/process-tests/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~x64-macos"
-
-# There are no tests at all, under TODO
-# tests/test_process_tests.py is just empty
-RESTRICT="test"
-
-DOCS=( README.rst )
diff --git a/dev-python/process-tests/process-tests-3.0.0.ebuild b/dev-python/process-tests/process-tests-3.0.0.ebuild
new file mode 100644
index 000000000000..931fec7b9fea
--- /dev/null
+++ b/dev-python/process-tests/process-tests-3.0.0.ebuild
@@ -0,0 +1,27 @@
+# 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="Tools for testing processes"
+HOMEPAGE="
+ https://github.com/ionelmc/python-process-tests/
+ https://pypi.org/project/process-tests/
+"
+
+SLOT="0"
+LICENSE="BSD"
+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
+
+python_test() {
+ local -x PYTHONUNBUFFERED=yes
+ epytest
+}
diff --git a/dev-python/progress/progress-1.6-r1.ebuild b/dev-python/progress/progress-1.6-r1.ebuild
index 83d92719d42a..cc35ceb640f4 100644
--- a/dev-python/progress/progress-1.6-r1.ebuild
+++ b/dev-python/progress/progress-1.6-r1.ebuild
@@ -4,17 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
DESCRIPTION="Easy to use progress bars"
-HOMEPAGE="https://pypi.org/project/progress/
- https://github.com/verigak/progress/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/verigak/progress/
+ https://pypi.org/project/progress/
+"
SLOT="0"
LICENSE="ISC"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
python_test() {
"${EPYTHON}" test_progress.py || die "Tests fail with ${EPYTHON}"
diff --git a/dev-python/progressbar/Manifest b/dev-python/progressbar/Manifest
deleted file mode 100644
index a0710f3fe562..000000000000
--- a/dev-python/progressbar/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST progressbar-2.5.tar.gz 10046 BLAKE2B fdbef570f48a0c61659bf02b3cc4e0f64d9e4e2edda970edb79fd4aac5fe2cc1bd0a7421458100cab7cbfd3d9d8cf905774113e336ff2d687d5e06b04a4e113a SHA512 86a56a573b903b947baac98b26f88e40072603007fdf5cda3e4a7e797fe4c4c42fd1a4b1ddb1c9ca9a062659d3647c428e33949e2df9e20b0f56a9a4099de51b
diff --git a/dev-python/progressbar/metadata.xml b/dev-python/progressbar/metadata.xml
deleted file mode 100644
index d1438d96fbc1..000000000000
--- a/dev-python/progressbar/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">progressbar</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/progressbar/progressbar-2.5.ebuild b/dev-python/progressbar/progressbar-2.5.ebuild
deleted file mode 100644
index 44d9754353ef..000000000000
--- a/dev-python/progressbar/progressbar-2.5.ebuild
+++ /dev/null
@@ -1,16 +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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Text progressbar library for python"
-HOMEPAGE="https://pypi.org/project/progressbar/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="|| ( LGPL-2.1 BSD )"
-SLOT="0"
-KEYWORDS="amd64 ~arm ppc x86 ~amd64-linux ~x86-linux"
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 fc596398aaf1..000000000000
--- a/dev-python/progressbar2/progressbar2-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_{9..11} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="Text progressbar library for python"
-HOMEPAGE="https://progressbar-2.readthedocs.io/ https://pypi.org/project/progressbar2/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~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..9a9daf81e626
--- /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..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.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
new file mode 100644
index 000000000000..b65d331d0b7e
--- /dev/null
+++ b/dev-python/prometheus-client/Manifest
@@ -0,0 +1 @@
+DIST prometheus_client-0.20.0.tar.gz 78278 BLAKE2B ae7dea79a2c4f7b6870da9f749e9be09c353e062e744beb98538eba45d0394ef2ce5b99a696e40620b38ea228711dff30a2a571d09d7e1b4a3d75ca713938f92 SHA512 9e5aed628b052790af8954eee7914b6480226368229bb0dade2f8c3f88ab04971d2a8a55558fd7dbb125894f30cea56363cc670deb0aa6822f31562437031fb2
diff --git a/dev-python/prometheus_client/metadata.xml b/dev-python/prometheus-client/metadata.xml
index 705228750c76..705228750c76 100644
--- a/dev-python/prometheus_client/metadata.xml
+++ b/dev-python/prometheus-client/metadata.xml
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..e556cd718288
--- /dev/null
+++ b/dev-python/prometheus-client/prometheus-client-0.20.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=( 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/Manifest b/dev-python/prometheus_client/Manifest
deleted file mode 100644
index 8329fda62127..000000000000
--- a/dev-python/prometheus_client/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST prometheus_client-0.15.0.gh.tar.gz 82056 BLAKE2B d9d94fe823edf99d273e9a85c27a8363c59c24a7d125a62bbadecd9abc81485949a27dacfc5faec31f27fdb263fec412210545b18f72c40a357c24d380242200 SHA512 ea11cb2fc08bd5e10ea97ee3be3068a2c37cbaa45ab3e146f8a0080074f69e7744ff90d1a0fb4f01eaefd1efc5f76428d6c898bead85d5fa37b6a59e9f832134
-DIST prometheus_client-0.16.0.gh.tar.gz 82473 BLAKE2B bf285f52ce3de4c55f681871b814fe0be8dbdf61ed3031570983325e193a9b34cafbc8526f545801ac8711cc8331cf3b0c8f157394feb9ad827ac97872397341 SHA512 511936758026b6d6f48f52d27b1cb964a03668054d7a3c5c82c4fa20800be3812150fca74ab46dad11ca12f2c9ce1a6951a82ae2bacf91b3761f7bf7ce75e0d2
diff --git a/dev-python/prometheus_client/prometheus_client-0.15.0.ebuild b/dev-python/prometheus_client/prometheus_client-0.15.0.ebuild
deleted file mode 100644
index 8edd5ebc00d9..000000000000
--- a/dev-python/prometheus_client/prometheus_client-0.15.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python client for the Prometheus monitoring system"
-HOMEPAGE="
- https://github.com/prometheus/client_python/
- https://pypi.org/project/prometheus-client/
-"
-SRC_URI="
- https://github.com/prometheus/client_python/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/client_python-${PV}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~m68k 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.16.0.ebuild b/dev-python/prometheus_client/prometheus_client-0.16.0.ebuild
deleted file mode 100644
index ffa7b276ca52..000000000000
--- a/dev-python/prometheus_client/prometheus_client-0.16.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python client for the Prometheus monitoring system"
-HOMEPAGE="
- https://github.com/prometheus/client_python/
- https://pypi.org/project/prometheus-client/
-"
-SRC_URI="
- https://github.com/prometheus/client_python/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/client_python-${PV}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/twisted[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/prompt-toolkit/Manifest b/dev-python/prompt-toolkit/Manifest
new file mode 100644
index 000000000000..b61f48ebe4b3
--- /dev/null
+++ b/dev-python/prompt-toolkit/Manifest
@@ -0,0 +1 @@
+DIST prompt_toolkit-3.0.43.tar.gz 425733 BLAKE2B 663b3f675e004de9f2d6dce09320bc0bbd6a47f5a581d5b49bb5fe36f0d3eee2022522eac09dccc5bceaf6227e17abe475f133c53b912b3b84f940877aaa6b9a SHA512 833666da9bc7259eec2ee357cb936001880ac1f88c33a1e346ef5e4b8c3fcd37ff7d7102e590d509b0b0ac1e046fcd9d2a7046857c9e95dc3890f1b70c62544c
diff --git a/dev-python/prompt_toolkit/metadata.xml b/dev-python/prompt-toolkit/metadata.xml
index e67522584f55..e67522584f55 100644
--- a/dev-python/prompt_toolkit/metadata.xml
+++ b/dev-python/prompt-toolkit/metadata.xml
diff --git a/dev-python/prompt-toolkit/prompt-toolkit-3.0.43.ebuild b/dev-python/prompt-toolkit/prompt-toolkit-3.0.43.ebuild
new file mode 100644
index 000000000000..082b151da3d1
--- /dev/null
+++ b/dev-python/prompt-toolkit/prompt-toolkit-3.0.43.ebuild
@@ -0,0 +1,25 @@
+# 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/Manifest b/dev-python/prompt_toolkit/Manifest
deleted file mode 100644
index 365d7852cd94..000000000000
--- a/dev-python/prompt_toolkit/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST prompt_toolkit-3.0.36.tar.gz 423863 BLAKE2B 1917ba618e4111f3d2d85f1063e3e34bc47cc1f60e1703be54cf92b98f72eb3cb3062381e16fd324953435ed67ce0711274f6d8faf735bf966283cc2201f1b65 SHA512 db77a3acb8a985b1df3d82eca7ac30fbd5e85bf3bc77f0f6da13af8064a7d4dc9d7fd57be3eabe5eecce610c8220ad493d296f2e425a8f69d62fddd1e419af1e
diff --git a/dev-python/prompt_toolkit/prompt_toolkit-3.0.36.ebuild b/dev-python/prompt_toolkit/prompt_toolkit-3.0.36.ebuild
deleted file mode 100644
index ccb7eeba880f..000000000000
--- a/dev-python/prompt_toolkit/prompt_toolkit-3.0.36.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="Building powerful interactive command lines in Python"
-HOMEPAGE="
- https://pypi.org/project/prompt-toolkit/
- https://github.com/prompt-toolkit/python-prompt-toolkit
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/wcwidth[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/proto-plus/Manifest b/dev-python/proto-plus/Manifest
index 39168847124e..1fa299928dee 100644
--- a/dev-python/proto-plus/Manifest
+++ b/dev-python/proto-plus/Manifest
@@ -1,2 +1 @@
-DIST proto-plus-1.22.1.gh.tar.gz 69507 BLAKE2B b71c263270dde979da0e050a21db258366ca5ddfaed5f8fb78e53444454a123d171019801873d1662ca73a89f079fa1c4cb7c58d34053cabb528015c0d742183 SHA512 2fb5dcb6124d6e2aab010089f4ad138de5cd819d4e67c2b9a6d7044a3d7677ca6e5e37e9aa0ee9edb262c52724dfd2dc05592c489df66d3cafbdf51f13644c7e
-DIST proto-plus-1.22.2.gh.tar.gz 69899 BLAKE2B ad485b04e4187dd5e33259e314d807ad5541c2ddf4fb8e0a85deb195c7643194d34101428fb4fcb7dd692d60e4dd4c4037f821b8fb0049a6e36e002ce870e48a SHA512 bacb8f285417bf0e4d20898c9bb2563e16204b09fc6fb92aadfcd67ad12df388681658eaaacd9b945f4d0ad7e2ce9b95dfc938f5ccc0c4419805c53ed837b2d7
+DIST proto-plus-python-1.23.0.gh.tar.gz 96752 BLAKE2B a971ef18b3513dcda0f2ea7a1eec8a1b76cc0094fdb73e7df1b258d0db7c16d2ef07152eff28c71e10456e2b9d2532da748901734d35a0245f99af7cf558866c SHA512 9e1566f6e3d2f99a37e7c5c9d3203a0073648f423112413d7d4fd61ebe38f175f30e1c4d2d24257acb7d09a685722b63960f9f686ede9ddb98a4c4463d5c0402
diff --git a/dev-python/proto-plus/proto-plus-1.22.1-r1.ebuild b/dev-python/proto-plus/proto-plus-1.22.1-r1.ebuild
deleted file mode 100644
index a97f156bb73d..000000000000
--- a/dev-python/proto-plus/proto-plus-1.22.1-r1.ebuild
+++ /dev/null
@@ -1,40 +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
-
-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
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${PN}-python-${PV}"
-
-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.22.1.ebuild b/dev-python/proto-plus/proto-plus-1.22.1.ebuild
deleted file mode 100644
index a97f156bb73d..000000000000
--- a/dev-python/proto-plus/proto-plus-1.22.1.ebuild
+++ /dev/null
@@ -1,40 +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
-
-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
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${PN}-python-${PV}"
-
-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.22.2.ebuild b/dev-python/proto-plus/proto-plus-1.22.2.ebuild
deleted file mode 100644
index abaa5c89c162..000000000000
--- a/dev-python/proto-plus/proto-plus-1.22.2.ebuild
+++ /dev/null
@@ -1,40 +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
-
-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
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${PN}-python-${PV}"
-
-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.23.0.ebuild b/dev-python/proto-plus/proto-plus-1.23.0.ebuild
new file mode 100644
index 000000000000..56418b425e8a
--- /dev/null
+++ b/dev-python/proto-plus/proto-plus-1.23.0.ebuild
@@ -0,0 +1,40 @@
+# 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
+
+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/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
diff --git a/dev-python/protobuf-python/Manifest b/dev-python/protobuf-python/Manifest
index 85bcbb4bda71..8695f23be04a 100644
--- a/dev-python/protobuf-python/Manifest
+++ b/dev-python/protobuf-python/Manifest
@@ -1 +1,4 @@
+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
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/protobuf-python-4.21.12.ebuild b/dev-python/protobuf-python/protobuf-python-4.21.12.ebuild
new file mode 100644
index 000000000000..c445608352ac
--- /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.21.9.ebuild b/dev-python/protobuf-python/protobuf-python-4.21.9.ebuild
index d50a7d274d8e..76cb2702273c 100644
--- a/dev-python/protobuf-python/protobuf-python-4.21.9.ebuild
+++ b/dev-python/protobuf-python/protobuf-python-4.21.9.ebuild
@@ -3,8 +3,9 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -23,7 +24,7 @@ else
https://github.com/protocolbuffers/protobuf/archive/v${PARENT_PV}.tar.gz
-> ${PARENT_P}.tar.gz
"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
fi
DESCRIPTION="Google's Protocol Buffers - Python bindings"
@@ -66,6 +67,10 @@ python_prepare_all() {
eapply_user
popd > /dev/null || die
+ # py3.12
+ sed -i -e 's:assertRaisesRegexp:assertRaisesRegex:' \
+ google/protobuf/internal/json_format_test.py || die
+
distutils-r1_python_prepare_all
}
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..27768732e87b
--- /dev/null
+++ b/dev-python/protobuf-python/protobuf-python-4.22.5.ebuild
@@ -0,0 +1,85 @@
+# 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=(
+)
+
+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
new file mode 100644
index 000000000000..546a2110c18e
--- /dev/null
+++ b/dev-python/protobuf-python/protobuf-python-4.23.3.ebuild
@@ -0,0 +1,79 @@
+# 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 ~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/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/protobuf-python/protobuf-python-9999.ebuild b/dev-python/protobuf-python/protobuf-python-9999.ebuild
index 6117a80be69d..c8a33b8666b2 100644
--- a/dev-python/protobuf-python/protobuf-python-9999.ebuild
+++ b/dev-python/protobuf-python/protobuf-python-9999.ebuild
@@ -3,13 +3,14 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
PARENT_PN="${PN/-python/}"
-PARENT_PV="${PV}"
+PARENT_PV="$(ver_cut 2-)"
PARENT_P="${PARENT_PN}-${PARENT_PV}"
if [[ "${PV}" == *9999 ]]; then
@@ -23,7 +24,7 @@ else
https://github.com/protocolbuffers/protobuf/archive/v${PARENT_PV}.tar.gz
-> ${PARENT_P}.tar.gz
"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~x64-macos"
fi
DESCRIPTION="Google's Protocol Buffers - Python bindings"
@@ -33,20 +34,18 @@ HOMEPAGE="
"
LICENSE="BSD"
-SLOT="0/32"
+SLOT="0/23.3.0"
S="${WORKDIR}/${PARENT_P}/python"
BDEPEND="
- dev-libs/protobuf:${SLOT}
- dev-python/six[${PYTHON_USEDEP}]
"
DEPEND="
${PYTHON_DEPS}
- dev-libs/protobuf:${SLOT}
"
RDEPEND="
${BDEPEND}
+ dev-libs/protobuf:${SLOT}
"
distutils_enable_tests setup.py
diff --git a/dev-python/prov/prov-2.0.0.ebuild b/dev-python/prov/prov-2.0.0.ebuild
index b911105584c6..a8850b2716c3 100644
--- a/dev-python/prov/prov-2.0.0.ebuild
+++ b/dev-python/prov/prov-2.0.0.ebuild
@@ -3,12 +3,11 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{9..11} )
+inherit distutils-r1 pypi
DESCRIPTION="W3C provenance data dodel library"
HOMEPAGE="https://pypi.org/project/prov/"
-SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/pslab-python/Manifest b/dev-python/pslab-python/Manifest
deleted file mode 100644
index f33e127e0135..000000000000
--- a/dev-python/pslab-python/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pslab-python-2.5.0.tar.gz 353493 BLAKE2B 4eae07fec800dc357041578a75e48812848588e49e14b75425ee4b24c62b1116d0493055564188e33e4d934f4d572708c811ec9bb7fbf5d437befedfcad5da1a SHA512 e8e4f53dc8c1d6aa4385cdbdc8a82bac21d9de15643980fed42a2b16c10ff56e0836371368840c9207d6bd6f8d73900a344507b8bce8b197f0580373137c0f1f
diff --git a/dev-python/pslab-python/metadata.xml b/dev-python/pslab-python/metadata.xml
deleted file mode 100644
index 1570da2fec58..000000000000
--- a/dev-python/pslab-python/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="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
- <upstream>
- <remote-id type="github">fossasia/pslab-python</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pslab-python/pslab-python-2.5.0.ebuild b/dev-python/pslab-python/pslab-python-2.5.0.ebuild
deleted file mode 100644
index 184d8681cf20..000000000000
--- a/dev-python/pslab-python/pslab-python-2.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-DESCRIPTION="Python library for communicating with Pocket Science Lab"
-HOMEPAGE="https://pslab.io"
-SRC_URI="https://github.com/fossasia/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-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
-)
-
-# Flaky in 2.5.0
-EPYTEST_DESELECT=(
- tests/test_logic_analyzer.py::test_stop
-)
-
-distutils_enable_tests pytest
-
-distutils_enable_sphinx docs dev-python/recommonmark
diff --git a/dev-python/pslab/Manifest b/dev-python/pslab/Manifest
new file mode 100644
index 000000000000..264fb2733c88
--- /dev/null
+++ b/dev-python/pslab/Manifest
@@ -0,0 +1 @@
+DIST pslab-python-3.0.0.gh.tar.gz 357657 BLAKE2B 34d8817dd47588a488359b53a7c3737afc0b3d14c5a751990a6030a17f30cb99d65f235a7eaf26b5a4f7f41931ea20bff086a5463563faa189e6cc46336366b6 SHA512 fdb5180e6fb55b2b6262997981c1d9b56652fbd902cfb4e8c347dff87d32d234a61f5a3ff50e5fb55eb0fecc6d2cb09df5cbc9e747df00e5973c19fba7f3c554
diff --git a/dev-python/pslab-python/files/pslab-python-2.5.0-ad9833_sys_version.patch b/dev-python/pslab/files/pslab-2.5.0-ad9833_sys_version.patch
index b34182266c4a..b34182266c4a 100644
--- a/dev-python/pslab-python/files/pslab-python-2.5.0-ad9833_sys_version.patch
+++ b/dev-python/pslab/files/pslab-2.5.0-ad9833_sys_version.patch
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
new file mode 100644
index 000000000000..8c2314eeca2d
--- /dev/null
+++ b/dev-python/pslab/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">fossasia/pslab-python</remote-id>
+ <remote-id type="pypi">pslab</remote-id>
+ </upstream>
+</pkgmetadata>
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 06de54d641b1..d9b502ad1d8e 100644
--- a/dev-python/psutil/Manifest
+++ b/dev-python/psutil/Manifest
@@ -1,2 +1,2 @@
-DIST psutil-5.9.3-tests-r1.patch.xz 3648 BLAKE2B df56e3b11da307fdd4441284d1a7928c928b36c512ef05d313ac71e76545eabaca1f6a1ea9dab301c86005ef4c9af9622e0d1c6d7be858b92b0dce9d6031440d SHA512 0d8b35fe76b1caf1265ab4ecf182c92b71714be9612418c945f39c58f384979ed36e47bdf11b11a8cf2fc3925fed60abadf4f3eaea083f6bcd6d2cddb81fb5f9
-DIST psutil-5.9.4.tar.gz 485825 BLAKE2B ce5257e653876fc0c4bb005c964f677c0b4010f853cc7b8ff3451aa1efd7fde6b7e5d2150fb936cd38b667d5c167f180d5cae0792bdf50a8aa2e528795ed9897 SHA512 ff8d6213b153b5a3428e4f65ddbc41cb1f37caae4acab02760632107d95a50a74d3ee563f0cb2d623b37cdddd16425d2084e7f841e4a46af8988a7676f6975e6
+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
diff --git a/dev-python/psutil/psutil-5.9.4.ebuild b/dev-python/psutil/psutil-5.9.4.ebuild
deleted file mode 100644
index 5749b3e71a80..000000000000
--- a/dev-python/psutil/psutil-5.9.4.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} pypy3 )
-
-inherit distutils-r1
-
-TEST_PATCH=psutil-5.9.3-tests-r1.patch
-DESCRIPTION="Retrieve information on running processes and system utilization"
-HOMEPAGE="
- https://github.com/giampaolo/psutil/
- https://pypi.org/project/psutil/
-"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- 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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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..d67fc972a572
--- /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..12} 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/psycopg/Manifest b/dev-python/psycopg/Manifest
index 580f911b655b..dc92e609ee66 100644
--- a/dev-python/psycopg/Manifest
+++ b/dev-python/psycopg/Manifest
@@ -1,6 +1,3 @@
-DIST psycopg-3.1.4.gh.tar.gz 469317 BLAKE2B a6df49a5adefbeb310602473e950ef77f0c613d8a33d41ee37dbfec544dfd014dba8dae5f78ce2bc89f2d9531ccbdd6ea07665ca638f29a4a7d0d1006bc0d778 SHA512 2bf49d6eb7e20c6f22adf47cef6dce691f38f4b310f2fbf3986f3ad14c7d390d53b9edeb3365bbf096941cc2d2affe2ddd542fe93ef37c41109742c9f9af4ba7
-DIST psycopg-3.1.5.gh.tar.gz 478528 BLAKE2B f0e6d1970b81875481bf0939d750d585f9ce4be1ccf838d1884a54d366614ec1ca76756b455d28b559ef4f49696eda68fa3b42f8c0cc18d9ce9fd1ce21029830 SHA512 006a9a6b7d34ed6f0411c33001334b9e9d29c8d1fe5e9e3b940d5664cc5c06ce10bc278ee1906a96073843ca2f8effaada8789aa390de97e543e19cc452546d1
-DIST psycopg-3.1.6.gh.tar.gz 478611 BLAKE2B d947344d033e034a94545bcbdcb27b5f903bbf344ce11f52de2b2e514892d2dfd87e3b26f130736c8c3798654c2d59d4f00c1093ce09f777b442d40eef8633c2 SHA512 2dc77cc90692fb92715add1dcbd9b82f10b811e7cf6782fa9d0cb7d076cf699be6d81ecb73d5b4b2772c08fb8070782956eb97b0fc4f0169c5bddb9b7df7a0ad
-DIST psycopg-3.1.7.gh.tar.gz 480599 BLAKE2B 85badb2f7058000deec8f3eac023907c24f4de073150a536f5a8a646a74dfea7ccc429a9ada049f3a6285b508992c06a8e0d0ea826a3613145b238410190431f SHA512 a3be0074e38953bf2b08ac6892d3a7a98bb9ef3e5ab1183d65e7d2aa14c5b148b625dc1da1d830bb6b9cd17d6726b9348fa32415413ed48bba6dd6bd31521432
-DIST psycopg-3.1.8.gh.tar.gz 483283 BLAKE2B 29141637c359b5ff8988753ee4e492b0aaf82bfc6445e0c5e1d9ef18f59f09ab071ce9a6183f2d864b62e85a109b24afbdd96248c00c8bb5c01357b06648ebba SHA512 4424305debc7b055fcd19b27714df46d54f8ae38452d8d5a3276df70a6c27e0094081020fdf2c34c73275cb058054414ac80843bb3e6a841bb3556ce39c76287
+DIST psycopg-3.1.18.gh.tar.gz 503513 BLAKE2B 35e5e4cb4e5355189b387fd17e1b51d4baf08f130cc5418f9f3cb58d6baf097953b4f6a7df31579a1d87e5269e110c4476d865fe12416e2fe62abbb52e0c141c SHA512 1e27eec49f3ae99f1fec68816dff3974aa9b1f526df45ccca295c7c6703cc309ca4f8f65d7e3450b628906a938c65f8cbd1a1f3cb6a41b6e51dc5e220985af39
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.4.ebuild b/dev-python/psycopg/psycopg-2.9.4.ebuild
index 070b13fe3769..98afb8486b53 100644
--- a/dev-python/psycopg/psycopg-2.9.4.ebuild
+++ b/dev-python/psycopg/psycopg-2.9.4.ebuild
@@ -3,21 +3,19 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
+PYPI_PN="psycopg2"
+PYTHON_COMPAT=( python3_{10..12} )
-MY_PN="${PN}2"
-MY_P="${MY_PN}-${PV}"
+inherit distutils-r1 pypi
DESCRIPTION="PostgreSQL database adapter for Python"
HOMEPAGE="https://www.psycopg.org https://pypi.org/project/psycopg2/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
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 ~x86-solaris"
+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-2.9.9.ebuild b/dev-python/psycopg/psycopg-2.9.9.ebuild
new file mode 100644
index 000000000000..bfe4780d91d5
--- /dev/null
+++ b/dev-python/psycopg/psycopg-2.9.9.ebuild
@@ -0,0 +1,58 @@
+# 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="psycopg2"
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PostgreSQL database adapter for Python"
+HOMEPAGE="
+ https://www.psycopg.org/
+ https://pypi.org/project/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() {
+ if use debug; then
+ sed -i 's/^\(define=\)/\1PSYCOPG_DEBUG,/' setup.cfg || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+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-3.1.18.ebuild b/dev-python/psycopg/psycopg-3.1.18.ebuild
new file mode 100644
index 000000000000..133655bd7028
--- /dev/null
+++ b/dev-python/psycopg/psycopg-3.1.18.ebuild
@@ -0,0 +1,109 @@
+# 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
+
+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() {
+ # 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.1.4.ebuild b/dev-python/psycopg/psycopg-3.1.4.ebuild
deleted file mode 100644
index 18827744cb2e..000000000000
--- a/dev-python/psycopg/psycopg-3.1.4.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_{9..11} )
-
-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 ~x86-solaris"
-
-DEPEND="
- >=dev-db/postgresql-8.1:*
-"
-RDEPEND="
- ${DEPEND}
- $(python_gen_cond_dep '
- >=dev-python/backports-zoneinfo-0.2.0[${PYTHON_USEDEP}]
- ' 3.8)
- $(python_gen_cond_dep '
- >=dev-python/typing-extensions-4.1[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
-"
-BDEPEND="
- test? (
- >=dev-db/postgresql-8.1[server]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/dnspython[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-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
-)
-
-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
-}
diff --git a/dev-python/psycopg/psycopg-3.1.5-r1.ebuild b/dev-python/psycopg/psycopg-3.1.5-r1.ebuild
deleted file mode 100644
index 23d7325fee32..000000000000
--- a/dev-python/psycopg/psycopg-3.1.5-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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-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 ~x86-solaris"
-
-DEPEND="
- >=dev-db/postgresql-8.1:*
-"
-RDEPEND="
- ${DEPEND}
- $(python_gen_cond_dep '
- >=dev-python/backports-zoneinfo-0.2.0[${PYTHON_USEDEP}]
- ' 3.8)
- >=dev-python/typing-extensions-4.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-db/postgresql-8.1[server]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/dnspython[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-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
-)
-
-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
-}
diff --git a/dev-python/psycopg/psycopg-3.1.6.ebuild b/dev-python/psycopg/psycopg-3.1.6.ebuild
deleted file mode 100644
index 6353cc7eda22..000000000000
--- a/dev-python/psycopg/psycopg-3.1.6.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_{9..11} )
-
-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 ~x86-solaris"
-
-DEPEND="
- >=dev-db/postgresql-8.1:*
-"
-RDEPEND="
- ${DEPEND}
- $(python_gen_cond_dep '
- >=dev-python/backports-zoneinfo-0.2.0[${PYTHON_USEDEP}]
- ' 3.8)
- >=dev-python/typing-extensions-4.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-db/postgresql-8.1[server]
- dev-python/pytest-asyncio[${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
- )
-
- # leak tests seem to be brittle
- epytest -p no:django -k "not leak"
-}
diff --git a/dev-python/psycopg/psycopg-3.1.7.ebuild b/dev-python/psycopg/psycopg-3.1.7.ebuild
deleted file mode 100644
index 4b26d2add929..000000000000
--- a/dev-python/psycopg/psycopg-3.1.7.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_{9..11} )
-
-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 ~x86-solaris"
-
-DEPEND="
- >=dev-db/postgresql-8.1:*
-"
-RDEPEND="
- ${DEPEND}
- $(python_gen_cond_dep '
- >=dev-python/backports-zoneinfo-0.2.0[${PYTHON_USEDEP}]
- ' 3.8)
- >=dev-python/typing-extensions-4.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-db/postgresql-8.1[server]
- dev-python/pytest-asyncio[${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
- )
-
- # leak tests seem to be brittle
- epytest -p no:django -k "not leak"
-}
diff --git a/dev-python/psycopg/psycopg-3.1.8.ebuild b/dev-python/psycopg/psycopg-3.1.8.ebuild
deleted file mode 100644
index 6353cc7eda22..000000000000
--- a/dev-python/psycopg/psycopg-3.1.8.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_{9..11} )
-
-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 ~x86-solaris"
-
-DEPEND="
- >=dev-db/postgresql-8.1:*
-"
-RDEPEND="
- ${DEPEND}
- $(python_gen_cond_dep '
- >=dev-python/backports-zoneinfo-0.2.0[${PYTHON_USEDEP}]
- ' 3.8)
- >=dev-python/typing-extensions-4.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-db/postgresql-8.1[server]
- dev-python/pytest-asyncio[${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
- )
-
- # leak tests seem to be brittle
- epytest -p no:django -k "not leak"
-}
diff --git a/dev-python/ptyprocess/ptyprocess-0.7.0-r1.ebuild b/dev-python/ptyprocess/ptyprocess-0.7.0-r1.ebuild
index 69c91b825a03..7c04c7c2f328 100644
--- a/dev-python/ptyprocess/ptyprocess-0.7.0-r1.ebuild
+++ b/dev-python/ptyprocess/ptyprocess-0.7.0-r1.ebuild
@@ -4,16 +4,18 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{9..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Run a subprocess in a pseudo terminal"
-HOMEPAGE="https://github.com/pexpect/ptyprocess"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/pexpect/ptyprocess/
+ https://pypi.org/project/ptyprocess/
+"
LICENSE="ISC"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~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"
distutils_enable_tests pytest
diff --git a/dev-python/publicsuffix/publicsuffix-2.20191221-r2.ebuild b/dev-python/publicsuffix/publicsuffix-2.20191221-r2.ebuild
index bca1482cc1a5..7131666153e2 100644
--- a/dev-python/publicsuffix/publicsuffix-2.20191221-r2.ebuild
+++ b/dev-python/publicsuffix/publicsuffix-2.20191221-r2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -24,7 +24,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 arm64 ~riscv ~x86"
RDEPEND="
>=dev-python/requests-2.7.0[${PYTHON_USEDEP}]
diff --git a/dev-python/pudb/Manifest b/dev-python/pudb/Manifest
index e57ca77e6edc..b4b02f3563f5 100644
--- a/dev-python/pudb/Manifest
+++ b/dev-python/pudb/Manifest
@@ -1 +1 @@
-DIST pudb-2022.1.3.tar.gz 220833 BLAKE2B 9d028db6b10f412989ec263b09738afad24a4bf1e0b03c772ef2ec939e4f014f4eca8f04f495b0c3a516d0f3241eee65334a161e7aff072dff436bd54f0a8bfc SHA512 0f70ac5bef61403119c3023c72bcf37ebba16d106c51d4f14321caa2ef5d13a2ddbd923aa650e64b6a57842a444226cf9ce02eed0bb023315a166018b0163b5a
+DIST pudb-2024.1.tar.gz 226023 BLAKE2B ea1c2653c526d53f16362a074cb77a1c076d5311fda99517220f179d4431bec615b0fdd37eeb282c3f89e3b5ff43dd5b0c4950d0e23b06bc9caec98cea0c9658 SHA512 1e07e21a12fe8d970079faf54a26fbe5c9b71552fa8e246f9606a91384304170b8c292788c282363a486cfc5775cad23346f54b89e4a9d2d7b113abf550b0200
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 33213882c7e0..000000000000
--- a/dev-python/pudb/pudb-2022.1.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A full-screen, console-based Python debugger"
-HOMEPAGE="https://pypi.org/project/pudb/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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-2024.1.ebuild b/dev-python/pudb/pudb-2024.1.ebuild
new file mode 100644
index 000000000000..a62662f987a3
--- /dev/null
+++ b/dev-python/pudb/pudb-2024.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..12} )
+
+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
new file mode 100644
index 000000000000..302df417b234
--- /dev/null
+++ b/dev-python/pulsectl-asyncio/Manifest
@@ -0,0 +1,2 @@
+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/metadata.xml b/dev-python/pulsectl-asyncio/metadata.xml
new file mode 100644
index 000000000000..798c499d03bf
--- /dev/null
+++ b/dev-python/pulsectl-asyncio/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">mhthies/pulsectl-asyncio</remote-id>
+ <remote-id type="pypi">pulsectl-asyncio</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pulsectl-asyncio/pulsectl-asyncio-1.1.1.ebuild b/dev-python/pulsectl-asyncio/pulsectl-asyncio-1.1.1.ebuild
new file mode 100644
index 000000000000..3b6f81f6a6df
--- /dev/null
+++ b/dev-python/pulsectl-asyncio/pulsectl-asyncio-1.1.1.ebuild
@@ -0,0 +1,41 @@
+# 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 ~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-asyncio/pulsectl-asyncio-1.2.0.ebuild b/dev-python/pulsectl-asyncio/pulsectl-asyncio-1.2.0.ebuild
new file mode 100644
index 000000000000..38dda5e386c8
--- /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..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 ~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 3458503004da..92b5ba72b5e8 100644
--- a/dev-python/pulsectl/Manifest
+++ b/dev-python/pulsectl/Manifest
@@ -1 +1,2 @@
-DIST pulsectl-22.3.2.tar.gz 40901 BLAKE2B 5b3eb752865e95cfbb70a7228409fea70b4c55c7297d652b4614df7ea4764dcb446f7a3e25bb89f6a55badbf6b300381c7c28c56f0a47e7faf1e63003f39d02c SHA512 7fc11c792a9e586d191a32831e0ef8896c40da1fdeddfd4467d7ec352e5e0ef0c910d7a2e8e82e1a381b16afefa17c9c9db4821be74d4694c934337b2a862f0c
+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-22.3.2.ebuild b/dev-python/pulsectl/pulsectl-22.3.2.ebuild
deleted file mode 100644
index ad1d1b92e68a..000000000000
--- a/dev-python/pulsectl/pulsectl-22.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=( pypy3 python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python high-level interface and ctypes-based bindings for PulseAudio (libpulse)"
-HOMEPAGE="https://github.com/mk-fg/python-pulse-control"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="media-sound/pulseaudio"
-
-distutils_enable_tests unittest
diff --git a/dev-python/pulsectl/pulsectl-23.5.2-r1.ebuild b/dev-python/pulsectl/pulsectl-23.5.2-r1.ebuild
new file mode 100644
index 000000000000..5c90035b5c49
--- /dev/null
+++ b/dev-python/pulsectl/pulsectl-23.5.2-r1.ebuild
@@ -0,0 +1,30 @@
+# 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 ~riscv ~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..ac8b6d5ff25c
--- /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..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 ~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..2e04617fdd08 100644
--- a/dev-python/pure_eval/Manifest
+++ b/dev-python/pure-eval/Manifest
diff --git a/dev-python/pure_eval/metadata.xml b/dev-python/pure-eval/metadata.xml
index 5358127a149d..5358127a149d 100644
--- a/dev-python/pure_eval/metadata.xml
+++ b/dev-python/pure-eval/metadata.xml
diff --git a/dev-python/pure-eval/pure-eval-0.2.2.ebuild b/dev-python/pure-eval/pure-eval-0.2.2.ebuild
new file mode 100644
index 000000000000..2e9546fd7db9
--- /dev/null
+++ b/dev-python/pure-eval/pure-eval-0.2.2.ebuild
@@ -0,0 +1,37 @@
+# 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="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/pure_eval/pure_eval-0.2.2.ebuild b/dev-python/pure_eval/pure_eval-0.2.2.ebuild
deleted file mode 100644
index 63bd0bce1a4e..000000000000
--- a/dev-python/pure_eval/pure_eval-0.2.2.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="Safely evaluate AST nodes without side effects"
-HOMEPAGE="https://github.com/alexmojaki/pure_eval"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="dev-python/wheel[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/puremagic/Manifest b/dev-python/puremagic/Manifest
index 66d25090737a..e60787c0ae9c 100644
--- a/dev-python/puremagic/Manifest
+++ b/dev-python/puremagic/Manifest
@@ -1 +1 @@
-DIST puremagic-1.14.gh.tar.gz 295823 BLAKE2B b505f34d6744a0c9aa3a0c43846c150c9e1101884a825507b0941da84b181c1ed620dcf5457a5e60ec1fa5c93203d755297c4e3b37d311537dc6a248daf3031e SHA512 00d008f70849179a67a1794740cb34bd28386036e54a9c3f54aefb24c7fb6adccb624e0546ca86863e913c7178b6590473c3ce4fda906e9fd9306be483de28ec
+DIST puremagic-1.21.gh.tar.gz 296990 BLAKE2B 78709c296ee8599009f07f8fadfaa60957895d1a45d3fd5f12605a54901e2f0ab878abdb4dc121a77d2c4da922b2f5a173d13ef660a2265298716a26da28f293 SHA512 cc2c76a2ddcfacdfce778e565b07692dcd247723aa85c562ba4d8c70992f79a8f13a7bc33f1468ee37298c266d35d76febe2e6164fdc145077d68b05cfa2e1c4
diff --git a/dev-python/puremagic/puremagic-1.14.ebuild b/dev-python/puremagic/puremagic-1.14.ebuild
deleted file mode 100644
index 73e068b2bcf2..000000000000
--- a/dev-python/puremagic/puremagic-1.14.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="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.21.ebuild b/dev-python/puremagic/puremagic-1.21.ebuild
new file mode 100644
index 000000000000..191a35734637
--- /dev/null
+++ b/dev-python/puremagic/puremagic-1.21.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="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 ccb534d71d76..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">randomchars/pushbullet.py</remote-id>
- <bugs-to>https://github.com/randomchars/pushbullet.py/issues</bugs-to>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pushbullet-py/pushbullet-py-0.12.0.ebuild b/dev-python/pushbullet-py/pushbullet-py-0.12.0.ebuild
deleted file mode 100644
index 53c34a84b140..000000000000
--- a/dev-python/pushbullet-py/pushbullet-py-0.12.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=7
-
-PYTHON_COMPAT=( pypy3 python3_{9..10} )
-
-inherit distutils-r1
-
-MY_PN=${PN/-/.}
-DESCRIPTION="A simple python client for pushbullet.com"
-HOMEPAGE="https://github.com/randomchars/pushbullet.py"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-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-amqp/Manifest b/dev-python/py-amqp/Manifest
deleted file mode 100644
index 413eb5b7b2d1..000000000000
--- a/dev-python/py-amqp/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST amqp-5.1.1.tar.gz 127869 BLAKE2B 3ba95874a45f6fce163cf95b0b1fae57e636bc2bec8311f64fc9597025ba36f35daf8d0457af3bc10fa1f1dae604b262ebf205d7b89d4f1745bf3480b542278d SHA512 f549a85e4f04543dd8e844edb68350ca185de9259aa896af31ae5ee5dfdfe73f904d95821c403dc797c7f3ada17ce6bff4e0fd9fcdf2abc1b33a94d079f99179
diff --git a/dev-python/py-amqp/py-amqp-5.1.1-r1.ebuild b/dev-python/py-amqp/py-amqp-5.1.1-r1.ebuild
deleted file mode 100644
index 0c0a25174dd7..000000000000
--- a/dev-python/py-amqp/py-amqp-5.1.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P="amqp-${PV}"
-DESCRIPTION="Low-level AMQP client for Python (fork of amqplib)"
-HOMEPAGE="https://github.com/celery/py-amqp https://pypi.org/project/amqp/"
-SRC_URI="mirror://pypi/${MY_P:0:1}/amqp/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE="extras"
-
-RDEPEND="
- >=dev-python/vine-5.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/pytest-rerunfailures-6.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx_celery
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # rmq tests require a rabbitmq instance
- t/integration/test_rmq.py
-)
-
-EPYTEST_DESELECT=(
- # fails when gssapi is installed (how does that test make sense?!)
- t/unit/test_sasl.py::test_SASL::test_gssapi_missing
-)
-
-python_install_all() {
- if use extras; then
- insinto /usr/share/${PF}/extras
- doins -r extra
- 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 8b22c936e8f6..dded648327ce 100644
--- a/dev-python/py-cpuinfo/py-cpuinfo-9.0.0.ebuild
+++ b/dev-python/py-cpuinfo/py-cpuinfo-9.0.0.ebuild
@@ -1,22 +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=( pypy3 python3_{9..11} )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Get CPU info with pure Python 2 & 3"
HOMEPAGE="
https://github.com/workhorsy/py-cpuinfo/
https://pypi.org/project/py-cpuinfo/
"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~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/files/py-ubjson-0.16.1-py312.patch b/dev-python/py-ubjson/files/py-ubjson-0.16.1-py312.patch
new file mode 100644
index 000000000000..ab2bb2cab503
--- /dev/null
+++ b/dev-python/py-ubjson/files/py-ubjson-0.16.1-py312.patch
@@ -0,0 +1,35 @@
+From 1e69041e86947e360f30b8ee5ee0993ddd68469c Mon Sep 17 00:00:00 2001
+From: Vilnis Termanis <vilnis.termanis@iotics.com>
+Date: Fri, 20 Oct 2023 17:10:10 +0200
+Subject: [PATCH] Fix recursion test case for Python 3.12
+
+---
+ test/test.py | 6 +++---
+ 3 files changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/test/test.py b/test/test.py
+index c3920c4..d685194 100644
+--- a/test/test.py
++++ b/test/test.py
+@@ -465,10 +465,10 @@ def assert_raises_regex(self, *args, **kwargs):
+
+ def test_recursion(self):
+ old_limit = getrecursionlimit()
+- setrecursionlimit(200)
++ setrecursionlimit(100)
+ try:
+ obj = current = []
+- for _ in range(getrecursionlimit() * 2):
++ for _ in range(getrecursionlimit() * 30):
+ new_list = []
+ current.append(new_list)
+ current = new_list
+@@ -476,7 +476,7 @@ def test_recursion(self):
+ with self.assert_raises_regex(RuntimeError, 'recursion'):
+ self.ubjdumpb(obj)
+
+- raw = ARRAY_START * (getrecursionlimit() * 2)
++ raw = ARRAY_START * (getrecursionlimit() * 30)
+ with self.assert_raises_regex(RuntimeError, 'recursion'):
+ self.ubjloadb(raw)
+ finally:
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 2f05341a19ce..d04531f7b07d 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
@@ -3,24 +3,30 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Universal Binary JSON encoder/decoder"
HOMEPAGE="
https://github.com/Iotic-Labs/py-ubjson/
https://pypi.org/project/py-ubjson/
"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~riscv x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
distutils_enable_tests unittest
+PATCHES=(
+ # https://github.com/Iotic-Labs/py-ubjson/pull/19
+ "${FILESDIR}/${P}-py312.patch"
+)
+
python_test() {
eunittest -s test
}
diff --git a/dev-python/py-zabbix/py-zabbix-1.1.7.ebuild b/dev-python/py-zabbix/py-zabbix-1.1.7.ebuild
index f3ca445cac16..9f7ca58b3124 100644
--- a/dev-python/py-zabbix/py-zabbix-1.1.7.ebuild
+++ b/dev-python/py-zabbix/py-zabbix-1.1.7.ebuild
@@ -1,15 +1,15 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{9..10} pypy3 )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Zabbix module for Python"
HOMEPAGE="https://pypi.org/project/py-zabbix https://github.com/adubkov/py-zabbix"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/dev-python/py/py-1.11.0-r1.ebuild b/dev-python/py/py-1.11.0-r1.ebuild
index 893b7048266c..be0407a49884 100644
--- a/dev-python/py/py-1.11.0-r1.ebuild
+++ b/dev-python/py/py-1.11.0-r1.ebuild
@@ -4,9 +4,9 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{9..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="library with cross-python path, ini-parsing, io, code, log facilities"
HOMEPAGE="
@@ -14,15 +14,14 @@ HOMEPAGE="
https://github.com/pytest-dev/py/
https://pypi.org/project/py/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+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"
# This package is unmaintained and keeps being broken periodically.
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/files/pyClamd-0.4.0-remove-obsolete-bugtrack_url.diff b/dev-python/pyClamd/files/pyClamd-0.4.0-remove-obsolete-bugtrack_url.diff
new file mode 100644
index 000000000000..446c215ba518
--- /dev/null
+++ b/dev-python/pyClamd/files/pyClamd-0.4.0-remove-obsolete-bugtrack_url.diff
@@ -0,0 +1,11 @@
+diff -Naurp a/setup.py b/setup.py
+--- a/setup.py 2017-08-28 00:05:52.000000000 +0200
++++ b/setup.py 2023-02-18 16:57:08.911936472 +0100
+@@ -27,7 +27,6 @@ setup (name = 'pyClamd',
+ author_email = 'norman@xael.org',
+ keywords='python, clamav, antivirus, scanner, virus, libclamav',
+ url = 'http://xael.org/pages/pyclamd-en.html',
+- bugtrack_url = 'https://bitbucket.org/xael/pyclamd',
+ include_dirs = ['/usr/local/include'],
+ description = 'pyClamd is a python interface to Clamd (Clamav daemon).',
+ long_description = 'pyClamd is a python interface to Clamd (Clamav daemon). By using pyClamd, you can add virus detection capabilities to your python software in an efficient and easy way. Instead of pyClamav which uses libclamav, pyClamd may be used by a closed source product.',
diff --git a/dev-python/pyClamd/pyClamd-0.4.0-r3.ebuild b/dev-python/pyClamd/pyClamd-0.4.0-r3.ebuild
deleted file mode 100644
index 6ceb06bad64c..000000000000
--- a/dev-python/pyClamd/pyClamd-0.4.0-r3.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9,10} )
-
-inherit distutils-r1
-
-DESCRIPTION="python interface to Clamd (Clamav daemon)"
-HOMEPAGE="https://xael.org/pages/pyclamd-en.html"
-SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz"
-
-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 19150dac423f..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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python implementation of DES and TRIPLE DES"
-HOMEPAGE="https://twhiteman.netfirms.com/des.html"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/pyFFTW/Manifest b/dev-python/pyFFTW/Manifest
deleted file mode 100644
index 87638690cd3d..000000000000
--- a/dev-python/pyFFTW/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pyFFTW-0.13.1.gh.tar.gz 159322 BLAKE2B f64ad74ac51c9e8c7a8137a212b43fe173a072006e3ec46e962c2bd48a3626d3c856acfc722977dc50a78afe0848ca9b25bd89b9b67168ddb285996cb18dd3ea SHA512 645d01ba94d652f9df4c5f8352f483de049df5fd846989024698365045b7b72293d9c84bd39ca2039e32db07796bbcb97eeafc8442ef4ab1de041539ed41bf9e
diff --git a/dev-python/pyFFTW/metadata.xml b/dev-python/pyFFTW/metadata.xml
deleted file mode 100644
index c90e2426dfbd..000000000000
--- a/dev-python/pyFFTW/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>zerochaos@gentoo.org</email>
- <name>Rick Farina</name>
- </maintainer>
- <maintainer type="project">
- <email>radio@gentoo.org</email>
- <name>Radio</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="github">pyFFTW/pyFFTW</remote-id>
- <remote-id type="pypi">pyFFTW</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pyFFTW/pyFFTW-0.13.1.ebuild b/dev-python/pyFFTW/pyFFTW-0.13.1.ebuild
deleted file mode 100644
index aea45023f2cf..000000000000
--- a/dev-python/pyFFTW/pyFFTW-0.13.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
-
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A pythonic python wrapper around FFTW"
-HOMEPAGE="
- https://github.com/pyFFTW/pyFFTW/
- https://pypi.org/project/pyFFTW/
-"
-SRC_URI="
- https://github.com/pyFFTW/pyFFTW/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
- >=sci-libs/fftw-3.3:3.0=[threads]
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- >=dev-python/cython-0.29.18[${PYTHON_USEDEP}]
- test? (
- >=dev-python/dask-1.0[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.8.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_configure() {
- # otherwise it'll start with -L/usr/lib, sigh
- export PYFFTW_INCLUDE_DIR="${EPREFIX}/usr/include"
- export PYFFTW_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
-}
-
-python_test() {
- cp -r -l -n tests/ "${BUILD_DIR}/lib" || die
- cd "${BUILD_DIR}/lib" || die
- eunittest
- rm -r tests/ || die
-}
diff --git a/dev-python/pyFFTW/pyFFTW-9999.ebuild b/dev-python/pyFFTW/pyFFTW-9999.ebuild
deleted file mode 100644
index 2561ff31ec5b..000000000000
--- a/dev-python/pyFFTW/pyFFTW-9999.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
-
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 git-r3
-
-DESCRIPTION="A pythonic python wrapper around FFTW"
-HOMEPAGE="
- https://github.com/pyFFTW/pyFFTW/
- https://pypi.org/project/pyFFTW/
-"
-EGIT_REPO_URI="https://github.com/pyFFTW/pyFFTW.git"
-
-LICENSE="BSD"
-SLOT="0"
-
-DEPEND="
- >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
- >=sci-libs/fftw-3.3:3.0=[threads]
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- >=dev-python/cython-0.29.18[${PYTHON_USEDEP}]
- test? (
- >=dev-python/dask-1.0[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.8.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_configure() {
- # otherwise it'll start with -L/usr/lib, sigh
- export PYFFTW_INCLUDE_DIR="${EPREFIX}/usr/include"
- export PYFFTW_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
-}
-
-python_test() {
- cp -r -l -n tests/ "${BUILD_DIR}/lib" || die
- cd "${BUILD_DIR}/lib" || die
- eunittest
- rm -r tests/ || die
-}
diff --git a/dev-python/pyGPG/Manifest b/dev-python/pyGPG/Manifest
deleted file mode 100644
index b05cbd55dc19..000000000000
--- a/dev-python/pyGPG/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pyGPG-0.2.tar.gz 15439 BLAKE2B 92c82b8b23c279461a872f118c636fa9cdae3f44910fc34a357983b0b4afea2a7b13c6400499a0fdbb4365357ade64294642178ca07a79ab3b7df89e60146e73 SHA512 93d892a57a27b254bfdc9778b73d341dfec654c2104c578014628df78c43beaf93eafb571ac544d52f334e63f6e5b8c0cfad7c8a0d585ee7211e8649efce8c67
diff --git a/dev-python/pyGPG/metadata.xml b/dev-python/pyGPG/metadata.xml
deleted file mode 100644
index 9f215a16d869..000000000000
--- a/dev-python/pyGPG/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>tools-portage@gentoo.org</email>
- <name>Gentoo Portage tools team</name>
- </maintainer>
- <longdescription>A python interface library for wrapping gnupg's gpg command.
- It also connects to gpg's status-fd output and makes all the status data
- available as subclassed namedtuple instances.
- </longdescription>
- <upstream>
- <remote-id type="github">dol-sen/pyGPG</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pyGPG/pyGPG-0.2-r1.ebuild b/dev-python/pyGPG/pyGPG-0.2-r1.ebuild
deleted file mode 100644
index 75d7cff0e204..000000000000
--- a/dev-python/pyGPG/pyGPG-0.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,10} )
-
-inherit distutils-r1
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/dol-sen/pyGPG.git"
- EGIT_BRANCH="master"
-else
- SRC_URI="https://dev.gentoo.org/~dolsen/releases/pyGPG/${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-fi
-
-DESCRIPTION="A python interface wrapper for gnupg's gpg command"
-HOMEPAGE="https://github.com/dol-sen/pyGPG"
-
-LICENSE="BSD"
-SLOT="0"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}
- app-crypt/gnupg
- "
-
-pkg_postinst() {
- elog
- elog "This is experimental software."
- elog "The API's it installs should be considered unstable"
- elog "and are subject to change."
- elog
- elog "Please file any enhancement requests, or bugs"
- elog "at https://github.com/dol-sen/pyGPG/issues"
- elog "I am also on IRC @ #gentoo-ci of the Libera.Chat network"
- elog
- ewarn "There may be some python 3 compatibility issues still."
- ewarn "Please help debug/fix/report them in github or bugzilla."
-}
diff --git a/dev-python/pyGPG/pyGPG-9999.ebuild b/dev-python/pyGPG/pyGPG-9999.ebuild
deleted file mode 100644
index 3cabe1085532..000000000000
--- a/dev-python/pyGPG/pyGPG-9999.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,10} )
-
-inherit distutils-r1
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/dol-sen/pyGPG.git"
- EGIT_BRANCH="master"
-else
- SRC_URI="https://dev.gentoo.org/~dolsen/releases/pyGPG/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-fi
-
-DESCRIPTION="A python interface wrapper for gnupg's gpg command"
-HOMEPAGE="https://github.com/dol-sen/pyGPG"
-
-LICENSE="BSD"
-SLOT="0"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}
- app-crypt/gnupg
- "
-
-pkg_postinst() {
- elog
- elog "This is experimental software."
- elog "The API's it installs should be considered unstable"
- elog "and are subject to change."
- elog
- elog "Please file any enhancement requests, or bugs"
- elog "at https://github.com/dol-sen/pyGPG/issues"
- elog "I am also on IRC @ #gentoo-ci of the Libera.Chat network"
- elog
- ewarn "There may be some python 3 compatibility issues still."
- ewarn "Please help debug/fix/report them in github or bugzilla."
-}
diff --git a/dev-python/pyacoustid/Manifest b/dev-python/pyacoustid/Manifest
index 6fb5e78771ed..47dc05cff509 100644
--- a/dev-python/pyacoustid/Manifest
+++ b/dev-python/pyacoustid/Manifest
@@ -1 +1,2 @@
-DIST pyacoustid-1.2.2.tar.gz 15869 BLAKE2B 01f327dd640819dd799f48b32e859fe39dccda3fd62714bf324c8219cf7053b36f1399793523634e9d4f3c6405bed5050abb34bdf53c72ff0ee22708fb57225a SHA512 5bcb3f017c3013eb8fc9e335540a1f5e6a52fc2fefa53d5ef246ba16e4ff615dd1d1cf08b5c80b1a38b149e0fa7dc0b15e4890dcc3f5478ef874b4ec22cf0813
+DIST pyacoustid-1.3.0.tar.gz 17369 BLAKE2B 93f949943d792b4c1f4b2b99ae37821c1ffa5c7a2bbeda7aed276e6ad4f9ad35e5fc4c6e590667bee552710eec483cf2a16f58a7f34a1f02c94b4cb84ec45cf4 SHA512 3b38e580b2deda30df683fe749b338929be0ca23fb3ff462a5df9b98f140db4bde682d74254e7f3a157e394e824ecb6929171392b5e6c9bd92ca05fb6f71ed0a
+DIST pyacoustid-test.mp3 4507187 BLAKE2B 54494d9f23481f9d1ee77b136ac3e1790e9fb78c782159ad1793dbebf18f694e13f6413a8259bae84c789f73ea8241e590dbd7e30ccb7377b2afa946335da19b SHA512 faa582640e759322d4bd58d85f4aa7d3ef88fd90aa3c67c1390ba6d4c3213278c11fb60c8d6c87a25e82dffcc54986caa4f0e463acfbcd90993166577e5226d8
diff --git a/dev-python/pyacoustid/pyacoustid-1.2.2.ebuild b/dev-python/pyacoustid/pyacoustid-1.2.2.ebuild
deleted file mode 100644
index 61b5d16abefb..000000000000
--- a/dev-python/pyacoustid/pyacoustid-1.2.2.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..10} )
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for Chromaprint and the AcoustID web service"
-HOMEPAGE="https://pypi.org/project/pyacoustid/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-IUSE="examples"
-
-RDEPEND="
- dev-python/audioread[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- media-libs/chromaprint
-"
-
-src_install() {
- distutils-r1_src_install
-
- if use examples ; then
- docinto examples
- dodoc aidmatch.py fpcalc.py
- docompress -x /usr/share/doc/${PF}/examples/
- fi
-}
diff --git a/dev-python/pyacoustid/pyacoustid-1.3.0.ebuild b/dev-python/pyacoustid/pyacoustid-1.3.0.ebuild
new file mode 100644
index 000000000000..331d7b4c5248
--- /dev/null
+++ b/dev-python/pyacoustid/pyacoustid-1.3.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-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="Python bindings for Chromaprint and the AcoustID web service"
+HOMEPAGE="
+ https://github.com/beetbox/pyacoustid/
+ https://pypi.org/project/pyacoustid/
+"
+SRC_URI+="
+ test? (
+ https://s3.wasabisys.com/blocsonic/releases/maxblocs/bsmx0198/01-Follow_192kb.mp3
+ -> ${PN}-test.mp3
+ )
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="examples test"
+# Tests fail with network-sandbox, since they need to connect to acoustid.org
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/audioread[${PYTHON_USEDEP},ffmpeg]
+ dev-python/requests[${PYTHON_USEDEP}]
+ media-libs/chromaprint
+"
+
+python_test() {
+ # Working test will print the top metadata match from Acoustid's database.
+ "${EPYTHON}" aidmatch.py "${DISTDIR}/${PN}-test.mp3" ||
+ die "Test failed with ${EPYTHON}"
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ if use examples ; then
+ docinto examples
+ dodoc aidmatch.py fpcalc.py
+ docompress -x /usr/share/doc/${PF}/examples/
+ fi
+}
diff --git a/dev-python/pyaes/pyaes-1.6.1-r3.ebuild b/dev-python/pyaes/pyaes-1.6.1-r3.ebuild
index f327a7c1395b..2780469c86f7 100644
--- a/dev-python/pyaes/pyaes-1.6.1-r3.ebuild
+++ b/dev-python/pyaes/pyaes-1.6.1-r3.ebuild
@@ -4,13 +4,12 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Pure-Python Implementation of the AES block-cipher and common modes of operation"
HOMEPAGE="https://pypi.org/project/pyaes/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/pyalsa/pyalsa-1.2.7-r1.ebuild b/dev-python/pyalsa/pyalsa-1.2.7-r1.ebuild
new file mode 100644
index 000000000000..bc1ff7849d92
--- /dev/null
+++ b/dev-python/pyalsa/pyalsa-1.2.7-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_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+# py3.12: https://github.com/alsa-project/alsa-python/issues/8
+PYTHON_COMPAT=( python3_{10..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="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}]
+"
+
+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/pyalsa/pyalsa-1.2.7.ebuild b/dev-python/pyalsa/pyalsa-1.2.7.ebuild
index 9d79adb5891d..3840bf92b6eb 100644
--- a/dev-python/pyalsa/pyalsa-1.2.7.ebuild
+++ b/dev-python/pyalsa/pyalsa-1.2.7.ebuild
@@ -3,9 +3,9 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1 flag-o-matic
+inherit distutils-r1
DESCRIPTION="Python bindings for ALSA library"
HOMEPAGE="https://alsa-project.org/wiki/Main_Page"
@@ -14,7 +14,8 @@ 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"
-IUSE=""
+# Needs access to system's alsa configuration/devices
+RESTRICT="test"
RDEPEND="media-libs/alsa-lib"
DEPEND="${RDEPEND}
@@ -22,4 +23,22 @@ DEPEND="${RDEPEND}
PATCHES=( "${FILESDIR}/${PN}-1.1.6-no-build-symlinks.patch" )
-# Testsuite appears to require installed state
+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 b2369788dc5a..44ce22afef1a 100644
--- a/dev-python/pyamg/Manifest
+++ b/dev-python/pyamg/Manifest
@@ -1 +1,2 @@
-DIST pyamg-4.2.3.gh.tar.gz 4101959 BLAKE2B 190cce0bb06bbfc09e8c7a8d6d70498308e4d0e098c23a12d12ae8373b56ef183694430c1f85e287682f9733e3f85ff2bd94d8e10003f578af32f3c3f583a8f4 SHA512 ad11ed2870de41bb9596167a5a7fc3edd4c4bc898c2f5b5ffa3cfa862372d993fe1adfc5f3d199150ba69a4d2acbf75e5d99b3aa872273da0d05f1fd8d9f5c6d
+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
diff --git a/dev-python/pyamg/pyamg-4.2.3.ebuild b/dev-python/pyamg/pyamg-4.2.3.ebuild
deleted file mode 100644
index dddd6660400f..000000000000
--- a/dev-python/pyamg/pyamg-4.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Algebraic multigrid solvers in Python"
-HOMEPAGE="https://pyamg.org"
-SRC_URI="
- https://github.com/pyamg/pyamg/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]"
-BDEPEND="
- dev-python/pybind11[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- test? (
- dev-python/matplotlib[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_test() {
- cd "${T}" || die
- epytest --pyargs pyamg
-}
diff --git a/dev-python/pyamg/pyamg-5.0.1.ebuild b/dev-python/pyamg/pyamg-5.0.1.ebuild
new file mode 100644
index 000000000000..64791bff6c6d
--- /dev/null
+++ b/dev-python/pyamg/pyamg-5.0.1.ebuild
@@ -0,0 +1,50 @@
+# 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="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[${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.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/pyaml/Manifest b/dev-python/pyaml/Manifest
new file mode 100644
index 000000000000..2211a7e490fa
--- /dev/null
+++ b/dev-python/pyaml/Manifest
@@ -0,0 +1,2 @@
+DIST pyaml-23.12.0.tar.gz 26308 BLAKE2B 89dad4c3b2a39179389c1b2e5ea6e3d93292c86f7fe5c1b55cc136f9b5a68cf7a86c6fb75a2fe44408738e53615c0062bb72511e605a8713d4381a7dff02f8fa SHA512 f1f03baf2b0a469ffbe7d6eea806cf7623a28c96221bc710873d548d8f416160bf566f44a3a42ca3572085834889e1dd394fc9bdeefe14fe23177b61573df12c
+DIST pyaml-24.4.0.tar.gz 27204 BLAKE2B f0f7c43ffdfd648945bfb20c589ab3e48000ac98a602192ba75fd1a611e12877bbc848f79b070864ac10f59b9c1796d89f35521314e827c5a7951995de86a657 SHA512 d2c1ae1f29f61d210cb822c2c1b3fa3ace81a4b863c7dfec5d75c5418537256828ee54ca545edc9ce30995ba272dfd064f7ed6009dae00910a081ffc0270546e
diff --git a/dev-python/pretty-yaml/metadata.xml b/dev-python/pyaml/metadata.xml
index eff59d191b01..eff59d191b01 100644
--- a/dev-python/pretty-yaml/metadata.xml
+++ b/dev-python/pyaml/metadata.xml
diff --git a/dev-python/pyaml/pyaml-23.12.0.ebuild b/dev-python/pyaml/pyaml-23.12.0.ebuild
new file mode 100644
index 000000000000..980ac98dd21c
--- /dev/null
+++ b/dev-python/pyaml/pyaml-23.12.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..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..98e353a45699
--- /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..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/pyannotate/pyannotate-1.2.0-r1.ebuild b/dev-python/pyannotate/pyannotate-1.2.0-r1.ebuild
index 83f6d72f0016..f0b7a6962c1c 100644
--- a/dev-python/pyannotate/pyannotate-1.2.0-r1.ebuild
+++ b/dev-python/pyannotate/pyannotate-1.2.0-r1.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/dropbox/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
RDEPEND="
>=dev-python/mypy_extensions-0.3.0[${PYTHON_USEDEP}]
diff --git a/dev-python/pyarrow/Manifest b/dev-python/pyarrow/Manifest
new file mode 100644
index 000000000000..bbcab56c3705
--- /dev/null
+++ b/dev-python/pyarrow/Manifest
@@ -0,0 +1 @@
+DIST apache-arrow-15.0.2.tar.gz 21503812 BLAKE2B 5a42b3409515d7a09daff33d30e72e828e1df2e009ed746f101f4d8e6dcadb2e9c305a6cb9799d4003e1421ba666d2a2e9ba182c11b0c538fbd1aee4b3ba10ff SHA512 6c83e3be1e5840c30387f088315b74aca8e7c2d060793af70a156effb496a71e3e6af0693188c0f46f8a4a061a263a47095912ef04a5dc8141abd59075b14c78
diff --git a/dev-python/pyarrow/files/pyarrow-15.0.1-32bit.patch b/dev-python/pyarrow/files/pyarrow-15.0.1-32bit.patch
new file mode 100644
index 000000000000..0b54deaf2c33
--- /dev/null
+++ b/dev-python/pyarrow/files/pyarrow-15.0.1-32bit.patch
@@ -0,0 +1,325 @@
+diff --git a/pyarrow/array.pxi b/pyarrow/array.pxi
+index 1416f5f43..058e0eec0 100644
+--- a/pyarrow/array.pxi
++++ b/pyarrow/array.pxi
+@@ -1573,7 +1573,7 @@ cdef class Array(_PandasConvertible):
+ # decoding the dictionary will make sure nulls are correctly handled.
+ # Decoding a dictionary does imply a copy by the way,
+ # so it can't be done if the user requested a zero_copy.
+- c_options.decode_dictionaries = not zero_copy_only
++ c_options.decode_dictionaries = True
+ c_options.zero_copy_only = zero_copy_only
+ c_options.to_numpy = True
+
+@@ -1585,9 +1585,6 @@ cdef class Array(_PandasConvertible):
+ # always convert to numpy array without pandas dependency
+ array = PyObject_to_object(out)
+
+- if isinstance(array, dict):
+- array = np.take(array['dictionary'], array['indices'])
+-
+ if writable and not array.flags.writeable:
+ # if the conversion already needed to a copy, writeable is True
+ array = array.copy()
+diff --git a/pyarrow/io.pxi b/pyarrow/io.pxi
+index 1897e76ef..b57980b3d 100644
+--- a/pyarrow/io.pxi
++++ b/pyarrow/io.pxi
+@@ -1987,7 +1987,7 @@ def foreign_buffer(address, size, base=None):
+ Object that owns the referenced memory.
+ """
+ cdef:
+- intptr_t c_addr = address
++ uintptr_t c_addr = address
+ int64_t c_size = size
+ shared_ptr[CBuffer] buf
+
+diff --git a/pyarrow/lib.pxd b/pyarrow/lib.pxd
+index 58ec34add..91c7633a7 100644
+--- a/pyarrow/lib.pxd
++++ b/pyarrow/lib.pxd
+@@ -285,6 +285,8 @@ cdef class Tensor(_Weakrefable):
+
+ cdef readonly:
+ DataType type
++ bytes _ssize_t_shape
++ bytes _ssize_t_strides
+
+ cdef void init(self, const shared_ptr[CTensor]& sp_tensor)
+
+diff --git a/pyarrow/src/arrow/python/arrow_to_pandas.cc b/pyarrow/src/arrow/python/arrow_to_pandas.cc
+index e979342b8..8354812ea 100644
+--- a/pyarrow/src/arrow/python/arrow_to_pandas.cc
++++ b/pyarrow/src/arrow/python/arrow_to_pandas.cc
+@@ -2499,6 +2499,8 @@ Status ConvertChunkedArrayToPandas(const PandasOptions& options,
+ std::shared_ptr<ChunkedArray> arr, PyObject* py_ref,
+ PyObject** out) {
+ if (options.decode_dictionaries && arr->type()->id() == Type::DICTIONARY) {
++ // XXX we should return an error as below if options.zero_copy_only
++ // is true, but that would break compatibility with existing tests.
+ const auto& dense_type =
+ checked_cast<const DictionaryType&>(*arr->type()).value_type();
+ RETURN_NOT_OK(DecodeDictionaries(options.pool, dense_type, &arr));
+diff --git a/pyarrow/src/arrow/python/io.cc b/pyarrow/src/arrow/python/io.cc
+index 43f8297c5..197f8b9d3 100644
+--- a/pyarrow/src/arrow/python/io.cc
++++ b/pyarrow/src/arrow/python/io.cc
+@@ -92,9 +92,12 @@ class PythonFile {
+ Status Seek(int64_t position, int whence) {
+ RETURN_NOT_OK(CheckClosed());
+
++ // NOTE: `long long` is at least 64 bits in the C standard, the cast below is
++ // therefore safe.
++
+ // whence: 0 for relative to start of file, 2 for end of file
+- PyObject* result = cpp_PyObject_CallMethod(file_.obj(), "seek", "(ni)",
+- static_cast<Py_ssize_t>(position), whence);
++ PyObject* result = cpp_PyObject_CallMethod(file_.obj(), "seek", "(Li)",
++ static_cast<long long>(position), whence);
+ Py_XDECREF(result);
+ PY_RETURN_IF_ERROR(StatusCode::IOError);
+ return Status::OK();
+@@ -103,16 +106,16 @@ class PythonFile {
+ Status Read(int64_t nbytes, PyObject** out) {
+ RETURN_NOT_OK(CheckClosed());
+
+- PyObject* result = cpp_PyObject_CallMethod(file_.obj(), "read", "(n)",
+- static_cast<Py_ssize_t>(nbytes));
++ PyObject* result = cpp_PyObject_CallMethod(file_.obj(), "read", "(L)",
++ static_cast<long long>(nbytes));
+ PY_RETURN_IF_ERROR(StatusCode::IOError);
+ *out = result;
+ return Status::OK();
+ }
+
+ Status ReadBuffer(int64_t nbytes, PyObject** out) {
+- PyObject* result = cpp_PyObject_CallMethod(file_.obj(), "read_buffer", "(n)",
+- static_cast<Py_ssize_t>(nbytes));
++ PyObject* result = cpp_PyObject_CallMethod(file_.obj(), "read_buffer", "(L)",
++ static_cast<long long>(nbytes));
+ PY_RETURN_IF_ERROR(StatusCode::IOError);
+ *out = result;
+ return Status::OK();
+diff --git a/pyarrow/tensor.pxi b/pyarrow/tensor.pxi
+index 1afce7f4a..c674663dc 100644
+--- a/pyarrow/tensor.pxi
++++ b/pyarrow/tensor.pxi
+@@ -15,6 +15,9 @@
+ # specific language governing permissions and limitations
+ # under the License.
+
++# Avoid name clash with `pa.struct` function
++import struct as _struct
++
+
+ cdef class Tensor(_Weakrefable):
+ """
+@@ -31,7 +34,6 @@ cdef class Tensor(_Weakrefable):
+ shape: (2, 3)
+ strides: (12, 4)
+ """
+-
+ def __init__(self):
+ raise TypeError("Do not call Tensor's constructor directly, use one "
+ "of the `pyarrow.Tensor.from_*` functions instead.")
+@@ -40,6 +42,14 @@ cdef class Tensor(_Weakrefable):
+ self.sp_tensor = sp_tensor
+ self.tp = sp_tensor.get()
+ self.type = pyarrow_wrap_data_type(self.tp.type())
++ self._ssize_t_shape = self._make_shape_or_strides_buffer(self.shape)
++ self._ssize_t_strides = self._make_shape_or_strides_buffer(self.strides)
++
++ def _make_shape_or_strides_buffer(self, values):
++ """
++ Make a bytes object holding an array of `values` cast to `Py_ssize_t`.
++ """
++ return _struct.pack(f"{len(values)}n", *values)
+
+ def __repr__(self):
+ return """<pyarrow.Tensor>
+@@ -282,10 +292,8 @@ strides: {0.strides}""".format(self)
+ buffer.readonly = 0
+ else:
+ buffer.readonly = 1
+- # NOTE: This assumes Py_ssize_t == int64_t, and that the shape
+- # and strides arrays lifetime is tied to the tensor's
+- buffer.shape = <Py_ssize_t *> &self.tp.shape()[0]
+- buffer.strides = <Py_ssize_t *> &self.tp.strides()[0]
++ buffer.shape = <Py_ssize_t *> cp.PyBytes_AsString(self._ssize_t_shape)
++ buffer.strides = <Py_ssize_t *> cp.PyBytes_AsString(self._ssize_t_strides)
+ buffer.suboffsets = NULL
+
+
+diff --git a/pyarrow/tests/test_gdb.py b/pyarrow/tests/test_gdb.py
+index d0d241cc5..0d12d710d 100644
+--- a/pyarrow/tests/test_gdb.py
++++ b/pyarrow/tests/test_gdb.py
+@@ -885,32 +885,61 @@ def test_arrays_heap(gdb_arrow):
+ ("arrow::DurationArray of type arrow::duration"
+ "(arrow::TimeUnit::NANO), length 2, offset 0, null count 1 = {"
+ "[0] = null, [1] = -1234567890123456789ns}"))
+- check_heap_repr(
+- gdb_arrow, "heap_timestamp_array_s",
+- ("arrow::TimestampArray of type arrow::timestamp"
+- "(arrow::TimeUnit::SECOND), length 4, offset 0, null count 1 = {"
+- "[0] = null, [1] = 0s [1970-01-01 00:00:00], "
+- "[2] = -2203932304s [1900-02-28 12:34:56], "
+- "[3] = 63730281600s [3989-07-14 00:00:00]}"))
+- check_heap_repr(
+- gdb_arrow, "heap_timestamp_array_ms",
+- ("arrow::TimestampArray of type arrow::timestamp"
+- "(arrow::TimeUnit::MILLI), length 3, offset 0, null count 1 = {"
+- "[0] = null, [1] = -2203932303877ms [1900-02-28 12:34:56.123], "
+- "[2] = 63730281600789ms [3989-07-14 00:00:00.789]}"))
+- check_heap_repr(
+- gdb_arrow, "heap_timestamp_array_us",
+- ("arrow::TimestampArray of type arrow::timestamp"
+- "(arrow::TimeUnit::MICRO), length 3, offset 0, null count 1 = {"
+- "[0] = null, "
+- "[1] = -2203932303345679us [1900-02-28 12:34:56.654321], "
+- "[2] = 63730281600456789us [3989-07-14 00:00:00.456789]}"))
+- check_heap_repr(
+- gdb_arrow, "heap_timestamp_array_ns",
+- ("arrow::TimestampArray of type arrow::timestamp"
+- "(arrow::TimeUnit::NANO), length 2, offset 0, null count 1 = {"
+- "[0] = null, "
+- "[1] = -2203932303012345679ns [1900-02-28 12:34:56.987654321]}"))
++ if sys.maxsize > 2**32:
++ check_heap_repr(
++ gdb_arrow, "heap_timestamp_array_s",
++ ("arrow::TimestampArray of type arrow::timestamp"
++ "(arrow::TimeUnit::SECOND), length 4, offset 0, null count 1 = {"
++ "[0] = null, [1] = 0s [1970-01-01 00:00:00], "
++ "[2] = -2203932304s [1900-02-28 12:34:56], "
++ "[3] = 63730281600s [3989-07-14 00:00:00]}"))
++ check_heap_repr(
++ gdb_arrow, "heap_timestamp_array_ms",
++ ("arrow::TimestampArray of type arrow::timestamp"
++ "(arrow::TimeUnit::MILLI), length 3, offset 0, null count 1 = {"
++ "[0] = null, [1] = -2203932303877ms [1900-02-28 12:34:56.123], "
++ "[2] = 63730281600789ms [3989-07-14 00:00:00.789]}"))
++ check_heap_repr(
++ gdb_arrow, "heap_timestamp_array_us",
++ ("arrow::TimestampArray of type arrow::timestamp"
++ "(arrow::TimeUnit::MICRO), length 3, offset 0, null count 1 = {"
++ "[0] = null, "
++ "[1] = -2203932303345679us [1900-02-28 12:34:56.654321], "
++ "[2] = 63730281600456789us [3989-07-14 00:00:00.456789]}"))
++ check_heap_repr(
++ gdb_arrow, "heap_timestamp_array_ns",
++ ("arrow::TimestampArray of type arrow::timestamp"
++ "(arrow::TimeUnit::NANO), length 2, offset 0, null count 1 = {"
++ "[0] = null, "
++ "[1] = -2203932303012345679ns [1900-02-28 12:34:56.987654321]}"))
++ else:
++ # Python's datetime is limited to smaller timestamps on 32-bit platforms
++ check_heap_repr(
++ gdb_arrow, "heap_timestamp_array_s",
++ ("arrow::TimestampArray of type arrow::timestamp"
++ "(arrow::TimeUnit::SECOND), length 4, offset 0, null count 1 = {"
++ "[0] = null, [1] = 0s [1970-01-01 00:00:00], "
++ "[2] = -2203932304s [too large to represent], "
++ "[3] = 63730281600s [too large to represent]}"))
++ check_heap_repr(
++ gdb_arrow, "heap_timestamp_array_ms",
++ ("arrow::TimestampArray of type arrow::timestamp"
++ "(arrow::TimeUnit::MILLI), length 3, offset 0, null count 1 = {"
++ "[0] = null, [1] = -2203932303877ms [too large to represent], "
++ "[2] = 63730281600789ms [too large to represent]}"))
++ check_heap_repr(
++ gdb_arrow, "heap_timestamp_array_us",
++ ("arrow::TimestampArray of type arrow::timestamp"
++ "(arrow::TimeUnit::MICRO), length 3, offset 0, null count 1 = {"
++ "[0] = null, "
++ "[1] = -2203932303345679us [too large to represent], "
++ "[2] = 63730281600456789us [too large to represent]}"))
++ check_heap_repr(
++ gdb_arrow, "heap_timestamp_array_ns",
++ ("arrow::TimestampArray of type arrow::timestamp"
++ "(arrow::TimeUnit::NANO), length 2, offset 0, null count 1 = {"
++ "[0] = null, "
++ "[1] = -2203932303012345679ns [too large to represent]}"))
+
+ # Decimal
+ check_heap_repr(
+diff --git a/pyarrow/tests/test_io.py b/pyarrow/tests/test_io.py
+index 5a495aa80..17eab871a 100644
+--- a/pyarrow/tests/test_io.py
++++ b/pyarrow/tests/test_io.py
+@@ -36,7 +36,7 @@ from pyarrow import Codec
+ import pyarrow as pa
+
+
+-def check_large_seeks(file_factory):
++def check_large_seeks(file_factory, expected_error=None):
+ if sys.platform in ('win32', 'darwin'):
+ pytest.skip("need sparse file support")
+ try:
+@@ -45,11 +45,16 @@ def check_large_seeks(file_factory):
+ f.truncate(2 ** 32 + 10)
+ f.seek(2 ** 32 + 5)
+ f.write(b'mark\n')
+- with file_factory(filename) as f:
+- assert f.seek(2 ** 32 + 5) == 2 ** 32 + 5
+- assert f.tell() == 2 ** 32 + 5
+- assert f.read(5) == b'mark\n'
+- assert f.tell() == 2 ** 32 + 10
++ if expected_error:
++ with expected_error:
++ file_factory(filename)
++ else:
++ with file_factory(filename) as f:
++ assert f.size() == 2 ** 32 + 10
++ assert f.seek(2 ** 32 + 5) == 2 ** 32 + 5
++ assert f.tell() == 2 ** 32 + 5
++ assert f.read(5) == b'mark\n'
++ assert f.tell() == 2 ** 32 + 10
+ finally:
+ os.unlink(filename)
+
+@@ -1137,7 +1142,14 @@ def test_memory_zero_length(tmpdir):
+
+
+ def test_memory_map_large_seeks():
+- check_large_seeks(pa.memory_map)
++ if sys.maxsize >= 2**32:
++ expected_error = None
++ else:
++ expected_error = pytest.raises(
++ pa.ArrowCapacityError,
++ match="Requested memory map length 4294967306 "
++ "does not fit in a C size_t")
++ check_large_seeks(pa.memory_map, expected_error=expected_error)
+
+
+ def test_memory_map_close_remove(tmpdir):
+diff --git a/pyarrow/tests/test_pandas.py b/pyarrow/tests/test_pandas.py
+index 8fd4b3041..168ed7e42 100644
+--- a/pyarrow/tests/test_pandas.py
++++ b/pyarrow/tests/test_pandas.py
+@@ -2601,8 +2601,9 @@ class TestConvertStructTypes:
+ ('yy', np.bool_)])),
+ ('y', np.int16),
+ ('z', np.object_)])
+- # Note: itemsize is not a multiple of sizeof(object)
+- assert dt.itemsize == 12
++ # Note: itemsize is not necessarily a multiple of sizeof(object)
++ # object_ is 8 bytes on 64-bit systems, 4 bytes on 32-bit systems
++ assert dt.itemsize == (12 if sys.maxsize > 2**32 else 8)
+ ty = pa.struct([pa.field('x', pa.struct([pa.field('xx', pa.int8()),
+ pa.field('yy', pa.bool_())])),
+ pa.field('y', pa.int16()),
+diff --git a/pyarrow/tests/test_schema.py b/pyarrow/tests/test_schema.py
+index fa75fcea3..8793c9e77 100644
+--- a/pyarrow/tests/test_schema.py
++++ b/pyarrow/tests/test_schema.py
+@@ -681,7 +681,8 @@ def test_schema_sizeof():
+ pa.field('bar', pa.string()),
+ ])
+
+- assert sys.getsizeof(schema) > 30
++ # Note: pa.schema is twice as large on 64-bit systems
++ assert sys.getsizeof(schema) > (30 if sys.maxsize > 2**32 else 15)
+
+ schema2 = schema.with_metadata({"key": "some metadata"})
+ assert sys.getsizeof(schema2) > sys.getsizeof(schema)
diff --git a/dev-python/pyarrow/metadata.xml b/dev-python/pyarrow/metadata.xml
new file mode 100644
index 000000000000..2c0892a26dea
--- /dev/null
+++ b/dev-python/pyarrow/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="person">
+ <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>
+ <upstream>
+ <remote-id type="pypi">pyarrow</remote-id>
+ <remote-id type="github">apache/arrow</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyarrow/pyarrow-15.0.2.ebuild b/dev-python/pyarrow/pyarrow-15.0.2.ebuild
new file mode 100644
index 000000000000..8f358f46c970
--- /dev/null
+++ b/dev-python/pyarrow/pyarrow-15.0.2.ebuild
@@ -0,0 +1,87 @@
+# 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} )
+
+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 ~hppa ~riscv ~x86"
+IUSE="+parquet +snappy ssl"
+
+RDEPEND="
+ ~dev-libs/apache-arrow-${PV}[compute,dataset,json,parquet?,re2,snappy?,ssl?]
+ <dev-python/numpy-2:=[${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
+
+PATCHES=(
+ # upstream backports
+ "${FILESDIR}/${PN}-15.0.1-32bit.patch"
+)
+
+src_prepare() {
+ # 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
+ )
+
+ cd "${T}" || die
+ epytest --pyargs pyarrow
+}
diff --git a/dev-python/pyasn1-modules/Manifest b/dev-python/pyasn1-modules/Manifest
index c9a9bae71388..7dca03942c77 100644
--- a/dev-python/pyasn1-modules/Manifest
+++ b/dev-python/pyasn1-modules/Manifest
@@ -1 +1 @@
-DIST pyasn1-modules-0.2.8.tar.gz 242864 BLAKE2B 22b6cc27d45d19d8e7f5b12c8aeff1fa379bd567fda6b1dc0fafd00c0f4367d32f21cd48cf3cba140f2f11ba7d258140e8014c8420300451ab1acff475d28da7 SHA512 fdfcaa065deffdd732deaa1fa30dec2fc4a90ffe15bd12de40636ce0212f447611096d2f4e652ed786b5c47544439e6a93721fabe121f3320f13965692a1ca5b
+DIST pyasn1_modules-0.4.0.tar.gz 307859 BLAKE2B 7808c3ad72cda2292fa358a066cb401884a785281c5ba3c28ec5cbf1a7c7408031ff1018f4e0c4e53ac227a6b7082bb5572216ab12074c90f0a3159330ec3f35 SHA512 d28cbb44788b3a33b9da807d273a6afab38ff420e8ce1264a9ebc68beb003f9ac9673210a5eb829d17ed1ae01798f856a0409dcbcd1a17b489c767d4b11467d3
diff --git a/dev-python/pyasn1-modules/pyasn1-modules-0.2.8-r2.ebuild b/dev-python/pyasn1-modules/pyasn1-modules-0.2.8-r2.ebuild
deleted file mode 100644
index 2ddd9d47cc07..000000000000
--- a/dev-python/pyasn1-modules/pyasn1-modules-0.2.8-r2.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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="pyasn1 modules"
-HOMEPAGE="
- https://pypi.org/project/pyasn1-modules/
- https://github.com/etingof/pyasn1-modules/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${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 ~x64-macos"
-
-RDEPEND="
- >=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..43184c0f45da
--- /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..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.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 491c89541136..ce8a6097420f 100644
--- a/dev-python/pyasn1/Manifest
+++ b/dev-python/pyasn1/Manifest
@@ -1 +1 @@
-DIST pyasn1-0.4.8.tar.gz 146820 BLAKE2B 5c00b47c2014e599d1aa2e14c3004b3688786c7afd160c85709d5a0f324166abb1d29ebbd9f3e13100166e7176710e4dc6e1b8fcf80db5f5bdaa202912f8a023 SHA512 e64e70b325c8067f87ace7c0673149e82fe564aa4b0fa146d29b43cb588ecd6e81b1b82803b8cfa7a17d3d0489b6d88b4af5afb3aa0052bf92e8a1769fe8f7b0
+DIST pyasn1-0.6.0.tar.gz 148088 BLAKE2B 42ad0d3478c6860b035e27627b019b94b1f39cee8ac62c289349c4fd24e129e1a20f13b57b69c0e5e1376f59524f715e3c42ad2b8e0ed4774000418b74ea8506 SHA512 577bbb750a00e82e7a00806da6c564ab863341e0aa57b74e3132e1be814e0349e33ff05d48c04e58cd514ce97a971a5eafbaae75c978a3eb9268008c2270d15e
diff --git a/dev-python/pyasn1/pyasn1-0.4.8-r2.ebuild b/dev-python/pyasn1/pyasn1-0.4.8-r2.ebuild
deleted file mode 100644
index db2f7e0530b9..000000000000
--- a/dev-python/pyasn1/pyasn1-0.4.8-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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="ASN.1 library for Python"
-HOMEPAGE="
- https://pypi.org/project/pyasn1/
- https://github.com/etingof/pyasn1/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~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..35ebcd6a7a62
--- /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..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/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..f88f5ba4caeb
--- /dev/null
+++ b/dev-python/pyasynchat/pyasynchat-1.0.4.ebuild
@@ -0,0 +1,26 @@
+# 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 )
+
+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="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND=">=dev-python/pyasyncore-1.0.2[${PYTHON_USEDEP}]"
+
+python_test() {
+ # Can't use d_e_t unittest (bug #926964)
+ 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..af1d84bd0543
--- /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 )
+
+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="~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..dad7060eb6c6
--- /dev/null
+++ b/dev-python/pyatspi/pyatspi-2.46.1.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_{9..12} )
+
+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/Manifest b/dev-python/pyaudio/Manifest
index e9c29753003d..cff08f22e576 100644
--- a/dev-python/pyaudio/Manifest
+++ b/dev-python/pyaudio/Manifest
@@ -1 +1 @@
-DIST PyAudio-0.2.11.tar.gz 37428 BLAKE2B 18db51a651876135a6afc6c8c60e2221017a311fe1aec10497905bc35b81a73b5e9f27201431566bac3d13bcf582ec12a3b818c51f0e5e70aeb4ad177608461a SHA512 64db5542ee60837c9b07677e146fc7b060ff47c8b1c04cbb575bce79dd3ed4776c201e169ff2860f27dbe9e00a77046ba0cb925b55f7c546f8de46c6df68954e
+DIST PyAudio-0.2.13.tar.gz 46820 BLAKE2B f0c55f4d6d028ab1210c031b6a3808f93f7963a49cf54e4c9ae65bf936f218386d4a43322b9bd645233e6f881e3d15cdcc6ceeb7fe65fd287696048b206cbfbf SHA512 1ae453cae442118ae1b0db44ca8736621a361af3686e47561bffa0d43352039ed5f882412ca22a2a4320b362f966e727b0e38bb9706e99b85d99bc16cc943008
diff --git a/dev-python/pyaudio/files/pyaudio-0.2.11-python310-size_t.patch b/dev-python/pyaudio/files/pyaudio-0.2.11-python310-size_t.patch
deleted file mode 100644
index 445a9b7e9c44..000000000000
--- a/dev-python/pyaudio/files/pyaudio-0.2.11-python310-size_t.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-https://git.skeh.site/skeh/pyaudio/commit/2ee560056ec889ea7cd3ce1801b796b0939dd540
-https://bugs.gentoo.org/855626
-
-From 2ee560056ec889ea7cd3ce1801b796b0939dd540 Mon Sep 17 00:00:00 2001
-From: Derek Schmidt <skeh@is.nota.live>
-Date: Tue, 14 Dec 2021 21:46:11 -0700
-Subject: [PATCH] Use Py_ssize_t for tuple return on stream methods
-
---- a/src/_portaudiomodule.c
-+++ b/src/_portaudiomodule.c
-@@ -25,6 +25,7 @@
- */
-
- #include <stdio.h>
-+#define PY_SSIZE_T_CLEAN
- #include "Python.h"
- #include "portaudio.h"
- #include "_portaudiomodule.h"
-@@ -1291,7 +1292,7 @@ int _stream_callback_cfunction(const void *input, void *output,
- PyObject *py_status_flags = PyLong_FromUnsignedLong(statusFlags);
- PyObject *py_input_data = Py_None;
- const char *pData;
-- unsigned output_len;
-+ Py_ssize_t output_len;
- PyObject *py_result;
-
- if (input) {
-
diff --git a/dev-python/pyaudio/pyaudio-0.2.11-r2.ebuild b/dev-python/pyaudio/pyaudio-0.2.11-r2.ebuild
deleted file mode 100644
index b15c9e01e824..000000000000
--- a/dev-python/pyaudio/pyaudio-0.2.11-r2.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_{9..10} )
-inherit distutils-r1
-
-MY_PN="PyAudio"
-
-DESCRIPTION="Python bindings for PortAudio"
-HOMEPAGE="http://people.csail.mit.edu/hubert/pyaudio/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-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
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.2.11-python310-size_t.patch
-)
-
-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 d6c8de560e4a..bf30c38b02bf 100644
--- a/dev-python/pybind11/Manifest
+++ b/dev-python/pybind11/Manifest
@@ -1,5 +1,2 @@
-DIST pybind11-2.10.0.gh.tar.gz 716362 BLAKE2B d9d3a8a108a303721766b822d43b631396c451c8caea0ec1bd36a97850382cdaec69a4f4e5fb475bc84e2aead050f73b759320a81750a661997870e1a84383b5 SHA512 93112ce530a0652b2b4458a137b4a35f2fd8607f82ad96698ef422128d0b53e16e1d06c239ee4643b821acafae09c74eb0f72bc4ee5584aa9fcdaff4d79980d9
-DIST pybind11-2.10.1.gh.tar.gz 727880 BLAKE2B d051220f33ce44ea6d174d64a2ecfad4f7452b0f5152035cfd36950875dc451e11e8352eb80c9c01b200176c0b09fa5274504ece524e699590deac64c44d57c6 SHA512 040f109ec870516acdaebc5133ccbba9e3ed7ff93214a66997cf4b8366c209322f3c902c283040826c7e585c3ea2259caf62d90d0b475bfa33d21e459dd54df1
-DIST pybind11-2.10.2.gh.tar.gz 739436 BLAKE2B 19d1182f61202b63f3cddcef427a6a4f38329d96932a3882c12a10eb6a6bb725723fe48862d2b0370ea4ddd2bc5675de4c9a680a4f2d28d6bd6e58d0fe5c8848 SHA512 051c2608c37612e857c00ac48429d1c26c14336f20988fb447df25b345b28c5b97ccb80f4227c54de4ef2bd4f8ea3d550acc4a5bb2dd86d65dc1915fdca36719
-DIST pybind11-2.10.3.gh.tar.gz 740214 BLAKE2B 967b93cbf7d1f8faad25db9a4d3e84fd33b48429cdf527c167e65faad5c01df83a5634021cf99f07adf443855d9f6bb076f0cc67b0e6555e189b794a845b533a SHA512 3894400f04cd08e2dbb14b3d696339f0364434f1d6f8bb057338ac88157ec7491b2df1e1e46ebd5abccdcd5775c5e9238de6404f0db87f64f5a1802db3a5b18c
-DIST pybind11-2.9.2.tar.gz 709521 BLAKE2B 76ae9c72faad805885eabbe4dadf1092fe814f04f2a8d834da035c7389dcc996c09a63149911aa7a5c0b70d2da9f7c32e94aaf1c941f13345e0aef40a5748dfc SHA512 c6c18e5f59873adb3692640ade26472abd257607e7bb9fd48cfd1949878811e83d6ac6eb8c8dd926622d52ca4f13e5e6a58e0abaaaa1fa814ee831ea2b515272
+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
diff --git a/dev-python/pybind11/pybind11-2.10.0.ebuild b/dev-python/pybind11/pybind11-2.10.0.ebuild
deleted file mode 100644
index b7456db37ef7..000000000000
--- a/dev-python/pybind11/pybind11-2.10.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_{9..11} )
-
-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 ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- dev-cpp/eigen:3
-"
-BDEPEND="
- test? (
- >=dev-cpp/catch-2.13.5
- dev-libs/boost
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- export PYBIND11_USE_CMAKE=1
- cmake_src_prepare
- distutils-r1_python_prepare_all
-}
-
-python_configure() {
- local mycmakeargs=(
- # disable forced lto
- -DPYBIND11_LTO_CXX_FLAGS=
- -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 check
-}
-
-python_install() {
- distutils-r1_python_install
- cmake_src_install
-}
diff --git a/dev-python/pybind11/pybind11-2.10.1.ebuild b/dev-python/pybind11/pybind11-2.10.1.ebuild
deleted file mode 100644
index ff9914bc8f53..000000000000
--- a/dev-python/pybind11/pybind11-2.10.1.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_{9..11} )
-
-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"
-
-RDEPEND="
- dev-cpp/eigen:3
-"
-BDEPEND="
- test? (
- >=dev-cpp/catch-2.13.5
- dev-libs/boost
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- export PYBIND11_USE_CMAKE=1
- cmake_src_prepare
- distutils-r1_python_prepare_all
-}
-
-python_configure() {
- local mycmakeargs=(
- # disable forced lto
- -DPYBIND11_LTO_CXX_FLAGS=
- -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 check
-}
-
-python_install() {
- distutils-r1_python_install
- cmake_src_install
-}
diff --git a/dev-python/pybind11/pybind11-2.10.2.ebuild b/dev-python/pybind11/pybind11-2.10.2.ebuild
deleted file mode 100644
index 110671f3510a..000000000000
--- a/dev-python/pybind11/pybind11-2.10.2.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_{9..11} )
-
-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"
-
-RDEPEND="
- dev-cpp/eigen:3
-"
-BDEPEND="
- test? (
- >=dev-cpp/catch-2.13.5
- dev-libs/boost
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- export PYBIND11_USE_CMAKE=1
- cmake_src_prepare
- distutils-r1_python_prepare_all
-}
-
-python_configure() {
- local mycmakeargs=(
- # disable forced lto
- -DPYBIND11_LTO_CXX_FLAGS=
- -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 check
-}
-
-python_install() {
- distutils-r1_python_install
- cmake_src_install
-}
diff --git a/dev-python/pybind11/pybind11-2.10.3.ebuild b/dev-python/pybind11/pybind11-2.10.3.ebuild
deleted file mode 100644
index 110671f3510a..000000000000
--- a/dev-python/pybind11/pybind11-2.10.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_{9..11} )
-
-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"
-
-RDEPEND="
- dev-cpp/eigen:3
-"
-BDEPEND="
- test? (
- >=dev-cpp/catch-2.13.5
- dev-libs/boost
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- export PYBIND11_USE_CMAKE=1
- cmake_src_prepare
- distutils-r1_python_prepare_all
-}
-
-python_configure() {
- local mycmakeargs=(
- # disable forced lto
- -DPYBIND11_LTO_CXX_FLAGS=
- -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 check
-}
-
-python_install() {
- distutils-r1_python_install
- cmake_src_install
-}
diff --git a/dev-python/pybind11/pybind11-2.11.1.ebuild b/dev-python/pybind11/pybind11-2.11.1.ebuild
new file mode 100644
index 000000000000..461a5487a35b
--- /dev/null
+++ b/dev-python/pybind11/pybind11-2.11.1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2023 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-2.13.5
+ dev-libs/boost
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ export PYBIND11_USE_CMAKE=1
+ cmake_src_prepare
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ local mycmakeargs=(
+ # disable forced lto
+ -DPYBIND11_LTO_CXX_FLAGS=
+ -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() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ cmake_build check
+}
+
+python_install() {
+ distutils-r1_python_install
+ cmake_src_install
+}
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..69e54e32b12b
--- /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
+ >=dev-cpp/catch-2.13.9
+ 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.9.2-r1.ebuild b/dev-python/pybind11/pybind11-2.9.2-r1.ebuild
deleted file mode 100644
index 6773946295b4..000000000000
--- a/dev-python/pybind11/pybind11-2.9.2-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_{9..10} )
-
-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}.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- dev-cpp/eigen:3
-"
-BDEPEND="
- test? (
- >=dev-cpp/catch-2.13.5
- dev-libs/boost
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- export PYBIND11_USE_CMAKE=1
- cmake_src_prepare
- distutils-r1_python_prepare_all
-}
-
-python_configure() {
- local mycmakeargs=(
- # disable forced lto
- -DPYBIND11_LTO_CXX_FLAGS=
- -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 check
-}
-
-python_install() {
- distutils-r1_python_install
- cmake_src_install
-}
diff --git a/dev-python/pybtex-docutils/Manifest b/dev-python/pybtex-docutils/Manifest
index 7c08680f3589..3f55fc730c21 100644
--- a/dev-python/pybtex-docutils/Manifest
+++ b/dev-python/pybtex-docutils/Manifest
@@ -1 +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 2c757a0b9114..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
-inherit distutils-r1
-
-DESCRIPTION="A docutils backend for pybtex"
-HOMEPAGE="https://github.com/mcmtroffaes/pybtex-docutils"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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
new file mode 100644
index 000000000000..6275009cb553
--- /dev/null
+++ b/dev-python/pybtex-docutils/pybtex-docutils-1.0.3.ebuild
@@ -0,0 +1,29 @@
+# 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 docutils backend for pybtex"
+HOMEPAGE="
+ https://github.com/mcmtroffaes/pybtex-docutils/
+ https://pypi.org/project/pybtex-docutils/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/docutils-0.14[${PYTHON_USEDEP}]
+ >=dev-python/pybtex-0.16[${PYTHON_USEDEP}]
+
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx doc
diff --git a/dev-python/pybtex/pybtex-0.24.0-r1.ebuild b/dev-python/pybtex/pybtex-0.24.0-r1.ebuild
new file mode 100644
index 000000000000..4fc71ae705c3
--- /dev/null
+++ b/dev-python/pybtex/pybtex-0.24.0-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="BibTeX-compatible bibliography processor"
+HOMEPAGE="
+ https://pybtex.org/
+ https://pypi.org/project/pybtex/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/latexcodec[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+PATCHES=( "${FILESDIR}/${PN}-0.22.2-fix-test-installation.patch" )
diff --git a/dev-python/pybtex/pybtex-0.24.0.ebuild b/dev-python/pybtex/pybtex-0.24.0.ebuild
deleted file mode 100644
index 5103ae3eab72..000000000000
--- a/dev-python/pybtex/pybtex-0.24.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=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="BibTeX-compatible bibliography processor"
-HOMEPAGE="https://pybtex.org https://pypi.org/project/pybtex/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/latexcodec[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-PATCHES=( "${FILESDIR}/${PN}-0.22.2-fix-test-installation.patch" )
diff --git a/dev-python/pycairo/Manifest b/dev-python/pycairo/Manifest
index 2cadb907c99e..664fdd77aa1a 100644
--- a/dev-python/pycairo/Manifest
+++ b/dev-python/pycairo/Manifest
@@ -1 +1 @@
-DIST pycairo-1.23.0.tar.gz 344623 BLAKE2B e0551e2d4259d509f3165682b11852f28f0df93e6befcd398ef95bc5f0eed0818dc72a05a9b085148d4369e9b3283bc4d91ce032c6c88a3b15962c83eb03db57 SHA512 fc0cc878cc716a6a2baf89a193facfcd89970c884afd3bb9d7fbecf42894ddd191988a8f0fe79100786509f17fbe4f1990eca33a5299414b2df2539d66de5abf
+DIST pycairo-1.26.0.tar.gz 346850 BLAKE2B da6c35c929d372764280e8963a8b66ba533ccb99be9ee2bfa10859c635dd16cc087d542607be9ec6a9ffb942feb892100d4b9017d832d478b35c434aa05b9bb9 SHA512 5313f0d408a6e6ce6e70ac92291be5dd8651e01fbf9411d0467061afa21849cde27db273f2a13b4c3c931183f63f75f31fc0f0d3283b8f339ba88e71eab432f1
diff --git a/dev-python/pycairo/pycairo-1.23.0.ebuild b/dev-python/pycairo/pycairo-1.23.0.ebuild
deleted file mode 100644
index a659a61f9e7c..000000000000
--- a/dev-python/pycairo/pycairo-1.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
-
-PYTHON_COMPAT=( python3_{9..11} 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 \
- install_pkgconfig --pkgconfigdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
-}
-
-python_install_all() {
- if use examples; then
- dodoc -r examples
- fi
-
- distutils-r1_python_install_all
-}
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/pycares/Manifest b/dev-python/pycares/Manifest
index feed9bf44da5..84c872ebbb58 100644
--- a/dev-python/pycares/Manifest
+++ b/dev-python/pycares/Manifest
@@ -1 +1 @@
-DIST pycares-4.3.0.gh.tar.gz 44577 BLAKE2B b69eeb34a2f8c9d7025dc74881431b3fc5489b7f7e9142bb9ecdaf217e495ad72b1a6a7dc484a52e6a01394bbfa6d0609b2054dd4a663176cfb73d980642a3e1 SHA512 1dad1a6722bdd2bc59cc4ca774cc9da243e61a442ef383c238714b1274e90359352c72d16a2c1af2fcce3ea92708a7e5cee89a9b3eb7c015f9a194051c685f52
+DIST pycares-4.4.0.tar.gz 821630 BLAKE2B c2bddc54db9cd6ba92d7c4fb3809609a8a3526bab68e4cf48f0fee2e7473828f70ca696be11b904e9c3f9241de8b13568cd0317c8cb305a4aca7356f1b74cfb5 SHA512 db387f21975d015e0fcb01972ffb018476d51331a7a49bb4c0bf23ccfa13dff3f8b9c21d5f11da8ece3018debf36b1cddea032ef860353203cf38ab2b3d01e8a
diff --git a/dev-python/pycares/pycares-4.3.0.ebuild b/dev-python/pycares/pycares-4.3.0.ebuild
deleted file mode 100644
index de124fbee913..000000000000
--- a/dev-python/pycares/pycares-4.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python interface for c-ares"
-HOMEPAGE="
- https://github.com/saghul/pycares/
- https://pypi.org/project/pycares/
-"
-SRC_URI="
- https://github.com/saghul/pycares/archive/${P}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/pycares-${P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv ~x86"
-IUSE="test"
-# Tests fail with network-sandbox, since they try to resolve google.com
-PROPERTIES="test_network"
-RESTRICT="test"
-
-DEPEND="
- net-dns/c-ares:=
-"
-BDEPEND="
- virtual/python-cffi[${PYTHON_USEDEP}]
-"
-RDEPEND="
- dev-python/idna[${PYTHON_USEDEP}]
- ${DEPEND}
- ${BDEPEND}
-"
-BDEPEND+="
- test? (
- dev-python/idna[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-export PYCARES_USE_SYSTEM_LIB=1
diff --git a/dev-python/pycares/pycares-4.4.0.ebuild b/dev-python/pycares/pycares-4.4.0.ebuild
new file mode 100644
index 000000000000..34e95772a76f
--- /dev/null
+++ b/dev-python/pycares/pycares-4.4.0.ebuild
@@ -0,0 +1,55 @@
+# 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 for c-ares"
+HOMEPAGE="
+ https://github.com/saghul/pycares/
+ https://pypi.org/project/pycares/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~riscv ~x86"
+IUSE="test"
+# Tests fail with network-sandbox, since they try to resolve google.com
+PROPERTIES="test_network"
+RESTRICT="test"
+
+DEPEND="
+ net-dns/c-ares:=
+"
+BDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+RDEPEND="
+ dev-python/idna[${PYTHON_USEDEP}]
+ ${DEPEND}
+ ${BDEPEND}
+"
+BDEPEND+="
+ test? (
+ dev-python/idna[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # regression due to Internet changing (probably)
+ # https://github.com/saghul/pycares/issues/187
+ tests/test_all.py::DNSTest::test_query_class_chaos
+ # TODO
+ tests/test_all.py::DNSTest::test_custom_resolvconf
+)
+
+export PYCARES_USE_SYSTEM_LIB=1
diff --git a/dev-python/pycdio/pycdio-2.1.1-r1.ebuild b/dev-python/pycdio/pycdio-2.1.1-r1.ebuild
index e9eb6af9789a..48f92c3847e4 100644
--- a/dev-python/pycdio/pycdio-2.1.1-r1.ebuild
+++ b/dev-python/pycdio/pycdio-2.1.1-r1.ebuild
@@ -3,17 +3,18 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Python OO interface to libcdio (CD Input and Control library)"
HOMEPAGE="
https://savannah.gnu.org/projects/libcdio/
+ https://github.com/rocky/pycdio/
https://pypi.org/project/pycdio/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
@@ -38,6 +39,8 @@ python_prepare_all() {
-e "s:^sys.path.insert.*::" \
-e "s:\.\./data:./data:g" \
example/*.py || die
+ # https://github.com/rocky/pycdio/pull/5
+ sed -i -e 's:assertEquals:assertEqual:' test/test-*.py || die
distutils-r1_python_prepare_all
}
diff --git a/dev-python/pychm/pychm-0.8.6-r1.ebuild b/dev-python/pychm/pychm-0.8.6-r1.ebuild
index e78d4371ba76..f61fdac61dbc 100644
--- a/dev-python/pychm/pychm-0.8.6-r1.ebuild
+++ b/dev-python/pychm/pychm-0.8.6-r1.ebuild
@@ -3,20 +3,32 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
inherit distutils-r1
DESCRIPTION="Python bindings for the chmlib library"
-HOMEPAGE="https://github.com/dottedmag/pychm"
-SRC_URI="https://github.com/dottedmag/pychm/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+HOMEPAGE="
+ https://github.com/dottedmag/pychm/
+ https://pypi.org/project/pychm/
+"
+SRC_URI="
+ https://github.com/dottedmag/pychm/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="amd64 ~arm ~ppc x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc x86"
-RDEPEND="dev-libs/chmlib"
-DEPEND="${RDEPEND}"
+DEPEND="
+ dev-libs/chmlib
+"
+RDEPEND="
+ ${DEPEND}
+"
distutils_enable_tests pytest
diff --git a/dev-python/pychromecast/Manifest b/dev-python/pychromecast/Manifest
index 5ad862978573..aac24252b9ed 100644
--- a/dev-python/pychromecast/Manifest
+++ b/dev-python/pychromecast/Manifest
@@ -1,2 +1 @@
-DIST PyChromecast-12.1.4.tar.gz 51527 BLAKE2B 5a30863553df0f7cfd59de0ae5fca55b84373bb7cc6d12ac761aa5e6d18b1548275a677466bc596c0b50d8b78b385ee5bb727d2eb4828a1b24e3c64a0dc4a035 SHA512 056c615f453ccd97425a68f488235a63e8047d1be40fc7800d154b19013e7a0f329488b25e76f0cc56adb3779fd14d4e793dc6488ccbd067b484f0e2be72e455
-DIST PyChromecast-13.0.4.tar.gz 51996 BLAKE2B 11dad948443e9e5957de6b22cf6c1d33d19030d53cecddd9be5595dc82bb108e4746c382bae5c6d22d5219bcb90ed5bed7ca94c714ec7bbe7ad1330a1ee3cf2f SHA512 2f9bd925e452448a387a04babc0d71a35fc83edd30142cdd129479b5b20cf7aa9691a8d46f45edf5f12fd6f3052564c2956dd241eaf1a1c468b8399b065286ec
+DIST PyChromecast-13.0.7.tar.gz 52074 BLAKE2B 4e67ce21bf91c52cd83b8a17d86cd321d937c1f55b567d4df7a5548ad02aacb4c269b9d29030a7e41f9f310d53313b6b287032c1d5f1448b415c3896b168b783 SHA512 dc63c901287ae31ce278c9978701ad335715f1daaab1b2683aa7b02ddb38e3e207f2527ae144f6836b65c4ddb4b1fdd62c40005bf776e0655e647ab40634857e
diff --git a/dev-python/pychromecast/pychromecast-12.1.4.ebuild b/dev-python/pychromecast/pychromecast-12.1.4.ebuild
deleted file mode 100644
index 9424a645400a..000000000000
--- a/dev-python/pychromecast/pychromecast-12.1.4.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Python module to talk to Google Chromecast"
-HOMEPAGE="https://github.com/home-assistant-libs/pychromecast"
-S="${WORKDIR}/PyChromecast-${PV}"
-SRC_URI="mirror://pypi/P/PyChromecast/PyChromecast-${PV}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/casttube-0.2.0[${PYTHON_USEDEP}]
- >=dev-python/protobuf-python-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/python-zeroconf-0.25.1[${PYTHON_USEDEP}]"
diff --git a/dev-python/pychromecast/pychromecast-13.0.4.ebuild b/dev-python/pychromecast/pychromecast-13.0.4.ebuild
deleted file mode 100644
index 354ebfbf0d57..000000000000
--- a/dev-python/pychromecast/pychromecast-13.0.4.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="Python module to talk to Google Chromecast"
-HOMEPAGE="https://github.com/home-assistant-libs/pychromecast"
-S="${WORKDIR}/PyChromecast-${PV}"
-SRC_URI="mirror://pypi/P/PyChromecast/PyChromecast-${PV}.tar.gz"
-
-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/python-zeroconf-0.25.1[${PYTHON_USEDEP}]"
diff --git a/dev-python/pychromecast/pychromecast-13.0.7.ebuild b/dev-python/pychromecast/pychromecast-13.0.7.ebuild
new file mode 100644
index 000000000000..3a63ef820c58
--- /dev/null
+++ b/dev-python/pychromecast/pychromecast-13.0.7.ebuild
@@ -0,0 +1,27 @@
+# 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=PyChromecast
+PYTHON_COMPAT=( python3_{9..11} )
+
+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 e514946e41f3..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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/pkgcore/pychroot.git"
- inherit git-r3
-else
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-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 c1142df20922..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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/pkgcore/pychroot.git"
- inherit git-r3
-else
- KEYWORDS="~amd64 ~x86"
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-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/Manifest b/dev-python/pyclipper/Manifest
index 312a7b42b232..ba9ca6c998d5 100644
--- a/dev-python/pyclipper/Manifest
+++ b/dev-python/pyclipper/Manifest
@@ -1 +1 @@
-DIST pyclipper-1.3.0.post4.gh.tar.gz 51136 BLAKE2B 983f6003aaafefc4efeecd621094532b44414d8a2c4fc3d11272e3823ce5a78575576e4e3ced018d32bbca5e86afbe6305e3d43d09f66520cc1d95e3c5a988bf SHA512 cfcf195c2d7aca018adf1f59f6bd53ac08f8fca50738767c0d0f3fadf22da61a1cca4bd20b1147b4ffdd06bdd4624f0b63c05e650105660bb0a476ff2b1746d8
+DIST pyclipper-1.3.0.post5.gh.tar.gz 51150 BLAKE2B 2751dbc2ca6c8ad664a1185f00c644b084e13bbb4bb54895003799988b8d56542dd4d4b793bfa33391aece59097e1ca9ee159631b844f41ade862ed187ed5dae SHA512 24dd783449fdefb035627289680959ca4a74f737573518d14fe899ec015a7f8781b391df861e1f8986d6e71c8295743ef5fa048f5da22dd493f5940e25a7f185
diff --git a/dev-python/pyclipper/pyclipper-1.3.0_p4.ebuild b/dev-python/pyclipper/pyclipper-1.3.0_p4.ebuild
deleted file mode 100644
index 16a3902f3a69..000000000000
--- a/dev-python/pyclipper/pyclipper-1.3.0_p4.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_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${P/_p/.post}
-DESCRIPTION="Cython wrapper for the C++ translation of the Angus Johnson's Clipper library"
-HOMEPAGE="
- https://github.com/fonttools/pyclipper/
- https://pypi.org/project/pyclipper/
-"
-SRC_URI="
- https://github.com/fonttools/pyclipper/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"
-IUSE=""
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION="${PV/_p/.post}"
diff --git a/dev-python/pyclipper/pyclipper-1.3.0_p5.ebuild b/dev-python/pyclipper/pyclipper-1.3.0_p5.ebuild
new file mode 100644
index 000000000000..b7246c30725a
--- /dev/null
+++ b/dev-python/pyclipper/pyclipper-1.3.0_p5.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
+
+MY_P=${P/_p/.post}
+DESCRIPTION="Cython wrapper for the C++ translation of the Angus Johnson's Clipper library"
+HOMEPAGE="
+ https://github.com/fonttools/pyclipper/
+ https://pypi.org/project/pyclipper/
+"
+SRC_URI="
+ https://github.com/fonttools/pyclipper/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"
+
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION="${PV/_p/.post}"
diff --git a/dev-python/pycodestyle/Manifest b/dev-python/pycodestyle/Manifest
index 501dbebeb8bc..9f27fb940fb2 100644
--- a/dev-python/pycodestyle/Manifest
+++ b/dev-python/pycodestyle/Manifest
@@ -1 +1 @@
-DIST pycodestyle-2.10.0.tar.gz 101916 BLAKE2B 1dbf4c2ea9b1c606740fe1e9804b29100056bad25935182b43dd07d694bf3d321d63b17d2e308dc1ffaca1f4e3e46a4e8df3998424adc4e4a1a33862e608e153 SHA512 b0c3ee7ac56942db1e8cb5f3a59c2bd2a44b7467e73b46ab7b6f932603beefbbd29f2760ee49907447af1a5987dc1961f00788b01456bdd0aed7690e2d54446b
+DIST pycodestyle-2.11.1.gh.tar.gz 79865 BLAKE2B b4d9ab3d50aba87e7194abd6b3b317183932cd9e5331c95b57f498704643bce2f459ca9fa2016cc2544f31fb9cbe3390c083fd651ede10f131bc1d6f5e462f23 SHA512 8e1f302d7e26d56edd924202435caef32369ea13eb4a0fdfb48c06bb5d77fd7a5aef92d470eef3e6fdd9c3b298751a52a83317e9ddf8b2aa7e3fedc75fb5151a
diff --git a/dev-python/pycodestyle/pycodestyle-2.10.0.ebuild b/dev-python/pycodestyle/pycodestyle-2.10.0.ebuild
deleted file mode 100644
index 23b9e972234f..000000000000
--- a/dev-python/pycodestyle/pycodestyle-2.10.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=( pypy3 python3_{9..11} )
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx_rtd_theme
-
-python_test() {
- local -x PYTHONPATH=${S}
- "${EPYTHON}" pycodestyle.py -v --statistics pycodestyle.py || die "Tests failed with ${EPYTHON}"
- "${EPYTHON}" pycodestyle.py -v --max-doc-length=72 --testsuite=testsuite || die "Tests failed with ${EPYTHON}"
- "${EPYTHON}" pycodestyle.py --doctest -v || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/pycodestyle/pycodestyle-2.11.1.ebuild b/dev-python/pycodestyle/pycodestyle-2.11.1.ebuild
new file mode 100644
index 000000000000..bf73b716c40f
--- /dev/null
+++ b/dev-python/pycodestyle/pycodestyle-2.11.1.ebuild
@@ -0,0 +1,29 @@
+# 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/pycollada/Manifest b/dev-python/pycollada/Manifest
index f79df3dbbbf4..eaa16dee4e15 100644
--- a/dev-python/pycollada/Manifest
+++ b/dev-python/pycollada/Manifest
@@ -1 +1 @@
-DIST pycollada-0.7.2.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/pycollada-0.7.2.ebuild b/dev-python/pycollada/pycollada-0.7.2.ebuild
deleted file mode 100644
index a34c60185bcb..000000000000
--- a/dev-python/pycollada/pycollada-0.7.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_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Python library for reading and writing COLLADA documents"
-HOMEPAGE="https://pycollada.readthedocs.io/"
-SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.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.ebuild b/dev-python/pycollada/pycollada-0.8.ebuild
new file mode 100644
index 000000000000..6b416a491a78
--- /dev/null
+++ b/dev-python/pycollada/pycollada-0.8.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..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/pycountry/Manifest b/dev-python/pycountry/Manifest
index 67cf2540522f..0582d91d2b28 100644
--- a/dev-python/pycountry/Manifest
+++ b/dev-python/pycountry/Manifest
@@ -1 +1,2 @@
DIST pycountry-22.3.5.tar.gz 10141551 BLAKE2B d645eade8ce9be3b99f4f2b189cc50c3395ecb3899ab9fa668066993abbfa576191cfcc05b7bb2764d088a86df492770bcc0a8834f04e6fde58a01defe8a1b14 SHA512 07dc507ee94f1880727761df197f81704386d9246163c9a5872f47083d37c7d1205dfbd28c6663ef0731a0b05277ade03a1a1929ab84087e0e85c05028c68b89
+DIST pycountry-23.12.11.tar.gz 5927399 BLAKE2B a8d32593d80a881abd03b482a99afc22996a730d911577f91eb8035336f07a25a8cd74cd19f9396675acacbab953098bf831119f8b9f7c72fc6c2807713fe6c9 SHA512 25b5a74c0dd8115473571976a64b6fed7010f62c1b3b4c1888b9e13a7cf4f533173f51d4652d55c426adee4e0ff119bb6e3132d04dce150b9d1ca4b11366c579
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
index 13fa14b7acef..e0fdeac24dc3 100644
--- a/dev-python/pycountry/pycountry-22.3.5.ebuild
+++ b/dev-python/pycountry/pycountry-22.3.5.ebuild
@@ -1,19 +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=( pypy3 python3_{9..11} )
-inherit distutils-r1
+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"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/flyingcircusio/pycountry/
+ https://pypi.org/project/pycountry/
+"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="amd64 arm64 ~ia64 ppc ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
BDEPEND="${RDEPEND}"
diff --git a/dev-python/pycountry/pycountry-23.12.11.ebuild b/dev-python/pycountry/pycountry-23.12.11.ebuild
new file mode 100644
index 000000000000..3db3277b69db
--- /dev/null
+++ b/dev-python/pycountry/pycountry-23.12.11.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=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+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
diff --git a/dev-python/pycparser/Manifest b/dev-python/pycparser/Manifest
index 9a45f69b12df..0ea33f798aa9 100644
--- a/dev-python/pycparser/Manifest
+++ b/dev-python/pycparser/Manifest
@@ -1 +1,2 @@
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
new file mode 100644
index 000000000000..d24999e7273a
--- /dev/null
+++ b/dev-python/pycparser/files/pycparser-2.21-lextab-cache.patch
@@ -0,0 +1,66 @@
+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-r1.ebuild b/dev-python/pycparser/pycparser-2.21-r1.ebuild
deleted file mode 100644
index 1b0d8e6f6901..000000000000
--- a/dev-python/pycparser/pycparser-2.21-r1.ebuild
+++ /dev/null
@@ -1,65 +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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="C parser and AST generator written in Python"
-HOMEPAGE="
- https://github.com/eliben/pycparser/
- https://pypi.org/project/pycparser/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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
-
- 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.21-r2.ebuild b/dev-python/pycparser/pycparser-2.21-r2.ebuild
new file mode 100644
index 000000000000..80938a15df34
--- /dev/null
+++ b/dev-python/pycparser/pycparser-2.21-r2.ebuild
@@ -0,0 +1,74 @@
+# 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..c0a56673a0df
--- /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..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() {
+ # 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/pycryptodome/Manifest b/dev-python/pycryptodome/Manifest
index 6920e5e656b4..49c39d87d206 100644
--- a/dev-python/pycryptodome/Manifest
+++ b/dev-python/pycryptodome/Manifest
@@ -1,2 +1 @@
-DIST pycryptodome-3.16.0.gh.tar.gz 16548063 BLAKE2B 4adf1c3027fe593e9a01eb0ea3da1f81ddcedd731a284a3f98dd02f07ba9eaa80e906bbcea1432fe64f08f0857033cfdbe43acd415fb3081718a301fbbb5ca16 SHA512 945c5bda213a08ba12a0ace8e4bf76730461f8dfce94fa426a97dfab846234ea06e121b176ae823d0f7da9316de50aafde6507a2f17efec4d4a0629d4d68d870
-DIST pycryptodome-3.17.0.gh.tar.gz 16714317 BLAKE2B a7a96ba4d10078ba4d9bc02b384c982ad7307065fd6c9118def43bebc073eccdfc11a766742e5d0207e9cce32aca2fe3da51f8a59964de8c15db6808cc2aae03 SHA512 c0a0754c0dd1d8138e8dd27c034e3f3469237eb5f205d86d0c5e2377fd7672c6ed0df9717292a73d380daaabe88c3be80b575ca1149f4c70f08d82aed0d4b39c
+DIST pycryptodome-3.20.0.gh.tar.gz 17173888 BLAKE2B 7706a7f512579b4edf080b5074a9f226b2f0ef18a8f1faf74e890cfccff85d0599b4883cd5011a5cc0296b5a10cccce94cb2b948de29d785f6add04e54215a5a SHA512 0d65ccd93f9f78548c04aa3af01cb65b6a39e81bb3dfa4bb08acc5a5a731b17f9c5b07a1d1780739b3f358402a3596b04e446fc7b39345a4c6f03fd5a2de7ff9
diff --git a/dev-python/pycryptodome/pycryptodome-3.16.0.ebuild b/dev-python/pycryptodome/pycryptodome-3.16.0.ebuild
deleted file mode 100644
index 84307c43e468..000000000000
--- a/dev-python/pycryptodome/pycryptodome-3.16.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} 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 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-DEPEND="
- dev-libs/gmp:0=
- >=dev-libs/libtomcrypt-1.18.2-r1:=
-"
-BDEPEND="
- virtual/python-cffi[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${DEPEND}
- ${BDEPEND}
- !dev-python/pycrypto
-"
-
-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
-}
diff --git a/dev-python/pycryptodome/pycryptodome-3.17.0.ebuild b/dev-python/pycryptodome/pycryptodome-3.17.0.ebuild
deleted file mode 100644
index 0991832e809c..000000000000
--- a/dev-python/pycryptodome/pycryptodome-3.17.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} 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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-DEPEND="
- dev-libs/gmp:0=
- >=dev-libs/libtomcrypt-1.18.2-r1:=
-"
-BDEPEND="
- virtual/python-cffi[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${DEPEND}
- ${BDEPEND}
- !dev-python/pycrypto
-"
-
-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
-}
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..f41da6beb327
--- /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..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"
+)
+
+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/pycuda/Manifest b/dev-python/pycuda/Manifest
index 002986fdfcc4..dc24e1c75e92 100644
--- a/dev-python/pycuda/Manifest
+++ b/dev-python/pycuda/Manifest
@@ -1 +1 @@
-DIST pycuda-2021.1.tar.gz 1682423 BLAKE2B 0ebd7554a5f92cd0d39ce7b5f64218f0b0dcfa1f3e63d3180306a149ad0581150630813eee7fbc17e32bb35ea711a46b84332705d6ffece7b11e7e928ef07aad SHA512 1df09f59e254f7e39b630ff41d22237ab0c81c0e6e7b7611c57eb98ade8531356b9cb3e381e6fa7e8495a46c465458febaf8ad56ceb8d570b5b25defb6dd55a9
+DIST pycuda-2024.1.tar.gz 1683163 BLAKE2B b464f47d86b77d492322f28364756cd25a28a11e6dcc802c9c930fad20de74d217660782f82a2a020753fcbb6000a9d659555be6220c57229226ac7fc118c793 SHA512 70a3f27488077e1176aa26b4bc8785277917cc1884126de45c732f393e5e38224b4c4c67999eb1776c08a930333f718d1af3463154d89291b3294bf303a3c471
diff --git a/dev-python/pycuda/metadata.xml b/dev-python/pycuda/metadata.xml
index c00cc96a7de1..a0f336da0a4a 100644
--- a/dev-python/pycuda/metadata.xml
+++ b/dev-python/pycuda/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="pypi">pycuda</remote-id>
+ <remote-id type="github">inducer/pycuda</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pycuda/pycuda-2021.1.ebuild b/dev-python/pycuda/pycuda-2021.1.ebuild
deleted file mode 100644
index 4fda5bcd0c5d..000000000000
--- a/dev-python/pycuda/pycuda-2021.1.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..10} )
-inherit cuda distutils-r1
-
-DESCRIPTION="Python wrapper for NVIDIA CUDA"
-HOMEPAGE="https://mathema.tician.de/software/pycuda/ https://pypi.org/project/pycuda/"
-SRC_URI="mirror://pypi/${P::1}/${PN}/${P}.tar.gz"
-
-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 3c8c515d4eb5..5bd32220be0a 100644
--- a/dev-python/pycups/pycups-2.0.1-r1.ebuild
+++ b/dev-python/pycups/pycups-2.0.1-r1.ebuild
@@ -1,15 +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_{9..11} )
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
DESCRIPTION="Python bindings for the CUPS API"
HOMEPAGE="https://github.com/OpenPrinting/pycups"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/dev-python/pycurl-requests/metadata.xml b/dev-python/pycurl-requests/metadata.xml
index aa295bc4b3d8..938e4f424163 100644
--- a/dev-python/pycurl-requests/metadata.xml
+++ b/dev-python/pycurl-requests/metadata.xml
@@ -10,4 +10,8 @@
<name>Python</name>
</maintainer>
<stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">dcoles/pycurl-requests</remote-id>
+ <remote-id type="pypi">pycurl-requests</remote-id>
+ </upstream>
</pkgmetadata>
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
new file mode 100644
index 000000000000..6100270b14c7
--- /dev/null
+++ b/dev-python/pycurl-requests/pycurl-requests-0.5.0-r1.ebuild
@@ -0,0 +1,38 @@
+# 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="Requests-compatible interface for PycURL"
+HOMEPAGE="
+ https://github.com/dcoles/pycurl-requests/
+ https://pypi.org/project/pycurl-requests/
+"
+SRC_URI="
+ https://github.com/dcoles/pycurl-requests/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/pycurl[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # network-sandbox
+ pycurl_requests/tests/test_requests.py::test_get_connect_timeout
+ pycurl_requests/tests/test_requests.py::test_get_connect_timeout_urllib3
+ # TODO: different error?
+ pycurl_requests/tests/test_exceptions.py::test_connecterror_refused
+)
diff --git a/dev-python/pycurl-requests/pycurl-requests-0.5.0.ebuild b/dev-python/pycurl-requests/pycurl-requests-0.5.0.ebuild
deleted file mode 100644
index db0030fba9d7..000000000000
--- a/dev-python/pycurl-requests/pycurl-requests-0.5.0.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_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Requests-compatible interface for PycURL"
-HOMEPAGE="https://github.com/dcoles/pycurl-requests"
-SRC_URI="
- https://github.com/dcoles/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/chardet[${PYTHON_USEDEP}]
- dev-python/pycurl[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # network-sandbox
- pycurl_requests/tests/test_requests.py::test_get_connect_timeout
- pycurl_requests/tests/test_requests.py::test_get_connect_timeout_urllib3
-)
diff --git a/dev-python/pycurl/Manifest b/dev-python/pycurl/Manifest
index 876ac8788f96..dcded486c50b 100644
--- a/dev-python/pycurl/Manifest
+++ b/dev-python/pycurl/Manifest
@@ -1,2 +1,2 @@
-DIST pycurl-7.45.1.tar.gz 233879 BLAKE2B 8a6fe72f00cfd172b4f5e257f4526c4115047aa911d7fb3802d3bf105ac70dc866b27fa4878aae9f92229a5dd5108a2b5e1c9acfe93e1a94dac60d9405c5d5e6 SHA512 05639d484aac6d6688677589e391975158c5ef778456a47df575ad13fb8bd0db67ff8f5a39bdd99d82a67926aca421c01e687eec9d4fd87f32822b492b429635
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/7.44-fix-tests.patch b/dev-python/pycurl/files/7.44-fix-tests.patch
deleted file mode 100644
index d5d900100086..000000000000
--- a/dev-python/pycurl/files/7.44-fix-tests.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-https://github.com/pycurl/pycurl/commit/d47c68b1364f8a1a45ab8c584c291d44b762f7b1
-From: Samuel Henrique <samueloph@debian.org>
-Date: Sat, 30 Apr 2022 23:02:34 +0100
-Subject: [PATCH] tests: fix error message on error_test (for curl >= 7.83)
-
-curl 7.83.0 removed exclamation marks from a few error messages, curl commit:
-https://github.com/curl/curl/commit/6968fb9d54dc3a1aaa1b16088f038eaf5dd8b2d7
-
-This commit adds support for the new curl release while also supporting the previous ones.
---- a/tests/error_test.py
-+++ b/tests/error_test.py
-@@ -29,7 +29,8 @@ def test_pycurl_error_libcurl(self):
- err, msg = exc.args
- self.assertEqual(pycurl.E_URL_MALFORMAT, err)
- # possibly fragile
-- self.assertEqual('No URL set!', msg)
-+ # curl < 7.83.0 has an exclamation mark in this error message
-+ self.assertIn(msg, ['No URL set!', 'No URL set'])
- else:
- self.fail('Expected pycurl.error to be raised')
-
-@@ -43,9 +44,10 @@ def test_pycurl_errstr_type(self):
- self.curl.perform()
- except pycurl.error:
- # might be fragile
-- self.assertEqual('No URL set!', self.curl.errstr())
-+ # curl < 7.83.0 has an exclamation mark in this error message
-+ self.assertIn(self.curl.errstr(), ['No URL set!', 'No URL set'])
- # repeated checks do not clear value
-- self.assertEqual('No URL set!', self.curl.errstr())
-+ self.assertIn(self.curl.errstr(), ['No URL set!', 'No URL set'])
- # check the type - on all python versions
- self.assertEqual(str, type(self.curl.errstr()))
- else:
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
new file mode 100644
index 000000000000..4ebf3b4b1ba8
--- /dev/null
+++ b/dev-python/pycurl/files/pycurl-7.45.2-skip-http3-test.patch
@@ -0,0 +1,28 @@
+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.1.ebuild b/dev-python/pycurl/pycurl-7.45.1.ebuild
deleted file mode 100644
index d8fd41fb47b5..000000000000
--- a/dev-python/pycurl/pycurl-7.45.1.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 distutils-r1 toolchain-funcs
-
-DESCRIPTION="Python bindings for curl/libcurl"
-HOMEPAGE="
- http://pycurl.io/
- https://github.com/pycurl/pycurl/
- https://pypi.org/project/pycurl/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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_nss +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_nss(-)=,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_nss(-)=,curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-),http2]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/7.44-fix-tests.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.2-r1.ebuild b/dev-python/pycurl/pycurl-7.45.2-r1.ebuild
new file mode 100644
index 000000000000..e0b8e79c33dd
--- /dev/null
+++ b/dev-python/pycurl/pycurl-7.45.2-r1.ebuild
@@ -0,0 +1,100 @@
+# 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 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}]
+ dev-python/pytest-timeout[${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
+ # 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
+ )
+
+ epytest -p flaky -p timeout --timeout=30 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.2.ebuild b/dev-python/pycurl/pycurl-7.45.2.ebuild
deleted file mode 100644
index c8e1d418bdf6..000000000000
--- a/dev-python/pycurl/pycurl-7.45.2.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_{9..11} )
-
-inherit distutils-r1 toolchain-funcs
-
-DESCRIPTION="Python bindings for curl/libcurl"
-HOMEPAGE="
- http://pycurl.io/
- https://github.com/pycurl/pycurl/
- https://pypi.org/project/pycurl/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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_nss +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_nss(-)=,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_nss(-)=,curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-),http2]
- )
-"
-
-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..bcd240613ecd
--- /dev/null
+++ b/dev-python/pycurl/pycurl-7.45.3.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..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}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-),http2]
+ )
+"
+
+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
+ )
+
+ epytest -p flaky -p timeout --timeout=30 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..b96673e1fedf 100644
--- a/dev-python/pycxx/Manifest
+++ b/dev-python/pycxx/Manifest
@@ -1 +1,2 @@
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-r1.ebuild b/dev-python/pycxx/pycxx-7.1.7-r1.ebuild
new file mode 100644
index 000000000000..cadfdbb9e765
--- /dev/null
+++ b/dev-python/pycxx/pycxx-7.1.7-r1.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_{9..12} )
+# 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.7.ebuild b/dev-python/pycxx/pycxx-7.1.7.ebuild
index 74f3fd8e1a8e..520c93fdfd83 100644
--- a/dev-python/pycxx/pycxx-7.1.7.ebuild
+++ b/dev-python/pycxx/pycxx-7.1.7.ebuild
@@ -15,7 +15,7 @@ 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 ~x86-solaris"
+KEYWORDS="amd64 ~arm ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="doc examples"
python_prepare_all() {
diff --git a/dev-python/pycxx/pycxx-7.1.8.ebuild b/dev-python/pycxx/pycxx-7.1.8.ebuild
new file mode 100644
index 000000000000..cadfdbb9e765
--- /dev/null
+++ b/dev-python/pycxx/pycxx-7.1.8.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_{9..12} )
+# 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/pydantic-core/Manifest b/dev-python/pydantic-core/Manifest
new file mode 100644
index 000000000000..0d3156583260
--- /dev/null
+++ b/dev-python/pydantic-core/Manifest
@@ -0,0 +1,113 @@
+DIST ahash-0.8.10.crate 43555 BLAKE2B 30c71f49bde551444dbb074d1084701ca63e996bf296033d726bb2f03b3059376e62c310e673bfcf7e461a7a1dcf48812eb3d5aa8729bf9bde9da64977eeaffb SHA512 108872193427773e15463916ba034fd6cebb35523d827da331f374cf13cf27ff251a07c978bff4072db9ec8c307d9df092149ebd963b0702f397ebedd80e87d3
+DIST ahash-0.8.7.crate 42894 BLAKE2B 56f4b2f577eb2752e675fa2b3191c65e0bb88575f92e8d906714296fca1daace46e93256672fce08cc5b4ac11d40a690a06b32a99fb50fd0df4f042773c33b6c SHA512 2c9eaa22f7bda47a781994c769d4a2ef15ba0f511fdd4ec4680c13d4c1809f1ce01adecc3b3776793158062d28ad9e5f0b1d1c0a9429e43dd07cd99540eae7a6
+DIST aho-corasick-1.0.2.crate 167694 BLAKE2B fa5323cbe6cb73594dfa4c327c64676bc1e006dadc0b9def325974c83b9a769beba02d59a4657ec7a2d0cc511a7b7cc6f72cf57b8f9e639206d1c2bf13107a52 SHA512 5c75451f96fbbd670e6af0e1f54df2bdb57259dfe6898495ac46a5b2fc04f316a4698fd5cfd4ec31a94c298661937a8de08ce97cab3890fb3c015e4a2a67bb7b
+DIST allocator-api2-0.2.16.crate 59025 BLAKE2B fda69b52435a7243eb19bc55914a1961e59dbad5ac12c40db39cccdf7a99c742da59c3ef160350808698db24b91e0ce655cd1acedbbcbe20c717604aae23ea5e SHA512 e1eb0df6b44b62115795ebf772f81e9ac0b6d273afd81659dbddb7eb6628b6e5ef6a60ea21413e79ee638afb72e6872ba83a075f6324daf93f2f1eda48daff2f
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST base64-0.21.7.crate 82576 BLAKE2B 25cc8761c14220981ff4ed332058f6179948080cbfa2b225ec1d1602e4af14cd470c969e8b7049117e6fc51a5a24e06b1d27bab844486ecb76409d12e0581d5d SHA512 c6986d88dd9aa081d914f35b4174be4ba874848657ac4b5e63b9b45af765d973289c548ccb5a01584edfc0d8d79ff5be25b51365295d6e7a311bd7f0ae3c0cb9
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST cc-1.0.79.crate 62624 BLAKE2B b3cbed3bd6fcac1c6ea258ec96cd107f859947a35dc89c3dc8f314741b0f668e61518f896ec32ce10c9a7eb20dd350bc177a71810d53ebea59fda062ed9d27db SHA512 cbf0a25f3a23fc540e9d638fabc23f761f1c240ebb4814e761e90437d71fc559cd155768ab9e78fc192220d8a605c66c3af342ed736b719181656170b98d7bf5
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST 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.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1
+DIST getrandom-0.2.10.crate 34955 BLAKE2B 8e7b8554ae360484ceca2a05f834c2664b08f41cbc6c955663e1f8f22fb5750481518bf1c7b49f49223a99a66914ef013347b9186acc97a20249f3222a13f9d4 SHA512 82af9e0417bff9272ed0478be4ac90426405ce210014b21899c6b95fde1b16893bf46295388ff5f13fa712a04c99c46b770fab83f41a1343af1590a86ca8da3b
+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 indexmap-2.0.0.crate 64038 BLAKE2B e7a1b2bbd790f1446f77262b5b0799c2a816a01295a9a4db66f10e6c0502f8970982fb808581472e840cc34dc70e7938b89408799ed0d91aa50d3dd0b4807995 SHA512 59bc19653436389e1408e21b0933e5ca6f9fe228f0f5fbe9a7e4fb461b9712ba82983cbf22c0581eaf7913298b9ef5842702946152b493c1dc651381d6bce1a3
+DIST indexmap-2.2.2.crate 76160 BLAKE2B 1b020e3e33204e9e0cf15e0b91a600296147432002e94ae1061f1d7511e3435a29c1c0c438933eb6a56c7c522cbdfff29a106622041815cbd706b9515e2ab82d SHA512 814cffe0e586940c82c152536a970917ec8702a9b946151ccc8574188fa2cb0fab094888c0e910917c99e37f5f53723ab799999fab4bee395bca7d45adeed40c
+DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
+DIST itoa-1.0.8.crate 10465 BLAKE2B e518264938d044e24a4d72cab788de717c36cc7396fdbf2805fe3a3e0cdfc361c4f6fedee7bcebea6fbacff254e073da26b2400a073fa75f75523b8ed9de9938 SHA512 6171bfcd70634a2587740c145a15790e12807d2c756a25e74950daf9dd36acc662f12836c5b87e20483b4d020bc0d98a352b8e9787b0b8544bf1ee1b6a0c2c8e
+DIST jiter-0.0.6.crate 128330 BLAKE2B 8f745b0bcc0eb107251e059ee1b591835c6162cd7f9956d74f35f2bed3e1b9ecea9511f98ee55b8dd5f0f6cbf64f2af06493affd279612ed51aa7e8f67d25da2 SHA512 7b6cf2b5e7c83dbbca2bc435015a283c61a903a7f16c4c1c2eb4827ca1bac10a27259c634cf0d05a8cf8726b7bdedfea9f08daee63aa05ba466b1c0d47614219
+DIST jiter-0.1.0.crate 131174 BLAKE2B 345b7107155b3d0b1a552cf87fcc7d289260ede746514852750f145ff197fd50c5b96648e8a4ca01e37809d466b99f29d7f10ec99f622d278e85e7206cf0f238 SHA512 c6696a52d3a26a1d09dfe57af59e45902b6a3065af78fb4edbe4dc8bf5c7cf1163af09e2e5e9c2e16cb4262141a764a611b5fec5b44563c93b931a85a20faf76
+DIST jiter-0.2.1.crate 139173 BLAKE2B 6c1b6222d4f6665294460371475bee3c2ddea26bf76218d073965444981ba2584188167f2d8a8827a72ecb7263a411d0cd0979710d0d4e5d521e3f6227e1e1cd SHA512 1777a85725a2a1485bc104609e69123d8861f15f71d5ae785fcc679b39f905749b4c3ccb523b4d546673ce35aa78fc93b724557c386988bcb0b78af33c363d37
+DIST lexical-core-0.8.5.crate 26680 BLAKE2B 71f3cc95f47fa636f68d6d25612a47d4a178e2ffe484aa66760e78fb71e55633c055892647decaac08120d1b8b3b79d80d1a23d46a74d13b5e52d6b912839ea0 SHA512 f98d2b5afd331c6f4f599d24599ed8791ee3628a2fa2b8172b698cfe9a180e1ccd2da4dca4dd33fc76ef3417114c580399106d01a8d6153b45b38bceacee1018
+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 lock_api-0.4.10.crate 26713 BLAKE2B 113adf8554c65e9782e8fd0360d0398567dfbfddb1fea4928cc152fbab98dbe086e42b81170f6f5c333d61dd3261e8a1ebfbaed786e6bf6378e6afde6d7f9e5c SHA512 ffe8cad8099bc382832181c1ff95e0935993491f247114604201be7d4ddf8402fd4db8fd6499c611f95fbce7d57dc3d3738eddfab31c52f50ab8709e549697db
+DIST memchr-2.6.3.crate 94377 BLAKE2B 5f1603397d6703ddd9a1e68429cb6e9dae9021e14692c1e084f3b5c82d36645a1fa930c7a76b97df8e1919402fa7e1c621969ce85ce20c82b3087104afe18f25 SHA512 8d5e1425ea702a0950c95271dfd2e81610731496f77af0d683536b074a22922a7d7ec6da41577487d1d658e3b27257b7d1e142761b523e68760a2f5f24f049bc
+DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
+DIST num-bigint-0.4.4.crate 99369 BLAKE2B 09a44754e3a3d4f949b3714d96ddd7f3915164d611036675e3df421d6c0863e368eb0180978a4ec27fbfff529b4999d2593e411903516670c24c08fbed6a79de SHA512 0dcef3344a933509fdfe87d6adb0bb1bf67af3c692ccaeec5663a8f18ad0a251199ef9c7a24c25b95d1b255b413947e70f0a205669d549b13e54b6f4864ab3b5
+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 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 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 pydantic_core-2.16.3.tar.gz 368930 BLAKE2B ada18fe183c603bc78d7258235110c730a552725df383d82f202bc561be045acd52fd24e8d5753e0e15487448fdcfbb298ebf26e6ad6933b064ab72a38d5d5b7 SHA512 30b14cd4b583bacf18fdb9a3a89745b0b4c5ff91425a3b19809854bc340df7600442c7e70b1130cf899f26ab4a5593d628f897970a58402bf8a6bbd876c1634e
+DIST pydantic_core-2.17.0.tar.gz 379628 BLAKE2B efc0cfa5dfe6e389ea5eb2d9c0b6fd9c8af3fb388ad41ff4c3da207b6c22ae7e8967092045a206980978a5d19b8a1c13875d3d55f3a6860e489fb8c0703175c3 SHA512 de653ca39bcae0fcf22763a03f0865b44d4af2a26ff4f3e578f4b497728eafe6f289a319278a5f59132e1f5e8b6eefbf1c0bba5ac9e11d52fa1776c1b09eeebf
+DIST pydantic_core-2.18.0.tar.gz 381371 BLAKE2B 5d19dbad59171cfc47c14a790c1262517fe7a45d35dcea6b40717567ba7abea8779f6df23c7dfe054139bde5af97d39d7aa4fdee031260e896c05b602604bbd0 SHA512 712408035af623d07c4fbbd12b75846100bf51bf1a2f8431d3b6c1bffb4ce63b233ba351b7c6ce3a9e7eb7b1ffb8e1fedae57c680fb4e0e738aa003ffa5fa550
+DIST pydantic_core-2.18.1.tar.gz 381997 BLAKE2B cf6878957d9494a23da18e722729da9f9e15ba112227ccb1d9bb41f411564e2d9843765b57b8c536726940d5170147a323ba1437677c3e0717cb2d304734e44b SHA512 10f5602bf8a9c9ae0cbeb0b88f093c0fe5fb0c66750e72fea424f11993f2b9aeda9455fada887ca8c9ae293de227d43f2252f2741b5f9af59636c3582e1fceb5
+DIST pyo3-0.20.2.crate 434326 BLAKE2B 3114fd6f3fb8ae7d1b35c9d2ac5ba6a49c5ac911ee3a5b941c5063263ca7cce47fa4b4f7ec34cbfe3083f3d1303fd7f061639fba833a04fedb9d5098f5784028 SHA512 cc5151a116179157046ec92677e5a72318b4cdb13a7d7e3bb83778739b5758040e5020f667dd83554a66b758581a08f5de05eb38e7b339813cec85e0712e6355
+DIST pyo3-0.21.0-beta.0.crate 496535 BLAKE2B 08c5b9b60e6bc1b41cd8d8d709adea7c46d6390e9202332c4541615bdbe7035e3de88a2d256e4f527299543b2f5c4f3aed997f98ae138568cf24d82f09acf021 SHA512 9b068f908e29af8ab2e7ad9b130fe0dd9ef370cc997e3fc5e842f3e365776b953443ddfa1caf5031c9de6a30c42877e681b55ff5241cd7a67fb7d3d3781abeb9
+DIST pyo3-0.21.1.crate 503776 BLAKE2B a042478e4d4fbff9f40eac1b09c2a0fd4af54a751ca16d3bcbaaefc417ef88066c2cbf0cb758dcada9e36c378007081fb9ad0f6bb36afb2622fdf7b3ba36934e SHA512 6bf1c99b7c0c44ece16b3298f1090891cac2994e25730da8a82981f2296bc2d260b61df08897a2cd6c27c6e90deb70e4c08388fc70eeea6dea4b5cc451ed9598
+DIST pyo3-build-config-0.20.2.crate 30029 BLAKE2B 846eb95d1417a658763417a2750dca1c55201105a3978d61b1db5e3962680ede188f8285dd7deec778ea9860d43e40513b88f5a54f0b1881b08416760bdbbedf SHA512 9dbc669ec69d38716c3909fa8f3b6c5be13c717b20bfd5dd11edab59b8eb35247d7996acd260fec88f92eb3e71248c86e9b40c1a700827889e2990bba20ecddf
+DIST pyo3-build-config-0.21.0-beta.0.crate 30052 BLAKE2B e4faf70bd71fa009393c0c0da587e7b5219ac39654118392c7abf58d5693f274f09e08832942ba34829057562b3eb730c019c07925ea5e23fdee456092bdf05d SHA512 843f43aacb02962d9d6a68f6364a1bb7456534dd2858e187b974ce3486295e905e4d6e948dc5017a26227447cb242e53167126f0cc76462d9f90c6ce371ab7a9
+DIST pyo3-build-config-0.21.1.crate 30540 BLAKE2B 4019892096ee02c25ec6484eb56da12990fc84be5c5173f524e88e8b18e5b1b113d0db1962aff44253519bd1b5f3d4f01512ba86441927c19b04911d8282a039 SHA512 9eb4fbef1015deb1d7a414181926b6b4e44acc2347379783f2fe28e212986e62bb7e36d214d3bed613e9f213a9882084af9012042d9047846f7f4948f64112de
+DIST pyo3-ffi-0.20.2.crate 64601 BLAKE2B cf1141ad34a13dcb46de0d1e15dda192ca41a7441bfc92a9295861876dcc690d1d5d6d39dafa51cd70c4627353efa91563eaefee8c39f655d12818003f9524da SHA512 ee6386b6fdb80689d104f9cd5229f02e1893d00a52be710bd36882c47305abbe24ef2f3cdef8200fddc0bb97e29001fa3a2fd9d3d2673ecd9a104a070420d01e
+DIST pyo3-ffi-0.21.0-beta.0.crate 65112 BLAKE2B cec737068c205cbd61435ee20a8ea40cb4890118df1acc881f5d2c0abf18d195bbeab07c1c032615ec514ad8f10ce0f8d973164db2e10a27415e922c6b76097c SHA512 e256fb6519b634ad1c263fa5a1d7a227262372606aa9dbcd39495ab75c2650e9450d4d615f50de921d958c184d0d1c469b37e9e54ede67200c59155c211ad50a
+DIST pyo3-ffi-0.21.1.crate 66163 BLAKE2B 7d47e140d6e39d2622a77349c20466e9e161d3732b3df7a4fba258ac4b41b5bfa57e4af87dae8ab932a27c965bc9e3e10cd38195c9037cb78246e0ad10260fd1 SHA512 6d0f6d1c9d6af1255a1d709e1da6dee82c9948ddcd2c8b38c760e5fe23b6a65b050f030b46a38697aa82b5c1927fc9a20dff92cfabf1a03ca92099583a516c68
+DIST pyo3-macros-0.20.2.crate 7925 BLAKE2B 00fc60becfa39bf452786d8a612247785f1737cc3e627700d0d144ab2efaadfb34ce8a8f46e932382a1ea99caebfe1946fbc517b5c26fadb0822ecaa8b2e9df0 SHA512 dd9ea9acda95dfc53689a4c26d8c2139f8a90a05ab06737037f19b8bccd5e52b0da5f297a29194b958f5f8b59cbb566b5f409b3f17a863eddf855ecb755d2719
+DIST pyo3-macros-0.21.0-beta.0.crate 7937 BLAKE2B ca0ade8113d44c348df458cc34318434a9e4ebfbd245ad09b27bff49f31d9fb80329ecbac0c552f5f49a267ca2239e48c8ba5753ef71c5a90866abe451bec49b SHA512 1d7968a4f27ecf33fe91b36d4ffddcc2822ac9d620b4ae91281a1c0da27958fc823e17c8079df60cb77e35ca597f6e296715b20a72f26a67fc9860136724904a
+DIST pyo3-macros-0.21.1.crate 7921 BLAKE2B 92e4323996bf6fce143d03597fb32caae16ba21591601712404d94a9bb15b37aec94b625bcc4bdb11d04876cad2a310bf41254e59285bda7719a9a27879a5e47 SHA512 4b0fdba474fec4ef4d143467425f1ad598be226a42c486adbf2d9c6dbdde8528a81222702962dd7ae63c79d3799048cb40a066d39cd538430d95b2135876ed45
+DIST pyo3-macros-backend-0.20.2.crate 49710 BLAKE2B 711b18984e61219555df4b62667f7f376951c6cb47e6dd947fc24618b923c4f4f790eb1aba1901abea4761632cdb58cfa81cce91f33586da3022e6c7d126bc9f SHA512 c6ca2a2cdae8630fba3f8e4122e81b60ef2ef0905ad2a3fbcfae134456d5ca9e73690b61590e391f3b9d82c24725809f18544c5dfa0b36ffdb1914844fe65d3a
+DIST pyo3-macros-backend-0.21.0-beta.0.crate 56994 BLAKE2B cb1967f21c22b8f8bede000b9a855ef0ec53259e67c7714552d212aa445f77e372407c9da4bf2ceef7e0de3c36b22958d7580f4fce6c20551cb17aac9accdf70 SHA512 3bd04694a53c459653b409e74093f19d5e0c726841d39c740bdc52019ce0ed6b1040d5380d85a613c9f762b57f391a50553b5b2bb8f34c1f3c68db47b533ca1e
+DIST pyo3-macros-backend-0.21.1.crate 57986 BLAKE2B 0ea13819dac723b1715a2bc3a7481a151cbcea477e7241d30791fb8d0459df375fd84229f5b2fd89e83ffae1f02f46fa20fc80bc86d5fea3fa878dd38092aebd SHA512 0529dded41726f51e51cb8f1967b8eb211814fa527fb7280e33a1e1f36e74b1b6b28e6a33041730f1edb8014239977f52095a2219cb606b519ab08e252884e2d
+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.3.5.crate 23404 BLAKE2B 85aa4299d9816666bf576f523da5cdeae87b3c8fbb2af103e82258d23f73303c068a4b6c3ef4117ad67958cb31e41f836a9f59f2ce1bc52c23605e34399afcf1 SHA512 16f8f4766932bb54e4740cfdb4f0802f76246c0bf88c1d76c69c115949b124b625d8c3b85d8947073c2e9544f425aa16c10f71fabe3c03d29e424c47fe4ccdde
+DIST regex-1.10.2.crate 252839 BLAKE2B 4be7bede72d41634c52eea25566fb13337a84a055aae6fb73d3b18ab9168085ed04ffbfd5b6f87c2f85c9922893b9c9a253a8c874eae9185b2100850443b1517 SHA512 e594f70cc540586e4039e7b905ede9e507757b531f22a94aae185e47732ae0d54bceb2c6aceb815819a9652c01ccf697798d372631f2f864c04ca2eec59759d3
+DIST regex-1.10.3.crate 253101 BLAKE2B 390ebb00bf5430048412883b672d80737e783fd36f40895343cb38ef2e26e2713418c2fb4d66792bfd3be4c990b4518ba120de229a72cbeb7fd5c2af325fbcaf SHA512 d090898465013b0975a6de87fbdcdf76b4896578056f4da83424bd5e7832547a3d8ace643c379c4f14700a0a88dc95950a38645508d1675306c377879a90cf5d
+DIST regex-automata-0.4.3.crate 617011 BLAKE2B e685724eb037411c1a73d6d355c76e9e32c40f1c9029acaf86477796d3f5ad092b0c5619f4df2fc1ce34243f2ad8af147aa31f83a435e5b5adf55b4c9c8a9359 SHA512 4fc82fe3556f829956c3172447589555ef286fd66ee9a445cbdcdbe57970655e35b6eb0895ba02c344d826609257e0c95d3f7f51858aa260103bed7b08d8c1a8
+DIST regex-automata-0.4.5.crate 617406 BLAKE2B 21826731ed5439a12cdda5a1ef217dc3239a0884d038170855985bf830f2782bdf4dbfd1b1a8812812db3a2399dadf8c173e75db635dfabc97382fda0561bba3 SHA512 0e9681d5c4529d49ff2555b7b73cf234b1f321a7fc634beccdf76c2bce5094e8501403e8caee2b3a16ac299cbe4701d891f1efa380b54f9dc2d92bbacd4de611
+DIST regex-syntax-0.8.2.crate 347228 BLAKE2B 211fd1c35ad0f28874d4b4d276e0fb0a27e5a1608f2f16ba2333641b154624e378419daf8d1c955f21ff5f40f6d49c89569b7e11ea5649850846d0fe447a675c SHA512 301dde555f300298f2594490ccd8b92033e4917fe9b8671b8a97db6c827793c73969be85a92999964dcaf3177edda51abeb576811ad6cab9772964dc0a77e728
+DIST rustversion-1.0.13.crate 17267 BLAKE2B f2cc10a9d998b95bedaecb60298b11637724058634b00844d7e3e77dc321d8c7578bab9a9362b94c6b4b30558df538578fe7a4a05a130fb16795e913b3fda8bf SHA512 4705face9c4e2570c6a7c8bd61ccfe1ce68bcc7bd11dcbb9e7321744de38277d1f66429b59498adad3cbfc25de68dbf194c2d244ab74003830ba5fcda47e621a
+DIST ryu-1.0.14.crate 46861 BLAKE2B 208fa87e54e3c6831193ddefcdfa7e9731a3b72de6ea23a4af708a15487cf4d6cbc49fd3681da078390741595ff5d44b02e607cab6ea9e37e7f5f05c7275b4a9 SHA512 9832c760d1ac674ba362639968962928971231d696e450738045ca36ae2780116ad865b2bdd96e36f14d8f92e12107dc8b75be90c74d76e3bb834a94bd6e5599
+DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
+DIST serde-1.0.195.crate 76856 BLAKE2B 6a80b59335f222ae48d5e377c30611f30fe6416e6853ca47a39016e21f649cb9dfbe4964ce19e5da977fb9a963228a6a81c1e85af99ae12d7a0a5722901aa2f5 SHA512 0002ecb933d08fbdc8585ee74efb4048d385459f629261f5a4a8401b794f1c02b8296db79f479013a0b2a47ba99bee6c02d60d0fc2454e32f1b038b4071e8727
+DIST serde-1.0.196.crate 77097 BLAKE2B 22403615511a7621a9d8d54fd2dcc63878cd2de0e43bff6b7921db85e19f34ee5022eb1086890edb6987428cbb707a59277ae007d1536b5d80a7da615fc3f36a SHA512 0917aa36d855ca77726d538fb7fcfcf629722c784d747b3869c0d69444c447d7b1fab556a9eb9594ddf6cc508df636fdde051a1c3909f9c691e4921946ebda19
+DIST serde-1.0.197.crate 77087 BLAKE2B 4a4e04ededf5fefaabfcc4e17457db823239e8eeee7631a905ed47800ca10d26a93632e3a9d1b784b83f84168d0d649cfa2e6f5f1e68ab15a68e837cd5b6c699 SHA512 69e42825fce6a0a5d109979785daceacfd6afc5641e202fe83da32e2b1f968416557cce97fa014839e873e65f85c27494c8f8e20e6e9e4fbedf20d0291880410
+DIST serde_derive-1.0.195.crate 55687 BLAKE2B 4da7916e36f71dfe82defa6c45b3075395cae54631cdff08a4607e962290020e7214288258fd316439c02536073325f5902e7b00144f97269a207fc453496599 SHA512 8a82ae4e7cfe0c3ac27688cc95d74bf4c2e10c1fe845ab28fb57579b2f47f36d13218c2ae603f93f00114065d47c3e46166dea39b205be673f443c34305dacce
+DIST serde_derive-1.0.196.crate 55775 BLAKE2B 3d06b3896f0cdd1b1acdcd0046bdbfd1e8a298d6f07d12a2326ff144baaac07fcbd4af1d18b8b1188d4cc192e253fcd79860d1dbb2ecb148025449c0ac954c72 SHA512 f4df7f835e8416e4662c62a46d5f6e6d45ffd103812d681b220f8080310720e27f738a34a8e622df722fed55a1d8c654dd4abfbd78d1fdc871306bf3985baf22
+DIST serde_derive-1.0.197.crate 55771 BLAKE2B 73708908b6d1e104af4c63b498bd25c5a728e07e22afdf92f15754c0f17636efe44c0560c1f0df1b9a30708e8e8894a62f1ea57c234b6dd861cb9c8dc044eb4b SHA512 669376e248b76a5ee8b9c93fd9fe6d35372e7267fbabc14730539ef28a94e405ee5e9c2cc2846897d59d6153742cdc6799f9e2c87f20b9dad119bd3a86c28994
+DIST serde_json-1.0.109.crate 146459 BLAKE2B da2ba1155e88338a1ec4d677feee8241446879f64c30290fe8754eccfa5256332036fc1550abcdb53ec1785f37ee0eb81ddf1c0a3a365e82c635482377e5826d SHA512 0457074472412c21c150c33329d11aad3e3e326fe10cd328f3f43fbea0d35478966b9dbcd1ef55f6723433071be89abb45b57ea78f88ff5c79a38ae31550f31c
+DIST serde_json-1.0.114.crate 146986 BLAKE2B 229f0a8e2c0bc35435b49774fab9d4cec4e2323e85e2f97ccaa2a18277ecfb9cff9e9b165786e782cba043e9ac670717364b0f9c145254eefd74582b728f2186 SHA512 2c35cd0e29ee2af6046ce849b5854b82b90f402b51c04ea86b32ce7d67869736f17a4d028dd8245c31201036bcca7a1d3df11d842a92a45b0eaebd809687d436
+DIST smallvec-1.11.2.crate 34801 BLAKE2B 58645e99db8f02db64d02c75860c7ea41836c427c03ee3b0b23365e73a406e4fd6ac312bf13fc5faef8bb6111c10fcfd5f839d5b3686e9b34d1626f8469fc327 SHA512 5cfb427c3b99b0dbd71f6154ed899abcde9d7d2992977ac7b2ef3a4c3ff51e4efafd133071a69609b4ed6cb269bdc26b79eb72e1988f10dfcaef8185d950cd1d
+DIST smallvec-1.13.1.crate 34952 BLAKE2B e0dcf1d26883564cd4f5d20a588562404e193075b1ae011f7f7542009a9466e5df3ade7768e1a8feb8806774b2cee5f15d31779928f83714e7d4b6ed46af9ab9 SHA512 1259ef947400470b8c9e74c5582dbc1a49753aa46420883c1f7d66f320f67bebe733a15a23cd57ba461020fad4ff337a5b298de82754602a78f5e6cec969652d
+DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
+DIST speedate-0.13.0.crate 30904 BLAKE2B 8633e1519be119b0e9f045051374963aca1424025a42319cd5509fb5397af05bf13d1262a9da6f2fbf4d78d109da391411e138a859fbf1b96c5149444b1f4954 SHA512 174d7043aa88c2ef9b0624686bdca2c6c4573fb10729d61e762e244e8079d6b34676956326e9f7c68a9f526ef0e5b3444e59a9701e77c6e90825c51c6d4f98c9
+DIST speedate-0.14.0.crate 31499 BLAKE2B e5a63d989feafcb5183e010a431976095bce6492817e0d163e8b0fe3d640e5ef87d11569e5094d788ad7cb113c2fe7b822cbf266027095fc6f2d61ba36e8d38e SHA512 55f8f9de2767e7a4aa8f355f9a781adb7c8fbef072393d13092afc9941dde4a1d706b02d908fc82cdffffa876a87e7a336340320908899774c83c76e743e1107
+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.3.crate 22570 BLAKE2B 511af0d1f0f76df7ad1528c79987b6e09390bfb33e1c34078fb5450171aca7f169afb83fa2f2338a861ded6842c8535ea6e4cdb0d31f341edab0a06d7eeac16c SHA512 e6ebc00943d9f88104815a5bd6a302a391a06fb0ed5ff836e01d341150628684e00e5e2e5b3f6466ece92d376985246f818243a0d1d775cfa55d1c50c0ec0c62
+DIST strum_macros-0.26.1.crate 25326 BLAKE2B 2f52389676e1581abf42995a54d7725b0ece50ba8da2ecba700c359a4bc3dfa3c48440908a57d8f25334a1ab6a844093e131dc351182ecec1cab9bff1b04c407 SHA512 f41fc17aaf84385437605ffa751a9f03d19d230780855f86d60b53de4bd1891519a3550c41a31d44312f44b59c3c184286d9181e40c3fdda3aec0c2806385455
+DIST syn-2.0.48.crate 250566 BLAKE2B e46b0863af76c3116c84d01b654a9820b7edc51f75c9c5301a7967d12284f78da602409f34fc40524728350dc6b998a4d738f08b8868f95236b3e5d24c460580 SHA512 926c0ad55cc743df20f9166b6d71fd44421aeb1f073fd86b6ddb53e13cd508b539c0360ce64b07b65597bb14639c8f33acf7e60951e1e9128624517aa3aee325
+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_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.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
+DIST url-2.5.0.crate 78605 BLAKE2B f3fec3477248cbbe67866577eebb03f517c284a5e5cb783132b11ef3ad156a03524f4730f188d822dec85169d7474e265099296d6bdd4adf5ffaa0a118821617 SHA512 4aedbc48b85bcc2853189f5fe8265a01c76516b5507f4e958d8d0b860fe2590c69c95f0f4b9fd6fac9b8d5911bcb0a5e9ab7f8e8b600f37a12db1438976ee5c3
+DIST uuid-1.6.1.crate 55554 BLAKE2B f9b8eb34f9197734ae9a1437ded396f5e5a8551b54e532053016e0c00c8007644f4fbbd3827c9878cdbf8acaa981d8ae9c94739af7edb6939ec299075ee4b443 SHA512 b9f3dbad176b3640b4b943d127ac8fcd0938e7bc750430626cc603efdcf5faf479f8de7940d64ed1b5b6e6378b42a1aaf3c1e791ee59b9db9394409261cf3c55
+DIST uuid-1.7.0.crate 42627 BLAKE2B 493f6a3a643d3493a2bd7e0e92a1ccfb7bd722e3a1fc8deb7df0ddc875a822daead1cdd35dc3ac6f26346844100a671318d71e5ad760c9587471d4f05bbb0c69 SHA512 2ea704d082b725d98717d772e1af84fe743929ee32658ebeb111c6fa2395ff5f44558b7e375087617f91c6f7bc242f2db96e80a631071722de6fe15af845e856
+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
+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 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/pydantic-core/metadata.xml b/dev-python/pydantic-core/metadata.xml
new file mode 100644
index 000000000000..14a6837b55b0
--- /dev/null
+++ b/dev-python/pydantic-core/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">pydantic/pydantic-core</remote-id>
+ <remote-id type="pypi">pydantic-core</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pydantic-core/pydantic-core-2.16.3.ebuild b/dev-python/pydantic-core/pydantic-core-2.16.3.ebuild
new file mode 100644
index 000000000000..9fca31f622e3
--- /dev/null
+++ b/dev-python/pydantic-core/pydantic-core-2.16.3.ebuild
@@ -0,0 +1,151 @@
+# 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.7
+ aho-corasick@1.0.2
+ allocator-api2@0.2.16
+ autocfg@1.1.0
+ base64@0.21.7
+ 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.1
+ getrandom@0.2.10
+ hashbrown@0.14.3
+ heck@0.4.1
+ idna@0.5.0
+ indexmap@2.0.0
+ indoc@2.0.4
+ itoa@1.0.8
+ jiter@0.0.6
+ 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.1
+ proc-macro2@1.0.76
+ 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
+ python3-dll-a@0.2.9
+ quote@1.0.35
+ 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.195
+ serde_derive@1.0.195
+ serde_json@1.0.109
+ smallvec@1.11.2
+ speedate@0.13.0
+ static_assertions@1.1.0
+ strum@0.25.0
+ strum_macros@0.25.3
+ syn@2.0.48
+ 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.6.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
+ 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}]
+ >=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.17.0.ebuild b/dev-python/pydantic-core/pydantic-core-2.17.0.ebuild
new file mode 100644
index 000000000000..c24dcabdec7e
--- /dev/null
+++ b/dev-python/pydantic-core/pydantic-core-2.17.0.ebuild
@@ -0,0 +1,150 @@
+# 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
+ allocator-api2@0.2.16
+ autocfg@1.1.0
+ base64@0.21.7
+ 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.1
+ 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.1.0
+ 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.0-beta.0
+ pyo3-ffi@0.21.0-beta.0
+ pyo3-macros-backend@0.21.0-beta.0
+ pyo3-macros@0.21.0-beta.0
+ pyo3@0.21.0-beta.0
+ python3-dll-a@0.2.9
+ quote@1.0.35
+ redox_syscall@0.3.5
+ regex-automata@0.4.5
+ regex-syntax@0.8.2
+ regex@1.10.3
+ rustversion@1.0.13
+ ryu@1.0.14
+ scopeguard@1.1.0
+ serde@1.0.196
+ serde_derive@1.0.196
+ serde_json@1.0.114
+ smallvec@1.13.1
+ 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
+ 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.7.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.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}]
+ >=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.0.ebuild b/dev-python/pydantic-core/pydantic-core-2.18.0.ebuild
new file mode 100644
index 000000000000..cb5254fa3415
--- /dev/null
+++ b/dev-python/pydantic-core/pydantic-core-2.18.0.ebuild
@@ -0,0 +1,149 @@
+# 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
+ cc@1.0.79
+ cfg-if@1.0.0
+ enum_dispatch@0.3.13
+ equivalent@1.0.1
+ form_urlencoded@1.2.1
+ 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.2.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.1
+ pyo3-ffi@0.21.1
+ pyo3-macros-backend@0.21.1
+ pyo3-macros@0.21.1
+ pyo3@0.21.1
+ python3-dll-a@0.2.9
+ quote@1.0.35
+ redox_syscall@0.3.5
+ regex-automata@0.4.5
+ regex-syntax@0.8.2
+ regex@1.10.3
+ rustversion@1.0.13
+ ryu@1.0.14
+ scopeguard@1.1.0
+ serde@1.0.197
+ serde_derive@1.0.197
+ serde_json@1.0.114
+ 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
+ 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.7.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.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}]
+ >=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.1.ebuild b/dev-python/pydantic-core/pydantic-core-2.18.1.ebuild
new file mode 100644
index 000000000000..cb5254fa3415
--- /dev/null
+++ b/dev-python/pydantic-core/pydantic-core-2.18.1.ebuild
@@ -0,0 +1,149 @@
+# 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
+ cc@1.0.79
+ cfg-if@1.0.0
+ enum_dispatch@0.3.13
+ equivalent@1.0.1
+ form_urlencoded@1.2.1
+ 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.2.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.1
+ pyo3-ffi@0.21.1
+ pyo3-macros-backend@0.21.1
+ pyo3-macros@0.21.1
+ pyo3@0.21.1
+ python3-dll-a@0.2.9
+ quote@1.0.35
+ redox_syscall@0.3.5
+ regex-automata@0.4.5
+ regex-syntax@0.8.2
+ regex@1.10.3
+ rustversion@1.0.13
+ ryu@1.0.14
+ scopeguard@1.1.0
+ serde@1.0.197
+ serde_derive@1.0.197
+ serde_json@1.0.114
+ 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
+ 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.7.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.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}]
+ >=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/Manifest b/dev-python/pydantic/Manifest
index 58ab5d422376..c7ce829be719 100644
--- a/dev-python/pydantic/Manifest
+++ b/dev-python/pydantic/Manifest
@@ -1,3 +1,3 @@
-DIST pydantic-1.10.2.gh.tar.gz 888288 BLAKE2B 9aac69ace185ccc56255cf36f9af472caf4c6bcbdcbb81eec66353f755673e9a240e7713c0a2ecff00a02e07b0069e4b3f1edda41f345698a979b79dd54b354a SHA512 dc2acfb271cd62b6de08bbaa48dbc76ec8d3a3f3142778ffa2cb9a2a1cad62dbdb3c7470a50e9a2825837b65a48c6aefb8736411f32c398aa9ca779841b53ac5
-DIST pydantic-1.10.3.gh.tar.gz 898768 BLAKE2B e8cec71f0d3f66e2c71e421505f624f7e92827f8fe4ef3a7c637b4f2cbc543d43e63739f8fed1a84246458d6675f19de9f83c7fc2a1d8f6e9fb18807ad5ace6f SHA512 7c9db4a010f14ab41b0e7782e59e51caded5de31798e4dd83e01037e3365e34537b30c79c12a6451fdee875e1bfe1a3d981cae58aa373917f71489231df2e6a6
-DIST pydantic-1.10.4.gh.tar.gz 898916 BLAKE2B 506a53de6a59f858a7c8fd56cf18f8079d48eb4f6d3ba36d149141a7e2d471819a466bfc1c34c879f5ec90c0de385b2b89d58beb75660da7de282278092e901f SHA512 0566f89518c6f0171c9b49b5fb57e568286ed421d64655dde90a1565d0672bfef6237ed99e4120564ca2562c7e29e08d86db4fcec47e605aaa98d60845688e72
+DIST pydantic-2.6.3.tar.gz 680427 BLAKE2B 28d8d4edcfeeae4f0ba70ed09987e26ba569c38b2c511b6d0b4277b830173302228c964f4c086ac4412a331afa3fba16d9581bd31446fb1dfb43065eb29dfc59 SHA512 2eca898328beb1f33e343d3aa7edf8847baae0569d078507a58bbe0fcf355250c72b70a33f6b79cef697f41ced91eaeee1ffc4a7712fd6fd251fd64557e390d0
+DIST pydantic-2.6.4.tar.gz 680828 BLAKE2B 264698f21e4d57656f5a28651019956349a018f16b11099d4afd796329a8ad12847e45250372e5c7b189493e9c73efa624006cb2e6b5a7d77b2c45973a0d813f SHA512 9386c2e04ff71bc182be4892d1cdb910ca60ee68b7cc5c6e86a58529b51707094532dc5315bf152b147979bace3d2e4f6bb4fed546e16fe27b5ecd35c7d0541a
+DIST pydantic-2.7.0.tar.gz 710409 BLAKE2B 79b426edaa599dac99bb4d465690738be2fae5ffb6ba588491470d41d71fc8aecb4cf731457b00dc22911106c86d549ce11118bdc386dfba210cb5973b366aec SHA512 06254a99456a999dd5b165c032e3d5fb48a59d56beb51c1ff77d2dbf181bc2b535801307adf00f3547d5f60fd868ead8d6baf507564c52e09e1efe04c155aeb9
diff --git a/dev-python/pydantic/metadata.xml b/dev-python/pydantic/metadata.xml
index 8370aeb1dd33..d4e4f5e7b94e 100644
--- a/dev-python/pydantic/metadata.xml
+++ b/dev-python/pydantic/metadata.xml
@@ -6,12 +6,10 @@
<name>Python</name>
</maintainer>
<upstream>
+ <remote-id type="cpe">cpe:/a:pydantic_project:pydantic</remote-id>
<remote-id type="pypi">pydantic</remote-id>
<remote-id type="github">pydantic/pydantic</remote-id>
<bugs-to>https://github.com/pydantic/pydantic/issues</bugs-to>
- <doc>https://pydantic-docs.helpmanual.io/</doc>
+ <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.2.ebuild b/dev-python/pydantic/pydantic-1.10.2.ebuild
deleted file mode 100644
index 8daa21803134..000000000000
--- a/dev-python/pydantic/pydantic-1.10.2.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=( pypy3 python3_{9..11} )
-
-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"
-IUSE="+native-extensions"
-
-RDEPEND="
- >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- native-extensions? (
- dev-python/cython[${PYTHON_USEDEP}]
- )
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/python-dotenv[${PYTHON_USEDEP}]
- >=dev-python/python-email-validator-1.2.1[${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
- )
- 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
- )
- ;;
- esac
- rm -rf pydantic || die
- epytest
-}
diff --git a/dev-python/pydantic/pydantic-1.10.3.ebuild b/dev-python/pydantic/pydantic-1.10.3.ebuild
deleted file mode 100644
index 7f061956a374..000000000000
--- a/dev-python/pydantic/pydantic-1.10.3.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=( pypy3 python3_{9..11} )
-
-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"
-IUSE="+native-extensions"
-
-RDEPEND="
- >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- native-extensions? (
- dev-python/cython[${PYTHON_USEDEP}]
- )
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/python-dotenv[${PYTHON_USEDEP}]
- >=dev-python/python-email-validator-1.2.1[${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
- )
- ;;
- esac
- rm -rf pydantic || die
- epytest
-}
diff --git a/dev-python/pydantic/pydantic-1.10.4.ebuild b/dev-python/pydantic/pydantic-1.10.4.ebuild
deleted file mode 100644
index 7f061956a374..000000000000
--- a/dev-python/pydantic/pydantic-1.10.4.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=( pypy3 python3_{9..11} )
-
-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"
-IUSE="+native-extensions"
-
-RDEPEND="
- >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- native-extensions? (
- dev-python/cython[${PYTHON_USEDEP}]
- )
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/python-dotenv[${PYTHON_USEDEP}]
- >=dev-python/python-email-validator-1.2.1[${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
- )
- ;;
- esac
- rm -rf pydantic || die
- epytest
-}
diff --git a/dev-python/pydantic/pydantic-2.6.3.ebuild b/dev-python/pydantic/pydantic-2.6.3.ebuild
new file mode 100644
index 000000000000..a23385a04e01
--- /dev/null
+++ b/dev-python/pydantic/pydantic-2.6.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=( 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.16.3[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.6.1[${PYTHON_USEDEP}]
+"
+# pytest-8: https://github.com/pydantic/pydantic/issues/8674
+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-8[${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.6.4.ebuild b/dev-python/pydantic/pydantic-2.6.4.ebuild
new file mode 100644
index 000000000000..fbf388fc6a32
--- /dev/null
+++ b/dev-python/pydantic/pydantic-2.6.4.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..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.16.3[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.6.1[${PYTHON_USEDEP}]
+"
+# pytest-8: https://github.com/pydantic/pydantic/issues/8674
+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-8[${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.0.ebuild b/dev-python/pydantic/pydantic-2.7.0.ebuild
new file mode 100644
index 000000000000..29b3c947ef29
--- /dev/null
+++ b/dev-python/pydantic/pydantic-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=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.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/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/pydata-sphinx-theme/Manifest b/dev-python/pydata-sphinx-theme/Manifest
index 5c5168b36abd..2c5bd04bcd17 100644
--- a/dev-python/pydata-sphinx-theme/Manifest
+++ b/dev-python/pydata-sphinx-theme/Manifest
@@ -1 +1,2 @@
-DIST pydata-sphinx-theme-0.7.2.gh.tar.gz 2632129 BLAKE2B 2beb9fac60b5f6c863ee4c570b88c4331135d2c8a10d84599f97944002576424caae06d062104a58c7f329f85e046eaa820d03a4117396009084707d563608d7 SHA512 2f6cac080807eab04f1c4de2fdd1563de17f1214f79c094f69b5ff116bcc47f1b0e159d6c87412c8cbe7691b19eebb3b228ca8243d05c81bba94d0aacbdb3e5e
+DIST pydata-sphinx-theme-0.15.2.gh.tar.gz 2409617 BLAKE2B ee9405e36241bfac93927e4de2d12f65b95717e459b1f584179f0d7ad2c5161b85b39ef60527de8b2e0eac8a38621452e3a5dcf15733980359b4f03526a906bb SHA512 11653f36def68ddc63994d00e1de63575ce6a24f7b2887c53ea8c3063bdc30fe57baf25e239a70f63a1598625a3707ac405171230c977d7e0ed3f88404c8cd21
+DIST pydata_sphinx_theme-0.15.2-py3-none-any.whl 4523706 BLAKE2B fdb3ca53d26b7da882b9530929bb41729d77af6aef8c5748c41ab9ea4b43cdc858dd3f270432c18accc59e5408a267125f840b4ed2815d0cda7e748afffa90d0 SHA512 60c00161768cb0259462e7af16b8d2324ddc367391d83efcb34dd7999364b2745795cb6807a903f80cfaf21bd8b2b466cbee3fa9cb800be4221955ab888481d0
diff --git a/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.15.2-r1.ebuild b/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.15.2-r1.ebuild
new file mode 100644
index 000000000000..c6ad991578c5
--- /dev/null
+++ b/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.15.2-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=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-7.3[${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
+
+python_compile() {
+ distutils_wheel_install "${BUILD_DIR}/install" \
+ "${DISTDIR}/$(pypi_wheel_name)"
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)/pydata_sphinx_theme" || die
+ epytest "${S}"/tests
+}
diff --git a/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.7.2-r1.ebuild b/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.7.2-r1.ebuild
deleted file mode 100644
index 88d3ad938d34..000000000000
--- a/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.7.2-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_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-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
-"
-
-LICENSE="BSD-with-disclosure"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-regressions[${PYTHON_USEDEP}]
- )
-"
-
-# TODO: fix this: Sandbox violation to /usr/local/share
-#distutils_enable_sphinx docs dev-python/commonmark dev-python/recommonmark dev-python/numpydoc dev-python/jupyter-sphinx dev-python/plotly dev-python/xarray
-distutils_enable_tests pytest
diff --git a/dev-python/pydbus/Manifest b/dev-python/pydbus/Manifest
index b9f58f6611ea..fd833fda4be2 100644
--- a/dev-python/pydbus/Manifest
+++ b/dev-python/pydbus/Manifest
@@ -1 +1 @@
-DIST pydbus-0.6.0.tar.gz 2083046 BLAKE2B 65b50b272b004b30411ff396a9c50d8602485f281100467e2c75ed300cdb0a83532a354a62ef1a8e7ee38a41af243ea7de7a5e80232cfc7c79540e8ed71741c6 SHA512 65ac490dd44ad0aba0b3ea5c58cf6a99bd9de0ce86c6f03b9696335fb2d3f63df0e2e23a022d31d0185f7b8307bcc0f6e230efecc31199fc177f9a8a25929ad7
+DIST pydbus-0.6.0.gh.tar.gz 2083046 BLAKE2B 65b50b272b004b30411ff396a9c50d8602485f281100467e2c75ed300cdb0a83532a354a62ef1a8e7ee38a41af243ea7de7a5e80232cfc7c79540e8ed71741c6 SHA512 65ac490dd44ad0aba0b3ea5c58cf6a99bd9de0ce86c6f03b9696335fb2d3f63df0e2e23a022d31d0185f7b8307bcc0f6e230efecc31199fc177f9a8a25929ad7
diff --git a/dev-python/pydbus/metadata.xml b/dev-python/pydbus/metadata.xml
index ed8e75d331f4..a30c89b5993c 100644
--- a/dev-python/pydbus/metadata.xml
+++ b/dev-python/pydbus/metadata.xml
@@ -9,5 +9,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">pydbus</remote-id>
+ <remote-id type="github">LEW21/pydbus</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pydbus/pydbus-0.6.0-r1.ebuild b/dev-python/pydbus/pydbus-0.6.0-r1.ebuild
new file mode 100644
index 000000000000..b43be7f15cd6
--- /dev/null
+++ b/dev-python/pydbus/pydbus-0.6.0-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-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="Pythonic DBus library"
+HOMEPAGE="https://github.com/LEW21/pydbus"
+SRC_URI="https://github.com/LEW21/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="LGPL-2.1"
+KEYWORDS="amd64 arm64"
+SLOT="0"
+
+RDEPEND="
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ sys-apps/dbus
+"
+
+python_test() {
+ PYTHONPATH="${BUILD_DIR}/install/$(python_get_sitedir)" \
+ sh tests/run.sh "${PYTHON}" || die
+}
diff --git a/dev-python/pydbus/pydbus-0.6.0.ebuild b/dev-python/pydbus/pydbus-0.6.0.ebuild
deleted file mode 100644
index d8a1f968e26d..000000000000
--- a/dev-python/pydbus/pydbus-0.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=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pythonic DBus library"
-HOMEPAGE="https://github.com/LEW21/pydbus"
-SRC_URI="https://github.com/LEW21/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-KEYWORDS="amd64"
-SLOT="0"
-
-RDEPEND="
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- sys-apps/dbus
-"
-
-python_test() {
- sh tests/run.sh "${PYTHON}" || die
-}
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 52248ddb3d9c..aac1fef617ef 100644
--- a/dev-python/pydevd/Manifest
+++ b/dev-python/pydevd/Manifest
@@ -1 +1,3 @@
-DIST pydevd-2.9.3.gh.tar.gz 3979334 BLAKE2B f26af62d12d89317ffc9e670c78bac2c977195897dfb858861f6d12a331714c084d11dc030efe82777d51f9cd429b54d78c7126f366fdda15ebd315121b55dcd SHA512 c8d30658e84a1edd3e4d0cd35563f50231b6a2df247fecab5e90236c4c80da10e7fe5f182b1791f86063d3228d115d32d388087605e58842505ab19aabe75444
+DIST PyDev.Debugger-pydev_debugger_2_10_0.gh.tar.gz 4019265 BLAKE2B e72c96576588ac3cbfcdd71a1a8e96d41b9d6757b3468c372b45a9c91a887c693f7309467fe8ea27d29c4775cc8df9ebd610b015cecabaaea43c8aa75229bc25 SHA512 a475e4f4cd9f883307d30b0bb2ebd5095de426b52f0f70b1a557095c06241149ad105ca4cbb31d311fa54e4387bbed27e5cf2712ba7447b19720d46dac21a101
+DIST PyDev.Debugger-pydev_debugger_3_0_3.gh.tar.gz 4287855 BLAKE2B 2f9f9cc892a19e42a37190966f2d2897f3e5da477c88d76d4b61b3062b6482db4c4cf5672efe75a1c139aa42a6b017cb5b276cede1167d0e91ca50009706e7e7 SHA512 4a5d03ea69e9eb40ee09c8d9a2258655f1645076757fa02bf92c8ad1b4fbb0570c1ac55464d8dd44cea6187ad2fa858851e02a86dc18b2343411cd8c56dc0c6a
+DIST pydevd-2.9.5.gh.tar.gz 3982897 BLAKE2B 06f0712301b419c472bcef2443a2ed277eb477041ff2e40e41b57f61649d84a7559dcae82c30ac572b14e90b98c2b9b9542c7360deded087eec92aeb0372ad67 SHA512 9aa38bc9a238e6f2956883a6318536382726013ea9e4a9d902b36d60df0cf924c279545bcdf92afdb435bfe36598982edd5805725860798fb3970b105254ba1d
diff --git a/dev-python/pydevd/pydevd-2.10.0.ebuild b/dev-python/pydevd/pydevd-2.10.0.ebuild
new file mode 100644
index 000000000000..e4df47c1daaf
--- /dev/null
+++ b/dev-python/pydevd/pydevd-2.10.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=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="
+ dev-debug/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.3.ebuild b/dev-python/pydevd/pydevd-2.9.3.ebuild
deleted file mode 100644
index a78c1bb016df..000000000000
--- a/dev-python/pydevd/pydevd-2.9.3.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=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}]
- )
-"
-
-# Block against the version of debugpy that still bundles pydevd
-RDEPEND="
- !<dev-python/debugpy-1.4.2
- 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-2.9.5.ebuild b/dev-python/pydevd/pydevd-2.9.5.ebuild
new file mode 100644
index 000000000000..8fd4f838ad1a
--- /dev/null
+++ b/dev-python/pydevd/pydevd-2.9.5.ebuild
@@ -0,0 +1,90 @@
+# 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} )
+
+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="dev-debug/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.0.3.ebuild b/dev-python/pydevd/pydevd-3.0.3.ebuild
new file mode 100644
index 000000000000..be32f4c1ae55
--- /dev/null
+++ b/dev-python/pydevd/pydevd-3.0.3.ebuild
@@ -0,0 +1,134 @@
+# 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
+
+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
+ 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
+
+ # 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_is_main_thread
+ )
+
+ case ${EPYTHON} in
+ python3.10)
+ EPYTEST_DESELECT+=(
+ tests_python/test_debugger.py::test_frame_eval_limitations
+ )
+ ;&
+ python3.11)
+ EPYTEST_DESELECT+=(
+ tests_python/test_debugger.py::test_remote_debugger_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/files/pydiffx-1.1-fix-py3.12.patch b/dev-python/pydiffx/files/pydiffx-1.1-fix-py3.12.patch
new file mode 100644
index 000000000000..1be51cdb6c93
--- /dev/null
+++ b/dev-python/pydiffx/files/pydiffx-1.1-fix-py3.12.patch
@@ -0,0 +1,14 @@
+https://github.com/beanbaginc/diffx/pull/5
+From: Arthur Zamarin <arthurzam@gentoo.org>
+Date: Tue, 6 Jun 2023 20:32:44 +0300
+Subject: [PATCH] fix usage of deprecated assertRaisesRegex
+
+--- a/pydiffx/tests/testcases.py
++++ b/pydiffx/tests/testcases.py
+@@ -65,5 +65,5 @@ def assertMultiLineBytesEqual(self, first, second, line_endings='unix'):
+
+ @contextmanager
+ def assertRaisesMessage(self, exception, message):
+- with self.assertRaisesRegexp(exception, re.escape(message)):
++ with self.assertRaises(exception, msg=message):
+ yield
diff --git a/dev-python/pydiffx/pydiffx-1.1.ebuild b/dev-python/pydiffx/pydiffx-1.1.ebuild
index ec079b0ec93f..850b78f95d84 100644
--- a/dev-python/pydiffx/pydiffx-1.1.ebuild
+++ b/dev-python/pydiffx/pydiffx-1.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}/python
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="
dev-python/six[${PYTHON_USEDEP}]
@@ -34,6 +34,10 @@ BDEPEND="
)
"
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-py3.12.patch
+)
+
distutils_enable_tests unittest
src_prepare() {
diff --git a/dev-python/pydocstyle/Manifest b/dev-python/pydocstyle/Manifest
deleted file mode 100644
index c27423b73e42..000000000000
--- a/dev-python/pydocstyle/Manifest
+++ /dev/null
@@ -1,5 +0,0 @@
-DIST pydocstyle-6.1.1.tar.gz 73982 BLAKE2B 6a896221fdcd257f0475472e1cf87ef892d8292a4c0faf661595adb17e2d18f4a8277cda498197309d34597c448203856c272256277a7e35fba20e2e5ba47f2b SHA512 ce4932a6601c80d05a46600f5af7df54798025a5f3dc41ab8cf1bc0d63e7f78b70cccb17dc99ddab25eda9abd639f91468fca1b1ceb4539708350212e481a156
-DIST pydocstyle-6.2.0.gh.tar.gz 77296 BLAKE2B 22f6d8691763b6c3e41bca7d0ef5193a282189f442072089aebb6d96d2e039e971e9e5645e50f4bcb8433f36cdf0e33c956c4ac381f2e7e649d010d63f5db501 SHA512 382c74d22072337a624ac635d95c9cf5fbbd373c11c85b6302c56bf21f099ebc4dd8eec2f896a8c02d4548524078daebbceef7c4fb055dfb6a6eadab0e42a190
-DIST pydocstyle-6.2.2.gh.tar.gz 77412 BLAKE2B 5aa2eaa52e97d705fc6972db985ccb7927b856944250de8153ecdb3285bd0ec75305186a7d2e6904ccead9b4299637af83496456e2af9769fcf62fa0fae041cf SHA512 2097ec9d3429c83de821630384e717074abc39dfdff928327e8ccf4a1ba91592926ac55784403b559d88a8bb9a29557a2a406863c8603644de5d17972c63e4f5
-DIST pydocstyle-6.2.3.gh.tar.gz 77612 BLAKE2B f94b9c8232a3e96dad1d84d37bf7cc53f114edfddbd0dad725ff3bb79f39576a5fceff5a2b962e284e9d0d96ac8d71e5aa0406322af4bf8fdc73910348ff9190 SHA512 b275bd2367a3a6d4636a2879f503da15b9965bffe2750db87cbd3ca09fc3353a481a9c38e1b35b3b2aeeba019e9dd393d2cb65db2820d6343fb4c9881f7e6deb
-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/files/pydocstyle-6.1.1-tomli.patch b/dev-python/pydocstyle/files/pydocstyle-6.1.1-tomli.patch
deleted file mode 100644
index 8be2adca5ba1..000000000000
--- a/dev-python/pydocstyle/files/pydocstyle-6.1.1-tomli.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From 4c9ed77d3629a69febdaa14d153d3db869b58e4f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Wed, 12 Oct 2022 16:37:40 +0200
-Subject: [PATCH] Use tomllib/tomli for reading .toml configs
-
-Use the built-in `tomllib` module in Python 3.11 and the modern `tomli`
-package in older Python versions to read .toml configs instead of
-the unmaintained and broken `toml` package.
-
-Fixes #599
-Fixes #600
----
- docs/release_notes.rst | 1 +
- requirements/runtime.txt | 2 +-
- requirements/tests.txt | 1 -
- setup.py | 2 +-
- src/pydocstyle/config.py | 20 ++++++++++++--------
- 5 files changed, 15 insertions(+), 11 deletions(-)
-
-diff --git a/requirements/runtime.txt b/requirements/runtime.txt
-index 80302751..b4e9ca76 100644
---- a/requirements/runtime.txt
-+++ b/requirements/runtime.txt
-@@ -1,2 +1,2 @@
- snowballstemmer==1.2.1
--toml==0.10.2
-+tomli==2.0.1; python_version < "3.11"
-diff --git a/setup.py b/setup.py
-index a9c5df1c..6c0671c7 100644
---- a/setup.py
-+++ b/setup.py
-@@ -8,7 +8,7 @@
- 'snowballstemmer',
- ]
- extra_requirements = {
-- 'toml': ['toml'],
-+ 'toml': ['tomli; python_version < "3.11"'],
- }
-
-
-diff --git a/src/pydocstyle/config.py b/src/pydocstyle/config.py
-index ed00c874..db7ed1b6 100644
---- a/src/pydocstyle/config.py
-+++ b/src/pydocstyle/config.py
-@@ -4,6 +4,7 @@
- import itertools
- import operator
- import os
-+import sys
- from collections import namedtuple
- from collections.abc import Set
- from configparser import NoOptionError, NoSectionError, RawConfigParser
-@@ -13,10 +14,13 @@
- from .utils import __version__, log
- from .violations import ErrorRegistry, conventions
-
--try:
-- import toml
--except ImportError: # pragma: no cover
-- toml = None # type: ignore
-+if sys.version_info >= (3, 11):
-+ import tomllib
-+else:
-+ try:
-+ import tomli as tomllib
-+ except ImportError: # pragma: no cover
-+ tomllib = None # type: ignore
-
-
- def check_initialized(method):
-@@ -59,15 +63,15 @@ def read(self, filenames, encoding=None):
- read_ok = []
- for filename in filenames:
- try:
-- with open(filename, encoding=encoding) as fp:
-- if not toml:
-+ with open(filename, "rb") as fp:
-+ if not tomllib:
- log.warning(
- "The %s configuration file was ignored, "
-- "because the `toml` package is not installed.",
-+ "because the `tomli` package is not installed.",
- filename,
- )
- continue
-- self._config.update(toml.load(fp))
-+ self._config.update(tomllib.load(fp))
- except OSError:
- continue
- if isinstance(filename, os.PathLike):
diff --git a/dev-python/pydocstyle/files/pydocstyle-6.2.0-tomli.patch b/dev-python/pydocstyle/files/pydocstyle-6.2.0-tomli.patch
deleted file mode 100644
index f7600d1973bb..000000000000
--- a/dev-python/pydocstyle/files/pydocstyle-6.2.0-tomli.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From b45a393b2f0c4ce0f17c3e58cf5d768bd653e155 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Tue, 3 Jan 2023 06:49:32 +0100
-Subject: [PATCH] Use tomllib/tomli for reading .toml configs
-
-Use the built-in `tomllib` module in Python 3.11 and the modern `tomli`
-package in older Python versions to read .toml configs instead of
-the unmaintained and broken `toml` package.
-
-Fixes #599
-Fixes #600
----
- docs/release_notes.rst | 7 +++++++
- poetry.lock | 16 ++++++++--------
- pyproject.toml | 4 ++--
- requirements/runtime.txt | 2 +-
- requirements/tests.txt | 1 -
- src/pydocstyle/config.py | 20 ++++++++++++--------
- 6 files changed, 30 insertions(+), 20 deletions(-)
-
-diff --git a/pyproject.toml b/pyproject.toml
-index 607aa3f..84bfe0d 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -21,11 +21,11 @@ classifiers = [
- [tool.poetry.dependencies]
- python = ">=3.6"
- snowballstemmer = ">=2.2.0"
--toml = {version = ">=0.10.2", optional = true}
-+tomli = {version = ">=1.2.3", optional = true, python = "<3.11"}
- importlib-metadata = {version = ">=2.0.0,<5.0.0", python = "<3.8"}
-
- [tool.poetry.extras]
--toml = ["toml"]
-+toml = ["tomli"]
-
- [tool.poetry.scripts]
- pydocstyle = "pydocstyle.cli:main"
-diff --git a/src/pydocstyle/config.py b/src/pydocstyle/config.py
-index 4819cde..c05f7dc 100644
---- a/src/pydocstyle/config.py
-+++ b/src/pydocstyle/config.py
-@@ -4,6 +4,7 @@ import copy
- import itertools
- import operator
- import os
-+import sys
- from collections import namedtuple
- from collections.abc import Set
- from configparser import NoOptionError, NoSectionError, RawConfigParser
-@@ -14,10 +15,13 @@ from ._version import __version__
- from .utils import log
- from .violations import ErrorRegistry, conventions
-
--try:
-- import toml
--except ImportError: # pragma: no cover
-- toml = None # type: ignore
-+if sys.version_info >= (3, 11):
-+ import tomllib
-+else:
-+ try:
-+ import tomli as tomllib
-+ except ImportError: # pragma: no cover
-+ tomllib = None # type: ignore
-
-
- def check_initialized(method):
-@@ -60,15 +64,15 @@ class TomlParser:
- read_ok = []
- for filename in filenames:
- try:
-- with open(filename, encoding=encoding) as fp:
-- if not toml:
-+ with open(filename, "rb") as fp:
-+ if not tomllib:
- log.warning(
- "The %s configuration file was ignored, "
-- "because the `toml` package is not installed.",
-+ "because the `tomli` package is not installed.",
- filename,
- )
- continue
-- self._config.update(toml.load(fp))
-+ self._config.update(tomllib.load(fp))
- except OSError:
- continue
- if isinstance(filename, os.PathLike):
---
-2.39.0
-
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.1.1-r2.ebuild b/dev-python/pydocstyle/pydocstyle-6.1.1-r2.ebuild
deleted file mode 100644
index 299a684c655a..000000000000
--- a/dev-python/pydocstyle/pydocstyle-6.1.1-r2.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=( 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}.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[${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
- "${FILESDIR}"/${P}-tomli.patch
-)
diff --git a/dev-python/pydocstyle/pydocstyle-6.2.0.ebuild b/dev-python/pydocstyle/pydocstyle-6.2.0.ebuild
deleted file mode 100644
index a9b0475090f0..000000000000
--- a/dev-python/pydocstyle/pydocstyle-6.2.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=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
- "${FILESDIR}"/${P}-tomli.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/pydocstyle/pydocstyle-6.2.2.ebuild b/dev-python/pydocstyle/pydocstyle-6.2.2.ebuild
deleted file mode 100644
index 4a3853bdbf36..000000000000
--- a/dev-python/pydocstyle/pydocstyle-6.2.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=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/pydocstyle/pydocstyle-6.2.3.ebuild b/dev-python/pydocstyle/pydocstyle-6.2.3.ebuild
deleted file mode 100644
index 4a3853bdbf36..000000000000
--- a/dev-python/pydocstyle/pydocstyle-6.2.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=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/pydocstyle/pydocstyle-6.3.0.ebuild b/dev-python/pydocstyle/pydocstyle-6.3.0.ebuild
deleted file mode 100644
index 4a3853bdbf36..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 c1159712b377..7f0890e5c6eb 100644
--- a/dev-python/pydot/Manifest
+++ b/dev-python/pydot/Manifest
@@ -1 +1 @@
-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
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 264ba8777f16..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..10} )
-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 ~sparc-solaris"
-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-2.0.0.ebuild b/dev-python/pydot/pydot-2.0.0.ebuild
new file mode 100644
index 000000000000..d3417c1391b7
--- /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..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-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/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 b9bef758b002..000000000000
--- a/dev-python/pydotplus/pydotplus-2.0.2-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="Improved version of the old pydot project"
-HOMEPAGE="https://pydotplus.readthedocs.org/"
-SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz"
-
-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 a9486f31a3ea..396f07176548 100644
--- a/dev-python/pydyf/Manifest
+++ b/dev-python/pydyf/Manifest
@@ -1 +1 @@
-DIST pydyf-0.5.0.gh.tar.gz 14949 BLAKE2B 07669872135568781b9976bf3fb027784e6a5fee5cddb76c719ca3be7cf20d2ad3416435e1ca9ae2eca097ffdcd8ffc0596e5961e128cb8ce75519de9496e89c SHA512 aeef3b90853b7fd9c157d558185c66887dc227950f087248f53860da43830eb488154b80059ccb7d8f61192111028a129442c185b99f88acf8c9417ebdc873a3
+DIST pydyf-0.9.0.tar.gz 17270 BLAKE2B df2068a2447a36d730d19f12917345ac85026f695193d39267a540a2776aaac6cfa4c501adec25a49183fe92b9b2e4bc089fd3be29943a09a627d4505fc6d3cb SHA512 e834026cae3782f7ac43b47bc30d21f3d1c39bcd4017823aaf01f5da4a67f924650f6e0285107d07bc63743ff4d718b3165a84c5805223305907ba3de45207a5
diff --git a/dev-python/pydyf/pydyf-0.5.0.ebuild b/dev-python/pydyf/pydyf-0.5.0.ebuild
deleted file mode 100644
index 39ab1b074264..000000000000
--- a/dev-python/pydyf/pydyf-0.5.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=flit
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A low-level PDF generator"
-HOMEPAGE="
- https://pypi.org/project/pydyf/
- https://github.com/CourtBouillon/pydyf/
-"
-SRC_URI="
- https://github.com/CourtBouillon/pydyf/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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.9.0.ebuild b/dev-python/pydyf/pydyf-0.9.0.ebuild
new file mode 100644
index 000000000000..8f6a893342f2
--- /dev/null
+++ b/dev-python/pydyf/pydyf-0.9.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..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 1c8dcd15ed16..d7b6b193ba80 100644
--- a/dev-python/pyeclib/pyeclib-1.6.1.ebuild
+++ b/dev-python/pyeclib/pyeclib-1.6.1.ebuild
@@ -3,17 +3,17 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1 optfeature
+inherit distutils-r1 optfeature pypi
DESCRIPTION="Messaging API for RPC and notifications over different messaging transports"
HOMEPAGE="
https://opendev.org/openstack/pyeclib/
https://pypi.org/project/pyeclib/
"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/pyelftools/Manifest b/dev-python/pyelftools/Manifest
index 693998d18175..8856d57cb21b 100644
--- a/dev-python/pyelftools/Manifest
+++ b/dev-python/pyelftools/Manifest
@@ -1 +1 @@
-DIST pyelftools-0.29.gh.tar.gz 14176561 BLAKE2B 441260492f8cd512445249700a79f1d823ef96f6213ab9183e17160b76efe51493c28d2ae8ecea79acf45e78987b4c24940441e9bc0a3deaeda0ee4fb72b58c3 SHA512 0eba3b029a734abe9f8df92cd58bc967f10bf9f61c3a419bdbc5e637200844dddd947bcb485e8ebbe2eeaa7f7e91efc6500316af51aace1db051a658cf61153e
+DIST pyelftools-0.31.gh.tar.gz 14204157 BLAKE2B 9e5a1e0a7b9292b30db7331e18c5c800f84eb087b58b266f3f23a7c9c5e7ea655f913788495e1df04e79c9f0a82789cad58ee2dcd8a0afb17e696d4c58679f33 SHA512 7f4ef37da7fda75125cb95ced2f3084848943592eff7deae7ae917508f1cd5281c96960ee3bbc6e503e71a4e2196622cd68cc67e3df1f4cd99b9b675f14fd58c
diff --git a/dev-python/pyelftools/pyelftools-0.29.ebuild b/dev-python/pyelftools/pyelftools-0.29.ebuild
deleted file mode 100644
index 97705eefc5ec..000000000000
--- a/dev-python/pyelftools/pyelftools-0.29.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_{9..11} )
-
-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"
-IUSE="examples"
-
-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
-}
-
-python_install_all() {
- use examples && dodoc -r examples
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pyelftools/pyelftools-0.31.ebuild b/dev-python/pyelftools/pyelftools-0.31.ebuild
new file mode 100644
index 000000000000..e98dfab791a2
--- /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..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/pyenchant/pyenchant-3.2.2-r1.ebuild b/dev-python/pyenchant/pyenchant-3.2.2-r1.ebuild
index 8426b6d3cb21..7020eba0b0e4 100644
--- a/dev-python/pyenchant/pyenchant-3.2.2-r1.ebuild
+++ b/dev-python/pyenchant/pyenchant-3.2.2-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -32,3 +32,9 @@ BDEPEND="
"
distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # https://github.com/pyenchant/pyenchant/issues/313
+ tests/test_pwl.py::test_dwpwl
+ tests/test_pwl.py::test_suggestions
+)
diff --git a/dev-python/pyfakefs/Manifest b/dev-python/pyfakefs/Manifest
index 3117f1c86cad..f8ed7f01d7bd 100644
--- a/dev-python/pyfakefs/Manifest
+++ b/dev-python/pyfakefs/Manifest
@@ -1,2 +1,3 @@
-DIST pyfakefs-5.0.0.gh.tar.gz 211213 BLAKE2B 79b83e0a07b094727a0e8d869c99ca64e132f1b7e81202fccad2b4a34871e86630defb87bb5bcfd638a59908c5fdf230aa0cc1e2e3b8393259374a6c5087db90 SHA512 e7125d3b9b186d121bc0b0dba5acf27afe405a6e2a4d8152008450f83a65918b1f612e479ab56c065542dd070b84aeb97cd281123636c062981873d94e4d935a
-DIST pyfakefs-5.1.0.gh.tar.gz 212507 BLAKE2B b9607ff2af71d6697bb5ea5ceae0bb1b92b9aa2e91bafdf24d3dab6f5412a6fd8ff590983085079e9a7b1569b839f4fc5b443d5904decf2de5511ab856e8de7d SHA512 40d4e3fb422c2d9515c00bfa9940a8799d5e102a5775ac34d45e99286759451d1287df1e32f45956a84c1052cc02eed98a8f9789a628ac253771042b011ddd3e
+DIST pyfakefs-5.3.5.gh.tar.gz 227359 BLAKE2B 635e41cb9892e1707555559769c01d5b575e44c5f1dd412acc05c3bed3b2dad2724ba32341b59cdecdfb658c94008e09396970349d8c1ffdcb90bf89ea82aca0 SHA512 342dc9cc0378af8cd8a9b0783fb6a1415207505ec8d4992f8fdd7e8d2bc4aada26d0803ed3b74d30b42a50dffb793c70acdeb3f28f199c0918783e1ea0a5e0d8
+DIST pyfakefs-5.4.0.gh.tar.gz 237951 BLAKE2B c71354c00f9e33248796cf02a0fc85ec53904900deebfd40e5755e23a0fc43012ce0128a8145ec2e9d6b8724f5733634810dc2018aeaaeea9301e91cee71dbf1 SHA512 e8d6bf79cd5381c0b7157741b8b0de068ea19148f48ce0841cff48e05d48dd01090ae73c5c1e633797a479631d2072a6c16350eabe6edcf0590e8e98f2b187a0
+DIST pyfakefs-5.4.1.gh.tar.gz 237928 BLAKE2B 8abea2d884d69717ab754c38666633f86230e981ddb099f8f9493d4d82ff0ff73e644ec793ea5e68edc662fee72dfd833fcab068b73fd5285555d2e5d8445823 SHA512 f27ce662a443623717a91e3fe1895cbbf7a64d009b7846b61c890ebabb0c3bb978b12bb83b68460fc026f4a0cfe846afb6057b72306e822dc8ba75d6e2f1b555
diff --git a/dev-python/pyfakefs/pyfakefs-5.0.0.ebuild b/dev-python/pyfakefs/pyfakefs-5.0.0.ebuild
deleted file mode 100644
index bd296d0b3f4b..000000000000
--- a/dev-python/pyfakefs/pyfakefs-5.0.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_{9..11} 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 -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pyfakefs.pytest_plugin
-}
diff --git a/dev-python/pyfakefs/pyfakefs-5.1.0.ebuild b/dev-python/pyfakefs/pyfakefs-5.1.0.ebuild
deleted file mode 100644
index 876026d4079f..000000000000
--- a/dev-python/pyfakefs/pyfakefs-5.1.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_{9..11} 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 -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..0f4599b8a6e3
--- /dev/null
+++ b/dev-python/pyfakefs/pyfakefs-5.3.5.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} 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
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pyfakefs.pytest_plugin
+}
diff --git a/dev-python/pyfakefs/pyfakefs-5.4.0.ebuild b/dev-python/pyfakefs/pyfakefs-5.4.0.ebuild
new file mode 100644
index 000000000000..85eb97cbee97
--- /dev/null
+++ b/dev-python/pyfakefs/pyfakefs-5.4.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.4.1.ebuild b/dev-python/pyfakefs/pyfakefs-5.4.1.ebuild
new file mode 100644
index 000000000000..85eb97cbee97
--- /dev/null
+++ b/dev-python/pyfakefs/pyfakefs-5.4.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..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/pyflakes/Manifest b/dev-python/pyflakes/Manifest
index ae8dfb6b9a88..24bae05ca629 100644
--- a/dev-python/pyflakes/Manifest
+++ b/dev-python/pyflakes/Manifest
@@ -1 +1 @@
-DIST pyflakes-3.0.1.tar.gz 63554 BLAKE2B 992dc4c81204c9ae2fd44744452e76a11209552edaef930edb14b7ba4763720cd1c0c0cd148fa7edd474b33aa529d8ec28f7f35a2b02b707d58cf70243fc13a9 SHA512 10ffe2b92f3885d40578452423a93609f8546b2392997bdbc3f64ca0094516ce6b8449e5d3675bda5fdbc16190c89be23609559fc4cd4f1c97e6af032226d7b7
+DIST pyflakes-3.2.0.tar.gz 63788 BLAKE2B 12547bc1ef69d11efb86198c091072085df8a5435608aace18eab9da92b428980ad62fc4b7b6e182bee7963c511b637c17191db9138fc811256f553b902dbd66 SHA512 bd413b2ad80ae942bc13cef5ecb3a47b09abb0641fe468d427717b32895eb1702c9e8831867fbaa1de6fff71ab16bc3dae96f745bbc3e7d99de104a008f397ba
diff --git a/dev-python/pyflakes/pyflakes-3.0.1.ebuild b/dev-python/pyflakes/pyflakes-3.0.1.ebuild
deleted file mode 100644
index 5e87b633ea5c..000000000000
--- a/dev-python/pyflakes/pyflakes-3.0.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Passive checker for Python programs"
-HOMEPAGE="
- https://github.com/PyCQA/pyflakes/
- https://pypi.org/project/pyflakes/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-distutils_enable_tests unittest
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..cfab4fb36de1
--- /dev/null
+++ b/dev-python/pyflakes/pyflakes-3.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=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/pyformance/pyformance-0.4-r1.ebuild b/dev-python/pyformance/pyformance-0.4-r1.ebuild
deleted file mode 100644
index 4e489d3f28a2..000000000000
--- a/dev-python/pyformance/pyformance-0.4-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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Performance metrics, based on Coda Hale's Yammer metrics"
-HOMEPAGE="https://pyformance.readthedocs.org/ https://github.com/omergertel/pyformance/ https://pypi.org/project/pyformance/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- https://dev.gentoo.org/~chutzpah/dist/python/${P}-patches.tar.xz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-BDEPEND="
- test? ( dev-python/mock[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${WORKDIR}/${P}-patches"
-)
-
-python_prepare() {
- sed -e "s/find_packages()/find_packages(exclude=['tests'])/" \
- -i setup.py || die
-}
diff --git a/dev-python/pyformance/pyformance-0.4-r2.ebuild b/dev-python/pyformance/pyformance-0.4-r2.ebuild
new file mode 100644
index 000000000000..ac1cce67789d
--- /dev/null
+++ b/dev-python/pyformance/pyformance-0.4-r2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Performance metrics, based on Coda Hale's Yammer metrics"
+HOMEPAGE="
+ https://pyformance.readthedocs.org/
+ https://github.com/omergertel/pyformance/
+ https://pypi.org/project/pyformance/
+"
+SRC_URI+="
+ https://dev.gentoo.org/~chutzpah/dist/python/${P}-patches.tar.xz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${WORKDIR}/${P}-patches"
+)
+
+src_prepare() {
+ sed -e "s/find_packages()/find_packages(exclude=['tests'])/" \
+ -i setup.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/pyftpdlib/Manifest b/dev-python/pyftpdlib/Manifest
index d67a2f45e6ac..187310993d85 100644
--- a/dev-python/pyftpdlib/Manifest
+++ b/dev-python/pyftpdlib/Manifest
@@ -1 +1 @@
-DIST pyftpdlib-1.5.7.tar.gz 196076 BLAKE2B 9400fb9ff5d8c0e904f07dabef72a07528bc43a5332ad26544f0e512c457a919e887e9f9af18b75cb7853f2e0b70993bc5a858438924320e738d4bc9e2e17090 SHA512 66ad5a1ab8fde26233250351f553cdc411303616d717c416cdce059f93c64e6ef64c7707103644583249b6aba22a9841994b38e731edc7997e95e266dbdbdc22
+DIST pyftpdlib-1.5.9.tar.gz 204755 BLAKE2B f96e670a37023489a3f70f28d7e489633031f4c8dd34e6ece04a13a36a5de60f216dc267a80650c3f315a6a83081b1afc1b470c75ca18af5a80729a7ac363b98 SHA512 3efa07f5522cee89d2bf60c93b1315dfb149da622f34e043aca0ac1c4336c0a0885d7238123068401afa6988da9cbde6adfac78f08918d3a14e84c17ebb8b32f
diff --git a/dev-python/pyftpdlib/pyftpdlib-1.5.7.ebuild b/dev-python/pyftpdlib/pyftpdlib-1.5.7.ebuild
deleted file mode 100644
index ae9de9e538d8..000000000000
--- a/dev-python/pyftpdlib/pyftpdlib-1.5.7.ebuild
+++ /dev/null
@@ -1,84 +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} )
-PYTHON_REQ_USE="ssl(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Python FTP server library"
-HOMEPAGE="https://github.com/giampaolo/pyftpdlib https://pypi.org/project/pyftpdlib/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris"
-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() {
- cd "${BUILD_DIR}"/lib || die
-
- # These tests fail when passing additional options to pytest
- # so we need to run them separately and not pass any args to pytest
- pytest ${PN}/test/test_misc.py || die "Tests failed with ${EPYTHON}"
- # Some of these tests tend to fail
- local EPYTEST_DESELECT=(
- # Those tests are run separately
- pyftpdlib/test/test_misc.py
- # https://github.com/giampaolo/pyftpdlib/issues/471
- # https://bugs.gentoo.org/636410
- pyftpdlib/test/test_functional.py::TestCallbacks::test_on_incomplete_file_received
- # https://github.com/giampaolo/pyftpdlib/issues/512
- # https://bugs.gentoo.org/701146
- pyftpdlib/test/test_functional_ssl.py::TestFtpStoreDataTLSMixin::test_rest_on_stor
- pyftpdlib/test/test_functional_ssl.py::TestFtpStoreDataTLSMixin::test_stor_ascii
- # https://github.com/giampaolo/pyftpdlib/issues/513
- # https://bugs.gentoo.org/676232
- pyftpdlib/test/test_servers.py::TestFtpAuthentication::test_anon_auth
- # https://github.com/giampaolo/pyftpdlib/issues/513
- # https://bugs.gentoo.org/702578
- pyftpdlib/test/test_servers.py::TestFtpAuthentication::test_auth_failed
- # https://github.com/giampaolo/pyftpdlib/issues/543
- # https://bugs.gentoo.org/758686
- pyftpdlib/test/test_functional.py::ThreadedFTPTests::test_idle_timeout
- pyftpdlib/test/test_functional.py::ThreadedFTPTests::test_stou_max_tries
- # https://github.com/giampaolo/pyftpdlib/issues/550
- # https://bugs.gentoo.org/759040
- pyftpdlib/test/test_functional.py::TestConfigurableOptions::test_masquerade_address
- pyftpdlib/test/test_functional.py::TestConfigurableOptions::test_masquerade_address_map
- pyftpdlib/test/test_functional_ssl.py::TestConfigurableOptions::test_masquerade_address
- pyftpdlib/test/test_functional_ssl.py::TestConfigurableOptions::test_masquerade_address_map
- pyftpdlib/test/test_functional_ssl.py::TestConfigurableOptionsTLSMixin::test_masquerade_address
- pyftpdlib/test/test_functional_ssl.py::TestConfigurableOptionsTLSMixin::test_masquerade_address_map
- )
- # 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
-}
-
-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
new file mode 100644
index 000000000000..275a6c59bbf5
--- /dev/null
+++ b/dev-python/pyftpdlib/pyftpdlib-1.5.9.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2023 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/Manifest b/dev-python/pyfuse3/Manifest
index 09dab2f84912..4b6c7350f565 100644
--- a/dev-python/pyfuse3/Manifest
+++ b/dev-python/pyfuse3/Manifest
@@ -1 +1 @@
-DIST pyfuse3-3.2.2.tar.gz 510868 BLAKE2B a6f11083a3ddec031fdfe5cb810be526cba26d7bc9599a64d28e9a45281aeb04fca8728ff3788e44f1736475c89e64c3c1fd7cb964ff81fc30ce441a5dda7fae SHA512 91787c4198592ff5f0c022141e6c3cb1701108a6635b4d26347c4f7efff2a83aec206e939b44879ad1fd5c6c85aa6731b7465c998ec55ec032a6db024ffee817
+DIST pyfuse3-3.3.0.tar.gz 867765 BLAKE2B 29a871bbd4c82298231eac0c8d4b668a75a9ea748c3dd15f093a369770fbfe080620b6209c79ce934880757764c946c3216b558dcc63cd1d1a7ef03e124174c2 SHA512 b23116104fc78e9d6688e05f495a1cc48ff2c0af03a537c1f2743f84a596ba36b59e1ccba2e8272a0483c083479df91be2ccd49bd2e0cb160ff02a74ad623d18
diff --git a/dev-python/pyfuse3/metadata.xml b/dev-python/pyfuse3/metadata.xml
index f747360d5645..d901019bc6fb 100644
--- a/dev-python/pyfuse3/metadata.xml
+++ b/dev-python/pyfuse3/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>slashbeast@gentoo.org</email>
- <name>Piotr Karbowski</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">libfuse/pyfuse3</remote-id>
<remote-id type="pypi">pyfuse3</remote-id>
diff --git a/dev-python/pyfuse3/pyfuse3-3.2.2.ebuild b/dev-python/pyfuse3/pyfuse3-3.2.2.ebuild
deleted file mode 100644
index 513e89e60afa..000000000000
--- a/dev-python/pyfuse3/pyfuse3-3.2.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python 3 bindings for libfuse 3 with asynchronous API"
-HOMEPAGE="
- https://github.com/libfuse/pyfuse3/
- https://pypi.org/project/pyfuse3/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-DEPEND="
- sys-fs/fuse:3
-"
-RDEPEND="
- ${DEPEND}
- dev-python/trio[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-trio[${PYTHON_USEDEP}]
- sys-apps/which
- )
-"
-
-distutils_enable_tests pytest
-
-python_configure() {
- esetup.py build_cython
-}
diff --git a/dev-python/pyfuse3/pyfuse3-3.3.0.ebuild b/dev-python/pyfuse3/pyfuse3-3.3.0.ebuild
new file mode 100644
index 000000000000..8cad773306e0
--- /dev/null
+++ b/dev-python/pyfuse3/pyfuse3-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..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python 3 bindings for libfuse 3 with asynchronous API"
+HOMEPAGE="
+ https://github.com/libfuse/pyfuse3/
+ https://pypi.org/project/pyfuse3/
+"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+
+DEPEND="
+ sys-fs/fuse:3
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/trio[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-trio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_configure() {
+ esetup.py build_cython
+}
diff --git a/dev-python/pygal/Manifest b/dev-python/pygal/Manifest
index 932c7ae4057a..38d7fb8b066a 100644
--- a/dev-python/pygal/Manifest
+++ b/dev-python/pygal/Manifest
@@ -1 +1 @@
-DIST pygal-3.0.0.tar.gz 3575455 BLAKE2B 9b64cf441aeb25b0a0b9834f07e5892fe163f28a5da796d37083f8f3a10d8737a69bad39e503d722e6a36f2de4367b4fd2bdc3a06c5bc30bce66a370690d9c88 SHA512 71ac9f197d711c8cf5bb47caef128754f81b1cb0ba98c4cc67de78b68fca5d40baae9fbb5c978f6abaed4c73b8edfea2de07de2fda1aa7c15e0d81387518cc49
+DIST pygal-3.0.4.gh.tar.gz 3575681 BLAKE2B 1d7b487d17e754323a54a8840f15f722186d4a782883a65f75886e4cd063e20bf0239ef1f1a3ed619f42a83a3fff21ecf9f3613564b716a2765604d64ca0f98c SHA512 5e7e4e7eb5d4a8ccd08fc90ae68bcb7c24f6c1fa36cbe64130f2eda03ff2d3f1caab853691d0e67a02de6b4f64a530f3c5c6ae69815d248819c44923b634e8dd
diff --git a/dev-python/pygal/pygal-3.0.0-r2.ebuild b/dev-python/pygal/pygal-3.0.0-r2.ebuild
deleted file mode 100644
index c665585e6f1a..000000000000
--- a/dev-python/pygal/pygal-3.0.0-r2.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..10} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="A python SVG charts generator"
-HOMEPAGE="https://github.com/Kozea/pygal/"
-SRC_URI="https://github.com/Kozea/${PN}/archive/${PV}.tar.gz -> ${P}.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.4-r1.ebuild b/dev-python/pygal/pygal-3.0.4-r1.ebuild
new file mode 100644
index 000000000000..5eae9da5abd7
--- /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..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"
+
+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/pygame/Manifest b/dev-python/pygame/Manifest
index fa5cbe30c92f..b4bddf487169 100644
--- a/dev-python/pygame/Manifest
+++ b/dev-python/pygame/Manifest
@@ -1 +1,2 @@
-DIST pygame-2.1.2.gh.tar.gz 6100415 BLAKE2B 4b81c2f0abc2c2c4732ddb8f8e6d4bffa5169e3d3ee2d9ea2798d294623a9c70e2ff004825030606285124ef1347177b46adc676db450785e8420de45f37db34 SHA512 531cb0371853def7a3ddb8eb0110fbd58acaf1b2351d7518402c9a960baca705bb34da879015e7a6cd5f2f8af98c57e7bc732021a8f62ed9f90cacf068c9c2d6
+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
diff --git a/dev-python/pygame/files/pygame-2.1.2-cython_only.patch b/dev-python/pygame/files/pygame-2.1.2-cython_only.patch
deleted file mode 100644
index 4fb935dcf668..000000000000
--- a/dev-python/pygame/files/pygame-2.1.2-cython_only.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Backport to ease running cythonize, DISTUTILS_ARGS=(cython) resulted in
-reconfigure attempts that failed without PORTMIDI* being exported.
-
-https://github.com/pygame/pygame/commit/4eeffc049cf
-From: Ankith <46915066+ankith26@users.noreply.github.com>
-Date: Fri, 3 Jun 2022 21:27:57 +0530
-Subject: [PATCH] Add cython_only option to setup.py
---- a/setup.py
-+++ b/setup.py
-@@ -209,7 +209,16 @@ def consume_arg(name):
- cflags += '-mfpu=neon'
- os.environ['CFLAGS'] = cflags
-
-+compile_cython = False
-+cython_only = False
- if consume_arg('cython'):
-+ compile_cython = True
-+
-+if consume_arg('cython_only'):
-+ compile_cython = True
-+ cython_only = True
-+
-+if compile_cython:
- # compile .pyx files
- # So you can `setup.py cython` or `setup.py cython install`
- try:
-@@ -280,6 +289,9 @@ def consume_arg(name):
- for i, kwargs in enumerate(queue):
- kwargs['progress'] = f'[{i + 1}/{count}] '
- cythonize_one(**kwargs)
-+
-+ if cython_only:
-+ sys.exit(0)
-
- no_compilation = any(x in ['lint', 'format', 'docs'] for x in sys.argv)
- AUTO_CONFIG = not os.path.isfile('Setup') and not no_compilation
diff --git a/dev-python/pygame/files/pygame-2.1.2-libsdl2-2.26-tests.patch b/dev-python/pygame/files/pygame-2.1.2-libsdl2-2.26-tests.patch
deleted file mode 100644
index e231d1bf6d85..000000000000
--- a/dev-python/pygame/files/pygame-2.1.2-libsdl2-2.26-tests.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-https://github.com/pygame/pygame/commit/420c1a7341
-From: Starbuck5 <46412508+Starbuck5@users.noreply.github.com>
-Date: Sat, 19 Nov 2022 21:17:32 -0800
-Subject: [PATCH] Adjust surface masks to create a proper 24 bit Surface
-
-The SDL 2.26.0 pre-release rejects a 24 bit Surface created with this mask, which is the right call, as it needs 32 bits of space. Older SDL went ahead and created a 32 bit surface anyway, which it probably shouldn't have.
---- a/test/surface_test.py
-+++ b/test/surface_test.py
-@@ -2023,7 +2023,7 @@ def test_get_losses(self):
- mask8 = (224, 28, 3, 0)
- mask15 = (31744, 992, 31, 0)
- mask16 = (63488, 2016, 31, 0)
-- mask24 = (4278190080, 16711680, 65280, 0)
-+ mask24 = (16711680, 65280, 255, 0)
- mask32 = (4278190080, 16711680, 65280, 255)
-
- # Surfaces with standard depths and masks
diff --git a/dev-python/pygame/files/pygame-2.5.2-error.patch b/dev-python/pygame/files/pygame-2.5.2-error.patch
new file mode 100644
index 000000000000..9f2800e29e70
--- /dev/null
+++ b/dev-python/pygame/files/pygame-2.5.2-error.patch
@@ -0,0 +1,121 @@
+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/metadata.xml b/dev-python/pygame/metadata.xml
index 4ce54800af77..0ac44a30fbe9 100644
--- a/dev-python/pygame/metadata.xml
+++ b/dev-python/pygame/metadata.xml
@@ -5,9 +5,6 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
- <use>
- <flag name="midi">Enable midi support using <pkg>media-libs/portmidi</pkg></flag>
- </use>
<upstream>
<remote-id type="pypi">pygame</remote-id>
<remote-id type="github">pygame/pygame</remote-id>
diff --git a/dev-python/pygame/pygame-2.1.2-r1.ebuild b/dev-python/pygame/pygame-2.1.2-r1.ebuild
deleted file mode 100644
index c7b3c066375a..000000000000
--- a/dev-python/pygame/pygame-2.1.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for SDL multimedia library"
-HOMEPAGE="https://www.pygame.org/"
-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 midi opengl test X"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]
- media-libs/freetype
- media-libs/libpng:0=
- >=media-libs/sdl2-image-1.2.2
- >=media-libs/sdl2-mixer-1.2.4
- >=media-libs/sdl2-ttf-2.0.6
- >=media-libs/smpeg2-0.4.4-r1
- virtual/jpeg
- midi? ( media-libs/portmidi )
- X? ( >=media-libs/libsdl2-1.2.5[opengl?,threads,video,X] )
- !X? ( >=media-libs/libsdl2-1.2.5[threads] )"
-DEPEND="${RDEPEND}
- test? (
- media-libs/sdl2-image[gif,jpeg,png,tiff]
- media-libs/sdl2-mixer[mp3,vorbis,wav]
- )"
-# fontconfig used for fc-list
-RDEPEND+="
- media-libs/fontconfig"
-# util-linux provides script
-BDEPEND="
- test? (
- media-libs/fontconfig
- sys-apps/util-linux
- )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-libsdl2-2.26-tests.patch
-)
-
-src_prepare() {
- if ! use midi; then
- rm test/midi_test.py || die
- fi
- distutils-r1_src_prepare
-}
-
-python_configure() {
- PORTMIDI_INC_PORTTIME=1 LOCALBASE="${EPREFIX}/usr" \
- "${EPYTHON}" "${S}"/buildconfig/config.py -auto || die
-
- # Disable automagic dependency on PortMidi.
- if ! use midi; then
- sed -e "s:^pypm :#&:" -i Setup || die "sed failed"
- fi
-}
-
-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.1.2-r2.ebuild b/dev-python/pygame/pygame-2.1.2-r2.ebuild
deleted file mode 100644
index c6f10a469b75..000000000000
--- a/dev-python/pygame/pygame-2.1.2-r2.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 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 SDL multimedia library"
-HOMEPAGE="https://www.pygame.org/"
-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 midi opengl test X"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
- media-libs/freetype
- media-libs/libjpeg-turbo:=
- media-libs/libpng:=
- media-libs/sdl2-image
- media-libs/sdl2-mixer
- media-libs/sdl2-ttf
- midi? ( media-libs/portmidi )
- 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
- )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-libsdl2-2.26-tests.patch
- "${FILESDIR}"/${P}-cython_only.patch
-)
-
-src_prepare() {
- distutils-r1_src_prepare
-
- if ! use midi; then
- rm test/midi_test.py || die
- fi
-}
-
-python_configure() {
- PORTMIDI_INC_PORTTIME=1 LOCALBASE="${EPREFIX}/usr" \
- "${EPYTHON}" "${S}"/buildconfig/config.py -auto || die
-
- # Disable automagic dependency on PortMidi.
- if ! use midi; then
- sed -e "s:^pypm :#&:" -i Setup || die
- fi
-}
-
-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.1.ebuild b/dev-python/pygame/pygame-2.5.1.ebuild
new file mode 100644
index 000000000000..9cb7c203c8b0
--- /dev/null
+++ b/dev-python/pygame/pygame-2.5.1.ebuild
@@ -0,0 +1,88 @@
+# 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
new file mode 100644
index 000000000000..411bbd6b6682
--- /dev/null
+++ b/dev-python/pygame/pygame-2.5.2.ebuild
@@ -0,0 +1,101 @@
+# 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 ~mips 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_sdl2/Manifest b/dev-python/pygame_sdl2/Manifest
deleted file mode 100644
index 2c1ae61b091d..000000000000
--- a/dev-python/pygame_sdl2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pygame_sdl2-2.1.0-for-renpy-7.3.5.tar.gz 2678274 BLAKE2B 537e63a7e4755f6fea20f4ceec065272b83879958a0a794780b8976877aa083a2a9bc1b8b4a4592accaeb59dbeeac480d75965291ddbff324aea5c90d7dbcfc0 SHA512 b58a57d70efdfcea066735e3681047bec4fc89a9b75e423f5f889cd29f89a25bd0b96fcbca17578958b677e44858aafc9c6b17aad54dae640640bb7eb54cddbd
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-7.3.5-r2.ebuild b/dev-python/pygame_sdl2/pygame_sdl2-7.3.5-r2.ebuild
deleted file mode 100644
index 380bb2b1554c..000000000000
--- a/dev-python/pygame_sdl2/pygame_sdl2-7.3.5-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
-
-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=""
-
-BDEPEND="
- dev-python/cython[${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}
-
-# PyGame distribution for this version has some pregenerated files;
-# we need to remove them
-python_prepare_all() {
- rm -r gen{,3} || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/pygccxml/Manifest b/dev-python/pygccxml/Manifest
index b0d2cad0006b..2b29408d2234 100644
--- a/dev-python/pygccxml/Manifest
+++ b/dev-python/pygccxml/Manifest
@@ -1 +1,2 @@
-DIST pygccxml-2.2.1.tar.gz 3170283 BLAKE2B b53123c59d098f56d97841225d10ffd4156b993244e48c4ad30e2f62b6d95d69e0ae4bbfc86bb492e88e8f52d916401f29a6ec7024277d1e32b3af691a12e919 SHA512 32013617d4d632617b616d3787631c5b09da441a87bb15b88e3b287f17b85e1388308e85dd385276966ac09114536a5863edd5fbb96539547783fd2d41c6e8ce
+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
new file mode 100644
index 000000000000..ba00ed45ad34
--- /dev/null
+++ b/dev-python/pygccxml/files/pygccxml-2.4.0-pyproject.patch
@@ -0,0 +1,10 @@
+--- 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 642c87f3644f..a060648fb7da 100644
--- a/dev-python/pygccxml/metadata.xml
+++ b/dev-python/pygccxml/metadata.xml
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-
<pkgmetadata>
<maintainer type="person">
<email>tomjbe@gentoo.org</email>
@@ -9,4 +8,11 @@
<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>
+ </upstream>
</pkgmetadata>
diff --git a/dev-python/pygccxml/pygccxml-2.2.1.ebuild b/dev-python/pygccxml/pygccxml-2.2.1.ebuild
deleted file mode 100644
index 21ff5507e993..000000000000
--- a/dev-python/pygccxml/pygccxml-2.2.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-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}.tar.gz"
-
-LICENSE="Boost-1.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~riscv ~x86"
-IUSE="doc"
-
-distutils_enable_sphinx docs dev-python/sphinx_rtd_theme
-
-RESTRICT="test"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-libs/castxml
-"
-
-DEPEND="${RDEPEND}"
diff --git a/dev-python/pygccxml/pygccxml-2.4.0.ebuild b/dev-python/pygccxml/pygccxml-2.4.0.ebuild
new file mode 100644
index 000000000000..114320ffb31d
--- /dev/null
+++ b/dev-python/pygccxml/pygccxml-2.4.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_{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 "${FILESDIR}/${PN}-2.4.0-doc.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..3a2e39187e16
--- /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/Manifest b/dev-python/pygdbmi/Manifest
new file mode 100644
index 000000000000..260731862d64
--- /dev/null
+++ b/dev-python/pygdbmi/Manifest
@@ -0,0 +1 @@
+DIST pygdbmi-0.11.0.0.gh.tar.gz 30784 BLAKE2B a3d6bc51640dac78c072ef0162bc1d546707f1b220d8d695595d05a5bcdea8b31b5e23ad916cd2a58bbd4bec2f9fd32b6a9294f00957d890fefd0ecf457ed0de SHA512 11bbc0a9353dbb9d96cb9c71d45a68de446ac6cf1cd110b8f508143218783d2cdfa685874a9b9483933fc58fcfcbb7524a3b670d1c8a6117e8d6484586f1ced6
diff --git a/dev-python/pygdbmi/metadata.xml b/dev-python/pygdbmi/metadata.xml
new file mode 100644
index 000000000000..23ce86c5a4bc
--- /dev/null
+++ b/dev-python/pygdbmi/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="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>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">cs01/pygdbmi</remote-id>
+ <remote-id type="pypi">pygdbmi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild b/dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild
new file mode 100644
index 000000000000..23402591a396
--- /dev/null
+++ b/dev-python/pygdbmi/pygdbmi-0.11.0.0.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=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Library to parse gdb mi output and interact with gdb subprocesses"
+HOMEPAGE="
+ https://cs01.github.io/pygdbmi/
+ https://github.com/cs01/pygdbmi/
+ https://pypi.org/project/pygdbmi/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/cs01/pygdbmi/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-debug/gdb-9.6
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pyghmi/Manifest b/dev-python/pyghmi/Manifest
index 7c71afeb7e67..b46215597c84 100644
--- a/dev-python/pyghmi/Manifest
+++ b/dev-python/pyghmi/Manifest
@@ -1 +1,3 @@
-DIST pyghmi-1.5.57.tar.gz 249816 BLAKE2B 358f5f5262c0bd59da668d590d36f4b84ef55fca78908a5fbfb6fead2cd652d704feaf73410906fcf969fab88928dd480ae1afa60e342663503630b57226a444 SHA512 d9fa87e2a715cb899c36f27e8c706d3330de488e0685e547bbed77c320ea824bed776276e936789e887b324e85899ae944a55d3549def3767d77ec789ddba42f
+DIST pyghmi-1.5.67.tar.gz 256905 BLAKE2B 497193e057a4a2e285ba109fc58cf59c77dbef69c73abeabe7fa88629af7c3c961488cd0df173edb81a4b6574893d4db4c43bcd7d8f8c93b5c10bdf768ab9e2e SHA512 db2e16a873db52ebffbfbdf4b03ba22eca462ecf498b0704602cf52257fff2021d0cd7f71161377a3e87029771c2cbb0f8090b215f7da2efeecb8bfaadaadd82
+DIST pyghmi-1.5.68.tar.gz 257045 BLAKE2B 02c89b71ad9077ff127d00bffd9d788f21a49ee1fa0103042a9c406e9d530f386e1126fcdd58792424200d46a39e4128ce3902af91ff034628dcec20f249fbd0 SHA512 538a77de22cfb16652e0e7c36e17b638ede1b93b98cf2439eaa2ddbe95a8e85fcc42b624014639b229e045fc697dba9157dc8375cc88f25fb46ac0caef4b117e
+DIST pyghmi-1.5.69.tar.gz 257074 BLAKE2B af1b93bda37aa078c4a04f68970f86a2f6b7c005ed762977d8297bdb4ff8e89c972ec24342ccb226a6cb43d6085f89f23e4e8547e1632275accea0fc5f5558ff SHA512 ad6837b61748ff045196109050fc743e0335b9037e06c723be86e12c42569f6e46b2c004148b4ce4416d0e67967bf6b7596bc10bca30323e2eca11da54067f21
diff --git a/dev-python/pyghmi/pyghmi-1.5.57.ebuild b/dev-python/pyghmi/pyghmi-1.5.57.ebuild
deleted file mode 100644
index 80a4ca50e8cd..000000000000
--- a/dev-python/pyghmi/pyghmi-1.5.57.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 pure python implementation of IPMI protocol"
-HOMEPAGE="
- https://opendev.org/x/pyghmi/
- https://pypi.org/project/pyghmi/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~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.67.ebuild b/dev-python/pyghmi/pyghmi-1.5.67.ebuild
new file mode 100644
index 000000000000..f4adcb0eed3b
--- /dev/null
+++ b/dev-python/pyghmi/pyghmi-1.5.67.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.68.ebuild b/dev-python/pyghmi/pyghmi-1.5.68.ebuild
new file mode 100644
index 000000000000..f4adcb0eed3b
--- /dev/null
+++ b/dev-python/pyghmi/pyghmi-1.5.68.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.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/pygit2/Manifest b/dev-python/pygit2/Manifest
index e94b122221dc..4bc70f331ef5 100644
--- a/dev-python/pygit2/Manifest
+++ b/dev-python/pygit2/Manifest
@@ -1 +1 @@
-DIST pygit2-1.11.1.gh.tar.gz 757247 BLAKE2B 0cd5cf276e1bec375635905ca072b021e29821f9ebc878dc1ae92d0c0a0cbca00481ed3501550161827e4d6e9e018edf165a2e59eb0cbd0ec0004d6c1c10f7eb SHA512 c831afb30ec4c0c4972687f28196915ccb428bf2e242eed17ff50bf700f06db59dcec254e1104bea9a335bc7955f36143085395d8463a750f4492e8c701b2061
+DIST pygit2-1.14.1.tar.gz 765621 BLAKE2B 7761851052c5dc03f82db987166012eb2a3445d62b209bc1734e240a619d7c5e4449c1772b250dd3ba8e1605b7c94edb4d8b7ad50c92bd85833e4688ed1e92ef SHA512 0718d7f480d40a5c435c725fbfec728ebdbb70d700607662308458dd125796fce9ddcf40afa6841ddc9cb7b19a5966fb3b5c8e4a52281a7eb354381ce62b5534
diff --git a/dev-python/pygit2/pygit2-1.11.1.ebuild b/dev-python/pygit2/pygit2-1.11.1.ebuild
deleted file mode 100644
index 6f36d738ce88..000000000000
--- a/dev-python/pygit2/pygit2-1.11.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="Python bindings for libgit2"
-HOMEPAGE="
- https://github.com/libgit2/pygit2/
- https://pypi.org/project/pygit2/
-"
-SRC_URI="
- https://github.com/libgit2/pygit2/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="GPL-2-with-linking-exception"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-DEPEND="
- =dev-libs/libgit2-1.5*:=
-"
-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.14.1.ebuild b/dev-python/pygit2/pygit2-1.14.1.ebuild
new file mode 100644
index 000000000000..afac9dd7571b
--- /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..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/pyglet/Manifest b/dev-python/pyglet/Manifest
index 63fb7ed6f621..459a5368daf0 100644
--- a/dev-python/pyglet/Manifest
+++ b/dev-python/pyglet/Manifest
@@ -1,3 +1,2 @@
-DIST pyglet-1.5.27.gh.tar.gz 6532179 BLAKE2B f1dc668530a69e275860befe11f4c86003c5de2dadede706df7abac9eb6fb1729ea030c7053f0149926f3ffdd12985d9abea4afac65de3b6b7541fe871eda369 SHA512 98896dab06873cbf3cdd0d4015cb0b9e062cffb1110908bd422ecdc4f0e16943adc8a4986e7dbfdae4392e82ac115bad6f937896e166989ad2c4d73a0f45c8be
-DIST pyglet-2.0.2.1.gh.tar.gz 6206090 BLAKE2B e671e1800f8f9e80ff301692973e6085c63b751944d221added744edf3910dd13c15f741637b23f04777b64bfe2865698410be1859009bc1455cf51458e8916a SHA512 4b6d4883025b55d7e1515c65c0b18a5b24d152a5e7f547379329388046c2f1818f9e203d2913825a1156eb3271100b6257f334310959c2e7a1b4ba2b61f2d398
-DIST pyglet-2.0.3.gh.tar.gz 6213542 BLAKE2B 7a47df69761d718e6b1a700105ca7e75b650109d37bea340cae147885ea2158da9af45c9c5733cd6cdc41e17800471921457dda281285e4c6836191200a92be2 SHA512 7617c34dfc65d8a957e6e4093c467d2debcd36e053ef0e1b350cc63fa886e59a6e8cfa0bbbc9db163c736f5ec975c0a105f7ccb0c8bb193744b692d550e0f757
+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
diff --git a/dev-python/pyglet/pyglet-1.5.27.ebuild b/dev-python/pyglet/pyglet-1.5.27.ebuild
deleted file mode 100644
index b13351de8283..000000000000
--- a/dev-python/pyglet/pyglet-1.5.27.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
-# python3.11: https://github.com/pyglet/pyglet/issues/606
-PYTHON_COMPAT=( python3_{9..10} )
-
-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 ~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/openal
- media-sound/pulseaudio
- ) )
-"
-# ffmpeg? ( media-libs/avbin-bin )
-
-DOCS=( DESIGN NOTICE README.md RELEASE_NOTES )
-
-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
- )
-
- # Specify path to avoid running interactive tests
- # We could add in integration tests, but they're slow
- 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..28c5feeacc17
--- /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..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.2.1.ebuild b/dev-python/pyglet/pyglet-2.0.2.1.ebuild
deleted file mode 100644
index acb6828c1351..000000000000
--- a/dev-python/pyglet/pyglet-2.0.2.1.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 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 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 ~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/openal
- media-sound/pulseaudio
- ) )
-"
-# 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 load
- tests/unit/test_clock_freq.py::test_elapsed_time_between_tick
- )
- if [[ ${EPYTHON} == python3.11 ]]; then
- EPYTEST_DESELECT+=(
- # broken test
- # https://github.com/pyglet/pyglet/issues/606
- tests/unit/test_events.py::test_push_handlers_instance
- )
- fi
-
- # 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.3.ebuild b/dev-python/pyglet/pyglet-2.0.3.ebuild
deleted file mode 100644
index 9128e56e22ef..000000000000
--- a/dev-python/pyglet/pyglet-2.0.3.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 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 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 ~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/openal
- media-sound/pulseaudio
- ) )
-"
-# 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 load
- tests/unit/test_clock_freq.py::test_elapsed_time_between_tick
- )
- if [[ ${EPYTHON} == python3.11 ]]; then
- EPYTEST_DESELECT+=(
- # broken test
- # https://github.com/pyglet/pyglet/issues/606
- tests/unit/test_events.py::test_push_handlers_instance
- )
- fi
-
- # 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/Manifest b/dev-python/pygments-ansi-color/Manifest
new file mode 100644
index 000000000000..f01cb73cea83
--- /dev/null
+++ b/dev-python/pygments-ansi-color/Manifest
@@ -0,0 +1 @@
+DIST pygments-ansi-color-0.3.0.gh.tar.gz 10062 BLAKE2B ca907bd5f913a9ecc49a96d494a00651144d8acc32ca54cea4cc49ba0798e953430d77564b1b75dd33d8b66259f75b3d2d09e791b07a7abd3fb61c8bb9d00f6d SHA512 51847dd13fe3c8905d185766fa84037b4373fe7fd384273a08aa8261df44c4263d9364adb68836c8ed0c76af0e5bf01c3e587ebe90b6c14d32953622d288f6d8
diff --git a/dev-python/pygments-ansi-color/metadata.xml b/dev-python/pygments-ansi-color/metadata.xml
new file mode 100644
index 000000000000..3a6f744c5f6d
--- /dev/null
+++ b/dev-python/pygments-ansi-color/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">pygments-ansi-color</remote-id>
+ <remote-id type="github">chriskuehl/pygments-ansi-color</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..2b3a85b06cb4
--- /dev/null
+++ b/dev-python/pygments-ansi-color/pygments-ansi-color-0.3.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 color-code highlighting for Pygments"
+HOMEPAGE="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"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="dev-python/pygments[${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pygments-github-lexers/Manifest b/dev-python/pygments-github-lexers/Manifest
index cf833a132202..93a451e8bf75 100644
--- a/dev-python/pygments-github-lexers/Manifest
+++ b/dev-python/pygments-github-lexers/Manifest
@@ -1 +1 @@
-DIST pygments-github-lexers-0.0.5.tar.gz 6337 BLAKE2B 21fb1a0627c9ebf42d86d6cceea3ebec4339ef29b1d881d8b3bd5f90060ec2ba76a69ae4bf9e92420a10950ae20c7ea7ff44d5fccf8add06be1f1353cd8b7800 SHA512 429a8a81eb0228c806b6fafe5e1c64be92e719170b1af666aa9c9c7923ff4058972a167193dd0ab1ace0395fa1f6621212f800b07dcce4e59970fd905e046d71
+DIST pygments-github-lexers-0.0.5.gh.tar.gz 6337 BLAKE2B 21fb1a0627c9ebf42d86d6cceea3ebec4339ef29b1d881d8b3bd5f90060ec2ba76a69ae4bf9e92420a10950ae20c7ea7ff44d5fccf8add06be1f1353cd8b7800 SHA512 429a8a81eb0228c806b6fafe5e1c64be92e719170b1af666aa9c9c7923ff4058972a167193dd0ab1ace0395fa1f6621212f800b07dcce4e59970fd905e046d71
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
new file mode 100644
index 000000000000..c367787797d7
--- /dev/null
+++ b/dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5-r1.ebuild
@@ -0,0 +1,26 @@
+# 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.ebuild b/dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5.ebuild
deleted file mode 100644
index d1aa2990ca2a..000000000000
--- a/dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} pypy3 )
-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}.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/Manifest b/dev-python/pygments/Manifest
index 123478160978..17e062ccb1e8 100644
--- a/dev-python/pygments/Manifest
+++ b/dev-python/pygments/Manifest
@@ -1 +1 @@
-DIST Pygments-2.14.0.tar.gz 4434562 BLAKE2B a3050bae96a8ae044f803e7964b5dede7a73b04f04f6af9d4b9e4d24e3ae0185138d0d68801ee5ac81cdaf74e50c7fea303913470c23182adb30ff2c08c332a8 SHA512 51416a8e2a8d0288cbbf6fd81e6870ffe9d999da255c43d0f870eb5cb4d01660416d136d39fad38b76c4bace3c3aa648fb306519e85e340545a87fc657aaeb15
+DIST pygments-2.17.2.tar.gz 4827772 BLAKE2B 7e6db51ff35ec35981fcdd6f4a1f0a242c29e8b0947a5a3febdee35a0e4047414d49d6883b8fbf9de78b149323f0b3c86b315b03eaada557b4cd70e67917aab8 SHA512 a3408a21f4c0a9f1a81d4fae5c2924f66f1f17daf98a52c4379d6953625354f47bb8db3005e6ab09407627f592843efde12afb14e1271c1e685973eb4c238d89
diff --git a/dev-python/pygments/pygments-2.14.0.ebuild b/dev-python/pygments/pygments-2.14.0.ebuild
deleted file mode 100644
index 8cb3ab44f8a8..000000000000
--- a/dev-python/pygments/pygments-2.14.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_{9..11} pypy3 )
-
-inherit distutils-r1 bash-completion-r1
-
-MY_P=${P^}
-DESCRIPTION="Pygments is a syntax highlighting package written in Python"
-HOMEPAGE="
- https://pygments.org/
- https://github.com/pygments/pygments/
- https://pypi.org/project/Pygments/
-"
-SRC_URI="mirror://pypi/${MY_P:0:1}/${PN^}/${MY_P}.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"
-
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/wcag-contrast-ratio[${PYTHON_USEDEP}]
- virtual/ttf-fonts
- )
-"
-
-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
new file mode 100644
index 000000000000..d11f903685e7
--- /dev/null
+++ b/dev-python/pygments/pygments-2.17.2.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=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/pygobject/Manifest b/dev-python/pygobject/Manifest
index feaa06b9d9c3..8ce81ab9f53f 100644
--- a/dev-python/pygobject/Manifest
+++ b/dev-python/pygobject/Manifest
@@ -1 +1,2 @@
-DIST pygobject-3.42.2.tar.xz 558724 BLAKE2B 3e98cf52e818eff42beb8b6120ee8eb4cbe3a6f49670d355e1081b71d411bc93fc701cc37108a321cfcc19698c39b8b61cce5a9369d871da58fd2a2c0455fb96 SHA512 eb604f839e0702e8aeff0f19665e44c05c56cae02ce892e9ab8a95ddb0d5d0216182d0c9a0059fc8e05990c0d5707f2f7456d8924bbfb95ce1d9a42908ac0119
+DIST pygobject-3.44.1.tar.xz 559432 BLAKE2B 7edfe91ac1b7301befaf8ef17078b517666467f446bfbe25850336cd365d314153d444d29ecf028ce44a12cef1c94f139d110ac6784c8a2c6077730d4836f6cc SHA512 5f2ff4a068e7e24dcc32f8c43ba58660c85a0fabdd9ff0bac4ddf1ca82bd0fc962ce5cb3ab25b991c212d45e5e89dac67c3259c5423a7d7fd70b2ac1f56e5327
+DIST pygobject-3.46.0.tar.xz 561552 BLAKE2B 6b8c9b4bf6df819c09b7bd2ea6dcb0e7c24ed7f171487b774469bd2c4694df9d4473dbde05273afc7a370f2b1f352d60347aa221bdd674a4aa8a54123d5e54cd SHA512 48293c193ba5aece38d99f45d325d0329ac33e88442bf00848fe818a7c838977b8d2cf50a404c30e8852ccc0b4a44dfda07751d51acc21f740aa2ab6aa3ce661
diff --git a/dev-python/pygobject/files/pygobject-3.44.1-py312.patch b/dev-python/pygobject/files/pygobject-3.44.1-py312.patch
new file mode 100644
index 000000000000..331e3bc0a3f8
--- /dev/null
+++ b/dev-python/pygobject/files/pygobject-3.44.1-py312.patch
@@ -0,0 +1,48 @@
+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/pygobject-3.42.2.ebuild b/dev-python/pygobject/pygobject-3.42.2.ebuild
deleted file mode 100644
index 5a7978ffe59f..000000000000
--- a/dev-python/pygobject/pygobject-3.42.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=no
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit gnome.org meson virtualx xdg distutils-r1
-
-DESCRIPTION="Python bindings for GObject Introspection"
-HOMEPAGE="https://pygobject.readthedocs.io/"
-
-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 ~sparc-solaris ~x64-solaris ~x86-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? (
- dev-libs/atk[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() {
- meson_src_configure \
- $(meson_feature cairo pycairo) \
- $(meson_use test tests) \
- -Dpython="${EPYTHON}"
-}
-
-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.44.1.ebuild b/dev-python/pygobject/pygobject-3.44.1.ebuild
new file mode 100644
index 000000000000..713c63dc4584
--- /dev/null
+++ b/dev-python/pygobject/pygobject-3.44.1.ebuild
@@ -0,0 +1,86 @@
+# 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.ebuild b/dev-python/pygobject/pygobject-3.46.0.ebuild
new file mode 100644
index 000000000000..99eb180556b9
--- /dev/null
+++ b/dev-python/pygobject/pygobject-3.46.0.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..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.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/pygraphviz/Manifest b/dev-python/pygraphviz/Manifest
index ba6c58097117..a20353c61720 100644
--- a/dev-python/pygraphviz/Manifest
+++ b/dev-python/pygraphviz/Manifest
@@ -1 +1 @@
-DIST pygraphviz-1.10.zip 120582 BLAKE2B 965b84ec6951c364084ddde4f0594ad7c14eb7e884062ad4f24042b6298b9caf10b3aa33eecfe8154c87c4bfd8d3651acc586129b019aef8b809130d69c03f82 SHA512 571c35f7a8013d5f128fcfbbd68372c8660560847afa0648737eae6d305a9283b69dce23a1b1aeb808bd4eac9c9cefa72b1d358fbc47b724a0b70997ea3f6d84
+DIST pygraphviz-1.12.tar.gz 104941 BLAKE2B 5c2d119c66837d13511ef4756093b159f45ccb2888eb2b86c1d016837059ed34bdc5cb7e69eeff013642d92ec0c2b4a1149316b0baaa742c49a34945fd2563e0 SHA512 2407fdd7de3b2f7f1d9f9e3e3fe0f19c4faad4a72db33a0b4341a01f98eecd4d240079f2d0ea5cf68a5e10236f11fd84e55fd44518611efde2fab7590e3aae90
diff --git a/dev-python/pygraphviz/files/pygraphviz-1.12-swig-4.2.0.patch b/dev-python/pygraphviz/files/pygraphviz-1.12-swig-4.2.0.patch
new file mode 100644
index 000000000000..3daa485044ce
--- /dev/null
+++ b/dev-python/pygraphviz/files/pygraphviz-1.12-swig-4.2.0.patch
@@ -0,0 +1,290 @@
+https://bugs.gentoo.org/921637
+https://github.com/swig/swig/issues/2778
+https://github.com/pygraphviz/pygraphviz/commit/6ecae22cc382407652f9d3b57e9da89a3a03043b
+
+From 6ecae22cc382407652f9d3b57e9da89a3a03043b Mon Sep 17 00:00:00 2001
+From: William S Fulton <wsf@fultondesigns.co.uk>
+Date: Fri, 26 Jan 2024 00:52:44 +0000
+Subject: [PATCH] Remove outdated pystrings.swg (#508)
+
+Remove pystring.swg - a very ancient copy from SWIG which does not
+compile when using swig-4.2.0. Instead SWIG's version of pystrings.swg
+that is kept up to date in SWIG is used. SWIG_PYTHON_STRICT_BYTE_CHAR
+needs to be defined in order to maintain the current behaviour of only
+allowing Python 3 byte type instead of Python 3 string type as input.
+
+As the output of swig is in graphviz_wrap.c and is committed to the
+repo, the updates committed in this file (keeping the current swig-4.1.1
+version). A later commit could update it to swig-4.2.0.
+
+Fixes build problems on Fedora where SWIG_Python_str_AsChar no longer exists,
+as reported at https://github.com/swig/swig/issues/2778.
+---
+ pygraphviz/graphviz.i | 4 ++
+ pygraphviz/graphviz_wrap.c | 106 ++++++++++++++++++++++++++++---------
+ pystrings.swg | 86 ------------------------------
+ 3 files changed, 84 insertions(+), 112 deletions(-)
+ delete mode 100644 pystrings.swg
+
+diff --git a/pygraphviz/graphviz.i b/pygraphviz/graphviz.i
+index c63eb2d3..d7c49330 100644
+--- a/pygraphviz/graphviz.i
++++ b/pygraphviz/graphviz.i
+@@ -1,5 +1,9 @@
+ %module graphviz
+
++%begin %{
++#define SWIG_PYTHON_STRICT_BYTE_CHAR
++%}
++
+ %{
+ #include "graphviz/cgraph.h"
+ #include "graphviz/gvc.h"
+diff --git a/pygraphviz/graphviz_wrap.c b/pygraphviz/graphviz_wrap.c
+index 8f4d3a62..cb06da79 100644
+--- a/pygraphviz/graphviz_wrap.c
++++ b/pygraphviz/graphviz_wrap.c
+@@ -6,6 +6,9 @@
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
++#define SWIG_PYTHON_STRICT_BYTE_CHAR
++
++
+
+ #define SWIG_VERSION 0x040101
+ #define SWIGPYTHON
+@@ -3038,49 +3041,96 @@ SWIGINTERN int
+ SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
+ {
+ #if PY_VERSION_HEX>=0x03000000
++#if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
+ if (PyBytes_Check(obj))
+ #else
++ if (PyUnicode_Check(obj))
++#endif
++#else
+ if (PyString_Check(obj))
+ #endif
+ {
+ char *cstr; Py_ssize_t len;
++ int ret = SWIG_OK;
+ #if PY_VERSION_HEX>=0x03000000
+- PyBytes_AsStringAndSize(obj, &cstr, &len);
+- if(alloc) *alloc = SWIG_NEWOBJ;
++#if !defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
++ if (!alloc && cptr) {
++ /* We can't allow converting without allocation, since the internal
++ representation of string in Python 3 is UCS-2/UCS-4 but we require
++ a UTF-8 representation.
++ TODO(bhy) More detailed explanation */
++ return SWIG_RuntimeError;
++ }
++ obj = PyUnicode_AsUTF8String(obj);
++ if (!obj)
++ return SWIG_TypeError;
++ if (alloc)
++ *alloc = SWIG_NEWOBJ;
++#endif
++ if (PyBytes_AsStringAndSize(obj, &cstr, &len) == -1)
++ return SWIG_TypeError;
+ #else
+- PyString_AsStringAndSize(obj, &cstr, &len);
++ if (PyString_AsStringAndSize(obj, &cstr, &len) == -1)
++ return SWIG_TypeError;
+ #endif
+ if (cptr) {
+ if (alloc) {
+- /*
+- In python the user should not be able to modify the inner
+- string representation. To warranty that, if you define
+- SWIG_PYTHON_SAFE_CSTRINGS, a new/copy of the python string
+- buffer is always returned.
+-
+- The default behavior is just to return the pointer value,
+- so, be careful.
+- */
+-#if defined(SWIG_PYTHON_SAFE_CSTRINGS)
+- if (*alloc != SWIG_OLDOBJ)
+-#else
+- if (*alloc == SWIG_NEWOBJ)
+-#endif
+- {
+- *cptr = (char *)memcpy(malloc((len + 1)*sizeof(char)), cstr, sizeof(char)*(len + 1));
+- *alloc = SWIG_NEWOBJ;
+- }
+- else {
++ if (*alloc == SWIG_NEWOBJ) {
++ *cptr = (char *)memcpy(malloc((len + 1)*sizeof(char)), cstr, sizeof(char)*(len + 1));
++ *alloc = SWIG_NEWOBJ;
++ } else {
+ *cptr = cstr;
+ *alloc = SWIG_OLDOBJ;
+ }
+ } else {
++#if PY_VERSION_HEX>=0x03000000
++#if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
++ *cptr = PyBytes_AsString(obj);
++#else
++ assert(0); /* Should never reach here with Unicode strings in Python 3 */
++#endif
++#else
+ *cptr = SWIG_Python_str_AsChar(obj);
++ if (!*cptr)
++ ret = SWIG_TypeError;
++#endif
+ }
+ }
+ if (psize) *psize = len + 1;
+- return SWIG_OK;
++#if PY_VERSION_HEX>=0x03000000 && !defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
++ Py_XDECREF(obj);
++#endif
++ return ret;
+ } else {
++#if defined(SWIG_PYTHON_2_UNICODE)
++#if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
++#error "Cannot use both SWIG_PYTHON_2_UNICODE and SWIG_PYTHON_STRICT_BYTE_CHAR at once"
++#endif
++#if PY_VERSION_HEX<0x03000000
++ if (PyUnicode_Check(obj)) {
++ char *cstr; Py_ssize_t len;
++ if (!alloc && cptr) {
++ return SWIG_RuntimeError;
++ }
++ obj = PyUnicode_AsUTF8String(obj);
++ if (!obj)
++ return SWIG_TypeError;
++ if (PyString_AsStringAndSize(obj, &cstr, &len) != -1) {
++ if (cptr) {
++ if (alloc) *alloc = SWIG_NEWOBJ;
++ *cptr = (char *)memcpy(malloc((len + 1)*sizeof(char)), cstr, sizeof(char)*(len + 1));
++ }
++ if (psize) *psize = len + 1;
++
++ Py_XDECREF(obj);
++ return SWIG_OK;
++ } else {
++ Py_XDECREF(obj);
++ }
++ }
++#endif
++#endif
++
+ swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
+ if (pchar_descriptor) {
+ void* vptr = 0;
+@@ -3311,13 +3361,17 @@ SWIG_FromCharPtrAndSize(const char* carray, size_t size)
+ if (carray) {
+ if (size > INT_MAX) {
+ swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
+- return pchar_descriptor ?
++ return pchar_descriptor ?
+ SWIG_InternalNewPointerObj((char *)(carray), pchar_descriptor, 0) : SWIG_Py_Void();
+ } else {
+ #if PY_VERSION_HEX >= 0x03000000
+- return PyBytes_FromStringAndSize(carray, (int)(size));
++#if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
++ return PyBytes_FromStringAndSize(carray, (Py_ssize_t)(size));
++#else
++ return PyUnicode_DecodeUTF8(carray, (Py_ssize_t)(size), "surrogateescape");
++#endif
+ #else
+- return PyString_FromStringAndSize(carray, (int)(size));
++ return PyString_FromStringAndSize(carray, (Py_ssize_t)(size));
+ #endif
+ }
+ } else {
+diff --git a/pystrings.swg b/pystrings.swg
+deleted file mode 100644
+index 7988a353..00000000
+--- a/pystrings.swg
++++ /dev/null
+@@ -1,86 +0,0 @@
+-/* Fixed fragments for work with bytes in Python 3. */
+-
+-%fragment("SWIG_AsCharPtrAndSize","header",fragment="SWIG_pchar_descriptor") {
+-SWIGINTERN int
+-SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
+-{
+-%#if PY_VERSION_HEX>=0x03000000
+- if (PyBytes_Check(obj))
+-%#else
+- if (PyString_Check(obj))
+-%#endif
+- {
+- char *cstr; Py_ssize_t len;
+-%#if PY_VERSION_HEX>=0x03000000
+- PyBytes_AsStringAndSize(obj, &cstr, &len);
+- if(alloc) *alloc = SWIG_NEWOBJ;
+-%#else
+- PyString_AsStringAndSize(obj, &cstr, &len);
+-%#endif
+- if (cptr) {
+- if (alloc) {
+- /*
+- In python the user should not be able to modify the inner
+- string representation. To warranty that, if you define
+- SWIG_PYTHON_SAFE_CSTRINGS, a new/copy of the python string
+- buffer is always returned.
+-
+- The default behavior is just to return the pointer value,
+- so, be careful.
+- */
+-%#if defined(SWIG_PYTHON_SAFE_CSTRINGS)
+- if (*alloc != SWIG_OLDOBJ)
+-%#else
+- if (*alloc == SWIG_NEWOBJ)
+-%#endif
+- {
+- *cptr = %new_copy_array(cstr, len + 1, char);
+- *alloc = SWIG_NEWOBJ;
+- }
+- else {
+- *cptr = cstr;
+- *alloc = SWIG_OLDOBJ;
+- }
+- } else {
+- *cptr = SWIG_Python_str_AsChar(obj);
+- }
+- }
+- if (psize) *psize = len + 1;
+- return SWIG_OK;
+- } else {
+- swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
+- if (pchar_descriptor) {
+- void* vptr = 0;
+- if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) {
+- if (cptr) *cptr = (char *) vptr;
+- if (psize) *psize = vptr ? (strlen((char *)vptr) + 1) : 0;
+- if (alloc) *alloc = SWIG_OLDOBJ;
+- return SWIG_OK;
+- }
+- }
+- }
+- return SWIG_TypeError;
+-}
+-}
+-
+-%fragment("SWIG_FromCharPtrAndSize","header",fragment="SWIG_pchar_descriptor") {
+-SWIGINTERNINLINE PyObject *
+-SWIG_FromCharPtrAndSize(const char* carray, size_t size)
+-{
+- if (carray) {
+- if (size > INT_MAX) {
+- swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
+- return pchar_descriptor ?
+- SWIG_InternalNewPointerObj(%const_cast(carray,char *), pchar_descriptor, 0) : SWIG_Py_Void();
+- } else {
+-%#if PY_VERSION_HEX >= 0x03000000
+- return PyBytes_FromStringAndSize(carray, %numeric_cast(size,int));
+-%#else
+- return PyString_FromStringAndSize(carray, %numeric_cast(size,int));
+-%#endif
+- }
+- } else {
+- return SWIG_Py_Void();
+- }
+-}
+-}
+
diff --git a/dev-python/pygraphviz/pygraphviz-1.10.ebuild b/dev-python/pygraphviz/pygraphviz-1.10.ebuild
deleted file mode 100644
index 981ec349bbba..000000000000
--- a/dev-python/pygraphviz/pygraphviz-1.10.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="Python wrapper for the Graphviz Agraph data structure"
-HOMEPAGE="https://pygraphviz.github.io/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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.
-RDEPEND="media-gfx/graphviz"
-DEPEND="${RDEPEND}"
-BDEPEND="
- app-arch/unzip
- dev-lang/swig:0
- test? ( dev-python/doctest-ignore-unicode[${PYTHON_USEDEP}] )"
-
-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.12-r1.ebuild b/dev-python/pygraphviz/pygraphviz-1.12-r1.ebuild
new file mode 100644
index 000000000000..876cff0b9ef4
--- /dev/null
+++ b/dev-python/pygraphviz/pygraphviz-1.12-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
+PYTHON_COMPAT=( python3_{10..12} )
+
+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 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="
+ dev-lang/swig:0
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/${P}-swig-4.2.0.patch
+)
+
+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 406b3d42e47f..91a14db0c922 100644
--- a/dev-python/pygresql/Manifest
+++ b/dev-python/pygresql/Manifest
@@ -1 +1 @@
-DIST PyGreSQL-5.2.4.tar.gz 270319 BLAKE2B 6ec2bf9786dd97f8649585bd00b87569d2cd668e43e8cc28443126ec2ee00943f044775b756785002c32aef516c4141e126e7d458b232bf8bfa1413bfdbd2db0 SHA512 3dbb90391e0a12f1ce4676dd5fa89d586d33a4bcb710779583beb05ae71131fbcf0412e702b542d856f3fd6ceeb145952c2f7bdede25efd08fe61ffcf0296212
+DIST PyGreSQL-6.0.tar.gz 271585 BLAKE2B 80e5dc9be955ac2b9a69b1cdbc6f164d11bd8f0386da340fc414340a7ebc7e857727f8b6570acf6696ac83daeb41ef80cc5875f4ae0ea766e838d54d96b33910 SHA512 a6ed1f252a40ae4c429c142cc408993bfe5ec7a4318cf219f977a440a3e3f823291b160843bc497e3375e5acc36b8043178f77c0f9cfd108e580e80b7a5c8eb9
diff --git a/dev-python/pygresql/pygresql-5.2.4.ebuild b/dev-python/pygresql/pygresql-5.2.4.ebuild
deleted file mode 100644
index cf8382f2dda3..000000000000
--- a/dev-python/pygresql/pygresql-5.2.4.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_USE_PEP517=setuptools
-POSTGRES_COMPAT=( 9.6 {10..14} )
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1 postgres
-
-MY_P="PyGreSQL-${PV}"
-
-DESCRIPTION="A Python interface for the PostgreSQL database"
-HOMEPAGE="https://pygresql.org/"
-SRC_URI="mirror://pypi/P/PyGreSQL/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="POSTGRESQL"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~hppa ~ia64 ppc ~sparc x86"
-
-DEPEND="${POSTGRES_DEP}"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-5.2-CFLAGS.patch
-)
-
-distutils_enable_tests unittest
-
-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 unittest || die
-
- cat > tests/LOCAL_PyGreSQL.py <<-EOF || die
- dbhost = '${T}'
- EOF
-
- 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
new file mode 100644
index 000000000000..0e238787676b
--- /dev/null
+++ b/dev-python/pygresql/pygresql-6.0.ebuild
@@ -0,0 +1,69 @@
+# 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/Manifest b/dev-python/pyh2o/Manifest
index 8f5b4245b529..1a88af411bec 100644
--- a/dev-python/pyh2o/Manifest
+++ b/dev-python/pyh2o/Manifest
@@ -1 +1 @@
-DIST pyh2o-1.tar.gz 7327 BLAKE2B 9d6b308d17dd799e2c83a191c346a3d78fc0a097de2a2fd5cb6277a1525992aa18f6c6b61b2c2503ae4a9e7ddd3575e092aef77a0e84223a5a2c702c0a808f1d SHA512 529fa4d8e9c477346fcbd23d7172d41de96789797f0e1ad0557f4c0bdaea8a519a8e8735845d0080cf171182874ce0819e76357ca7c7db1d62a9544f907095db
+DIST pyh2o-1.gh.tar.gz 7327 BLAKE2B 9d6b308d17dd799e2c83a191c346a3d78fc0a097de2a2fd5cb6277a1525992aa18f6c6b61b2c2503ae4a9e7ddd3575e092aef77a0e84223a5a2c702c0a808f1d SHA512 529fa4d8e9c477346fcbd23d7172d41de96789797f0e1ad0557f4c0bdaea8a519a8e8735845d0080cf171182874ce0819e76357ca7c7db1d62a9544f907095db
diff --git a/dev-python/pyh2o/metadata.xml b/dev-python/pyh2o/metadata.xml
index 5ffe7a9cc626..c569b84fd6d0 100644
--- a/dev-python/pyh2o/metadata.xml
+++ b/dev-python/pyh2o/metadata.xml
@@ -10,8 +10,8 @@
<email>mgorny@gentoo.org</email>
<name>Michał Górny</name>
</maintainer>
- <bugs-to>https://github.com/mgorny/pyh2o/issues/</bugs-to>
- <remote-id type="github">mgorny/pyh2o</remote-id>
+ <bugs-to>https://github.com/projg2/pyh2o/issues/</bugs-to>
+ <remote-id type="github">projg2/pyh2o</remote-id>
<remote-id type="pypi">pyh2o</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pyh2o/pyh2o-1-r1.ebuild b/dev-python/pyh2o/pyh2o-1-r1.ebuild
index 0797772c060c..b2d776d89062 100644
--- a/dev-python/pyh2o/pyh2o-1-r1.ebuild
+++ b/dev-python/pyh2o/pyh2o-1-r1.ebuild
@@ -3,15 +3,17 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="Python API for sci-libs/libh2o"
-HOMEPAGE="https://github.com/mgorny/pyh2o/"
+HOMEPAGE="https://github.com/projg2/pyh2o/"
SRC_URI="
- https://github.com/mgorny/pyh2o/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/projg2/pyh2o/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
"
LICENSE="BSD"
diff --git a/dev-python/pyhamcrest/Manifest b/dev-python/pyhamcrest/Manifest
index d9bbb9460f54..19a5afa368f8 100644
--- a/dev-python/pyhamcrest/Manifest
+++ b/dev-python/pyhamcrest/Manifest
@@ -1 +1 @@
-DIST PyHamcrest-2.0.4.gh.tar.gz 59952 BLAKE2B 76d8bbe2581c178f26cabac5207b6f26f0e86d66848a51fb24d313fdafffc75d40a02f02a73462358ca55a6b50941f849c542340b854aed83a37cef5876d90e4 SHA512 6ee558fe04dce839d5d5d20b90ecf82fed96570e1c5b3a827fce19dba167bf4702ea707560b19e2d6e82be20913deb6cf17fa7e140733899a92abb28e9f2aa56
+DIST PyHamcrest-2.1.0.gh.tar.gz 62526 BLAKE2B 5f4a836c6f0e61977fe0d572987a75fa9803d2362afb95d27d22aa8a567844823452b99c40c8160cca4407a60dbbeff3f6fdf03163da9ee643e082a64e83c512 SHA512 99017a75954b346622f9bd261a4f8827f82eb42a19551a7f96f9097a763e57afcc367a41a4cca742bda60ee0e7c3bcc2ca7025348e318f41e67c97c7a60961b5
diff --git a/dev-python/pyhamcrest/pyhamcrest-2.0.4.ebuild b/dev-python/pyhamcrest/pyhamcrest-2.0.4.ebuild
deleted file mode 100644
index 1c908fbb58e9..000000000000
--- a/dev-python/pyhamcrest/pyhamcrest-2.0.4.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_{9..11} )
-
-inherit distutils-r1
-
-MY_P="PyHamcrest-${PV}"
-DESCRIPTION="Hamcrest framework for matcher objects"
-HOMEPAGE="
- https://github.com/hamcrest/PyHamcrest/
- https://pypi.org/project/PyHamcrest/
-"
-SRC_URI="
- https://github.com/hamcrest/PyHamcrest/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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="examples"
-
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx doc \
- dev-python/sphinx_rtd_theme
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_install_all() {
- use examples && dodoc -r examples
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pyhamcrest/pyhamcrest-2.1.0.ebuild b/dev-python/pyhamcrest/pyhamcrest-2.1.0.ebuild
new file mode 100644
index 000000000000..d524a8ae4ccd
--- /dev/null
+++ b/dev-python/pyhamcrest/pyhamcrest-2.1.0.ebuild
@@ -0,0 +1,41 @@
+# 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="PyHamcrest-${PV}"
+DESCRIPTION="Hamcrest framework for matcher objects"
+HOMEPAGE="
+ https://github.com/hamcrest/PyHamcrest/
+ https://pypi.org/project/PyHamcrest/
+"
+SRC_URI="
+ https://github.com/hamcrest/PyHamcrest/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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="examples"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx doc \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyhcl/Manifest b/dev-python/pyhcl/Manifest
index 06f3a804c010..1d5adac20567 100644
--- a/dev-python/pyhcl/Manifest
+++ b/dev-python/pyhcl/Manifest
@@ -1 +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
new file mode 100644
index 000000000000..5607b0797e55
--- /dev/null
+++ b/dev-python/pyhcl/pyhcl-0.4.5.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="HCL configuration parser for python"
+HOMEPAGE="
+ https://github.com/virtuald/pyhcl/
+ https://pypi.org/project/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/pyicu/Manifest b/dev-python/pyicu/Manifest
index fbdf9f62a871..2577db7630f9 100644
--- a/dev-python/pyicu/Manifest
+++ b/dev-python/pyicu/Manifest
@@ -1 +1 @@
-DIST pyicu-v2.10.2.tar.bz2 192890 BLAKE2B b865e2777d922d7ec7ec1abab5e745670affa6e31704db7b23f906eab8ac99ac612c756f433119380a0fed2d180373dba05003722a1ba0990cafc7c4d9d3fbdd SHA512 687f48e0315cc72917b54c7431ee29d503ec79354842e5f6db564cc951a13d32cb4df97435d04c4b125a2a654f70429592ef2197e154624dd9a246b9bacfa4a9
+DIST pyicu-v2.12.tar.bz2 195543 BLAKE2B ffee7f0d77495ca490047f6c1f280e47161a9dcebbf5525c8131a3876d10048f154aabfa2be98cd9bbe8e32cea2be86736cf7aa1b0193084b0b7dc36a45b861f SHA512 b182550a9491795699868908615a823e9e35220b6b43ef745a0e34563a133d2c9c2c5c8ae6e221f8c7117d310214828e8110f9e4113fd5cae7e724425de8fe84
diff --git a/dev-python/pyicu/pyicu-2.10.2.ebuild b/dev-python/pyicu/pyicu-2.10.2.ebuild
deleted file mode 100644
index 0ba181aafef6..000000000000
--- a/dev-python/pyicu/pyicu-2.10.2.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
-
-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 ~riscv x86"
-
-DEPEND="
- dev-libs/icu:=
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- test? (
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( CHANGES CREDITS README.md )
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyicu/pyicu-2.12.ebuild b/dev-python/pyicu/pyicu-2.12.ebuild
new file mode 100644
index 000000000000..5b2f1fee5d3b
--- /dev/null
+++ b/dev-python/pyicu/pyicu-2.12.ebuild
@@ -0,0 +1,45 @@
+# 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 ~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/files/pyinotify-0.9.6-py312.patch b/dev-python/pyinotify/files/pyinotify-0.9.6-py312.patch
new file mode 100644
index 000000000000..6f8f65545b8c
--- /dev/null
+++ b/dev-python/pyinotify/files/pyinotify-0.9.6-py312.patch
@@ -0,0 +1,84 @@
+From 478d595a7d086423733e9f5da5edfe9f1df48682 Mon Sep 17 00:00:00 2001
+From: Troy Curtis Jr <troy@troycurtisjr.com>
+Date: Thu, 10 Aug 2023 21:51:15 -0400
+Subject: [PATCH] Make asyncore support optional for Python 3.
+
+Fixes #204.
+---
+ python3/pyinotify.py | 50 +++++++++++++++++++++++++-------------------
+ 1 file changed, 28 insertions(+), 22 deletions(-)
+
+diff --git a/python3/pyinotify.py b/python3/pyinotify.py
+index bc24313..f4a5a90 100755
+--- a/python3/pyinotify.py
++++ b/python3/pyinotify.py
+@@ -68,7 +68,6 @@ def __init__(self, version):
+ from datetime import datetime, timedelta
+ import time
+ import re
+-import asyncore
+ import glob
+ import locale
+ import subprocess
+@@ -1494,33 +1493,40 @@ def run(self):
+ self.loop()
+
+
+-class AsyncNotifier(asyncore.file_dispatcher, Notifier):
+- """
+- This notifier inherits from asyncore.file_dispatcher in order to be able to
+- use pyinotify along with the asyncore framework.
++try:
++ import asyncore
+
+- """
+- def __init__(self, watch_manager, default_proc_fun=None, read_freq=0,
+- threshold=0, timeout=None, channel_map=None):
++ class AsyncNotifier(asyncore.file_dispatcher, Notifier):
+ """
+- Initializes the async notifier. The only additional parameter is
+- 'channel_map' which is the optional asyncore private map. See
+- Notifier class for the meaning of the others parameters.
++ This notifier inherits from asyncore.file_dispatcher in order to be able to
++ use pyinotify along with the asyncore framework.
+
+ """
+- Notifier.__init__(self, watch_manager, default_proc_fun, read_freq,
+- threshold, timeout)
+- asyncore.file_dispatcher.__init__(self, self._fd, channel_map)
++ def __init__(self, watch_manager, default_proc_fun=None, read_freq=0,
++ threshold=0, timeout=None, channel_map=None):
++ """
++ Initializes the async notifier. The only additional parameter is
++ 'channel_map' which is the optional asyncore private map. See
++ Notifier class for the meaning of the others parameters.
+
+- def handle_read(self):
+- """
+- When asyncore tells us we can read from the fd, we proceed processing
+- events. This method can be overridden for handling a notification
+- differently.
++ """
++ Notifier.__init__(self, watch_manager, default_proc_fun, read_freq,
++ threshold, timeout)
++ asyncore.file_dispatcher.__init__(self, self._fd, channel_map)
+
+- """
+- self.read_events()
+- self.process_events()
++ def handle_read(self):
++ """
++ When asyncore tells us we can read from the fd, we proceed processing
++ events. This method can be overridden for handling a notification
++ differently.
++
++ """
++ self.read_events()
++ self.process_events()
++except ImportError:
++ # asyncore was removed in Python 3.12, but try the import instead of a
++ # version check in case the compatibility package is installed.
++ pass
+
+
+ class TornadoAsyncNotifier(Notifier):
diff --git a/dev-python/pyinotify/pyinotify-0.9.6-r1.ebuild b/dev-python/pyinotify/pyinotify-0.9.6-r1.ebuild
index 261ba1a9da0c..2398f2c70957 100644
--- a/dev-python/pyinotify/pyinotify-0.9.6-r1.ebuild
+++ b/dev-python/pyinotify/pyinotify-0.9.6-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1
@@ -12,14 +12,21 @@ inherit distutils-r1
DESCRIPTION="Python module used for monitoring filesystems events"
HOMEPAGE="
https://pypi.org/project/pyinotify/
- https://github.com/seb-m/pyinotify/"
-SRC_URI="https://seb.dbzteam.org/pub/pyinotify/releases/${P}.tar.gz"
+ https://github.com/seb-m/pyinotify/
+"
+SRC_URI="
+ https://seb.dbzteam.org/pub/pyinotify/releases/${P}.tar.gz
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips 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"
IUSE="examples"
+PATCHES=(
+ "${FILESDIR}/${P}-py312.patch"
+)
+
python_install_all() {
if use examples; then
dodoc -r python3/examples
diff --git a/dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r2.ebuild b/dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r2.ebuild
index 47b017d915d6..4c4c3299c45d 100644
--- a/dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r2.ebuild
+++ b/dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r2.ebuild
@@ -3,7 +3,8 @@
EAPI=8
-H=5465d037b30e334cb0997f2315ec1e451b8ad4c1
+[[ ${PV} == *_p20190421 ]] && COMMIT=5465d037b30e334cb0997f2315ec1e451b8ad4c1
+
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} )
@@ -12,8 +13,9 @@ 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/${H}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}"/${PN}-${H}
+SRC_URI="https://github.com/PiotrDabkowski/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
RESTRICT="!test? ( test )"
LICENSE="MIT"
diff --git a/dev-python/pyjwt/Manifest b/dev-python/pyjwt/Manifest
index 8e121eb05b2c..95bc4c64c3f3 100644
--- a/dev-python/pyjwt/Manifest
+++ b/dev-python/pyjwt/Manifest
@@ -1 +1 @@
-DIST PyJWT-2.6.0.tar.gz 72984 BLAKE2B d8e9cc85ec80ca8f0414b88bb4bfa4aa93c973e5f3e015dee9433371d8b3c9ba5d701df16073bbacbaca9c9433f8a69259623f2f4e70843dbdf520d4248bb3f3 SHA512 c2f797bbb84469db1332bad61807740d859d0e1fa500ba17981d6c1a7a30a6fab345ff241200e24ce1ffe686591642a858e5eb2e9462fa1ceda7fcd00ae55d30
+DIST PyJWT-2.8.0.tar.gz 78313 BLAKE2B b5031ec0ea672ef2dffc077aba6c781a20a7497257a16241841c0e0158017370581e3c9785d930772290c25fc9029e71a5d8744d999b135b29715a4f35720508 SHA512 74e74cf8c78494a9e51a2a186347361388031d5c0d0864df2a5d051621d9d31dff617ab1d7ebb4a829cc7d409d196e1bdb3b361ec888b6c14f1abea77544475e
diff --git a/dev-python/pyjwt/pyjwt-2.6.0.ebuild b/dev-python/pyjwt/pyjwt-2.6.0.ebuild
deleted file mode 100644
index fdbd3fe7d854..000000000000
--- a/dev-python/pyjwt/pyjwt-2.6.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_{9..11} )
-
-inherit distutils-r1 optfeature
-
-MY_PN="PyJWT"
-DESCRIPTION="JSON Web Token implementation in Python"
-HOMEPAGE="
- https://github.com/jpadilla/pyjwt/
- https://pypi.org/project/PyJWT/
-"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S=${WORKDIR}/${MY_PN}-${PV}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- !dev-python/python-jwt
-"
-BDEPEND="
- test? (
- >=dev-python/cryptography-3.4.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-pkg_postinst() {
- optfeature "cryptography" dev-python/cryptography
-}
diff --git a/dev-python/pyjwt/pyjwt-2.8.0.ebuild b/dev-python/pyjwt/pyjwt-2.8.0.ebuild
new file mode 100644
index 000000000000..c30f673c63aa
--- /dev/null
+++ b/dev-python/pyjwt/pyjwt-2.8.0.ebuild
@@ -0,0 +1,41 @@
+# 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="PyJWT"
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="JSON Web Token implementation in Python"
+HOMEPAGE="
+ https://github.com/jpadilla/pyjwt/
+ https://pypi.org/project/PyJWT/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ !dev-python/python-jwt
+"
+BDEPEND="
+ test? (
+ >=dev-python/cryptography-3.4.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Internet
+ tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_sslcontext_default
+)
+
+pkg_postinst() {
+ optfeature "cryptography" dev-python/cryptography
+}
diff --git a/dev-python/pykerberos/Manifest b/dev-python/pykerberos/Manifest
deleted file mode 100644
index cf0fb2ef6e73..000000000000
--- a/dev-python/pykerberos/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST PyKerberos-1.3.1.tar.gz 41954 BLAKE2B b95a3473c5803ebcb461db7f2589caa03e92f4cb3ba3a4890a31db99b687aa4c77ae4e58f09ae2339a1fd8acf6fe9ab5797e3b7178dfeb2ee7a95bb851fff402 SHA512 dcadc5c3b095d8bba947a745ac84cc558d7eebad139a0e86260891966786506a7a62600fde93fa14683971e436da8cc5cd3795817b20ba45ce7e39f8c05deb53
diff --git a/dev-python/pykerberos/pykerberos-1.3.1-r1.ebuild b/dev-python/pykerberos/pykerberos-1.3.1-r1.ebuild
deleted file mode 100644
index 93db3383e3c6..000000000000
--- a/dev-python/pykerberos/pykerberos-1.3.1-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=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-MY_P=PyKerberos-${PV}
-DESCRIPTION="A high-level Python wrapper for Kerberos/GSSAPI operations"
-HOMEPAGE="
- https://www.calendarserver.org/PyKerberos.html
- https://github.com/apple/ccs-pykerberos/
- https://pypi.org/project/kerberos/"
-SRC_URI="
- https://github.com/apple/ccs-pykerberos/archive/${MY_P}.tar.gz"
-S=${WORKDIR}/ccs-pykerberos-${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc64 ~riscv x86"
-# test environment is non-trivial to set up, so just use docker
-# (see python_test below)
-# also for alpha/beta Python releases support:
-# https://github.com/apple/ccs-pykerberos/pull/83/commits/5f1130a1305b5f6e7d7d8b41067c4713f0c8950f
-RESTRICT="test"
-
-RDEPEND="app-crypt/mit-krb5"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.3.1-python3.10.patch
-)
-
-python_test() {
- set -- docker run \
- -v "${PWD}:/app" \
- -w /app \
- -e PYENV=$("${EPYTHON}" -c 'import sys; print(sys.version.split()[0])') \
- -e KERBEROS_USERNAME=administrator \
- -e KERBEROS_PASSWORD=Password01 \
- -e KERBEROS_REALM=example.com \
- -e KERBEROS_PORT=80 \
- ubuntu:16.04 \
- /bin/bash .travis.sh
- echo "${@}" >&2
- "${@}" || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/pykka/Manifest b/dev-python/pykka/Manifest
index a7bcf752d7ca..ffc7321f2911 100644
--- a/dev-python/pykka/Manifest
+++ b/dev-python/pykka/Manifest
@@ -1 +1 @@
-DIST pykka-3.1.1.gh.tar.gz 44312 BLAKE2B cb50f01e27ca7b6aec10b61fb41d59e1d4fec29b65595afbab1e931137ef35efe8860bab0ce3b7a6a30a44aa215deb237a4e13abc541c537dab062b7d14acf0d SHA512 0cb5ca7924f77d9d0ba8b2f288e2a635f7ce70ae49bd5f5ddf574f37f76252b575cb95898ab244d27b96090345bcbbe82bad1c97f5cca73fb8fffa707e553e55
+DIST pykka-4.0.2.gh.tar.gz 48536 BLAKE2B 57825e0cbcad0afc33870de000820cfcd400d195715d8c48f133470ab8c9c26d9f8ab1a9cb54e847fe163b240258c789ec70bcf3627dcfbad1d469eee7c2d9c0 SHA512 43d31258f73a6d43c467d108066dd3e852db9e21a04fda030137dbd65052a874e346ed78b79a4929b25d2744a286c95d5d425ae150428ea1594a24f2a6c6a164
diff --git a/dev-python/pykka/pykka-3.1.1.ebuild b/dev-python/pykka/pykka-3.1.1.ebuild
deleted file mode 100644
index 76ae776ec224..000000000000
--- a/dev-python/pykka/pykka-3.1.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_{9..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.2.ebuild b/dev-python/pykka/pykka-4.0.2.ebuild
new file mode 100644
index 000000000000..066fbec33863
--- /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..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/pykwalify/pykwalify-1.8.0-r3.ebuild b/dev-python/pykwalify/pykwalify-1.8.0-r3.ebuild
index 482acfc42e9a..3276aa080f7a 100644
--- a/dev-python/pykwalify/pykwalify-1.8.0-r3.ebuild
+++ b/dev-python/pykwalify/pykwalify-1.8.0-r3.ebuild
@@ -4,17 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Python lib/cli for JSON/YAML schema validation"
-HOMEPAGE="https://pypi.org/project/pykwalify/ https://github.com/Grokzen/pykwalify"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/Grokzen/pykwalify/
+ https://pypi.org/project/pykwalify/
+"
SLOT="0"
LICENSE="MIT"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~amd64-linux ~x86-linux"
RDEPEND="
>=dev-python/docopt-0.6.2[${PYTHON_USEDEP}]
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-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 c1a76432c6e9..000000000000
--- a/dev-python/pylama/pylama-8.4.1-r1.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="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
-)
-
-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 bafc1a429dbb..d87f4abd85e2 100644
--- a/dev-python/pylast/Manifest
+++ b/dev-python/pylast/Manifest
@@ -1 +1 @@
-DIST pylast-5.1.0.gh.tar.gz 40178 BLAKE2B f290afa72d71cb2f88793aaa31aa059a603375e91b310c3ca9180ed5626c589f3d91ae1961db15e256b01bd019b8e59dd48be45ff96683707c05ee9170dfed84 SHA512 64c71f5365638f3bdb435ac2d7405bd1e7a3ebe95fee97469c64bee63ad9850d45781756ebd59942c70780830fbb0519874908d2894e227acadedb5120c3b9ab
+DIST pylast-5.2.0.tar.gz 41137 BLAKE2B a7742bd2a23e281ab1a12d0198c74f1b5d8302700cb58490a5b3bff693098c8c3bf548ed52ca7f8cefecbcc10972c57da9ca04fe1d791141aacbb84ead9592ed SHA512 1ae76ff4ec6f009388abfcf8525f1c19e47cbabaace1f5e8c518819d0856168d855b789e3c08a9699dd7ab88ebfc7c3ab81c2d74a0fa1fd210450741b99da8c6
diff --git a/dev-python/pylast/pylast-5.1.0.ebuild b/dev-python/pylast/pylast-5.1.0.ebuild
deleted file mode 100644
index d72f41f96819..000000000000
--- a/dev-python/pylast/pylast-5.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python interface to last.fm and other api-compatible websites"
-HOMEPAGE="
- https://pypi.org/project/pylast/
- https://github.com/pylast/pylast/
-"
-SRC_URI="
- https://github.com/pylast/pylast/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/pylast/pylast-5.2.0.ebuild b/dev-python/pylast/pylast-5.2.0.ebuild
new file mode 100644
index 000000000000..4dff978a1fea
--- /dev/null
+++ b/dev-python/pylast/pylast-5.2.0.ebuild
@@ -0,0 +1,31 @@
+# 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/pylatex/Manifest b/dev-python/pylatex/Manifest
index a532a7052bb2..de252896d2ec 100644
--- a/dev-python/pylatex/Manifest
+++ b/dev-python/pylatex/Manifest
@@ -1 +1 @@
-DIST pylatex-1.4.1.tar.gz 301482 BLAKE2B c68c8bbf70c5099b3c3146922afe94dcf4f90bfc8644fa165ee27835f4a24642645f9849f2f9fd69656dc07dcc4807869275aacf33a1e5b9c59e539801f8e821 SHA512 55a5734e4d239cef4bcaafa0ba64eea013ba3e86d137de5a5f8311d70c949d783e2e7aad24d39d16a6febbe4bddc34e47248068e1328fe3f95f39a7c7019a3a9
+DIST PyLaTeX-1.4.2.gh.tar.gz 307158 BLAKE2B bc20478759fc8315fd7fa2161d1638035c0dad4731c4cb254c78dfc45da2b361b3864d2ec04d6eb8fd7947e9908610eb0104444edff95666abba6a9f6da4cb4b SHA512 dcbe58de0ab715d6fbb571a7ad3981c875eacd08d06244b8715fa240df6f8f072417ae076a5caee204e000bf7eb55097b9ba49eddb5ce666470e494c15aa88ed
diff --git a/dev-python/pylatex/pylatex-1.4.1.ebuild b/dev-python/pylatex/pylatex-1.4.1.ebuild
deleted file mode 100644
index 72df899bed09..000000000000
--- a/dev-python/pylatex/pylatex-1.4.1.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
-
-MY_PN="PyLaTeX"
-MY_P="${MY_PN}-${PV}"
-
-PYTHON_COMPAT=( python3_{9..10} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="A Python library for creating LaTeX files and snippets"
-HOMEPAGE="https://github.com/JelteF/PyLaTeX"
-SRC_URI="https://github.com/JelteF/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="examples"
-
-RDEPEND="
- dev-python/ordered-set[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-BDEPEND+="
- test? (
- dev-python/quantities[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- app-text/texlive
- dev-texlive/texlive-latexextra
- )"
-
-python_prepare_all() {
- sed -i -e 's:description-file:description_file:' setup.cfg || die # bug 798381
-
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- if use examples ; then
- dodoc -r examples
- docompress -x /usr/share/doc/"${PF}"/examples
- fi
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "compiling generated files" "app-text/texlive dev-texlive/texlive-latexextra dev-texlive/texlive-mathscience"
- optfeature "matplotlib support" dev-python/matplotlib
- optfeature "numpy support" dev-python/numpy
- optfeature "quantities support" dev-python/quantities
-}
diff --git a/dev-python/pylatex/pylatex-1.4.2.ebuild b/dev-python/pylatex/pylatex-1.4.2.ebuild
new file mode 100644
index 000000000000..ee6078ffc292
--- /dev/null
+++ b/dev-python/pylatex/pylatex-1.4.2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2020-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 optfeature
+
+MY_P="PyLaTeX-${PV}"
+DESCRIPTION="A Python library for creating LaTeX files and snippets"
+HOMEPAGE="
+ https://github.com/JelteF/PyLaTeX/
+ https://pypi.org/project/PyLaTeX/
+"
+SRC_URI="
+ https://github.com/JelteF/PyLaTeX/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/ordered-set[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/quantities[${PYTHON_USEDEP}]
+ app-text/texlive
+ dev-texlive/texlive-latexextra
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # bug 798381
+ sed -i -e 's:description-file:description_file:' setup.cfg || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ if use examples ; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/"${PF}"/examples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "compiling generated files" "
+ app-text/texlive
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-mathscience
+ "
+ optfeature "matplotlib support" dev-python/matplotlib
+ optfeature "numpy support" dev-python/numpy
+ optfeature "quantities support" dev-python/quantities
+}
diff --git a/dev-python/pylatexenc/pylatexenc-2.10.ebuild b/dev-python/pylatexenc/pylatexenc-2.10.ebuild
index 3e5108842686..fec506fd6008 100644
--- a/dev-python/pylatexenc/pylatexenc-2.10.ebuild
+++ b/dev-python/pylatexenc/pylatexenc-2.10.ebuild
@@ -4,13 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="Simple LaTeX parser providing latex-to-unicode and unicode-to-latex conversion"
-HOMEPAGE="https://github.com/phfaist/pylatexenc"
-SRC_URI="https://github.com/phfaist/pylatexenc/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+HOMEPAGE="
+ https://github.com/phfaist/pylatexenc/
+ https://pypi.org/project/pylatexenc/
+"
+SRC_URI="
+ https://github.com/phfaist/pylatexenc/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="MIT"
SLOT="0"
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 dbb33a039f72..fb63e139d236 100644
--- a/dev-python/pylev/pylev-1.4.0-r1.ebuild
+++ b/dev-python/pylev/pylev-1.4.0-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -20,6 +20,6 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~x86"
distutils_enable_tests unittest
diff --git a/dev-python/pylibacl/Manifest b/dev-python/pylibacl/Manifest
index 1375f3311cd5..426df7a3a1be 100644
--- a/dev-python/pylibacl/Manifest
+++ b/dev-python/pylibacl/Manifest
@@ -1 +1 @@
-DIST pylibacl-0.6.0.gh.tar.gz 40231 BLAKE2B ba76f5540de62cec8572960b65f65289d7fe2066f76861240849c4c8175a9219b7ced086739b5a9b4d560a125c8fe759cc7b5b688bd4dc3d84ca4dc78897ea75 SHA512 a93ad199d9946490a863906411893a204bf801df71cf70217d6b29940a9365f05fd121116f22e054a3b8d27cd62e35c73566c1e0dd246ae5c0edd2f967df50ba
+DIST pylibacl-0.7.0.tar.gz 47543 BLAKE2B 277c03d01ab184ffaaa2c07c56e8f2464cba8b6da0fbd251880d274bef3b27dc211f1571425d4216e02bbeba8c623edfa56cafbb27932092ffce254e6be8df5d SHA512 077515a00c7a048faf7792acd9c3e768d35674c0b3f4ec72fdf37561c90ed12bb392582a4fb9a23b7916db3375278c2636f2844f362a8335e7ad68e1e9b9c3bd
diff --git a/dev-python/pylibacl/pylibacl-0.6.0.ebuild b/dev-python/pylibacl/pylibacl-0.6.0.ebuild
deleted file mode 100644
index 040aeeee24e0..000000000000
--- a/dev-python/pylibacl/pylibacl-0.6.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="POSIX ACLs (Access Control Lists) for Python"
-HOMEPAGE="
- https://pylibacl.k1024.org/
- https://pypi.org/project/pylibacl/
- https://github.com/iustin/pylibacl/"
-SRC_URI="
- https://github.com/iustin/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~ia64 ~mips ppc ppc64 sparc x86"
-
-RDEPEND="sys-apps/acl"
-DEPEND=${RDEPEND}
-
-distutils_enable_sphinx doc
-distutils_enable_tests pytest
-
-python_test() {
- if ! pytest -vv; then
- eerror
- eerror "If you got the following errors:"
- eerror "\"IOError: [Errno 95] Operation not supported\","
- eerror "then you should remount the filesystem containing"
- eerror "build directory with \"acl\" option enabled."
- eerror
- die "Tests fail with ${EPYTHON}"
- fi
-}
diff --git a/dev-python/pylibacl/pylibacl-0.7.0.ebuild b/dev-python/pylibacl/pylibacl-0.7.0.ebuild
new file mode 100644
index 000000000000..dbf2d6fe703f
--- /dev/null
+++ b/dev-python/pylibacl/pylibacl-0.7.0.ebuild
@@ -0,0 +1,44 @@
+# 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="POSIX ACLs (Access Control Lists) for Python"
+HOMEPAGE="
+ https://pylibacl.k1024.org/
+ https://pypi.org/project/pylibacl/
+ https://github.com/iustin/pylibacl/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~ia64 ~mips ppc ppc64 sparc x86"
+
+DEPEND="
+ sys-apps/acl
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_sphinx doc \
+ dev-python/recommonmark
+distutils_enable_tests pytest
+
+python_test() {
+ if ! nonfatal epytest ; then
+ eerror
+ eerror "If you got the following errors:"
+ eerror "\"IOError: [Errno 95] Operation not supported\","
+ eerror "then you should remount the filesystem containing"
+ eerror "build directory with \"acl\" option enabled."
+ eerror
+ die "Tests fail with ${EPYTHON}"
+ fi
+}
diff --git a/dev-python/pylibmc/pylibmc-1.6.3.ebuild b/dev-python/pylibmc/pylibmc-1.6.3.ebuild
index 66f7e78f6e87..68be0892d91d 100644
--- a/dev-python/pylibmc/pylibmc-1.6.3.ebuild
+++ b/dev-python/pylibmc/pylibmc-1.6.3.ebuild
@@ -3,8 +3,9 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
diff --git a/dev-python/pylint-venv/Manifest b/dev-python/pylint-venv/Manifest
index e923065b1a81..b07f4f95033c 100644
--- a/dev-python/pylint-venv/Manifest
+++ b/dev-python/pylint-venv/Manifest
@@ -1 +1 @@
-DIST pylint-venv-2.3.0.gh.tar.gz 4967 BLAKE2B 7095848b28f1128d44164fecbd1fd1c3694140d8b3818fefcab92aa5a4083608dfc36c96a6c30b117a8592bea0de9b92a537c33f8db4ce8c1285a575d1aa2131 SHA512 c3f9294a137cc6369984cf714196ee0a248471990f2c6e691da86f3048126b99775cc8e9c516c72bd8746d0d814a52387eca165c5f1960aa418ec5abb13a3bed
+DIST pylint-venv-3.0.3.gh.tar.gz 15432 BLAKE2B 2a0315967aa7ac9628a7633360249d3bf5904d2e9939fe1c962ad7066694fd5b073df71e89f0ff4a6c278c3ccf6b41cd70c0b2928b58bbaa19a7910f18f7b697 SHA512 83632d7063f8e14bcf9213a059e8e6e20222518e5cc3d19a7cc3761e11ece2aaea9b2e648f0cacdb37e6995fd85371920ed8bcc7a28545c571d12da8e8b3d795
diff --git a/dev-python/pylint-venv/pylint-venv-2.3.0.ebuild b/dev-python/pylint-venv/pylint-venv-2.3.0.ebuild
deleted file mode 100644
index f82f3383b446..000000000000
--- a/dev-python/pylint-venv/pylint-venv-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=poetry
-PYTHON_COMPAT=( python3_{9..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"
-
-RDEPEND="
- dev-python/pylint[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/pylint-venv/pylint-venv-3.0.3.ebuild b/dev-python/pylint-venv/pylint-venv-3.0.3.ebuild
new file mode 100644
index 000000000000..e5b070cb1031
--- /dev/null
+++ b/dev-python/pylint-venv/pylint-venv-3.0.3.ebuild
@@ -0,0 +1,41 @@
+# 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="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 ~arm64 ~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 9c22a1a898db..17a5734180c6 100644
--- a/dev-python/pylint/Manifest
+++ b/dev-python/pylint/Manifest
@@ -1,3 +1 @@
-DIST pylint-2.15.10.gh.tar.gz 1321574 BLAKE2B 6ba504e0715675e8bf81848132e39e1d9b00078cb5ae2e881212898c6c9cfcbcf554ba3e9c6194173a776689ad311cef8e7420e027261b68c6e3f877c9961f33 SHA512 ce02512705f044be68dc7e2735ad705652307a1deec22ed3c077f29820a79b2d4f2a8ea82ca40a805bab516f7c00f83a22125228461e9e7db4f67f2b4cbf4edc
-DIST pylint-2.15.8.gh.tar.gz 1318035 BLAKE2B 39b6a604af8e1b8d54640d9088f9a527ae2ef74535adb0fd655647f972193a955564a2acd0fadde723cf873b0765d362c9cd7dc2d8cc984b8fa0ec0107ce8968 SHA512 c5b59ca220303d66804dd55990e6d62e2cadc2ab7654e47d7ec5e16749b40ad557f43f7b8919c79e48e4b60dc1f92169df7bc312bede279b8f97aee223d9b0bd
-DIST pylint-2.15.9.gh.tar.gz 1319840 BLAKE2B 6c48b19698e4692085d010eb857dc036cf67f94f6b82df3427b00a793f410e9b6b6ef7a5e868163752aa37355e8712c4ff48edb9b740f7d254af69370058e8ca SHA512 868d39011a545ffe719bd14dc4f99d59fad2487160900391cc91bec419d1c3857012b950a1bff790cdbdcb4b9120f83faf7c6b8adb1fd033db5edc54fe7816a1
+DIST pylint-3.1.0.gh.tar.gz 1433040 BLAKE2B a224af608fa5ccb256c18073a70f82c399ad23ff6df65f7ae3504c67060f5ba1cd36022c7d53a42f0f93bd4648340433601d2f479bef41a4281e8041a9d15715 SHA512 bb7f09fa8b2c6f218c0e4d74ec2d7bbcb5e9d9fa8c2aeae5a1bf899f25080251609f284959fab14dd93cc5dd911688e25d3d4e1e030a1790578bc78ef1ce2bf7
diff --git a/dev-python/pylint/metadata.xml b/dev-python/pylint/metadata.xml
index 7cf165680362..be7f73effa0f 100644
--- a/dev-python/pylint/metadata.xml
+++ b/dev-python/pylint/metadata.xml
@@ -19,6 +19,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">pylint</remote-id>
- <remote-id type="github">PyCQA/pylint</remote-id>
+ <remote-id type="github">pylint-dev/pylint</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pylint/pylint-2.15.10.ebuild b/dev-python/pylint/pylint-2.15.10.ebuild
deleted file mode 100644
index 1a5476acab7d..000000000000
--- a/dev-python/pylint/pylint-2.15.10.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_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Python code static checker"
-HOMEPAGE="
- https://pypi.org/project/pylint/
- https://github.com/PyCQA/pylint/
-"
-SRC_URI="
- https://github.com/pycqa/pylint/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"
-IUSE="examples"
-
-# Make sure to check https://github.com/PyCQA/pylint/blob/main/pyproject.toml#L34 on bumps
-# Adjust dep bounds!
-RDEPEND="
- <dev-python/astroid-2.14[${PYTHON_USEDEP}]
- >=dev-python/astroid-2.12.13[${PYTHON_USEDEP}]
- >=dev-python/dill-0.3.6[${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/typing-extensions[${PYTHON_USEDEP}]
- ' 3.8 3.9)
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
-"
-BDEPEND="
- test? (
- >=dev-python/GitPython-3[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- rm -rf pylint || die
-
- local EPYTEST_DESELECT=(
- # No need to run the benchmarks
- tests/benchmark/test_baseline_benchmarks.py
-
- # TODO
- 'tests/test_functional.py::test_functional[forgotten_debug_statement_py37]'
- 'tests/test_functional.py::test_functional[dataclass_with_field]'
- 'tests/test_functional.py::test_functional[no_name_in_module]'
- tests/checkers/unittest_typecheck.py::TestTypeChecker::test_nomember_on_c_extension_error_msg
- tests/checkers/unittest_typecheck.py::TestTypeChecker::test_nomember_on_c_extension_info_msg
- tests/config/pylint_config/test_run_pylint_config.py::test_invocation_of_pylint_config
-
- # apparently fragile, needs unpickleable plugin
- tests/test_check_parallel.py::TestCheckParallelFramework::test_linter_with_unpickleable_plugins_is_pickleable
- )
- 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
-}
diff --git a/dev-python/pylint/pylint-2.15.8.ebuild b/dev-python/pylint/pylint-2.15.8.ebuild
deleted file mode 100644
index 9e4664a036d2..000000000000
--- a/dev-python/pylint/pylint-2.15.8.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_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Python code static checker"
-HOMEPAGE="
- https://pypi.org/project/pylint/
- https://github.com/PyCQA/pylint/
-"
-SRC_URI="
- https://github.com/pycqa/pylint/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"
-IUSE="examples"
-
-# Make sure to check https://github.com/PyCQA/pylint/blob/main/pyproject.toml#L34 on bumps
-# Adjust dep bounds!
-RDEPEND="
- <dev-python/astroid-2.14[${PYTHON_USEDEP}]
- >=dev-python/astroid-2.12.13[${PYTHON_USEDEP}]
- >=dev-python/dill-0.2[${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/typing-extensions[${PYTHON_USEDEP}]
- ' 3.8 3.9)
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
-"
-BDEPEND="
- test? (
- >=dev-python/GitPython-3[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- rm -rf pylint || die
-
- local EPYTEST_DESELECT=(
- # No need to run the benchmarks
- tests/benchmark/test_baseline_benchmarks.py
-
- # TODO
- 'tests/test_functional.py::test_functional[forgotten_debug_statement_py37]'
- 'tests/test_functional.py::test_functional[dataclass_with_field]'
- 'tests/test_functional.py::test_functional[no_name_in_module]'
- tests/checkers/unittest_typecheck.py::TestTypeChecker::test_nomember_on_c_extension_error_msg
- tests/checkers/unittest_typecheck.py::TestTypeChecker::test_nomember_on_c_extension_info_msg
- tests/config/pylint_config/test_run_pylint_config.py::test_invocation_of_pylint_config
-
- # apparently fragile, needs unpickleable plugin
- tests/test_check_parallel.py::TestCheckParallelFramework::test_linter_with_unpickleable_plugins_is_pickleable
- )
- 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
-}
diff --git a/dev-python/pylint/pylint-2.15.9.ebuild b/dev-python/pylint/pylint-2.15.9.ebuild
deleted file mode 100644
index 1a5476acab7d..000000000000
--- a/dev-python/pylint/pylint-2.15.9.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_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Python code static checker"
-HOMEPAGE="
- https://pypi.org/project/pylint/
- https://github.com/PyCQA/pylint/
-"
-SRC_URI="
- https://github.com/pycqa/pylint/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"
-IUSE="examples"
-
-# Make sure to check https://github.com/PyCQA/pylint/blob/main/pyproject.toml#L34 on bumps
-# Adjust dep bounds!
-RDEPEND="
- <dev-python/astroid-2.14[${PYTHON_USEDEP}]
- >=dev-python/astroid-2.12.13[${PYTHON_USEDEP}]
- >=dev-python/dill-0.3.6[${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/typing-extensions[${PYTHON_USEDEP}]
- ' 3.8 3.9)
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
-"
-BDEPEND="
- test? (
- >=dev-python/GitPython-3[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- rm -rf pylint || die
-
- local EPYTEST_DESELECT=(
- # No need to run the benchmarks
- tests/benchmark/test_baseline_benchmarks.py
-
- # TODO
- 'tests/test_functional.py::test_functional[forgotten_debug_statement_py37]'
- 'tests/test_functional.py::test_functional[dataclass_with_field]'
- 'tests/test_functional.py::test_functional[no_name_in_module]'
- tests/checkers/unittest_typecheck.py::TestTypeChecker::test_nomember_on_c_extension_error_msg
- tests/checkers/unittest_typecheck.py::TestTypeChecker::test_nomember_on_c_extension_info_msg
- tests/config/pylint_config/test_run_pylint_config.py::test_invocation_of_pylint_config
-
- # apparently fragile, needs unpickleable plugin
- tests/test_check_parallel.py::TestCheckParallelFramework::test_linter_with_unpickleable_plugins_is_pickleable
- )
- 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
-}
diff --git a/dev-python/pylint/pylint-3.1.0.ebuild b/dev-python/pylint/pylint-3.1.0.ebuild
new file mode 100644
index 000000000000..baeb1ca3ae1a
--- /dev/null
+++ b/dev-python/pylint/pylint-3.1.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..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.2[${PYTHON_USEDEP}]
+ >=dev-python/astroid-3.1.0[${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[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 32622a5e1d23..4696f6ad1fb4 100644
--- a/dev-python/pylru/pylru-1.2.1.ebuild
+++ b/dev-python/pylru/pylru-1.2.1.ebuild
@@ -4,12 +4,11 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{10..12} )
+inherit distutils-r1 pypi
DESCRIPTION="A least recently used (LRU) cache for Python"
HOMEPAGE="https://github.com/jlhutch/pylru"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
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 43cd5c7e8583..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,20 +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..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
DESCRIPTION="Spyder extensions for the python language server"
-HOMEPAGE="https://github.com/spyder-ide/pyls-spyder
- https://pypi.org/project/pyls-spyder/"
+HOMEPAGE="
+ https://github.com/spyder-ide/pyls-spyder
+ https://pypi.org/project/pyls-spyder/
+"
SRC_URI="https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="dev-python/python-lsp-server[all-plugins,${PYTHON_USEDEP}]"
BDEPEND="test? ( dev-python/mock[${PYTHON_USEDEP}] )"
diff --git a/dev-python/pymacaroons/metadata.xml b/dev-python/pymacaroons/metadata.xml
index 4b3480cbca63..1679cefb5e20 100644
--- a/dev-python/pymacaroons/metadata.xml
+++ b/dev-python/pymacaroons/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>arkamar@atlas.cz</email>
+ <maintainer type="person">
+ <email>arkamar@gentoo.org</email>
<name>Petr Vaněk</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">pymacaroons</remote-id>
diff --git a/dev-python/pymacaroons/pymacaroons-0.13.0-r1.ebuild b/dev-python/pymacaroons/pymacaroons-0.13.0-r1.ebuild
index ef9c29b5283a..c23a09cd5894 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 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..12} )
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/Manifest b/dev-python/pymad/Manifest
index 1383c899289f..b2a158d8e608 100644
--- a/dev-python/pymad/Manifest
+++ b/dev-python/pymad/Manifest
@@ -1 +1 @@
-DIST pymad-0.10.tar.gz 26815 BLAKE2B df694f1fcc7b2c6d0d0aa064b60d061ade2240085867b6a12b3ed63a93cbcac20ac40b3929fbf5b8d9c7b6dbc52883130d02b309ce7690addda6c78813ca2847 SHA512 68a7c93031d174ab50dfa406eec4166be2158d39c4231baee18b7d9c879692376cbf491bcd3e5747e65c496b07a40d1597532551aedcdf05d0fa46f6e185a3d8
+DIST pymad-0.11.3.gh.tar.gz 30098 BLAKE2B 70f93283128319b9849fb53bf5c55526da6236596c44eefa2b050d91aaa6593e1f0196cb4f5d9dc88768ebd1bb05a774b035e251bdd7e1d1b5202326324861e3 SHA512 42d323b75dbdfb307e593548f421f2e387ac487bac2e0539bbc479fad23a79eb64404f5fc2d3146e687c0f9fab39dfffd2a2b890b070baf41fdcb06032f90770
diff --git a/dev-python/pymad/pymad-0.10-r1.ebuild b/dev-python/pymad/pymad-0.10-r1.ebuild
deleted file mode 100644
index 61dbc5ebedda..000000000000
--- a/dev-python/pymad/pymad-0.10-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="Python wrapper for libmad MP3 decoding in python"
-HOMEPAGE="
- https://github.com/jaqx0r/pymad/
- https://pypi.org/project/pymad/
-"
-SRC_URI="
- https://github.com/jaqx0r/${PN}/archive/version/${PV}.tar.gz
- -> ${P}.tar.gz
-"
-S="${WORKDIR}/${PN}-version-${PV}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~x86"
-
-DEPEND="media-libs/libmad"
-RDEPEND="${DEPEND}"
diff --git a/dev-python/pymad/pymad-0.11.3.ebuild b/dev-python/pymad/pymad-0.11.3.ebuild
new file mode 100644
index 000000000000..d63fa3c59289
--- /dev/null
+++ b/dev-python/pymad/pymad-0.11.3.ebuild
@@ -0,0 +1,29 @@
+# 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 wrapper for libmad MP3 decoding in python"
+HOMEPAGE="
+ https://github.com/jaqx0r/pymad/
+ https://pypi.org/project/pymad/
+"
+SRC_URI="
+ https://github.com/jaqx0r/pymad/releases/download/v${PV}/${P}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc ~x86"
+
+DEPEND="media-libs/libmad"
+RDEPEND="${DEPEND}"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pymdown-extensions/Manifest b/dev-python/pymdown-extensions/Manifest
index 7423e9971071..761a3f1d3e53 100644
--- a/dev-python/pymdown-extensions/Manifest
+++ b/dev-python/pymdown-extensions/Manifest
@@ -1 +1,2 @@
-DIST pymdown-extensions-9.9.2.gh.tar.gz 1017219 BLAKE2B d41f0863654c3d4aa6a947f5fef9d0029368e4a990f48a6997ecd1a0196a6b70198a698a22bfe536217bc001b4d21b69b2d5e3b479616825787648ef33ad1a9b SHA512 7f89f527f4d28ee31bf74dfd2343509592d287e1196e8a5045bbeaa5f2a038defc36e5b52ed53064f6cc797534032ed7a9e733070ff68db099e41614b07e417c
+DIST pymdown_extensions-10.7.1.tar.gz 811769 BLAKE2B ed2195a1a2262b96d444dd7d60c6330a6670cbe44a0f00f4c5a1dd80f4d2f13f0202adac5505d2fd5b6b5b02300e2d0bc62680fd92f3c00363c4123f02151a0a SHA512 60dce8fafb1935ab3d42320f9b6a3db9b60f4f4d4585b79f123103183f2a2ae9ed1256ae84992ad14b20f6969519a9c1a1b916c301a63715f867e8136be5eb2b
+DIST pymdown_extensions-10.8.tar.gz 811981 BLAKE2B 98e95166fa4fdb0ed7049104f2a49995e43a40fb5118673ee8f47b999c4881a8468ce98e6381fd78d58b15218c444c8c3270450a845e5025cab8861d1746fcdb SHA512 24b5d2211941a771c7f3b6fb9d6eb2db2c3b38906c4c37f2fa385e5b28140a60dc163256e903fd4df4144b05d9c1c4c0c296fe76ceb290969674753b87de7466
diff --git a/dev-python/pymdown-extensions/files/pymdown-extensions-10.7.1-md36.patch b/dev-python/pymdown-extensions/files/pymdown-extensions-10.7.1-md36.patch
new file mode 100644
index 000000000000..5c914923e6cc
--- /dev/null
+++ b/dev-python/pymdown-extensions/files/pymdown-extensions-10.7.1-md36.patch
@@ -0,0 +1,49 @@
+From 509e93de0f4d6052ff017a543aff70eb354dc590 Mon Sep 17 00:00:00 2001
+From: Isaac Muse <faceless.shop@gmail.com>
+Date: Tue, 26 Mar 2024 06:40:11 -0600
+Subject: [PATCH] Fix SmartSymbols Toc test (#2344)
+
+Fixes #2343
+---
+ tests/test_extensions/test_smartsymbols.py | 24 +++++++++++++++++++++-
+ 1 file changed, 23 insertions(+), 1 deletion(-)
+
+diff --git a/tests/test_extensions/test_smartsymbols.py b/tests/test_extensions/test_smartsymbols.py
+index b438fb7d7..1a8688f0c 100644
+--- a/tests/test_extensions/test_smartsymbols.py
++++ b/tests/test_extensions/test_smartsymbols.py
+@@ -1,6 +1,9 @@
+ """Test cases for SmartSymbols."""
+ from .. import util
+ import markdown
++from pymdownx.__meta__ import parse_version
++
++PYMD_3_6 = parse_version(markdown.__version__) >= (3, 6, 0)
+
+
+ class TestSmartSymbols(util.MdCase):
+@@ -139,4 +142,23 @@ def test_toc_tokens(self):
+
+ md = markdown.Markdown(extensions=['toc', 'pymdownx.smartsymbols'])
+ md.convert('# *Foo* =/= `bar`')
+- self.assertEqual(md.toc_tokens, [{'level': 1, 'id': 'foo-bar', 'name': 'Foo &ne; bar', 'children': []}])
++ self.assertEqual(
++ md.toc_tokens,
++ [
++ {
++ 'children': [],
++ 'data-toc-label': '',
++ 'html': '<em>Foo</em> &ne; <code>bar</code>',
++ 'id': 'foo-bar',
++ 'level': 1,
++ 'name': 'Foo &ne; bar'
++ }
++ ] if PYMD_3_6 else [
++ {
++ 'level': 1,
++ 'id': 'foo-bar',
++ 'name': 'Foo &ne; bar',
++ 'children': []
++ }
++ ]
++ )
diff --git a/dev-python/pymdown-extensions/pymdown-extensions-10.7.1.ebuild b/dev-python/pymdown-extensions/pymdown-extensions-10.7.1.ebuild
new file mode 100644
index 000000000000..b81baf88a509
--- /dev/null
+++ b/dev-python/pymdown-extensions/pymdown-extensions-10.7.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=hatchling
+PYTHON_COMPAT=( pypy3 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
+
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/facelessuser/pymdown-extensions/issues/2343
+ "${FILESDIR}/${P}-md36.patch"
+ )
+
+ # broken on pypy3; unfortunately, the parametrization is based
+ # on indexes and these are pretty random, so we need to remove it
+ # entirely
+ # TODO: restore it when pypy with a fix is in Gentoo
+ # https://github.com/pypy/pypy/issues/4920
+ rm "tests/extensions/superfences/superfences (normal).txt" || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/pymdown-extensions/pymdown-extensions-10.8.ebuild b/dev-python/pymdown-extensions/pymdown-extensions-10.8.ebuild
new file mode 100644
index 000000000000..30aebcd368e1
--- /dev/null
+++ b/dev-python/pymdown-extensions/pymdown-extensions-10.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_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 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.6[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/pygments-2.12.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # broken on pypy3; unfortunately, the parametrization is based
+ # on indexes and these are pretty random, so we need to remove it
+ # entirely
+ # TODO: restore it when pypy with a fix is in Gentoo
+ # https://github.com/pypy/pypy/issues/4920
+ rm "tests/extensions/superfences/superfences (normal).txt" || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/pymdown-extensions/pymdown-extensions-9.9.2.ebuild b/dev-python/pymdown-extensions/pymdown-extensions-9.9.2.ebuild
deleted file mode 100644
index baaaf849976c..000000000000
--- a/dev-python/pymdown-extensions/pymdown-extensions-9.9.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-DOCS_BUILDER="mkdocs"
-DOCS_DEPEND="
- dev-python/mkdocs-git-revision-date-localized-plugin
- dev-python/mkdocs-minify-plugin
- dev-python/mkdocs-material
- dev-python/pymdown-lexers
- dev-python/pyspelling
-"
-DOCS_INITIALIZE_GIT=1
-
-inherit distutils-r1 docs
-
-DESCRIPTION="Extensions for Python Markdown"
-HOMEPAGE="
- https://github.com/facelessuser/pymdown-extensions/
- https://pypi.org/project/pymdown-extensions/
-"
-SRC_URI="
- https://github.com/facelessuser/pymdown-extensions/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~riscv x86"
-
-RDEPEND="
- >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- >=dev-python/pygments-2.12.0[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_compile_all() {
- default
- # We need to do this manually instead of relying on docs_compile
- # https://bytemeta.vip/repo/facelessuser/pymdown-extensions/issues/1446
- # https://bugs.gentoo.org/859637
- if use doc; then
- python -m mkdocs build || die "Failed to make docs"
- # Colliding files found by ecompress:
- rm site/sitemap.xml.gz || die
- HTML_DOCS=( "site/." )
- fi
-}
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/pymdown-lexers/pymdown-lexers-0_pre20210902.ebuild b/dev-python/pymdown-lexers/pymdown-lexers-0_pre20210902.ebuild
index c044e2e2fc40..7ae354540dc9 100644
--- a/dev-python/pymdown-lexers/pymdown-lexers-0_pre20210902.ebuild
+++ b/dev-python/pymdown-lexers/pymdown-lexers-0_pre20210902.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
@@ -16,7 +16,7 @@ S="${WORKDIR}/${PN}-${COMMIT}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~ppc ~riscv x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86"
RDEPEND="
>=dev-python/pygments-2.0.1[${PYTHON_USEDEP}]
diff --git a/dev-python/pymdstat/Manifest b/dev-python/pymdstat/Manifest
index fecc9308e5fd..c904a0143752 100644
--- a/dev-python/pymdstat/Manifest
+++ b/dev-python/pymdstat/Manifest
@@ -1 +1 @@
-DIST pymdstat-0.4.2-r1.tar.gz 14798 BLAKE2B 179c88a8999b4908586a3bc1698de9df25e94203b723b2981f9ac6e1b2ef47845c9e625c1daa40990dff7e90aece34fc471c3c5a0278a85c4c526d37574e5fed SHA512 7c9815b365fdb37ffe37c65d280a3bc4370f09fb8dad18ff9c68f61b8cc906e6b8d8e0fe0dd1570e68349f535f23cfb8afd52ba805d78e795d5c6f9730f7f2d0
+DIST pymdstat-0.4.3.gh.tar.gz 17359 BLAKE2B ac89ab5ec874ed1384c8ddd45d01bc1496352e64fc74ef5d4b327571fb599780f1d30f7cf49cbc923ab1c7269e43645a6b9572a31619fcc18e31b8cabb56ac38 SHA512 fd0c11ce511659e48e6f480d974f48b6da9ce184de4f910f0ac07ab2a517e7ea66a5ddf56afe0ae93e5c1dd26ec9189f0c6167689975238b2800c944dd577a1f
diff --git a/dev-python/pymdstat/pymdstat-0.4.2-r1.ebuild b/dev-python/pymdstat/pymdstat-0.4.2-r1.ebuild
deleted file mode 100644
index cba2908341b3..000000000000
--- a/dev-python/pymdstat/pymdstat-0.4.2-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=7
-
-PYTHON_COMPAT=( python3_{9..10} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="Python library to parse Linux /proc/mdstat"
-HOMEPAGE="https://github.com/nicolargo/pymdstat
- https://pypi.org/project/pymdstat/"
-# drop the ${PVR} if there is a version bump
-SRC_URI="https://github.com/nicolargo/${PN}/archive/v${PV}.tar.gz -> ${PN}-${PVR}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-DOCS=( 'AUTHORS' 'NEWS' 'README.rst' )
-
-python_prepare_all() {
- sed -e '/data_files/ d' -i setup.py || die "sed failed"
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- "${EPYTHON}" unitest.py -v || die "testing failed with ${EPYTHON}"
-}
diff --git a/dev-python/pymdstat/pymdstat-0.4.3.ebuild b/dev-python/pymdstat/pymdstat-0.4.3.ebuild
new file mode 100644
index 000000000000..b1bbeb972fb7
--- /dev/null
+++ b/dev-python/pymdstat/pymdstat-0.4.3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 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 library to parse Linux /proc/mdstat"
+HOMEPAGE="
+ https://github.com/nicolargo/pymdstat/
+ https://pypi.org/project/pymdstat/
+"
+SRC_URI="
+ https://github.com/nicolargo/pymdstat/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+python_prepare_all() {
+ # docs
+ sed -e '/data_files/ d' -i setup.py || die "sed failed"
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${EPYTHON}" unitest.py -v || die "testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/pymediainfo/Manifest b/dev-python/pymediainfo/Manifest
index d10ac1a454c8..c84af28c996c 100644
--- a/dev-python/pymediainfo/Manifest
+++ b/dev-python/pymediainfo/Manifest
@@ -1 +1 @@
-DIST pymediainfo-6.0.1.tar.gz 446487 BLAKE2B 402c71157e43fd03efe37934932c61e1e22d469c13f5b5e85d7e0f1d52d6e54289860777c1677efeb4710a5c55086a1c7db03da8ad2f88f49d144bd5484f8638 SHA512 7b373b133911eb320248f72627f6aeb6fa04705b55500639d18094ed8227296fd744c2c4b76d765e8b2d98d78f443114e9ca7ef8e2e0eb498d48d2b46956f952
+DIST pymediainfo-6.1.0.tar.gz 446466 BLAKE2B 66a2863439cd2df7e5ad8be07a377b8201048aed4f6b4efb2289f316a184ebbc5376ce4e437e05819906a49eb40d49039f8e17654470cd1539fdfdb6496b3b71 SHA512 2c32134f42794a7228591d96e2cbe64b30693b671ded4e386b08eb6d571459e4a06d551d3c169dd340f560cf5ec7f86f6cd73fc135e4404614c22ed452273783
diff --git a/dev-python/pymediainfo/pymediainfo-6.0.1.ebuild b/dev-python/pymediainfo/pymediainfo-6.0.1.ebuild
deleted file mode 100644
index 1df296187ae4..000000000000
--- a/dev-python/pymediainfo/pymediainfo-6.0.1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="A wrapper around the mediainfo library"
-HOMEPAGE="https://github.com/sbraz/pymediainfo"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- media-libs/libmediainfo
-"
-# tests/test_pymediainfo.py::MediaInfoURLTest::test_parse_url requires libmediainfo with curl support
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- media-libs/libmediainfo[curl]
- )
-"
-
-distutils_enable_sphinx docs dev-python/alabaster
-distutils_enable_tests pytest
diff --git a/dev-python/pymediainfo/pymediainfo-6.1.0.ebuild b/dev-python/pymediainfo/pymediainfo-6.1.0.ebuild
new file mode 100644
index 000000000000..c96cd4566edf
--- /dev/null
+++ b/dev-python/pymediainfo/pymediainfo-6.1.0.ebuild
@@ -0,0 +1,34 @@
+# 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="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A wrapper around the mediainfo library"
+HOMEPAGE="
+ https://github.com/sbraz/pymediainfo/
+ https://pypi.org/project/pymediainfo/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="
+ media-libs/libmediainfo
+"
+# tests/test_pymediainfo.py::MediaInfoURLTest::test_parse_url requires libmediainfo with curl support
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ media-libs/libmediainfo[curl]
+ )
+"
+
+distutils_enable_sphinx docs dev-python/alabaster
+distutils_enable_tests pytest
diff --git a/dev-python/pymetar/pymetar-1.4-r2.ebuild b/dev-python/pymetar/pymetar-1.4-r2.ebuild
index 489a3cef532e..a462fd5eacab 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..12} )
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 07186006bfa2..000000000000
--- a/dev-python/pymilter/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pymilter-1.0.4.tar.gz 1023222 BLAKE2B 1e5ce42af76ae1ac2f7cda87d40bdce404ed7e9fce9e88909572ec065f05e2c9effc8bc62d4fad113753ff7dc7e87c790515a9116615191745097cb2c3390042 SHA512 b356a10ffc0ba0172cdb228e4e15034e67c0fd82b4b8bbe1193e54e45e518626fd647033d824f2cd5a9d456154c528027726977d3ad2f2c2fe0e0155ad50d294
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.4-r2.ebuild b/dev-python/pymilter/pymilter-1.0.4-r2.ebuild
deleted file mode 100644
index 48aa52c07734..000000000000
--- a/dev-python/pymilter/pymilter-1.0.4-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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
-
-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"
-S="${WORKDIR}/${PN}-${P}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64"
-
-RDEPEND="
- || (
- mail-filter/libmilter
- mail-mta/sendmail
- )
-"
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/pymilter/pymilter-1.0.4-r3.ebuild b/dev-python/pymilter/pymilter-1.0.4-r3.ebuild
deleted file mode 100644
index 78ee9d322356..000000000000
--- a/dev-python/pymilter/pymilter-1.0.4-r3.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..10} )
-
-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"
-S="${WORKDIR}/${PN}-${P}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64"
-
-RDEPEND="mail-filter/libmilter:="
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/pymongo/Manifest b/dev-python/pymongo/Manifest
index 40cf71172a1e..cd3c091ecdb3 100644
--- a/dev-python/pymongo/Manifest
+++ b/dev-python/pymongo/Manifest
@@ -1,4 +1 @@
-DIST mongo-python-driver-4.1.1.tar.gz 1070349 BLAKE2B 9b792343a22c4b0c625376e6f3d10e9c1a88442b63ff2638c29588a26755006507189bf40a8dad96d7f8e4f997efc153c8616826b58114aba32442c05b80ca60 SHA512 b01eb6bc4c39a25cae8350bdc2f37dd5d78da38a6eddbd8a26f91cb6ee067f7b4b1d97eb603defca16e05abc992b8f11b2e3558f9697c99697b3e876838de737
-DIST mongo-python-driver-4.2.0.gh.tar.gz 1136734 BLAKE2B b3e2d86780c2874656f94ba3071317c0b9190418274c163135a260cad3f5672b9390aa738d0cf1aaff47412827620706e67c5c990910a5ea232aaacda0758dea SHA512 4439149c35f897a61109b26f5e4c613682ca59727495377a3bbb49f9ff22273cd5a73f58fb55080d07c9403310d4ada59d3a5969d0f76f2f4d1081422fe2dfec
-DIST mongo-python-driver-4.3.2.gh.tar.gz 1154135 BLAKE2B f2a560dc9829b6b26a78c032a3978fff93935b78aa20a088a080bdd607d951a57434473d698d4cabc1ca0a767cdb75352e0e25d9cfd77389d43062768409625c SHA512 f35dd2fc54e806bb7f91d982f29ebdee8ef12a8629b415b2472e3f99d60ad9e3153cd54e6e7369124c2b31c27df636c2a0fa72f937aeafb60c64c90728d7b03b
-DIST mongo-python-driver-4.3.3.gh.tar.gz 1165202 BLAKE2B e2f442631b1e33353003acde58b9abe49e9f3a0c78f9762d2929c626a1821f04b72e2a55d926703c603c1220124b7334a18b5d35586ebf5b7299720199539e23 SHA512 ba1b344913b6a5d61b0cad05c09b50f5962c5b83e0ca8e8919d76cdde5d2dcec08f38c6f561251c9e199b8878af78bbabaf58af74dc65233e6702ff841ccfef4
+DIST mongo-python-driver-4.6.3.gh.tar.gz 1494158 BLAKE2B bc876e121364154940b2aa92049089a3b3ea4a40ea7f785012c7f2d65840d9ef6cfc7413c832712ba2b06b2030438d598dc52cbd71190524cd90d5bafa06e745 SHA512 a6911a1619663e068f2d239e1d0a74bfad7347f40f8e5044f6a09802ac83ee3cc962722ff3cdcd7af1a2ffdb3f1a170d98620b83be2c9463d66fecca01b99543
diff --git a/dev-python/pymongo/metadata.xml b/dev-python/pymongo/metadata.xml
index 9fefebbe96bd..dee6e50c5e66 100644
--- a/dev-python/pymongo/metadata.xml
+++ b/dev-python/pymongo/metadata.xml
@@ -9,9 +9,18 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
- <longdescription lang="en">PyMongo is a Python distribution containing tools
- for working with MongoDB, and is the recommended way to work
- with MongoDB from Python.</longdescription>
+ <longdescription lang="en">
+ PyMongo is a Python distribution containing tools for working
+ with MongoDB, and is the recommended way to work with MongoDB
+ from Python.
+ </longdescription>
+ <use>
+ <flag name="native-extensions">Compiles native C extensions</flag>
+ <flag name="test-full">
+ Run test suite in full, including tests that run a local
+ database instance.
+ </flag>
+ </use>
<upstream>
<remote-id type="pypi">pymongo</remote-id>
<remote-id type="github">mongodb/mongo-python-driver</remote-id>
diff --git a/dev-python/pymongo/pymongo-4.1.1.ebuild b/dev-python/pymongo/pymongo-4.1.1.ebuild
deleted file mode 100644
index 4277c56061f1..000000000000
--- a/dev-python/pymongo/pymongo-4.1.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
-
-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}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~hppa ~riscv x86"
-IUSE="doc kerberos"
-
-RDEPEND="
- kerberos? ( dev-python/pykerberos[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- >=dev-db/mongodb-2.6.0
- )
-"
-
-distutils_enable_sphinx doc
-distutils_enable_tests unittest
-
-reqcheck() {
- if use test; 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() {
- # network-sandbox
- rm test/test_srv_polling.py || die
- sed -e 's:test_connection_timeout_ms_propagates_to_DNS_resolver:_&:' \
- -e 's:test_service_name_from_kwargs:_&:' \
- -e 's:test_srv_max_hosts_kwarg:_&:' \
- -i test/test_client.py || die
- sed -e '/SRV_SCHEME/s:_HAVE_DNSPYTHON:False:' \
- -i test/test_uri_spec.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- # Yes, we need TCP/IP for that...
- local DB_IP=127.0.0.1
- local DB_PORT=27000
-
- export DB_IP DB_PORT
-
- 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
- DB_PORT2=$(( DB_PORT + 1 )) DB_PORT3=$(( DB_PORT + 2 )) esetup.py test || 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.2.0.ebuild b/dev-python/pymongo/pymongo-4.2.0.ebuild
deleted file mode 100644
index 975114d14d27..000000000000
--- a/dev-python/pymongo/pymongo-4.2.0.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
-
-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 ~arm64 ~hppa ~riscv x86"
-IUSE="doc kerberos"
-
-RDEPEND="
- kerberos? ( dev-python/pykerberos[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- >=dev-db/mongodb-2.6.0
- )
-"
-
-distutils_enable_sphinx doc
-distutils_enable_tests unittest
-
-reqcheck() {
- if use test; 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() {
- # network-sandbox
- rm test/test_srv_polling.py || die
- sed -e 's:test_connection_timeout_ms_propagates_to_DNS_resolver:_&:' \
- -e 's:test_service_name_from_kwargs:_&:' \
- -e 's:test_srv_max_hosts_kwarg:_&:' \
- -i test/test_client.py || die
- sed -e '/SRV_SCHEME/s:_HAVE_DNSPYTHON:False:' \
- -i test/test_uri_spec.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- # Yes, we need TCP/IP for that...
- local DB_IP=127.0.0.1
- local DB_PORT=27000
-
- export DB_IP DB_PORT
-
- 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
- DB_PORT2=$(( DB_PORT + 1 )) DB_PORT3=$(( DB_PORT + 2 )) esetup.py test || 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.3.2.ebuild b/dev-python/pymongo/pymongo-4.3.2.ebuild
deleted file mode 100644
index 9179dbef9e15..000000000000
--- a/dev-python/pymongo/pymongo-4.3.2.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=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
-
-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 ~arm64 ~hppa ~riscv ~x86"
-IUSE="doc kerberos"
-
-RDEPEND="
- <dev-python/dnspython-3.0.0[${PYTHON_USEDEP}]
- kerberos? ( dev-python/pykerberos[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- >=dev-db/mongodb-2.6.0
- )
-"
-
-distutils_enable_sphinx doc
-distutils_enable_tests unittest
-
-reqcheck() {
- if use test; 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() {
- # network-sandbox
- rm test/test_srv_polling.py || die
- sed -e 's:test_connection_timeout_ms_propagates_to_DNS_resolver:_&:' \
- -e 's:test_service_name_from_kwargs:_&:' \
- -e 's:test_srv_max_hosts_kwarg:_&:' \
- -i test/test_client.py || die
- sed -e '/SRV_SCHEME/s:_HAVE_DNSPYTHON:False:' \
- -i test/test_uri_spec.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- # Yes, we need TCP/IP for that...
- local DB_IP=127.0.0.1
- local DB_PORT=27000
-
- export DB_IP DB_PORT
-
- 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
- DB_PORT2=$(( DB_PORT + 1 )) DB_PORT3=$(( DB_PORT + 2 )) esetup.py test || 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.3.3.ebuild b/dev-python/pymongo/pymongo-4.3.3.ebuild
deleted file mode 100644
index 9ac0f2983397..000000000000
--- a/dev-python/pymongo/pymongo-4.3.3.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-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 ~arm64 ~hppa ~riscv ~x86"
-IUSE="doc kerberos"
-
-RDEPEND="
- <dev-python/dnspython-3.0.0[${PYTHON_USEDEP}]
- kerberos? ( dev-python/pykerberos[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- >=dev-db/mongodb-2.6.0
- )
-"
-
-distutils_enable_sphinx doc
-distutils_enable_tests unittest
-
-reqcheck() {
- if use test; 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() {
- # network-sandbox
- rm test/test_srv_polling.py || die
- sed -e 's:test_connection_timeout_ms_propagates_to_DNS_resolver:_&:' \
- -e 's:test_service_name_from_kwargs:_&:' \
- -e 's:test_srv_max_hosts_kwarg:_&:' \
- -i test/test_client.py || die
- sed -e '/SRV_SCHEME/s:_HAVE_DNSPYTHON:False:' \
- -i test/test_uri_spec.py || die
- # changes in new mypy version
- sed -e 's:test_mypy_failures:_&:' \
- -i test/test_mypy.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- # Yes, we need TCP/IP for that...
- local DB_IP=127.0.0.1
- local DB_PORT=27000
-
- export DB_IP DB_PORT
-
- 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
- DB_PORT2=$(( DB_PORT + 1 )) DB_PORT3=$(( DB_PORT + 2 )) esetup.py test || 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.3.ebuild b/dev-python/pymongo/pymongo-4.6.3.ebuild
new file mode 100644
index 000000000000..b5a56d3e3587
--- /dev/null
+++ b/dev-python/pymongo/pymongo-4.6.3.ebuild
@@ -0,0 +1,154 @@
+# 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 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/pymountboot/metadata.xml b/dev-python/pymountboot/metadata.xml
index 6afeceba23ae..3af1939a291c 100644
--- a/dev-python/pymountboot/metadata.xml
+++ b/dev-python/pymountboot/metadata.xml
@@ -10,7 +10,7 @@
<email>mgorny@gentoo.org</email>
<name>Michał Górny</name>
</maintainer>
- <bugs-to>https://github.com/mgorny/pymountboot/issues/</bugs-to>
- <remote-id type="github">mgorny/pymountboot</remote-id>
+ <bugs-to>https://github.com/projg2/pymountboot/issues/</bugs-to>
+ <remote-id type="github">projg2/pymountboot</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pymountboot/pymountboot-0.2.3-r1.ebuild b/dev-python/pymountboot/pymountboot-0.2.3-r1.ebuild
index cf4345c9068d..f672ace1d089 100644
--- a/dev-python/pymountboot/pymountboot-0.2.3-r1.ebuild
+++ b/dev-python/pymountboot/pymountboot-0.2.3-r1.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_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="Python extension module to (re)mount /boot"
-HOMEPAGE="https://github.com/mgorny/pymountboot/"
+HOMEPAGE="https://github.com/projg2/pymountboot/"
SRC_URI="
- https://github.com/mgorny/pymountboot/archive/v${PV}.tar.gz
- -> ${P}.tar.gz"
+ https://github.com/projg2/pymountboot/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz
+"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~riscv ~sparc x86"
-RDEPEND=">=sys-apps/util-linux-2.20"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
+DEPEND="
+ >=sys-apps/util-linux-2.20
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
diff --git a/dev-python/pymysql/Manifest b/dev-python/pymysql/Manifest
index 0382beded5ec..2eb07e8831f4 100644
--- a/dev-python/pymysql/Manifest
+++ b/dev-python/pymysql/Manifest
@@ -1 +1 @@
-DIST pymysql-1.0.2.gh.tar.gz 84985 BLAKE2B f2b740827cfa9a4a9cdfe9d711e78d61c2cac2afbc2f15ecc3e317a7fff7771d3d79b8d963e085f011123029341edd469514d84be8cdc5e9aa143cd0fa2caae5 SHA512 c98633c465705154c0607f4508e4d19986fafb647eac01832f8e3fb0175565958289518f9632897ffba924406fce00881a351dbae05c7d68a55eec2b86a55638
+DIST PyMySQL-1.1.0.gh.tar.gz 90416 BLAKE2B b1f5d38edc1ec93ddbf9f841b3db6bddb8db13bd7a6100de2104f08152e2ce7813f6ea2d09c4bc301a6b83fb3eeb3e4ce0c3b4faf42cec25b5c157ea71d719a1 SHA512 c5b2cc1716707013d06146f22ff6e36ae1e54deb8864226a65c5325bafd476d7c53076ceb5cb35815c1baeb8e0ba8d03230366662f4abc0a304e849d8cb40d34
diff --git a/dev-python/pymysql/metadata.xml b/dev-python/pymysql/metadata.xml
index 03cfa4895aca..05ad55beaee1 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.0.2-r1.ebuild b/dev-python/pymysql/pymysql-1.0.2-r1.ebuild
deleted file mode 100644
index 7ec157a702d9..000000000000
--- a/dev-python/pymysql/pymysql-1.0.2-r1.ebuild
+++ /dev/null
@@ -1,150 +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} pypy3 )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-MY_PN="PyMySQL"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Pure-Python MySQL Driver"
-HOMEPAGE="https://github.com/PyMySQL/PyMySQL"
-SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/v${PV}.tar.gz -> ${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() {
- if [[ -z "${USER}" ]] ; then
- # Tests require system user
- local -x USER="$(whoami)"
- einfo "USER set to '${USER}'"
- fi
-
- local mysql_install_db_cmd="${EPREFIX}/usr/share/mariadb/scripts/mysql_install_db"
- [[ ! -x "${mysql_install_db_cmd}" ]] && mysql_install_db_cmd="${EPREFIX}/usr/bin/mysql_install_db"
- [[ ! -x "${mysql_install_db_cmd}" ]] && die "mysql_install_db command not found!"
-
- local mysqld_cmd="${EPREFIX}/usr/sbin/mysqld"
- [[ ! -x "${mysqld_cmd}" ]] && die "mysqld command not found!"
-
- local PIDFILE="${T}/mysqld.pid"
- if pkill -0 -F "${PIDFILE}" &>/dev/null ; then
- einfo "Killing already running mysqld process ..."
- pkill -F "${PIDFILE}"
- fi
-
- if [[ -d "${T}/mysql" ]] ; then
- einfo "Removing already existing mysqld data dir ..."
- rm -rf "${T}/mysql" || die
- fi
-
- einfo "Creating mysql test instance ..."
- mkdir -p "${T}"/mysql || die
- "${mysql_install_db_cmd}" \
- --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_cmd}" \
- --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 ..."
-
- # create test user for auth tests
- mysql -uroot --socket="${T}"/mysqld.sock -s -e '
- INSTALL SONAME "auth_ed25519";
- CREATE FUNCTION ed25519_password RETURNS STRING SONAME "auth_ed25519.so";
- ' || die "Failed to set up auth_ed25519"
-
- mysql -uroot --socket="${T}"/mysqld.sock -s -e "
- SELECT CONCAT('CREATE USER nopass_ed25519 IDENTIFIED VIA ed25519 USING \"',ed25519_password(\"\"),'\";');
- SELECT CONCAT('CREATE USER user_ed25519 IDENTIFIED VIA ed25519 USING \"',ed25519_password(\"pass_ed25519\"),'\";');
- " || die "Failed to create ed25519 test users"
-
- # create test databases
- mysql -uroot --socket="${T}"/mysqld.sock -s -e '
- create database test1 DEFAULT CHARACTER SET utf8mb4;
- create database test2 DEFAULT CHARACTER SET utf8mb4;
-
- create user test2 identified by "some password";
- grant all on test2.* to test2;
-
- create user test2@localhost identified by "some password";
- grant all on test2.* to test2@localhost;
- ' || 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
-
- distutils-r1_src_test
-
- if pkill -0 -F "${PIDFILE}" &>/dev/null ; then
- einfo "Stopping mysql test instance ..."
- pkill -F "${PIDFILE}"
- fi
-}
-
-python_test() {
- local excludes=(
- # requires some dialog plugin
- pymysql/tests/test_connection.py::TestAuthentication::testDialogAuthThreeAttemptsQuestionsInstallPlugin
- pymysql/tests/test_connection.py::TestAuthentication::testDialogAuthTwoQuestionsInstallPlugin
- )
-
- PYTHONPATH=. pytest -vv ${excludes[@]/#/--deselect } ||
- die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/pymysql/pymysql-1.1.0.ebuild b/dev-python/pymysql/pymysql-1.1.0.ebuild
new file mode 100644
index 000000000000..2cc57a6f8a37
--- /dev/null
+++ b/dev-python/pymysql/pymysql-1.1.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} 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-r2.ebuild b/dev-python/pynacl/pynacl-1.5.0-r2.ebuild
deleted file mode 100644
index 4730e162198f..000000000000
--- a/dev-python/pynacl/pynacl-1.5.0-r2.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python binding to the Networking and Cryptography (NaCl) library"
-HOMEPAGE="
- https://github.com/pyca/pynacl/
- https://pypi.org/project/PyNaCl/
-"
-SRC_URI="
- https://github.com/pyca/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/cffi-1.4.1[${PYTHON_USEDEP}]
- dev-libs/libsodium:0/23
-"
-BDEPEND="${RDEPEND}
- test? (
- >=dev-python/hypothesis-3.27.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_compile() {
- # For not using the bundled libsodium
- local -x SODIUM_INSTALL=system
- distutils-r1_src_compile
-}
diff --git a/dev-python/pynacl/pynacl-1.5.0-r3.ebuild b/dev-python/pynacl/pynacl-1.5.0-r3.ebuild
new file mode 100644
index 000000000000..2d3d5572df02
--- /dev/null
+++ b/dev-python/pynacl/pynacl-1.5.0-r3.ebuild
@@ -0,0 +1,50 @@
+# 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="Python binding to the Networking and Cryptography (NaCl) library"
+HOMEPAGE="
+ https://github.com/pyca/pynacl/
+ https://pypi.org/project/PyNaCl/
+"
+SRC_URI="
+ https://github.com/pyca/${PN}/archive/${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 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ dev-libs/libsodium:=
+"
+RDEPEND="
+ ${DEPEND}
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.4.1[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+BDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.4.1[${PYTHON_USEDEP}]
+ ' 'python*')
+ test? (
+ >=dev-python/hypothesis-3.27.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_compile() {
+ # For not using the bundled libsodium
+ local -x SODIUM_INSTALL=system
+ distutils-r1_src_compile
+}
diff --git a/dev-python/pynest2d/Manifest b/dev-python/pynest2d/Manifest
deleted file mode 100644
index 6e5a58045d41..000000000000
--- a/dev-python/pynest2d/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pynest2d-4.13_beta.tar.gz 18455 BLAKE2B 1c5cbc72d8557f6c8031ea6e5b7e0344c7315dacfe3bf96dc98cd5fc353574811100728f665a27d538c1a9dfb90dce8a7fca477be9f8b589c6174364cc072bfb SHA512 b1918efa18c8d3b641271803ada6fd9122e456181854bb7a62dc574673791ad5a294d239c79cfc4590cb1ef760d410fed5764e81e938df64f5646751746b1250
diff --git a/dev-python/pynest2d/files/pynest2d-4.12.1-required-flags-from-Libnest2D-target.patch b/dev-python/pynest2d/files/pynest2d-4.12.1-required-flags-from-Libnest2D-target.patch
deleted file mode 100644
index ff4482d197bf..000000000000
--- a/dev-python/pynest2d/files/pynest2d-4.12.1-required-flags-from-Libnest2D-target.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -21,11 +21,7 @@
- endif()
-
- find_package(SIP REQUIRED) # To create Python bindings.
--find_package(libnest2d REQUIRED) # The library we're creating bindings for.
--find_package(Clipper REQUIRED) # Dependency of libnest2d.
--find_package(NLopt REQUIRED) # Dependency of libnest2d.
--find_package(Boost REQUIRED) # Dependency of libnest2d.
--set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DLIBNEST2D_GEOMETRIES_clipper -DLIBNEST2D_OPTIMIZERS_nlopt -DLIBNEST2D_THREADING_std") # Tell libnest2d to use Clipper and NLopt, and standard threads.
-+find_package(Libnest2D REQUIRED) # The library we're creating bindings for.
-
- # Some build options.
- set(CMAKE_CXX_STANDARD 17)
-@@ -56,5 +52,5 @@
- )
-
- set(SIP_EXTRA_OPTIONS -g -n PyQt5.sip) # Always release the GIL before calling C++ methods. -n PyQt5.sip is required to not get the PyCapsule error
--include_directories(src/ ${SIP_INCLUDE_DIRS} ${Python3_INCLUDE_DIRS} ${CLIPPER_INCLUDE_DIRS} ${NLopt_INCLUDE_DIRS} ${LIBNEST2D_INCLUDE_DIRS})
--add_sip_python_module(pynest2d src/Pynest2D.sip ${CLIPPER_LIBRARIES} ${NLopt_LIBRARIES})
-+include_directories(src/ ${SIP_INCLUDE_DIRS})
-+add_sip_python_module(pynest2d src/Pynest2D.sip Libnest2D::libnest2d_headeronly)
diff --git a/dev-python/pynest2d/metadata.xml b/dev-python/pynest2d/metadata.xml
deleted file mode 100644
index eba99385dd29..000000000000
--- a/dev-python/pynest2d/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>3dprint@gentoo.org</email>
- <name>Gentoo 3D Printer Project</name>
- </maintainer>
- <upstream>
- <bugs-to>https://github.com/Ultimaker/pynest2d/issues</bugs-to>
- <remote-id type="github">Ultimaker/pynest2d</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pynest2d/pynest2d-4.13_beta.ebuild b/dev-python/pynest2d/pynest2d-4.13_beta.ebuild
deleted file mode 100644
index a4031ec46db2..000000000000
--- a/dev-python/pynest2d/pynest2d-4.13_beta.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
-
-MY_PV=$(ver_rs 2 -)
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit cmake python-single-r1
-
-DESCRIPTION="Python bindings for libnest2d"
-HOMEPAGE="https://github.com/Ultimaker/pynest2d"
-SRC_URI="https://github.com/Ultimaker/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}"/${PN}-${MY_PV}
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- dev-libs/libnest2d
- $(python_gen_cond_dep '<dev-python/sip-5[${PYTHON_USEDEP}]')
- "
-
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.12.1-required-flags-from-Libnest2D-target.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DPython3_EXECUTABLE="${PYTHON}"
- )
-
- cmake_src_configure
-}
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 b1c750fd58d7..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 ~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..6cd29f28b219
--- /dev/null
+++ b/dev-python/pynvim/pynvim-0.5.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_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} 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/Manifest b/dev-python/pyocr/Manifest
index 8353e3610fb7..508a8c1584eb 100644
--- a/dev-python/pyocr/Manifest
+++ b/dev-python/pyocr/Manifest
@@ -1 +1 @@
-DIST pyocr-0.8.3.tar.gz 67625 BLAKE2B 86edfb08519eda73b29b57b57d495c0fa3bebe8b521d96ce4b644d534d2b32e92532e6275f595912c77093eaf0b1f767f08a130605e9b50142fddf77eb570c4d SHA512 aa4f4fcedd668010841d036899bb83bc0fca6499b29ce2f209e538fd3a2448dce2b52721f0b77bc402d9b3f62052af53e25e78780103172623dea1b367caeab1
+DIST pyocr-0.8.5.tar.gz 71843 BLAKE2B 14ea301a562b4e2ecc9a8b01b64a6a651facc78e54402359313b04fd20bad89e0a390ff1899f72c94db4e2d42c7c648afa5c1267ff6afe85fb14c32e15c6e19b SHA512 4b0bb576db05e3cc253bc031e158e2c018370e2c309df742b9755cf576bbd1fd5baddc851a4cde1ad96d3c2ae1c28e75e735ee7035d62ad8bf9c908546042897
diff --git a/dev-python/pyocr/pyocr-0.8.3.ebuild b/dev-python/pyocr/pyocr-0.8.3.ebuild
deleted file mode 100644
index fddb70bcf83d..000000000000
--- a/dev-python/pyocr/pyocr-0.8.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="An optical character recognition (OCR) tool wrapper"
-HOMEPAGE="https://gitlab.gnome.org/World/OpenPaperwork/pyocr"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="cuneiform +tesseract"
-REQUIRED_USE="|| ( cuneiform tesseract )"
-
-RDEPEND="
- dev-python/pillow[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}]
-"
-
-# (tests apparently do not require any backend installed)
-distutils_enable_tests unittest
-
-RDEPEND+="
- cuneiform? ( app-text/cuneiform )
- tesseract? ( app-text/tesseract )
-"
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/pyocr/pyocr-0.8.5.ebuild b/dev-python/pyocr/pyocr-0.8.5.ebuild
new file mode 100644
index 000000000000..d764decfcaab
--- /dev/null
+++ b/dev-python/pyocr/pyocr-0.8.5.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 optical character recognition (OCR) tool wrapper"
+HOMEPAGE="
+ https://gitlab.gnome.org/World/OpenPaperwork/pyocr/
+ https://pypi.org/project/pyocr/
+"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cuneiform +tesseract"
+REQUIRED_USE="|| ( cuneiform tesseract )"
+
+RDEPEND="
+ dev-python/pillow[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+# (tests apparently do not require any backend installed)
+distutils_enable_tests unittest
+
+RDEPEND+="
+ cuneiform? ( app-text/cuneiform )
+ tesseract? ( app-text/tesseract )
+"
diff --git a/dev-python/pyopencl/Manifest b/dev-python/pyopencl/Manifest
index 29e14c0bab22..101238db8683 100644
--- a/dev-python/pyopencl/Manifest
+++ b/dev-python/pyopencl/Manifest
@@ -1 +1 @@
-DIST pyopencl-2022.2.4.tar.gz 468743 BLAKE2B 52c0d1bfc1f01eef853efb334434eba81adfaa57d98592663145b3124110765f2afa936331e36b534abadf8d87a5c606ab32ab4452e0b8e87f1ee41c1ef2548c SHA512 b1996dec89a6921216d624e5e38407dd7ada77f137e9c245f9c2dd634dd33d208ffdad57f84739e7942c64643c37ea2d044277fed85eefb362bbc331f4be3ab0
+DIST pyopencl-2024.1.tar.gz 473860 BLAKE2B 803c92418a609f3ad9249c81e93af0bd2e9125ee56dc88af8ee6ae9c4a275c7ab37befddd575914eb9f0b295aaef4f135358669e384a55c04b3938b02572724d SHA512 abf27d67f8c3633c71e662938a919c88a34b0b66cc3c213644f92a8733aed3c9b7593542dd9b45a080941976dadeb4f49a23a986482110824b554e3a0d317176
diff --git a/dev-python/pyopencl/pyopencl-2022.2.4.ebuild b/dev-python/pyopencl/pyopencl-2022.2.4.ebuild
deleted file mode 100644
index 5b660b8c377c..000000000000
--- a/dev-python/pyopencl/pyopencl-2022.2.4.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Python wrapper for OpenCL"
-HOMEPAGE="https://mathema.tician.de/software/pyopencl/
- https://pypi.org/project/pyopencl/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64"
-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/pyopengl/Manifest b/dev-python/pyopengl/Manifest
index 6a39a331546b..819e62cac925 100644
--- a/dev-python/pyopengl/Manifest
+++ b/dev-python/pyopengl/Manifest
@@ -1,2 +1 @@
-DIST PyOpenGL-3.1.5.tar.gz 1835295 BLAKE2B fd3b3e9970b3e704b09128402b401e23c584ba20de23082d019f5ab9e1e222efdfbd2e11ecff6ee748f41bad3a5ff089c57a5c354092e2f717b13e18108de2af SHA512 5d90fc68040b4886e46ff69a59be9e3a8e31e3e1295283756db86d50a1efe681986928e18eb55d20fd2660f863653301ea483425bbe24046f55085b44f4906eb
-DIST PyOpenGL-3.1.6.tar.gz 1903892 BLAKE2B 7d1109a09703a7113aa9cc02994662df77bea1da63e81a8adbdc812514b71e04bfa51dad9e48c0e0b98327e4f7deda7a8590c340a38127d38e91659f38739220 SHA512 b6f2f083df0fd7cf8f8a1077f42fa388bce94c0edde00ed6492104af8306c9925b74649cd2c222be4205b0892e7975de2f7591d0f0bcd9540eb53c0de95fec00
+DIST PyOpenGL-3.1.7.tar.gz 1896446 BLAKE2B 3fd4c84bb59157b4a6ee09c2a5ecd0e4f548bf03a84d735acfd92453eafb92102677a2b9c98831a92be33e873630c815dee453745d630a4d6b044771a13c945c SHA512 add1b4d02e7297f00f82a9c9249d6665029073fe620a1650491af9102a76a16e9320b5f227275b0c273ff5a616c284fd9f25f0f425848676c37cab9f3c22ae2e
diff --git a/dev-python/pyopengl/files/pyopengl-3.1.7-py312.patch b/dev-python/pyopengl/files/pyopengl-3.1.7-py312.patch
new file mode 100644
index 000000000000..53c4b6ab847f
--- /dev/null
+++ b/dev-python/pyopengl/files/pyopengl-3.1.7-py312.patch
@@ -0,0 +1,28 @@
+From b49af26c615236ebc29cf125a8315091482a4a2a Mon Sep 17 00:00:00 2001
+From: Scott Talbert <swt@techie.net>
+Date: Tue, 18 Jul 2023 10:12:29 -0400
+Subject: [PATCH] Fix ctypes FormatHandler for Python 3.12+
+
+In Python 3.12, CArgObject moved from builtins to _ctypes it seems.
+
+Fixes #99.
+---
+ OpenGL/__init__.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/OpenGL/__init__.py b/OpenGL/__init__.py
+index f9cc6bfc..77dc8c0b 100644
+--- a/OpenGL/__init__.py
++++ b/OpenGL/__init__.py
+@@ -308,7 +308,7 @@ FormatHandler(
+ "ctypesparameter",
+ "OpenGL.arrays.ctypesparameters.CtypesParameterHandler",
+ [
+- _bi + ".CArgObject",
++ ("_ctypes" if sys.version_info[:2] >= (3,12) else _bi) + ".CArgObject",
+ "ctypes.c_uint",
+ "ctypes.c_int",
+ "ctypes.c_float",
+--
+2.42.1
+
diff --git a/dev-python/pyopengl/files/pyopengl-3.1.7-pypy3.patch b/dev-python/pyopengl/files/pyopengl-3.1.7-pypy3.patch
new file mode 100644
index 000000000000..f3a434cf290f
--- /dev/null
+++ b/dev-python/pyopengl/files/pyopengl-3.1.7-pypy3.patch
@@ -0,0 +1,26 @@
+From 33da175a6d89945ea9e74e85df8ef8929fc86b62 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Fri, 17 Nov 2023 19:56:58 +0100
+Subject: [PATCH] PYPY3 Add support for pypy3 in FormatHandler
+
+Add `_ctypes.array.ArrayMeta` to classes recognized by `ctypesarrays`
+formathandler. This is the class used by arrays on PyPy3.10. Adding
+this makes the test suite pass on PyPy3.10 7.3.13.
+
+Fixes #108
+---
+ OpenGL/__init__.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/OpenGL/__init__.py b/OpenGL/__init__.py
+index 77dc8c0b..959186ce 100644
+--- a/OpenGL/__init__.py
++++ b/OpenGL/__init__.py
+@@ -301,6 +301,7 @@ def setPlatform(key):
+ "_ctypes.PyCArrayType",
+ "_ctypes.Array",
+ "_ctypes.array.Array",
++ "_ctypes.array.ArrayMeta",
+ ],
+ isOutput=True,
+ )
diff --git a/dev-python/pyopengl/metadata.xml b/dev-python/pyopengl/metadata.xml
index af8cd164edcb..abe60e1c9f5b 100644
--- a/dev-python/pyopengl/metadata.xml
+++ b/dev-python/pyopengl/metadata.xml
@@ -6,6 +6,7 @@
<name>Python</name>
</maintainer>
<upstream>
+ <remote-id type="github">mcfletch/pyopengl</remote-id>
<remote-id type="pypi">PyOpenGL</remote-id>
<remote-id type="sourceforge">pyopengl</remote-id>
</upstream>
diff --git a/dev-python/pyopengl/pyopengl-3.1.5.ebuild b/dev-python/pyopengl/pyopengl-3.1.5.ebuild
deleted file mode 100644
index e371b19d84b7..000000000000
--- a/dev-python/pyopengl/pyopengl-3.1.5.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_REQ_USE="tk?"
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1 virtualx
-
-MY_PN="PyOpenGL"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Python OpenGL bindings"
-HOMEPAGE="http://pyopengl.sourceforge.net/ https://pypi.org/project/PyOpenGL/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-# mirror://sourceforge/pyopengl/${MY_P}.tar.gz" # broken mirror for this release
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 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
-
-src_test() {
- virtx distutils-r1_src_test
-}
diff --git a/dev-python/pyopengl/pyopengl-3.1.6-r1.ebuild b/dev-python/pyopengl/pyopengl-3.1.6-r1.ebuild
deleted file mode 100644
index 1c19aea56637..000000000000
--- a/dev-python/pyopengl/pyopengl-3.1.6-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_REQ_USE="tk?"
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 virtualx
-
-MY_PN="PyOpenGL"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Python OpenGL bindings"
-HOMEPAGE="http://pyopengl.sourceforge.net/ https://pypi.org/project/PyOpenGL/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-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
-
-src_test() {
- virtx distutils-r1_src_test
-}
diff --git a/dev-python/pyopengl/pyopengl-3.1.6.ebuild b/dev-python/pyopengl/pyopengl-3.1.6.ebuild
deleted file mode 100644
index 52d47efb4f61..000000000000
--- a/dev-python/pyopengl/pyopengl-3.1.6.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_REQ_USE="tk?"
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1 virtualx
-
-MY_PN="PyOpenGL"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Python OpenGL bindings"
-HOMEPAGE="http://pyopengl.sourceforge.net/ https://pypi.org/project/PyOpenGL/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-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
-
-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
new file mode 100644
index 000000000000..7dd53e7e560f
--- /dev/null
+++ b/dev-python/pyopengl/pyopengl-3.1.7-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
+PYPI_NO_NORMALIZE=1
+PYPI_PN=PyOpenGL
+PYTHON_REQ_USE="tk?"
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="Python OpenGL bindings"
+HOMEPAGE="
+ https://pyopengl.sourceforge.net/
+ https://github.com/mcfletch/pyopengl/
+ https://pypi.org/project/PyOpenGL/
+"
+
+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=(
+ # https://github.com/mcfletch/pyopengl/commit/b49af26c615236ebc29cf125a8315091482a4a2a
+ "${FILESDIR}/${P}-py312.patch"
+ # https://github.com/mcfletch/pyopengl/pull/109
+ "${FILESDIR}/${P}-pypy3.patch"
+)
+
+python_test() {
+ 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() {
+ virtx distutils-r1_src_test
+}
diff --git a/dev-python/pyopengl_accelerate/Manifest b/dev-python/pyopengl_accelerate/Manifest
index a236a5a28149..ffaefcbf0395 100644
--- a/dev-python/pyopengl_accelerate/Manifest
+++ b/dev-python/pyopengl_accelerate/Manifest
@@ -1 +1 @@
-DIST pyopengl-227f9c66976d9f5dadf62b9a97e6beaec84831ca.gh.tar.gz 3296655 BLAKE2B 74aca52a9566eb667a36e4e75470da8eca0d4aaa42dce246bcfc4b28e3581235ca6119efaadafa4354c915046931d30bf0b2cd2d0fffb9d87611468a34704b24 SHA512 dad3b4377708d7c7331384e0b3aa3ca69ac943bb22e4136f93b7790092e29ee4cdc254295bd9243203981834bc22a7a02163523177b7f7c581f9384d55ee13c8
+DIST pyopengl-release-3.1.7.gh.tar.gz 3310131 BLAKE2B 37d64a0e0f3ced1965a7285ac7a0afb774b1e5ef630e42d86e40bb65176af7f0aa44accee50d3b32eb87a13c76535a3239359ea2c5bea385e20f1b1ec1a8b636 SHA512 a6cd28b15964e55e8a808477138ad03eb212501d9f4723603c405932963aedca83b91ff19e510ca181cc9800f2a22968b2913b70a975b7797f3bcad112c6c0b4
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.6.ebuild b/dev-python/pyopengl_accelerate/pyopengl_accelerate-3.1.6.ebuild
deleted file mode 100644
index a9f90916fa0e..000000000000
--- a/dev-python/pyopengl_accelerate/pyopengl_accelerate-3.1.6.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..10} )
-
-inherit distutils-r1
-
-EGIT_COMMIT="227f9c66976d9f5dadf62b9a97e6beaec84831ca"
-DESCRIPTION="Accelerate module for PyOpenGL"
-HOMEPAGE="
- http://pyopengl.sourceforge.net/
- https://github.com/mcfletch/pyopengl/
- https://pypi.org/project/PyOpenGL-accelerate/"
-SRC_URI="
- https://github.com/mcfletch/pyopengl/archive/${EGIT_COMMIT}.tar.gz
- -> pyopengl-${EGIT_COMMIT}.gh.tar.gz"
-S=${WORKDIR}/pyopengl-${EGIT_COMMIT}/accelerate
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-IUSE=""
-
-RDEPEND="dev-python/pyopengl[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
-
-python_test() {
- cd "${T}" || die
- epytest "${S}"/tests
-}
diff --git a/dev-python/pyopengl_accelerate/pyopengl_accelerate-3.1.7.ebuild b/dev-python/pyopengl_accelerate/pyopengl_accelerate-3.1.7.ebuild
new file mode 100644
index 000000000000..343c45b8fc31
--- /dev/null
+++ b/dev-python/pyopengl_accelerate/pyopengl_accelerate-3.1.7.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
+
+MY_P=pyopengl-release-${PV}
+DESCRIPTION="Accelerate module for PyOpenGL"
+HOMEPAGE="
+ https://pyopengl.sourceforge.net/
+ https://github.com/mcfletch/pyopengl/
+ https://pypi.org/project/PyOpenGL-accelerate/"
+SRC_URI="
+ https://github.com/mcfletch/pyopengl/archive/release-${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+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}]
+"
+
+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() {
+ cd "${T}" || die
+ epytest "${S}"/tests
+}
diff --git a/dev-python/pyopenssl/Manifest b/dev-python/pyopenssl/Manifest
index 5862489c68f4..59bb1bcc43ab 100644
--- a/dev-python/pyopenssl/Manifest
+++ b/dev-python/pyopenssl/Manifest
@@ -1,2 +1,2 @@
-DIST pyOpenSSL-22.1.0.tar.gz 181704 BLAKE2B b10a8db111726c5f6626cae670a04af73cc1856a3084d3ca683fcba942724e99e5bd4ab6eb7dc4eb02ea4c6f14aa21f7744020aae1532145e1db24dbe58976cd SHA512 7cccb48cbb1655414d21c5e66e7defee7ec370cb6b46294ae0307208f9a9bc13708345b2c088a43292262f5d5bb3d45241c18ae66d2ad6824046ffe30f0c707e
-DIST pyOpenSSL-23.0.0.tar.gz 182375 BLAKE2B 8a902ecd7e771dcd281dda184569fef53c7f7d1a801f5cea663ff95014717786ceaaa999b6f67fe710ade253335c856c3964a96705afd6ddb93679856d57d7cd SHA512 68c42de58305461606d9fb932a7711775cfcf1a7c5dbe900b2c7ba18eab546d4c37fcd3dd82ab2c18b15eb07bef126534473b5b29f8af4f46e0147d45ac9e64b
+DIST pyOpenSSL-24.0.0.tar.gz 183238 BLAKE2B 93c75bd323ceb65945fa57a586403c2166b949ce0d4d158b94dc6c40b49373f63e38b0a2cdf2478ab8f6d5d12feeb261324fa13f06040f91b92fffce408d1071 SHA512 32503eeb8b03d9f7dc580c9a2fbbc009a1498b444d17751253bccf8344897408e6d99043dae01385d00bd56fa5aa7d486a43fdc81b1d14cc59fa372c9e58c4e8
+DIST pyOpenSSL-24.1.0.tar.gz 179671 BLAKE2B d49139e9604e854427005adb17cbc8926fa4e10390b36446f9c95dbe81802bb8b97c2e6f1ea8f91dfd74733631292c88536c4f9772647e6d4b449b4d01ed6355 SHA512 acb07025f085d2fe9338e5ce5f65937001b1a8376c41ac532e9b0548668ce05c844e3e28c58efad812a034becf8e24aa9504165ff6af4c3b085cf463fa4d2fb6
diff --git a/dev-python/pyopenssl/pyopenssl-22.1.0.ebuild b/dev-python/pyopenssl/pyopenssl-22.1.0.ebuild
deleted file mode 100644
index 32a1ac8dffa5..000000000000
--- a/dev-python/pyopenssl/pyopenssl-22.1.0.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_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 toolchain-funcs
-
-MY_PN=pyOpenSSL
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Python interface to the OpenSSL library"
-HOMEPAGE="
- https://www.pyopenssl.org/
- https://github.com/pyca/pyopenssl/
- https://pypi.org/project/pyOpenSSL/
-"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- <dev-python/cryptography-39[${PYTHON_USEDEP}]
- >=dev-python/cryptography-38.0.0[${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.0.0.ebuild b/dev-python/pyopenssl/pyopenssl-23.0.0.ebuild
deleted file mode 100644
index 0a04ea8ffe11..000000000000
--- a/dev-python/pyopenssl/pyopenssl-23.0.0.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_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 toolchain-funcs
-
-MY_PN=pyOpenSSL
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Python interface to the OpenSSL library"
-HOMEPAGE="
- https://www.pyopenssl.org/
- https://github.com/pyca/pyopenssl/
- https://pypi.org/project/pyOpenSSL/
-"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- <dev-python/cryptography-40[${PYTHON_USEDEP}]
- >=dev-python/cryptography-38.0.0[${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.0.0.ebuild b/dev-python/pyopenssl/pyopenssl-24.0.0.ebuild
new file mode 100644
index 000000000000..f46970a8343b
--- /dev/null
+++ b/dev-python/pyopenssl/pyopenssl-24.0.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
+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-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/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..0348c6fc65ef
--- /dev/null
+++ b/dev-python/pyopenssl/pyopenssl-24.1.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
+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-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
+
+ distutils-r1_src_test
+}
diff --git a/dev-python/pyotherside/files/pyotherside-1.6.0-qt6.5.patch b/dev-python/pyotherside/files/pyotherside-1.6.0-qt6.5.patch
new file mode 100644
index 000000000000..08844cc8338d
--- /dev/null
+++ b/dev-python/pyotherside/files/pyotherside-1.6.0-qt6.5.patch
@@ -0,0 +1,34 @@
+From 45044252aaf73262cd46443acd049e7afcdf072b Mon Sep 17 00:00:00 2001
+From: Thomas Perl <m@thp.io>
+Date: Sat, 2 Dec 2023 18:46:06 +0100
+Subject: [PATCH] Fix build error with Qt >= 6.5 (fixes #128)
+
+--- a/src/qpython_priv.cpp
++++ b/src/qpython_priv.cpp
+@@ -405,8 +405,25 @@ pyotherside_QObjectMethod_call(PyObject *callable_object, PyObject *args, PyObje
+ }
+
+ QVariant result;
++#if QT_VERSION < QT_VERSION_CHECK(6, 5, 0)
++ QGenericReturnArgument returnArg = Q_RETURN_ARG(QVariant, result);
++#else
++ /**
++ * Starting with Qt 6.5, Q_RETURN_ARG() expands to a QMetaMethodReturnArgument,
++ * whereas previously it returned a QGenericReturnArgument. Since we are using
++ * the old, deprecated QMetaMethod::invoke() functions, and those take a
++ * QGenericReturnArgument and not a QMetaMethodReturnArgument, we need to
++ * create the QGenericReturnArgument ourselves by emulating what Q_RETURN_ARG()
++ * does in old Qt versions before 6.5.
++ *
++ * See also:
++ * https://bugreports.qt.io/browse/QTBUG-113147
++ * https://github.com/thp/pyotherside/issues/128
++ **/
++ QGenericReturnArgument returnArg {QT_STRINGIFY(QVariant), &result};
++#endif
+ if (method.invoke(o, Qt::DirectConnection,
+- Q_RETURN_ARG(QVariant, result), genericArguments.value(0),
++ returnArg, genericArguments.value(0),
+ genericArguments.value(1), genericArguments.value(2),
+ genericArguments.value(3), genericArguments.value(4),
+ genericArguments.value(5), genericArguments.value(6),
diff --git a/dev-python/pyotherside/pyotherside-1.6.0-r1.ebuild b/dev-python/pyotherside/pyotherside-1.6.0-r1.ebuild
new file mode 100644
index 000000000000..44c3228186f8
--- /dev/null
+++ b/dev-python/pyotherside/pyotherside-1.6.0-r1.ebuild
@@ -0,0 +1,106 @@
+# 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 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 )"
+
+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[opengl]
+ dev-qt/qtquick3d:6[opengl]
+ dev-qt/qtsvg:6
+ )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.0-qt6.5.patch
+)
+
+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
+
+ if [[ "${MULTIBUILD_VARIANT}" == qt5 ]]; then
+ eqmake5
+ elif [[ "${MULTIBUILD_VARIANT}" == qt6 ]]; then
+ eqmake6
+ else
+ # This should never happen if REQUIRED_USE is enforced
+ die "Neither Qt5 nor Qt6 support enabled, aborting"
+ fi
+ popd > /dev/null || die
+ }
+
+ multibuild_foreach_variant myconfigure
+}
+
+src_compile() {
+ mycompile() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+
+ emake
+
+ popd > /dev/null || die
+ }
+
+ multibuild_foreach_variant mycompile
+}
+
+src_test() {
+ mytest() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+
+ QT_QPA_PLATFORM="offscreen" tests/tests || die
+
+ popd > /dev/null || die
+ }
+
+ multibuild_foreach_variant mytest
+}
+
+src_install() {
+ myinstall() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+
+ emake install INSTALL_ROOT="${D}"
+
+ popd > /dev/null || die
+ }
+
+ multibuild_foreach_variant myinstall
+}
diff --git a/dev-python/pyotherside/pyotherside-1.6.0.ebuild b/dev-python/pyotherside/pyotherside-1.6.0.ebuild
index c16a5d7df11c..f151aceda94f 100644
--- a/dev-python/pyotherside/pyotherside-1.6.0.ebuild
+++ b/dev-python/pyotherside/pyotherside-1.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_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit qmake-utils python-single-r1
@@ -13,16 +13,13 @@ SRC_URI="https://github.com/thp/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="ISC"
SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~riscv"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
IUSE="+qt5 qt6"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
^^ ( qt5 qt6 )"
-# qt6 TODO:
-# - add dev-qt/qt{gui,opengl}:6 once in the tree, test if qt6 deps okay then
-# - instrument qmake6 (no eqmake6 in the eclass yet)
-# - multibuild for both qt5 and qt6 if requested
+# TODO: multibuild for both qt5 and qt6 if requested
RDEPEND="
${PYTHON_DEPS}
qt5? (
@@ -33,12 +30,17 @@ RDEPEND="
dev-qt/qtsvg:5
)
qt6? (
- dev-qt/qtbase:6
- dev-qt/qtdeclarative:6
+ dev-qt/qtbase:6[opengl]
+ dev-qt/qtdeclarative:6[opengl]
+ dev-qt/qtquick3d:6[opengl]
dev-qt/qtsvg:6
)"
DEPEND="${RDEPEND}"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.0-qt6.5.patch
+)
+
src_prepare() {
default
sed -i -e "s/qtquicktests//" pyotherside.pro || die
@@ -48,7 +50,7 @@ src_configure() {
if use qt5; then
eqmake5
elif use qt6; then
- die "Qt6 support is not ready yet"
+ eqmake6
else
# This should never happen if REQUIRED_USE is enforced
die "Neither Qt5 nor Qt6 support enabled, aborting"
diff --git a/dev-python/pyotp/Manifest b/dev-python/pyotp/Manifest
index a53ae6e49a48..f6d0aa7c9d7f 100644
--- a/dev-python/pyotp/Manifest
+++ b/dev-python/pyotp/Manifest
@@ -1 +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 1cd6f6eaf9c6..000000000000
--- a/dev-python/pyotp/pyotp-2.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="PyOTP is a Python library for generating and verifying one-time passwords"
-HOMEPAGE="
- https://github.com/pyauth/pyotp/
- https://pypi.org/project/pyotp/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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
new file mode 100644
index 000000000000..a2917de0d249
--- /dev/null
+++ b/dev-python/pyotp/pyotp-2.9.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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/pyparsing/Manifest b/dev-python/pyparsing/Manifest
index fef86e5a9f4d..e2b8f6579057 100644
--- a/dev-python/pyparsing/Manifest
+++ b/dev-python/pyparsing/Manifest
@@ -1 +1 @@
-DIST pyparsing_3.0.9.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 7be9a46f4b6a..000000000000
--- a/dev-python/pyparsing/pyparsing-3.0.9.ebuild
+++ /dev/null
@@ -1,46 +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_{9..11} 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/${PN}/${PN}/archive/${MY_P}.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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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.2.ebuild b/dev-python/pyparsing/pyparsing-3.1.2.ebuild
new file mode 100644
index 000000000000..d5250fa7835c
--- /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..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/pyparted/Manifest b/dev-python/pyparted/Manifest
index 12897ca84dcc..f4c969518079 100644
--- a/dev-python/pyparted/Manifest
+++ b/dev-python/pyparted/Manifest
@@ -1 +1 @@
-DIST pyparted-3.12.0.tar.gz 106440 BLAKE2B 824223e385a6f1bfd9c01dc4c665ddeca5b73bbc2e65a9ade8086393f3dc0ebdc11528beabe7eeec8d0b8172b49db15ad8c34425efe4db47439f1b5617f9c55c SHA512 c1779c16868799bbff0905ea908db668823d1c238b9a06bcd62b24f9681fdd1e9378e904a91eb5e426a6e264cf1f2feee984a514e9098bf10147643bf58aa918
+DIST pyparted-3.13.0.gh.tar.gz 105838 BLAKE2B 37ba0004a36c6e9d417d3400bb2a91b2903050fa81e4deb0ef0f34232a1d59278f5074ce83e9ba03dc598fb9dae632a01d4d620837600543b130754dd0284463 SHA512 26819e28d73420937874f52fda03eb50ab1b136574ea9867a69d46ae4976d38c4f26a2697fa70597eed90dd78a5ea209bafcc3227a17a7a5d63cff6d107c2b11
diff --git a/dev-python/pyparted/pyparted-3.12.0.ebuild b/dev-python/pyparted/pyparted-3.12.0.ebuild
deleted file mode 100644
index 32404cf09dbc..000000000000
--- a/dev-python/pyparted/pyparted-3.12.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_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for sys-block/parted"
-HOMEPAGE="https://github.com/dcantrell/pyparted/"
-SRC_URI="https://github.com/dcantrell/pyparted/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~hppa ~ia64 ppc ppc64 sparc x86"
-
-DEPEND="
- >=sys-block/parted-3.4
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- test? ( dev-python/six[${PYTHON_USEDEP}] )
- virtual/pkgconfig
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/pyparted/pyparted-3.13.0.ebuild b/dev-python/pyparted/pyparted-3.13.0.ebuild
new file mode 100644
index 000000000000..06fac90d6a5e
--- /dev/null
+++ b/dev-python/pyparted/pyparted-3.13.0.ebuild
@@ -0,0 +1,36 @@
+# 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 bindings for sys-block/parted"
+HOMEPAGE="
+ https://github.com/dcantrell/pyparted/
+ https://pypi.org/project/pyparted/
+"
+SRC_URI="
+ https://github.com/dcantrell/pyparted/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~hppa ~ia64 ppc ppc64 sparc x86"
+
+DEPEND="
+ >=sys-block/parted-3.4
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pypax/pypax-0.9.5-r1.ebuild b/dev-python/pypax/pypax-0.9.5-r1.ebuild
index cf2a403bdcf8..8a9786c387f2 100644
--- a/dev-python/pypax/pypax-0.9.5-r1.ebuild
+++ b/dev-python/pypax/pypax-0.9.5-r1.ebuild
@@ -3,8 +3,9 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
diff --git a/dev-python/pypax/pypax-9999.ebuild b/dev-python/pypax/pypax-9999.ebuild
index e9a3b3419d0f..ed47719cbc03 100644
--- a/dev-python/pypax/pypax-9999.ebuild
+++ b/dev-python/pypax/pypax-9999.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
diff --git a/dev-python/pypdf/Manifest b/dev-python/pypdf/Manifest
index 04712ecd076e..9b0dd8cd2fab 100644
--- a/dev-python/pypdf/Manifest
+++ b/dev-python/pypdf/Manifest
@@ -1,2 +1,3 @@
-DIST pypdf-3.3.0.gh.tar.gz 6803536 BLAKE2B ff70995882581c816fbf7410232c68e9649632161b4927543924a11b1a0a816f1178be399079e32078fe8d89a2aa9cd0eb1562409dc8e7bd388cad3afde37198 SHA512 5db25d6c4b41a1d19b45fa907f53e0106e01c93eb4152079dc4ffbd7bf28fbf8915bf0e3bf1af4a371e805657884fe2c42de4856944085ca7bc07a477f3ba588
-DIST pypdf-sample-files-0fe84b30ed33ff3daa9293e44349b8618f135699.gh.tar.gz 9027166 BLAKE2B 912bb9fbd632bd0ad2cc2e865a1e6870ad7064aa2cf4d6f96217f63ac685e9a511f0bb20c22d48ae970a2eb171b27a0fa680fa42892425531f69735840cf741b SHA512 07a71a3566dabcea5dc8a549949d0f0c0f9483d5d9f85851d6e4e702dd374b348469a80e5300d18983e560ee9a44d0639b55eb338023b9ebbdb26c6f8c455e07
+DIST pypdf-4.1.0.gh.tar.gz 8005929 BLAKE2B 3bec62a86dc8503a8738ea14941db6f66181784288d51f345f6d0a973e80c984c676814820ee68d7d5372931272747a22def10928f935ea7bdef2f2a5cdffd28 SHA512 1dac8f45d24406b17a6c0872fdac928b2aa8e434d64b5f8bd3359ca58f51e7a936d0990d3a7d4b4bbd433ca1497e343838ab0dbd3d22f2db32575472f1a660c9
+DIST pypdf-4.2.0.gh.tar.gz 8009612 BLAKE2B a21108679a6dd5d9bc16aaf4a9c1beaaab875f0a8f974722d6d318635eecee82bc37c7c4c175816079ce9604f8b88f07f31458b08994833a25ee18bc46cbc294 SHA512 99fe599a81ae7e115ee6fca82ffabaff613ee49756a7e937de32a4d59b5731effe5cc3a076d92423b2299896a6ecab41ab5096aea6836fec79ba637e2c7b7620
+DIST pypdf-sample-files-8c405ece5eff12396a34a1fae3276132002e1753.gh.tar.gz 11748093 BLAKE2B c5989200893b28a3c2062bb024a5cfc6f3389dc259ec129857979fa43469e1274559612b4d555499e2c7e16cf34be07825229932bf4d147fa6d7324d043e97d5 SHA512 c9771129b7668a2fd1fa79bb859ae9213f3d60341cf1b9937ff0eaab0de9bf4c35adcb7b896e93329038dc0f3809a0c697c523f8fe41b43030b0b029a88058e3
diff --git a/dev-python/pypdf/pypdf-3.3.0.ebuild b/dev-python/pypdf/pypdf-3.3.0.ebuild
deleted file mode 100644
index 646a669f191b..000000000000
--- a/dev-python/pypdf/pypdf-3.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=flit
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-SAMPLE_COMMIT=0fe84b30ed33ff3daa9293e44349b8618f135699
-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
- )
-"
-S=${WORKDIR}/pypdf-${PV}
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-RESTRICT="test"
-# 150+ tests require network, too many to deselect
-PROPERTIES="test_network"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-BDEPEND="
- dev-python/pillow[${PYTHON_USEDEP}]
- test? (
- dev-python/pycryptodome[${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
- # dead URL
- # https://github.com/py-pdf/pypdf/issues/1526
- tests/test_xmp.py::test_issue585
-)
-
-src_unpack() {
- default
- if use test; then
- mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die
- fi
-}
diff --git a/dev-python/pypdf/pypdf-4.1.0.ebuild b/dev-python/pypdf/pypdf-4.1.0.ebuild
new file mode 100644
index 000000000000..709812e904b3
--- /dev/null
+++ b/dev-python/pypdf/pypdf-4.1.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=flit
+PYTHON_COMPAT=( python3_{10..12} )
+
+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"
+
+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.2.0.ebuild b/dev-python/pypdf/pypdf-4.2.0.ebuild
new file mode 100644
index 000000000000..50fccfce8014
--- /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..12} )
+
+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/metadata.xml b/dev-python/pyperclip/metadata.xml
index 1e4b93d72e3f..170e04fc7165 100644
--- a/dev-python/pyperclip/metadata.xml
+++ b/dev-python/pyperclip/metadata.xml
@@ -11,5 +11,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">pyperclip</remote-id>
+ <remote-id type="github">asweigart/pyperclip</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pyperclip/pyperclip-1.8.2-r1.ebuild b/dev-python/pyperclip/pyperclip-1.8.2-r1.ebuild
index b29b57d04211..9d82d6fecef6 100644
--- a/dev-python/pyperclip/pyperclip-1.8.2-r1.ebuild
+++ b/dev-python/pyperclip/pyperclip-1.8.2-r1.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1 virtualx
+inherit distutils-r1 virtualx pypi
DESCRIPTION="A cross-platform clipboard module for Python"
HOMEPAGE="
https://github.com/asweigart/pyperclip/
https://pypi.org/project/pyperclip/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/pyphen/Manifest b/dev-python/pyphen/Manifest
index 8ecaa5b7812f..7767458016e3 100644
--- a/dev-python/pyphen/Manifest
+++ b/dev-python/pyphen/Manifest
@@ -1 +1 @@
-DIST pyphen-0.13.2.gh.tar.gz 1998017 BLAKE2B 7290cf7902a3dcfc9355d39de40a13b7aea20252636bdcdcd70436f59ca493dd287f96f365323c3e2d45dfc989e5418db4e3fb676602d123182c33b715ac7d26 SHA512 63bd3411c3120e73cd484eef3c3a280e9f8fee40f9aaf3fdca46c3ddf545aeb462eb4214fb239bd6a1fb6c065d5a34290f39763985e85447f413fc0af0afdae8
+DIST pyphen-0.14.0.tar.gz 1986988 BLAKE2B 3513ad1c9fbcc05318764f862a01bc4bbd6ad6a86f120ad93f8ff1d2a979984c35554db85943b5b7423f97e44ea933c64a3bf9c90aeb18629d215292466581b6 SHA512 5e242de2ecd5e951b2e1925df724013c14cea14729e8e0c132ab233c82406b37cc8d1d21cbd1edd748811fa6826a79da7a5ff9dfa859315840560cacae523e13
diff --git a/dev-python/pyphen/pyphen-0.13.2.ebuild b/dev-python/pyphen/pyphen-0.13.2.ebuild
deleted file mode 100644
index 7e769a5c3a14..000000000000
--- a/dev-python/pyphen/pyphen-0.13.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=flit
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python module for hyphenation using hunspell dictionaries"
-HOMEPAGE="
- https://github.com/Kozea/Pyphen/
- https://pypi.org/project/pyphen/
-"
-SRC_URI="
- https://github.com/Kozea/Pyphen/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${P^}
-
-LICENSE="GPL-2+ LGPL-2+ MPL-1.1"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest -o addopts=
-}
diff --git a/dev-python/pyphen/pyphen-0.14.0.ebuild b/dev-python/pyphen/pyphen-0.14.0.ebuild
new file mode 100644
index 000000000000..864ae9b45a9b
--- /dev/null
+++ b/dev-python/pyphen/pyphen-0.14.0.ebuild
@@ -0,0 +1,25 @@
+# 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/pypiserver/Manifest b/dev-python/pypiserver/Manifest
index d918e4b4a498..39fba150f6ba 100644
--- a/dev-python/pypiserver/Manifest
+++ b/dev-python/pypiserver/Manifest
@@ -1 +1 @@
-DIST pypiserver-1.5.1.gh.tar.gz 150145 BLAKE2B 23ceba3064da4a0d7a19af0a48f370913948dd8cec101cdee43f59c78087b71adcb0fb3a494ca1a94cf3cc2c42751f8710f9cf9037401d73bec7f94f300dbf6b SHA512 35797c37ecfc2c7de21211c5c5f9c0edf98ba49e54fbee779099e411dde73377706aeddcd3dfb34c3ae2ef7d7f4ebf9146c3fb02b0778742d688f8ac17a64cfd
+DIST pypiserver-2.0.1.gh.tar.gz 156624 BLAKE2B b37700ffe0c7361289a3825dafd86041fab9ddf574d7792c7cd155f7e869a1bdd2de4e2a658c808afc7fe5ee8989876fcb7e85a8da74202c2c4c4344fbaf1df4 SHA512 962b34ea2bbca680fcf7ee8153ecea09c2f0c1bcebaaacee4666c93deab9d2508e08a22d82635a64d8aaec7cab3b5485e3752f1439006ed01b58539035f3b711
diff --git a/dev-python/pypiserver/pypiserver-1.5.1.ebuild b/dev-python/pypiserver/pypiserver-1.5.1.ebuild
deleted file mode 100644
index cee43fda4dd8..000000000000
--- a/dev-python/pypiserver/pypiserver-1.5.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_{9..11} 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[${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=( README.rst )
-
-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.0.1.ebuild b/dev-python/pypiserver/pypiserver-2.0.1.ebuild
new file mode 100644
index 000000000000..ef30107d8ca6
--- /dev/null
+++ b/dev-python/pypiserver/pypiserver-2.0.1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2023 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/pypng/pypng-0.20220715.0.ebuild b/dev-python/pypng/pypng-0.20220715.0.ebuild
index 1be81e4e040e..f206fc76de27 100644
--- a/dev-python/pypng/pypng-0.20220715.0.ebuild
+++ b/dev-python/pypng/pypng-0.20220715.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -21,7 +21,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~loong ~riscv x86"
python_test() {
# let's talk about code quality
diff --git a/dev-python/pypresence/Manifest b/dev-python/pypresence/Manifest
index 3f5786dab920..76bb15b36079 100644
--- a/dev-python/pypresence/Manifest
+++ b/dev-python/pypresence/Manifest
@@ -1 +1 @@
-DIST pypresence-4.2.1.gh.tar.gz 375948 BLAKE2B be3f654bc9666b1fcc2ea4bbb7fc337b1acf41754750407f0f2a6a29bab39e3a5fa1d3c4076fe68dd31994c8713234aab88b085248e05196e3683e0b0c72c5a5 SHA512 b01714fe33bc470aed7ed0ff501ffdb50706e2d9a5610d594e55bb2938c670a55fb42312e67b0126bffa0bc9e04a3c1aeda445769764c2fefc8888945209cb2c
+DIST pypresence-4.3.0.gh.tar.gz 376791 BLAKE2B 27cbbaee11145e01610b515344dcefec62adc6dc1071ff744bce03029ba447ddc400806f3bc3f1bce87c6a1efa3f2b76b7f5414a72b70852a2fb6fc3c9722861 SHA512 865f4017732967b64213608c2bd9c8aa95bea4a326ef907a798e4cc18f8b0b5fe7160ee5774f2fa00a18c68e333d17dcb24485be1a27ef4d883d694d78ca0517
diff --git a/dev-python/pypresence/pypresence-4.2.1.ebuild b/dev-python/pypresence/pypresence-4.2.1.ebuild
deleted file mode 100644
index 42e135f8be29..000000000000
--- a/dev-python/pypresence/pypresence-4.2.1.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Complete Discord IPC and Rich Presence wrapper library in Python"
-HOMEPAGE="https://github.com/qwertyquerty/pypresence"
-SRC_URI="https://github.com/qwertyquerty/pypresence/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-distutils_enable_sphinx docs/sphinx dev-python/alabaster
diff --git a/dev-python/pypresence/pypresence-4.3.0.ebuild b/dev-python/pypresence/pypresence-4.3.0.ebuild
new file mode 100644
index 000000000000..ceadf33a5aa0
--- /dev/null
+++ b/dev-python/pypresence/pypresence-4.3.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Complete Discord IPC and Rich Presence wrapper library in Python"
+HOMEPAGE="https://github.com/qwertyquerty/pypresence"
+SRC_URI="https://github.com/qwertyquerty/pypresence/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+distutils_enable_sphinx docs/sphinx dev-python/alabaster
diff --git a/dev-python/pyprof2calltree/Manifest b/dev-python/pyprof2calltree/Manifest
index cbeea65c4c4e..d948d8d42544 100644
--- a/dev-python/pyprof2calltree/Manifest
+++ b/dev-python/pyprof2calltree/Manifest
@@ -1 +1 @@
-DIST pyprof2calltree-1.4.5.tar.gz 8806 BLAKE2B 3a8a838a8b03294504c64dbe1d0caee2606a1ec53005222dfe6c3692bacd0801041ce199fedb9c38e4f6edc91e210116d9c1e034e0aa283cafebb19bf6303fed SHA512 2fcda74ae67dc3a8abb5dc153864ef59f96cc62b1c9359d02be12e83966c17738f5aa4a3d1c6e2ff81614dc963fc4b2faf375bbbb1ad15650a6817e493cdde39
+DIST pyprof2calltree-1.4.5.gh.tar.gz 8806 BLAKE2B 3a8a838a8b03294504c64dbe1d0caee2606a1ec53005222dfe6c3692bacd0801041ce199fedb9c38e4f6edc91e210116d9c1e034e0aa283cafebb19bf6303fed SHA512 2fcda74ae67dc3a8abb5dc153864ef59f96cc62b1c9359d02be12e83966c17738f5aa4a3d1c6e2ff81614dc963fc4b2faf375bbbb1ad15650a6817e493cdde39
diff --git a/dev-python/pyprof2calltree/pyprof2calltree-1.4.5-r1.ebuild b/dev-python/pyprof2calltree/pyprof2calltree-1.4.5-r1.ebuild
index 77166750b60c..3778cd3e6a0e 100644
--- a/dev-python/pyprof2calltree/pyprof2calltree-1.4.5-r1.ebuild
+++ b/dev-python/pyprof2calltree/pyprof2calltree-1.4.5-r1.ebuild
@@ -4,16 +4,23 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
+
inherit distutils-r1
DESCRIPTION="convert python profile data to kcachegrind calltree form"
-HOMEPAGE="https://pypi.org/project/pyprof2calltree/"
+HOMEPAGE="
+ https://github.com/pwaller/pyprof2calltree/
+ https://pypi.org/project/pyprof2calltree/
+"
# pypi tarball lacks tests
-SRC_URI="https://github.com/pwaller/pyprof2calltree/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="
+ https://github.com/pwaller/pyprof2calltree/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
distutils_enable_tests unittest
diff --git a/dev-python/pyproj/Manifest b/dev-python/pyproj/Manifest
index 1843f9c82898..1cf1895e0746 100644
--- a/dev-python/pyproj/Manifest
+++ b/dev-python/pyproj/Manifest
@@ -1 +1 @@
-DIST pyproj-3.4.1.gh.tar.gz 232371 BLAKE2B 70b0ccbf898c6b52b2a24db811f8d49df89a67afda5a4d2d486aa30e21fdd6438842346a876138a3018edd5308c6c6f49c1473c345507be3af831a3a734ae5a2 SHA512 e1588906c42a6cbf832ea2d2a0cf271271b1b3559fccfd7798d823f80653184a660bf14ab6f741f7d0a5b49361e2519893eb155746761d4a02248c1021660e60
+DIST pyproj-3.6.1.gh.tar.gz 239568 BLAKE2B e396e7c13dfc90f8a8eaf93b7bc0e62921779930d9c42b21ce8afa95597b13e527c179096600f40140d6d00d0f425580fccc34ae55a4e8c985d1b618554c9db4 SHA512 19c55e7ab99aae70bc318246146dc98ba75cc4884de798392f590df48c6a83e1b80504fd9c555ffd9d19262eb93cdf2c46e4805a3ae6dc07b3eaa4669f025ff0
diff --git a/dev-python/pyproj/pyproj-3.4.1.ebuild b/dev-python/pyproj/pyproj-3.4.1.ebuild
deleted file mode 100644
index d374d07812d2..000000000000
--- a/dev-python/pyproj/pyproj-3.4.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 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 ~x86 ~amd64-linux"
-
-RDEPEND="
- >=sci-libs/proj-8.2.0:=
- dev-python/certifi[${PYTHON_USEDEP}]
-"
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- dev-python/cython[${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
new file mode 100644
index 000000000000..09c6155730e6
--- /dev/null
+++ b/dev-python/pyproj/pyproj-3.6.1.ebuild
@@ -0,0 +1,55 @@
+# 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 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}
+"
+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/pyproject-api/Manifest b/dev-python/pyproject-api/Manifest
index 91b591a6a9d8..b616b2164cc4 100644
--- a/dev-python/pyproject-api/Manifest
+++ b/dev-python/pyproject-api/Manifest
@@ -1 +1 @@
-DIST pyproject-api-1.5.0.gh.tar.gz 22032 BLAKE2B 7e90bacffee70d2a2343f2360f5d0e6794a04a8b8b9be672150e5ac49e1dfabb0673b4c661ddc27f3fffa7bb3d04644e2b1809555987fc0d914a798fac667c8c SHA512 7a68df007e52c685f512fca26d371d1790f2fb9ced381025fe27462088cd4f1488b7edf4de94f6c1df989c4430336789b94d0b3bd634a2f6ec52f14f292b4474
+DIST pyproject_api-1.6.1.tar.gz 22507 BLAKE2B 8e10240f57e321e4ae78f3269c7b61cdabf29a40a4d6f374dd97451a9dc237a9ae022020c6d1e6ab140dd8c121cb93199d4ec7030c50f7ab6a492670576aeef5 SHA512 a2c1d19dc47a1deb2e3f4d65243e41310434c739a70960ae5a18d8caab11d36fe232b173db253392ff5c3432024b5c494728950d1495d6b9d5c4acf6ad0a2e90
diff --git a/dev-python/pyproject-api/metadata.xml b/dev-python/pyproject-api/metadata.xml
index 0441a08b409f..e625dc565153 100644
--- a/dev-python/pyproject-api/metadata.xml
+++ b/dev-python/pyproject-api/metadata.xml
@@ -5,6 +5,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">tox-dev/pyproject-api</remote-id>
<remote-id type="pypi">pyproject-api</remote-id>
diff --git a/dev-python/pyproject-api/pyproject-api-1.5.0.ebuild b/dev-python/pyproject-api/pyproject-api-1.5.0.ebuild
deleted file mode 100644
index ecb581a158b7..000000000000
--- a/dev-python/pyproject-api/pyproject-api-1.5.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=hatchling
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="
- https://github.com/tox-dev/pyproject-api/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~riscv"
-
-RDEPEND="
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
-"
-BDEPEND="
- >=dev-python/hatch-vcs-0.2[${PYTHON_USEDEP}]
- test? (
- >=dev-python/pytest-mock-3.10[${PYTHON_USEDEP}]
- >=dev-python/wheel-0.37.1[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20.17[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/pyproject-api/pyproject-api-1.6.1.ebuild b/dev-python/pyproject-api/pyproject-api-1.6.1.ebuild
new file mode 100644
index 000000000000..1d96554b6697
--- /dev/null
+++ b/dev-python/pyproject-api/pyproject-api-1.6.1.ebuild
@@ -0,0 +1,42 @@
+# 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-fmt/Manifest b/dev-python/pyproject-fmt/Manifest
index 332e97e549a7..051119c5c126 100644
--- a/dev-python/pyproject-fmt/Manifest
+++ b/dev-python/pyproject-fmt/Manifest
@@ -1,2 +1,2 @@
-DIST pyproject-fmt-0.4.1.gh.tar.gz 14853 BLAKE2B e06e3602290fdc4df00fb48dfe9d6d516a623ef29eaa535ab3b11754a577385611313172f207966b121f072a5b453774afcbf5e8699a0b7fd4426f5332e48e5a SHA512 f00999470e66e7f11e9299a902b686342fbad27a07634206011ff7712c7c422f9962d8a4eeffae6a6263712620b787bbdcd78c2129cb4b164631b56a45910363
-DIST pyproject-fmt-0.5.0.gh.tar.gz 14906 BLAKE2B f75482988c8e10fbfcffaa518e6004f0e96b922e8bf929e43c7be26cf16149b3fa97a3070fabfbb90641ee3d953ab17bd854ba2e107b776f65f6bc802980bd54 SHA512 58ec7975f7c69990b1d2a0ee8a29681731d7143e59754343dc64e52e135cc5d280adf3c31b6818f042982697a7221a36aa0842ffba1ede28b57cefad77bf065c
+DIST pyproject_fmt-1.7.0.tar.gz 16358 BLAKE2B 944ca460a002caebb98d06588bc89d8cd5c041f7ced200afc9748c6c47f6641dc1e3857cb426c13fc7a1f65738c9d2cbd5d0a575b11e9897be4875d3aff86316 SHA512 f69ade0e9b617a5ccf59b401220cbc95dcae006eb64ff92380ad5f0df598f5f7e8283d96666ffbdd4d2f9acc900923795c2a11496eda8842bcf1d8d1c9113bf8
+DIST pyproject_fmt-1.8.0.tar.gz 16696 BLAKE2B 1614fd6da4bb7be818825138b69b826b7141ae0fcada4414daa54b1c883ec3bbdbe95377155869d0c393b1b9646b69ebb009fe47f1c530b1f1c9f02c8ba8f57d SHA512 0731ffbe514cf8788bf1cfcca506591fefce3b98b1c6d014a8e17825ab6c73edc4ad8e7214cd8f6fc9124ed2ff362d03b328d47e96a6246165b4dd9fdd68299f
diff --git a/dev-python/pyproject-fmt/pyproject-fmt-0.4.1.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-0.4.1.ebuild
deleted file mode 100644
index 283bcfed8026..000000000000
--- a/dev-python/pyproject-fmt/pyproject-fmt-0.4.1.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Format your pyproject.toml file"
-HOMEPAGE="
- https://github.com/tox-dev/pyproject-fmt/
- https://pypi.org/project/pyproject-fmt/
-"
-SRC_URI="
- https://github.com/tox-dev/pyproject-fmt/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-21.3[${PYTHON_USEDEP}]
- >=dev-python/tomlkit-0.11.6[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/pytest-mock-3.8.2[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/pyproject-fmt/pyproject-fmt-0.5.0.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-0.5.0.ebuild
deleted file mode 100644
index 9c67644e9961..000000000000
--- a/dev-python/pyproject-fmt/pyproject-fmt-0.5.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Format your pyproject.toml file"
-HOMEPAGE="
- https://github.com/tox-dev/pyproject-fmt/
- https://pypi.org/project/pyproject-fmt/
-"
-SRC_URI="
- https://github.com/tox-dev/pyproject-fmt/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-21.3[${PYTHON_USEDEP}]
- >=dev-python/tomlkit-0.11.6[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/pytest-mock-3.8.2[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/pyproject-fmt/pyproject-fmt-1.7.0.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-1.7.0.ebuild
new file mode 100644
index 000000000000..7da8128f9cf9
--- /dev/null
+++ b/dev-python/pyproject-fmt/pyproject-fmt-1.7.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=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.8.0.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-1.8.0.ebuild
new file mode 100644
index 000000000000..876042525ab4
--- /dev/null
+++ b/dev-python/pyproject-fmt/pyproject-fmt-1.8.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=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-hooks/pyproject-hooks-1.0.0.ebuild b/dev-python/pyproject-hooks/pyproject-hooks-1.0.0.ebuild
index 0a067c10d485..8a5197a6c1d9 100644
--- a/dev-python/pyproject-hooks/pyproject-hooks-1.0.0.ebuild
+++ b/dev-python/pyproject-hooks/pyproject-hooks-1.0.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{9..12} pypy3 )
inherit distutils-r1
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~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"
RDEPEND="
$(python_gen_cond_dep '
diff --git a/dev-python/pyproject-metadata/Manifest b/dev-python/pyproject-metadata/Manifest
index 987f905de4c9..83144fe4067d 100644
--- a/dev-python/pyproject-metadata/Manifest
+++ b/dev-python/pyproject-metadata/Manifest
@@ -1,2 +1,4 @@
-DIST pyproject-metadata-0.5.0.gh.tar.gz 13816 BLAKE2B 8f5613c1279539116e99b6f319b687a08160360109e1ed71d5bc6c0434ee316ef7c0b7109d6769a03452a41c1b258765c849fe416b4632b4ba25990b6b3702aa SHA512 66cd447a01d0d01ab37611415bd620517600af667d7179a2696f763ae031c013393c8145ebd33f27b43629659333effa58596a02dfc5c217935c90475250b822
-DIST pyproject-metadata-0.6.1.gh.tar.gz 14047 BLAKE2B d97be3532450541f4f464eca8d3e241259463bbd9d8277df380e3bf38908b9fd4e279d4ec88051e974a51091da9afef0691c7d723213e244c9fb5a6b6fa1e7ac SHA512 4af84f9534a5c71e192e1355e1e99f99e82b97d01411c011ed2f1dff579a7420a0f5d982eea5a032de8549c14191b64334c8e2aeea22fe767837e662e8d8b588
+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
+DIST pyproject_metadata-0.8.0rc1.tar.gz 14781 BLAKE2B 38489f2b927ac3e65221be56b76dc8742c366776e26edddb29b7dd3e916d6ff342a6e48ac32a1718aecd81b1661cde8dac2c3f474d0de7780b77808c4927ef23 SHA512 d7280eb3537a6a497f09b75edd1c1fe2be8f1d8e0f7289c880e6b73020e73f1b7a8999e9787d88373dbe553d3b5fca054f06a1fac3651c25100bf83b367ec390
+DIST pyproject_metadata-0.8.0rc2.tar.gz 14865 BLAKE2B cba92b62020ac139f71cb5cec60f50153ce10ff4d3c3d1609a41881dc26036c2b0df51bbd77ed732e820ef42ea03d1a9f0d3d8f299b06cdbdf13ebfbc935eb0f SHA512 7c11f089e6061d7f75dde27ba04695d363f1ed2063e8b11ac508c3b587e76a5b4c50aa4ebbfdf9ab524b75986edb1562ed27526c352eba54c5981e70c165fa0d
diff --git a/dev-python/pyproject-metadata/files/pyproject-metadata-0.5.0-no-install-tests.patch b/dev-python/pyproject-metadata/files/pyproject-metadata-0.5.0-no-install-tests.patch
deleted file mode 100644
index 0d57d4760b90..000000000000
--- a/dev-python/pyproject-metadata/files/pyproject-metadata-0.5.0-no-install-tests.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-https://github.com/FFY00/python-pyproject-metadata/pull/24
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -26,6 +26,10 @@ install_requires =
- packaging>=19.0
- python_requires = >=3.7
-
-+[options.packages.find]
-+exclude =
-+ tests
-+
- [options.extras_require]
- test =
- pytest>=6.2.4
diff --git a/dev-python/pyproject-metadata/metadata.xml b/dev-python/pyproject-metadata/metadata.xml
index f6c10b0707a8..c80fb93700e8 100644
--- a/dev-python/pyproject-metadata/metadata.xml
+++ b/dev-python/pyproject-metadata/metadata.xml
@@ -5,7 +5,7 @@
<email>python@gentoo.org</email>
</maintainer>
<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.5.0.ebuild b/dev-python/pyproject-metadata/pyproject-metadata-0.5.0.ebuild
deleted file mode 100644
index 9b1b54b8bd84..000000000000
--- a/dev-python/pyproject-metadata/pyproject-metadata-0.5.0.ebuild
+++ /dev/null
@@ -1,26 +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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="PEP 621 metadata parsing"
-HOMEPAGE="https://pypi.org/project/pyproject-metadata/ https://github.com/FFY00/python-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="~amd64"
-
-RDEPEND="dev-python/packaging[${PYTHON_USEDEP}]"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.5.0-no-install-tests.patch
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyproject-metadata/pyproject-metadata-0.6.1.ebuild b/dev-python/pyproject-metadata/pyproject-metadata-0.6.1.ebuild
deleted file mode 100644
index 0d51ddb579b2..000000000000
--- a/dev-python/pyproject-metadata/pyproject-metadata-0.6.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
-PYTHON_COMPAT=( python3_{9..11} 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="amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyproject-metadata/pyproject-metadata-0.7.1.ebuild b/dev-python/pyproject-metadata/pyproject-metadata-0.7.1.ebuild
new file mode 100644
index 000000000000..fbe64fbfd3ef
--- /dev/null
+++ b/dev-python/pyproject-metadata/pyproject-metadata-0.7.1.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=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 ~mips 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..2115e63ad7e0
--- /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..12} 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/pyproject-metadata/pyproject-metadata-0.8.0_rc1.ebuild b/dev-python/pyproject-metadata/pyproject-metadata-0.8.0_rc1.ebuild
new file mode 100644
index 000000000000..2115e63ad7e0
--- /dev/null
+++ b/dev-python/pyproject-metadata/pyproject-metadata-0.8.0_rc1.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..12} 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/pyproject-metadata/pyproject-metadata-0.8.0_rc2.ebuild b/dev-python/pyproject-metadata/pyproject-metadata-0.8.0_rc2.ebuild
new file mode 100644
index 000000000000..2115e63ad7e0
--- /dev/null
+++ b/dev-python/pyproject-metadata/pyproject-metadata-0.8.0_rc2.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..12} 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 4abcc510d4cd..d4795415db7e 100644
--- a/dev-python/pypugjs/Manifest
+++ b/dev-python/pypugjs/Manifest
@@ -1 +1,2 @@
+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
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.9.12-r1.ebuild b/dev-python/pypugjs/pypugjs-5.9.12-r1.ebuild
new file mode 100644
index 000000000000..513939bb7171
--- /dev/null
+++ b/dev-python/pypugjs/pypugjs-5.9.12-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=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 bd112099b234..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..10} )
-
-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 2ec555294393..0e4a262b68ee 100644
--- a/dev-python/pypy-exe-bin/Manifest
+++ b/dev-python/pypy-exe-bin/Manifest
@@ -1,16 +1,8 @@
-DIST pypy-exe-7.3.10-1.amd64-musl.gpkg.tar 13107200 BLAKE2B 5b54930b2504e063839ca0e2017f6e0150ec3815c4ae783ceb97cbd11900e97edf3791bd998f686e3d16b122bb4e3f6f5abb387490af8589472c31170bc0f033 SHA512 9ee7998b391b0ff2d244346b8aef730b0c3cd5028e3a6c7dbcac77d248335eba3a01c6d1b478a21f1fca674d7ff6d2dd72df13ced5919b70b6eceb4b7991070f
-DIST pypy-exe-7.3.10-1.amd64.gpkg.tar 13107200 BLAKE2B be6846f99504d5b7e80b6316e3164a9e46ce0510fc31daee429aa97800b734c21e751d205e1d93046fd4e4e008ca48b4738167249551052cb7bfffde50197af6 SHA512 eb1b01aae999ada190409ae087500ec6a3d03328da17625fe77cd7af3568275b43df158e06c6e7f595690aff539ab4ee61c67379bd7e8360403aaeb509a62de8
-DIST pypy-exe-7.3.10-1.arm64-musl.gpkg.tar 10956800 BLAKE2B 484123a23d5f39a976672cda199b405fcd144e5943328f1723d267e6918ef39b9f7cc0196d09287171046a2feaa15a9b80d5ec121f8f1cbe86d18d8aede678d7 SHA512 a8f46284f0e5ff822183f5a6ccb306a5e26adcf50e53dfa4e5e6f3d6418617935a9d92da092f4303adc2a10013860209a7011cf10da4c85dd77efe2bcf28123d
-DIST pypy-exe-7.3.10-1.arm64.gpkg.tar 10885120 BLAKE2B 4d9a64cf4e63de1614b670fdbe8561681f4b6620ccfe3d3cb0ce72f7db986e85436323f074864c18c96722fb57d6909d2531867b0e8bed59afa8294fe482f6a2 SHA512 659c4e9b24c517c64f0d64580da99387aab0fec3bf5dbbc9ce663b111f0b339583ec1b4f8c808490c02ef71e09b9c08b29e02f9ad671dfe29a74489d72283ad4
-DIST pypy-exe-7.3.10-1.ppc64le-musl.gpkg.tar 6686720 BLAKE2B 8e740fc4a4244622c93a872537060f81daede6872e509654500b06b87904d2d396fc4ff7c3fe82eff3a0d523a8047e419223869f65779385c25f7cb68dae92a1 SHA512 267a7c771d09d40e28525683a85d539722584c88c5d007f6bdf2fe573d8bc46b199098ab176422b49bddc3d857d0c9376d4cb920a670c8959034950b9b4ed3a5
-DIST pypy-exe-7.3.10-1.ppc64le.gpkg.tar 11089920 BLAKE2B 9d2f551a2d3f797ac9afef0b2f5eec626f64c50225d53b5e0abc740abe8fe8f70165fa3fdcad43d3bfd04a456459a9fcfcfe5d0e61969ebb64f20b44b0c2de06 SHA512 c592463cb8d50a15723e74151e1327abf2e1cfb68524f588cb4e841e88177837198695afb073835ef2411b8a1d4dc7b9bf515106de876a6a6607cc4a0fbea7d7
-DIST pypy-exe-7.3.10-1.x86-musl.gpkg.tar 9707520 BLAKE2B 635e25ba163c1edd34eddaf5b2ddcac10b68385772b40e77fbbb2b901ab4301b0952d6da0743fd209e06f9d683d438e8849a0d26052c331edcb0f91aa90fe0b3 SHA512 0819fcdcfb88b4bfbac61932f887bdad6a456816d670b5844bca2164ecfff9a581a766e0e478b5799d7459b0a094515af3de444ca88318359fdda268f9bbdc9d
-DIST pypy-exe-7.3.10-1.x86.gpkg.tar 9707520 BLAKE2B 53592d7991b5f5565f4aa1cb8de25658245c516c1ff042c0dce611abce35d9496bd048b2aeab748f16f11a89129894fc44b693c385bb8fea6ee1934e5970fd9e SHA512 458fabfcaabf6e225d5dbb45b11d301dd4655a85a3d00bf33c5a7c4c9ab1eeae25bfe059434f92303aaf0a0fa631494d51b37e17a7db9582de8eb1e19509d93b
-DIST pypy-exe-7.3.11-1.amd64-musl.gpkg.tar 13056000 BLAKE2B f08e3ad8060fa076922d2f89ba86cc6956dbd8cc91d66e764b4e32efbc55712325cb6a9eb3f1689a406572d271fda94ea312f1846d8a00723f97dadde538a10d SHA512 5bce851c3131bf848bcaf89938c7d59e103da2276381812d9d2359eea5063dc3e0547738976c23aed6b321735e32ffa248aabb5ed85eb57711e91a8bb593567d
-DIST pypy-exe-7.3.11-1.amd64.gpkg.tar 13076480 BLAKE2B 530f2257227ac30b906c6e987de6f7c31ed0328d6eef6bc3cf717a7fbff29dfe7c464948cb514bf69daa8524770c81eb14f738087ab8ce480efd2f01e12d3e64 SHA512 4bd3b9c85e71e39a17bdd0007790b4c75c2d459fccb631c8404b317ca70dbb6427d997af9cc65a98102b5363cf9b2d7b4a30b7e8159b794721ee16b4a74cd4bc
-DIST pypy-exe-7.3.11-1.arm64-musl.gpkg.tar 10926080 BLAKE2B 1ce6dd1c41e1b86dcd76090635a47c920b3655a53c130dc0b09e70ea343265d5fb5f455389c3a1dafe1f9a3f296be90a0b8bbd10f81183bd14d2621618eded42 SHA512 d6c1577449b1a30b721feaf32b62d3d9a33e6b614f84f6fac2d4203d479ea96b219526cfea236e50cc1fe2363b147088331ffc2cf7c3dbf9278f714ed81baa0e
-DIST pypy-exe-7.3.11-1.arm64.gpkg.tar 10946560 BLAKE2B 9f7c436278fc7f5dff47691a78e80df1f7b823a84365e6e23381f495f400fe2bc86ee2c933c0112a70d00f3048aa7ef14c629a2650147a3abff59239bbf74b5f SHA512 c74e62455bd34e5ac8578913391ceb54a5bba43936e443d31913c16f5bef74b5e98f75635c49ea79af0c8c81277576dc2d99e6a34ebd26a29087e1bd0dc077ca
-DIST pypy-exe-7.3.11-1.ppc64le-musl.gpkg.tar 6656000 BLAKE2B 6934c8cf6b0c6ae8f25b7dbe7bfa72221eca31b37ce304a2eabf8dce0b1e50ff0a41c2368be7e525f00aa38044798a32644355e607a4b33e2bd0f7249fcba7bf SHA512 0a08a1c33e19d576ec62d993bb520f1ed67f08dc8a0d2fab956a7bd4f6fc039f85848d2108c5cb4e16d79f2c7f90826d7c1f5027871c97ec66d4113b5292e96b
-DIST pypy-exe-7.3.11-1.ppc64le.gpkg.tar 11110400 BLAKE2B 5c37eec6ee5f38821c9f2a53df525387a1b29535b0063be40de18b4f14d755f4e0568a694a34b00835d905d7d724baf80d4b27a2fcbcb4b35f9366226a42d1e5 SHA512 4e04c388af7cf4c3a3893345a5c02fbe651004237d8dfac00ab61210f387956bd16aacadad2dd288d7d9111d5863f37349d284d405cdef20c11009037700750e
-DIST pypy-exe-7.3.11-1.x86-musl.gpkg.tar 9758720 BLAKE2B 19fa123ca6d25f90a8b330efe1bf8147a29f7a2038f4c23897442ef9f7fd6a5ea7a56c51e1539ec43e5726d333e7037e4f60999d15b87bd4de0fe336b48bcefa SHA512 e761b37c9fa8801b51015329707e1b92cadd3901937ecc5ccc5ce51a564933553e4b4058092f87930a6da080ab2a608bffb1e76376ef711091cce8d3f773cbdd
-DIST pypy-exe-7.3.11-1.x86.gpkg.tar 9748480 BLAKE2B 737b88b88c756b084183a30149709d10d868c9a8feb723c6d1ae10fb1cc4b9f5a363e3aba3d2dd2718b5df727e0a6cf4a55efc449b8d2a00ea12bc1a67b9762f SHA512 56518c8142909296e01d716062acc4187d204af958ff197fc3116bfaac47b94abc67f6ba1d8ac0ac74c9a287231af8d35c7511b0f65c9fdf1f93b75294094ccc
+DIST pypy-exe-7.3.15-1.amd64-musl.gpkg.tar 12912640 BLAKE2B 7119865aae291e7920f7f62f489468696d9c508046db9ab3060ee6bd443dc7f4136670d0de45cd8f84c9231ec25b6664354208db4a7195d3a26c385b599b5258 SHA512 42305bd1c9f8034ef6dbcf25ae2f2318b8eb30fd04dd8de531b1a9a66304861331027722261101984194c4850e541ffa5b522d5188987b213f97057e3dc8a3cc
+DIST pypy-exe-7.3.15-1.amd64.gpkg.tar 12892160 BLAKE2B 75c496341f45db9f9e3a202bf3f6f80e8d10f21588ffefef630920f9c4518aa7e4089ef7bd6287110123bed64a18081b6e739e590deff64ed5258ce318f81972 SHA512 bdc35fa69d8fbcdeb55e7707450197d5bedf33422e4cf7c8ee21e88d8673e0781e626a871c6ddd671248fb90d9474c3bc7371d771dcc81f9b88f413599d5ff3a
+DIST pypy-exe-7.3.15-1.arm64-musl.gpkg.tar 10874880 BLAKE2B 69fcbab296f95a4c1ac1daea9e97de09d89949fdf8e247e1229a134a5eeda586e044c87ccd05a762656ad2d14cc8fc5ce1b7a65ae4f0568668b66e9f6a33b003 SHA512 b3b6164760dadbcc0af6151209e449f9143e6117fa4863d11502a0dbfca4efc0ad95c63f9a7b773a0a25f68a6028f8ed5fd8487b14ac8da565da480e706742d1
+DIST pypy-exe-7.3.15-1.arm64.gpkg.tar 10874880 BLAKE2B 5d4c6f3f422d1a90fb47a7603aacc1470dab6d5779a03b2bf07eb57035490d89abd7226a314a93f93566a5ff9703bc5a267c57ff6e6d4e7e6d3f7abf7763e78d SHA512 0400d9478de16a8e1e4ce312def4f4508470996268430d12a7f8def41e4d12cd69433f00fc61ba9b6056fba6090fd82e87ebe2d4da6314957c69c00e343717e1
+DIST pypy-exe-7.3.15-1.ppc64le-musl.gpkg.tar 6696960 BLAKE2B a39cb7d46c4a877b2eab6c81c2728dea490953e71fda305c84eaca0131c8088372b14570bb06feb449201d67b5a416362a8571fee850c8109ec9f18890f5f2d3 SHA512 40a23a44ef11eefb4d7680ad947ec72e34e00e4fcd1a7f04cb078320dd8222918d5113de6d42b9e45a42066af861130887647087a40f6515e7ff4ba9cf0db07f
+DIST pypy-exe-7.3.15-1.ppc64le.gpkg.tar 11100160 BLAKE2B 294ba3f95fc81122348747e922f589d16028a34bcc5dee12464a06584986f3bd6e542a4f097d7fdee3348d727bf4bbf1fdd6beb655f8e34f4608b319e22e8339 SHA512 c374a605372cd200cf7c7cd8792c74dd1187fc77c5405537539823044da344bde5a540442bcde39aaaa7c8bc330ea03896311e8353e0e81bab312fac40ff60fc
+DIST pypy-exe-7.3.15-1.x86-musl.gpkg.tar 9861120 BLAKE2B 97d3d7b80150246c49688847d2a7008cade36a0a3c89c3223be6205cf17c4623520786b393c301d42146863afb6118f7b58bb406a25bdabd9b6737016cee8718 SHA512 ca98a1bce5cbc9e9d2b90c6766b6eee094165420c38c676e63a185f54db50f275723b4b5e6183b1cc44ffec199973a57c3b0cc5fb4b0b9c6ebc2837ba84095a8
+DIST pypy-exe-7.3.15-1.x86.gpkg.tar 9902080 BLAKE2B 79cc4705c9ebdac2a4a982f095750538ecb63ca38db97dcd995ce922781f80c006311025f8e51dc8e4ef32ebfaa0ae4ae333513b19e9778503947edd1a7c69bd SHA512 12cda3f33a38c3a624095ddd25bcdde8b3ecb5b6886182ee94d7149389703b98733413d6dcbb818d9363195b46d89fc997620e72b9bd26f797223604707fef57
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.10.ebuild b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.10.ebuild
deleted file mode 100644
index a94faab9ea06..000000000000
--- a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.10.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2022 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.11.ebuild b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.11.ebuild
deleted file mode 100644
index 26726bf419c3..000000000000
--- a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.11.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2022 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.15.ebuild b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.15.ebuild
new file mode 100644
index 000000000000..900de22d9f93
--- /dev/null
+++ b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.15.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 cc6b7d01daff..ba35d88e52ad 100644
--- a/dev-python/pypy-exe/Manifest
+++ b/dev-python/pypy-exe/Manifest
@@ -1,4 +1,2 @@
-DIST pypy2.7-gentoo-patches-7.3.10.tar.xz 5312 BLAKE2B 3ca6d3a01914ae92d93fbd185705dae6bebfd4869a818f4a8058c9df3ea243fd9f1e5b962351f8d07a9679e8020499e81b7d1114d4f1b7493dc1d34c8c04409e SHA512 6758894f6d66dc99a13471cf373c5a2d2bbf37ac561e8d7c4f57ec2f1a9653cf9859547d9a7a80e7f0f7df16078030a4b1cee69536958176f0261da49493310e
-DIST pypy2.7-gentoo-patches-7.3.11.tar.xz 5312 BLAKE2B 3692453a184a88d61fe1dd7aa815aa02a4bdf4b29defd2e98a354261784643f78799b979bb356c19311b40932cc7f8b8e050e10553755a846938951a87021bc9 SHA512 24308317d92b278f9f7d74327303ebba34628a2d8dd5798ae3d472d14fd0519a470b6f9c420da88e07251215342a1e4f5cf8d4230f9663119274d3194d3811a5
-DIST pypy2.7-v7.3.10-src.tar.bz2 19865458 BLAKE2B 0ba83b873daf99b20bd38ee63734c7ceb47b6a7e9cb4bdab1ebbd5672767411f0bf926a19a7074cbfc154a8d83e3679c98fe38c5b6e00c1a4a3fab5424b5ba5d SHA512 750427ce03fdc39f8b6df528f5a2b17f33429433f583a7c46a6b9564f7e398616ae61efb635a4bc0a1f8916ca1881bf1f6347a7ea1748c09ae02e4d88315986d
-DIST pypy2.7-v7.3.11-src.tar.bz2 19850421 BLAKE2B ed8bd61e3857c37689f24a23d38d5043bd190ee0e6de5d7906284ea2eab5e7aeff5c994c22f97195f5a1ded2867725f74dc562b375c0165b6231eae69213c06e SHA512 31fd93fe3e761fd096ff52c2a0afa40f78e4df700deb911e221d1682b35e8374c9deac7ba19b474f7ca7a366d3ae9b36ebaf78e81c4ec8306431fd0873daea55
+DIST pypy2.7-gentoo-patches-7.3.15.tar.xz 5324 BLAKE2B 395b1292b59cc9b2147fd488726d7cb2c18e7240d604d0bb19f172654c87b453a27f33f29bd2c1cb230d35b660457a317247c3b2eb73e8f3247c7d01fd35aa6a SHA512 698a58b30f5a4785e2d94c38cb0e7ce2666b6b621ee0ae4e9fd51862efce13449342afe6408edc9f4ba68497f2138d653617fa4a31cd925a51a048dd79467913
+DIST pypy2.7-v7.3.15-src.tar.bz2 19834343 BLAKE2B 4e1145cac007223de0616029dfe763a8d2b3e25a6d867c98da0e8e0431d775c6aa7e50834c761e19f96b96309dbb415a39d7811c68b1b3a26c16cd222911205d SHA512 40448c7c94878bcb88402de8719a4a6a4ffe3f68d7e70500f04fe77a460b1605c83dace360988d2dae70fa2c9bb31a20c22003f70a3a2fde988f6d60507edefe
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.10.ebuild b/dev-python/pypy-exe/pypy-exe-7.3.10.ebuild
deleted file mode 100644
index 84d9a4d10226..000000000000
--- a/dev-python/pypy-exe/pypy-exe-7.3.10.ebuild
+++ /dev/null
@@ -1,177 +0,0 @@
-# Copyright 1999-2022 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.11.ebuild b/dev-python/pypy-exe/pypy-exe-7.3.11.ebuild
deleted file mode 100644
index 16adc0e787e0..000000000000
--- a/dev-python/pypy-exe/pypy-exe-7.3.11.ebuild
+++ /dev/null
@@ -1,177 +0,0 @@
-# Copyright 1999-2022 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.15.ebuild b/dev-python/pypy-exe/pypy-exe-7.3.15.ebuild
new file mode 100644
index 000000000000..e6d19abc0125
--- /dev/null
+++ b/dev-python/pypy-exe/pypy-exe-7.3.15.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 cc6b7d01daff..ba35d88e52ad 100644
--- a/dev-python/pypy/Manifest
+++ b/dev-python/pypy/Manifest
@@ -1,4 +1,2 @@
-DIST pypy2.7-gentoo-patches-7.3.10.tar.xz 5312 BLAKE2B 3ca6d3a01914ae92d93fbd185705dae6bebfd4869a818f4a8058c9df3ea243fd9f1e5b962351f8d07a9679e8020499e81b7d1114d4f1b7493dc1d34c8c04409e SHA512 6758894f6d66dc99a13471cf373c5a2d2bbf37ac561e8d7c4f57ec2f1a9653cf9859547d9a7a80e7f0f7df16078030a4b1cee69536958176f0261da49493310e
-DIST pypy2.7-gentoo-patches-7.3.11.tar.xz 5312 BLAKE2B 3692453a184a88d61fe1dd7aa815aa02a4bdf4b29defd2e98a354261784643f78799b979bb356c19311b40932cc7f8b8e050e10553755a846938951a87021bc9 SHA512 24308317d92b278f9f7d74327303ebba34628a2d8dd5798ae3d472d14fd0519a470b6f9c420da88e07251215342a1e4f5cf8d4230f9663119274d3194d3811a5
-DIST pypy2.7-v7.3.10-src.tar.bz2 19865458 BLAKE2B 0ba83b873daf99b20bd38ee63734c7ceb47b6a7e9cb4bdab1ebbd5672767411f0bf926a19a7074cbfc154a8d83e3679c98fe38c5b6e00c1a4a3fab5424b5ba5d SHA512 750427ce03fdc39f8b6df528f5a2b17f33429433f583a7c46a6b9564f7e398616ae61efb635a4bc0a1f8916ca1881bf1f6347a7ea1748c09ae02e4d88315986d
-DIST pypy2.7-v7.3.11-src.tar.bz2 19850421 BLAKE2B ed8bd61e3857c37689f24a23d38d5043bd190ee0e6de5d7906284ea2eab5e7aeff5c994c22f97195f5a1ded2867725f74dc562b375c0165b6231eae69213c06e SHA512 31fd93fe3e761fd096ff52c2a0afa40f78e4df700deb911e221d1682b35e8374c9deac7ba19b474f7ca7a366d3ae9b36ebaf78e81c4ec8306431fd0873daea55
+DIST pypy2.7-gentoo-patches-7.3.15.tar.xz 5324 BLAKE2B 395b1292b59cc9b2147fd488726d7cb2c18e7240d604d0bb19f172654c87b453a27f33f29bd2c1cb230d35b660457a317247c3b2eb73e8f3247c7d01fd35aa6a SHA512 698a58b30f5a4785e2d94c38cb0e7ce2666b6b621ee0ae4e9fd51862efce13449342afe6408edc9f4ba68497f2138d653617fa4a31cd925a51a048dd79467913
+DIST pypy2.7-v7.3.15-src.tar.bz2 19834343 BLAKE2B 4e1145cac007223de0616029dfe763a8d2b3e25a6d867c98da0e8e0431d775c6aa7e50834c761e19f96b96309dbb415a39d7811c68b1b3a26c16cd222911205d SHA512 40448c7c94878bcb88402de8719a4a6a4ffe3f68d7e70500f04fe77a460b1605c83dace360988d2dae70fa2c9bb31a20c22003f70a3a2fde988f6d60507edefe
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.10-r1.ebuild b/dev-python/pypy/pypy-7.3.10-r1.ebuild
deleted file mode 100644
index 1eeaaa8fe66f..000000000000
--- a/dev-python/pypy/pypy-7.3.10-r1.ebuild
+++ /dev/null
@@ -1,302 +0,0 @@
-# Copyright 1999-2022 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=
- )
- !<dev-python/pypy-bin-7.3.0: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.11.ebuild b/dev-python/pypy/pypy-7.3.11.ebuild
deleted file mode 100644
index 18468b85d8c6..000000000000
--- a/dev-python/pypy/pypy-7.3.11.ebuild
+++ /dev/null
@@ -1,302 +0,0 @@
-# Copyright 1999-2022 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=
- )
- !<dev-python/pypy-bin-7.3.0: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.15.ebuild b/dev-python/pypy/pypy-7.3.15.ebuild
new file mode 100644
index 000000000000..798e07131013
--- /dev/null
+++ b/dev-python/pypy/pypy-7.3.15.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 b8e362b81605..000000000000
--- a/dev-python/pypy3-exe-bin/Manifest
+++ /dev/null
@@ -1,16 +0,0 @@
-DIST pypy3-exe-7.3.10-1.amd64-musl.gpkg.tar 11888640 BLAKE2B 89fc1c3216c1597e61814406d1d2ef536f204262f9de364277ec237037eff0cb915cb78d40ad108632c52e82ddeeafd13941fc5c487c3c1792ca76d11e308458 SHA512 f74bee3c7d263aee4c6c32637c21bb1d0737d0d9a8159e60c37a772bc533d387574add2942fc45c7ec3fc4750c784b8485d905c1773986874fca64bb491e8cc4
-DIST pypy3-exe-7.3.10-1.amd64.gpkg.tar 11878400 BLAKE2B 2d272f67006eace22d4ea97383282adb19be6a088cc6469f5b1ffeb099f89a0126807faeba3c3c8c33a0d775ab26b2bd7831978f58cded1bb06e68bb8baa808a SHA512 9b0747e25731de36ce59b92a66c1ff40c9619e8d3b05d3eeee617eee7248bfdb75a46afb9c344916aef3cbda529448aef44c3fbd2ea32938983e9163bfcf6d71
-DIST pypy3-exe-7.3.10-1.arm64-musl.gpkg.tar 9922560 BLAKE2B 29dc6797c895e00fed7aa40e85e37b94c206f26f2720b6de2d558fc287516df798ce42b6a7c5c308b92dba51fa582be8a961aabc428c1cac346676d3490ce632 SHA512 5354e1b7adce22911aea916f9dd7ded71ada036e016d02094a4143c7f2428a88d74e1273cfdd19d0b68075975168a1f465181b86f97c5441bfa8085b3784a6be
-DIST pypy3-exe-7.3.10-1.arm64.gpkg.tar 9871360 BLAKE2B bc6dd237a3d7179d7f7bc5a0f1e52c21dbeb939850222e371e9deb3bf1c6eb539509505c4077310c71d664e7ef6c3349a1a16d10371abacae9b36b25eb144d16 SHA512 22bd3c7f13092d7e71b1f0d404171a0fd24395b97cc225f507479b2da2154112efadf26ad941fbbb85005bc9d41e553687e7211220858b3c9c12996e9e3dfbb9
-DIST pypy3-exe-7.3.10-1.ppc64le-musl.gpkg.tar 6451200 BLAKE2B e9d057934b329fa2bbad06d30b64ed9decf7d8cefce0e2ee75e077b6d720e3a6d06ef45dc5e70fbc2985fe654b79848725a3be81a95c596c8b2b6cfef807a382 SHA512 6b9bb88f3d29f755e04c693d44401b95f23f9947aeb4bf7e7c109727a64fb8da1eaf572212fbaac129eb81a6e48e52a6d1dcde1e2204d325cb27d0249f98299e
-DIST pypy3-exe-7.3.10-1.ppc64le.gpkg.tar 10342400 BLAKE2B a915da1bc290b38f5a0be5c521c9df1fdf0c5290449e1cfc7ca77ba0f8050369b3e58b1828475109ecbc5729c143de9c7824edb7332169af76d57072786a875f SHA512 f9d0a55f30aea0f95c6749b5d20e6276868c53c070e74d38435d1d9112743a849885fdaf22391d94bff2b105440b7a2176b5d2d475a3e58b1c022468602188f3
-DIST pypy3-exe-7.3.10-1.x86-musl.gpkg.tar 8796160 BLAKE2B 87507b496c2ddbddf330132571eb7c0506f95727f19a541176ce3456267e847d7cb52ff73f0a840a250ca196b494ef1e43d5b3b50c9957f1b0b2aa1b4a499b15 SHA512 7a99fbd2f7e68c0f57829a77d744e74538070adc6ff8f2cdc99e9894dcb9fd6a1f2301aa9dfffc56e6f323b1d550eed8b55f13b362fa186860c66a80fad4d30d
-DIST pypy3-exe-7.3.10-1.x86.gpkg.tar 8755200 BLAKE2B 2d059a08895299dd3b8fe5d3923060c5cf531c0ae46f08bcb47f2f8aae7b6c8c1ab28e50c79d0fc17942b5e893c8d9f56a49b7569c94c942ce6e4d95a3926375 SHA512 e4d141d716ccc1eb7572d3c570d5583d72f5406d5560a2c9b1818046a1a29a677c862e6695a4880ae12b44d69f8c7ef910a4a1c329ca2c0af390944f60b7387c
-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.10.ebuild b/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.10.ebuild
deleted file mode 100644
index f3cf7f9bc93d..000000000000
--- a/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.10.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2022 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-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 e7bb602c5789..000000000000
--- a/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.11.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2022 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 c04d96f5f6e5..000000000000
--- a/dev-python/pypy3-exe/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST pypy3.9-gentoo-patches-7.3.10.tar.xz 10012 BLAKE2B 45186cf6e8608995af6c0d763a2d676d862ba886acb3a0e0f0056309123d0db75240a175ecf90e24889a139f228dffc788872a5ca84736f4ce0901eda0acb789 SHA512 e6c39666f34bb7e2db72f153fad2d89421b30c04de88812637027a7e8a73bccc7620a7296b2b205464ad7fd0c911bc7a7f0dc0fc504dc8d163f7087b8b0c61b3
-DIST pypy3.9-gentoo-patches-7.3.11.tar.xz 6444 BLAKE2B adcc1ae4c3ae2c5317a05d6de51785945625d8bcc7cb35bd6608fa80f09b37c483c95663eacb0353013a5abec308d25b12666699c65512f5f3a6d7345f2b5b18 SHA512 f2064ecffa09ba23f5f8c281ca4c8c0740cb6b57185d66c02eec2bcb77cfb566b1a2db4f52c472bcaf0d5fb759ee8003b27761af37785d12465c2010fd73c49d
-DIST pypy3.9-v7.3.10-src.tar.bz2 23416039 BLAKE2B 1b13e8bbe6c38c4b9183a632063aeed593986bc7906cfe527fa7534d29f9b1ae0f1e6d3795ff73be19f5737c3fd9d1b3cc2777f30d9237d853e4266bea60a5bb SHA512 1ed3fc9cdda7f3144141fc6a37b124e7141cb3f294ce8b5ca3c3aa30a3c58715e168879decaa796c890a9a287c82c2dbabb81db5f6b8d17f4215d7d3261fe9a8
-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.10.ebuild b/dev-python/pypy3-exe/pypy3-exe-7.3.10.ebuild
deleted file mode 100644
index 33e71a846c4c..000000000000
--- a/dev-python/pypy3-exe/pypy3-exe-7.3.10.ebuild
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright 1999-2022 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-exe/pypy3-exe-7.3.11.ebuild b/dev-python/pypy3-exe/pypy3-exe-7.3.11.ebuild
deleted file mode 100644
index b6be3f4fae2a..000000000000
--- a/dev-python/pypy3-exe/pypy3-exe-7.3.11.ebuild
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright 1999-2022 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/Manifest b/dev-python/pypy3/Manifest
deleted file mode 100644
index 96f6fbf35895..000000000000
--- a/dev-python/pypy3/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST pypy3.9-gentoo-patches-7.3.10_p1.tar.xz 10348 BLAKE2B 4daeecd2b6631785ccb22789518599cab84c39da93bd054389f733f9396c90717d7754b5894a4ed1088416327a6e3e147cc4c454caac7e59d63bbca7aa3bd0ab SHA512 1a149ac967a5bb0facfdb801b816d2a527e6e16183c3301f38d6467c269994d165928ece2c5cf39650516c952aceaadf6e0ec70a2bf62c81c9ba1ed978da6bdf
-DIST pypy3.9-gentoo-patches-7.3.11.tar.xz 6444 BLAKE2B adcc1ae4c3ae2c5317a05d6de51785945625d8bcc7cb35bd6608fa80f09b37c483c95663eacb0353013a5abec308d25b12666699c65512f5f3a6d7345f2b5b18 SHA512 f2064ecffa09ba23f5f8c281ca4c8c0740cb6b57185d66c02eec2bcb77cfb566b1a2db4f52c472bcaf0d5fb759ee8003b27761af37785d12465c2010fd73c49d
-DIST pypy3.9-v7.3.10-src.tar.bz2 23416039 BLAKE2B 1b13e8bbe6c38c4b9183a632063aeed593986bc7906cfe527fa7534d29f9b1ae0f1e6d3795ff73be19f5737c3fd9d1b3cc2777f30d9237d853e4266bea60a5bb SHA512 1ed3fc9cdda7f3144141fc6a37b124e7141cb3f294ce8b5ca3c3aa30a3c58715e168879decaa796c890a9a287c82c2dbabb81db5f6b8d17f4215d7d3261fe9a8
-DIST pypy3.9-v7.3.11-src.tar.bz2 23460769 BLAKE2B fa8a827c28813243926c8689addb008c0a43acdc3f81a18749a8f2c1926b6294f2c0c95a4c315e3b77ce84b4f337af7a0bce5daf8dcb60ead965532d4af183cb SHA512 33c978ffbeeb39453028d1d1646ccfdace062ce48a5d939245bea41643038dd3687e80e34f88fa0622bcb175d7dd78f75cbe36b24229c8052f09d2d17dcdfd8c
diff --git a/dev-python/pypy3/metadata.xml b/dev-python/pypy3/metadata.xml
index 279dc3f87516..922f8a45d05d 100644
--- a/dev-python/pypy3/metadata.xml
+++ b/dev-python/pypy3/metadata.xml
@@ -5,13 +5,6 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
- <use>
- <flag name="ensurepip">
- Install the ensurepip module that uses bundled wheels
- to bootstrap pip and setuptools (if disabled, it will
- be only possible to use venv `--without-pip`)
- </flag>
- </use>
<upstream>
<remote-id type="heptapod">pypy/pypy</remote-id>
</upstream>
diff --git a/dev-python/pypy3/pypy3-7.3.10_p1.ebuild b/dev-python/pypy3/pypy3-7.3.10_p1.ebuild
deleted file mode 100644
index 8f2a92264ffb..000000000000
--- a/dev-python/pypy3/pypy3-7.3.10_p1.ebuild
+++ /dev/null
@@ -1,203 +0,0 @@
-# Copyright 1999-2022 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*}
-MY_P=pypy3.9-v${PYPY_PV/_rc/rc}
-PATCHSET="pypy3.9-gentoo-patches-${PV/_rc/rc}"
-
-DESCRIPTION="A fast, compliant alternative implementation of the Python (3.9) 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=py3.9
-RESTRICT="test"
-
-RDEPEND="
- || (
- >=dev-python/pypy3-exe-${PYPY_PV}:3.9-${PYPY_PV}[bzip2(+),ncurses?]
- >=dev-python/pypy3-exe-bin-${PYPY_PV}:3.9-${PYPY_PV}
- )
- dev-lang/python-exec[python_targets_pypy3(-)]
- dev-libs/openssl:0=
- 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
-
- eapply_user
-}
-
-src_configure() {
- tc-export CC
-}
-
-src_compile() {
- mkdir bin || die
- # switch to the layout expected for cffi module builds
- mkdir include/pypy3.9 || die
- # copy over to make sys.prefix happy
- cp -p "${BROOT}"/usr/bin/pypy3.9-c-${PYPY_PV} pypy3.9-c || die
- cp -p "${BROOT}"/usr/include/pypy3.9/${PYPY_PV}/* include/pypy3.9/ || die
- # (not installed by pypy-exe)
- rm pypy/module/cpyext/include/_numpypy/numpy/README || die
- mv pypy/module/cpyext/include/* include/pypy3.9/ || die
- mv pypy/module/cpyext/parse/*.h include/pypy3.9/ || die
- pax-mark m pypy3.9-c
-
- # verify the subslot
- local soabi=$(
- ./pypy3.9-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/pypy3.9"
- LIBDIR "${EPREFIX}/usr/$(get_libdir)"
- TZPATH "${EPREFIX}/usr/share/zoneinfo"
- WHEEL_PKG_DIR "${EPREFIX}/usr/lib/python/ensurepip"
- )
- ./pypy3.9-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.
- ./pypy3.9-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!
- # (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 )
- 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
- ../pypy3.9-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=63d4659f
- local local_cksum=$(
- ../pypy3.9-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.[co]" -delete || die
- find -type d -empty -delete || die
-}
-
-src_install() {
- einfo "Installing PyPy ..."
- dodir /usr/bin
- dosym pypy3.9-c-${PYPY_PV} /usr/bin/pypy3.9
- dosym pypy3.9 /usr/bin/pypy3
- insinto /usr/lib/pypy3.9
- # preserve mtimes to avoid obsoleting caches
- insopts -p
- doins -r lib-python/3/. lib_pypy/.
- insinto /usr/include
- doins -r include/pypy3.9
-
- # replace copied headers with symlinks
- for x in "${BROOT}"/usr/include/pypy3.9/${PYPY_PV}/*; do
- dosym "${PYPY_PV}/${x##*/}" "/usr/include/pypy3.9/${x##*/}"
- done
-
- dodoc README.rst
-
- local dest=/usr/lib/pypy3.9
- 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
-
- local -x EPYTHON=pypy3
- local -x PYTHON=${ED}/usr/bin/pypy3.9-c-${PYPY_PV}
- # temporarily copy to build tree to facilitate module builds
- cp -p "${BROOT}/usr/bin/pypy3.9-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/pypy3-7.3.11.ebuild b/dev-python/pypy3/pypy3-7.3.11.ebuild
deleted file mode 100644
index e203c371b1f8..000000000000
--- a/dev-python/pypy3/pypy3-7.3.11.ebuild
+++ /dev/null
@@ -1,203 +0,0 @@
-# Copyright 1999-2022 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*}
-MY_P=pypy3.9-v${PYPY_PV/_rc/rc}
-PATCHSET="pypy3.9-gentoo-patches-${PV/_rc/rc}"
-
-DESCRIPTION="A fast, compliant alternative implementation of the Python (3.9) 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=py3.9
-RESTRICT="test"
-
-RDEPEND="
- || (
- >=dev-python/pypy3-exe-${PYPY_PV}:3.9-${PYPY_PV}[bzip2(+),ncurses?]
- >=dev-python/pypy3-exe-bin-${PYPY_PV}:3.9-${PYPY_PV}
- )
- dev-lang/python-exec[python_targets_pypy3(-)]
- dev-libs/openssl:0=
- 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
-
- eapply_user
-}
-
-src_configure() {
- tc-export CC
-}
-
-src_compile() {
- mkdir bin || die
- # switch to the layout expected for cffi module builds
- mkdir include/pypy3.9 || die
- # copy over to make sys.prefix happy
- cp -p "${BROOT}"/usr/bin/pypy3.9-c-${PYPY_PV} pypy3.9-c || die
- cp -p "${BROOT}"/usr/include/pypy3.9/${PYPY_PV}/* include/pypy3.9/ || die
- # (not installed by pypy-exe)
- rm pypy/module/cpyext/include/_numpypy/numpy/README || die
- mv pypy/module/cpyext/include/* include/pypy3.9/ || die
- mv pypy/module/cpyext/parse/*.h include/pypy3.9/ || die
- pax-mark m pypy3.9-c
-
- # verify the subslot
- local soabi=$(
- ./pypy3.9-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/pypy3.9"
- LIBDIR "${EPREFIX}/usr/$(get_libdir)"
- TZPATH "${EPREFIX}/usr/share/zoneinfo"
- WHEEL_PKG_DIR "${EPREFIX}/usr/lib/python/ensurepip"
- )
- ./pypy3.9-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.
- ./pypy3.9-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!
- # (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 )
- 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
- ../pypy3.9-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=63d4659f
- local local_cksum=$(
- ../pypy3.9-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.[co]" -delete || die
- find -type d -empty -delete || die
-}
-
-src_install() {
- einfo "Installing PyPy ..."
- dodir /usr/bin
- dosym pypy3.9-c-${PYPY_PV} /usr/bin/pypy3.9
- dosym pypy3.9 /usr/bin/pypy3
- insinto /usr/lib/pypy3.9
- # preserve mtimes to avoid obsoleting caches
- insopts -p
- doins -r lib-python/3/. lib_pypy/.
- insinto /usr/include
- doins -r include/pypy3.9
-
- # replace copied headers with symlinks
- for x in "${BROOT}"/usr/include/pypy3.9/${PYPY_PV}/*; do
- dosym "${PYPY_PV}/${x##*/}" "/usr/include/pypy3.9/${x##*/}"
- done
-
- dodoc README.rst
-
- local dest=/usr/lib/pypy3.9
- 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
-
- local -x EPYTHON=pypy3
- local -x PYTHON=${ED}/usr/bin/pypy3.9-c-${PYPY_PV}
- # temporarily copy to build tree to facilitate module builds
- cp -p "${BROOT}/usr/bin/pypy3.9-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/pypy3-7.3.15.ebuild b/dev-python/pypy3/pypy3-7.3.15.ebuild
new file mode 100644
index 000000000000..ba301054faf0
--- /dev/null
+++ b/dev-python/pypy3/pypy3-7.3.15.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
new file mode 100644
index 000000000000..feae9e08eb9a
--- /dev/null
+++ b/dev-python/pypy3_10-exe-bin/Manifest
@@ -0,0 +1,8 @@
+DIST pypy3_10-exe-7.3.15-1.amd64-musl.gpkg.tar 12021760 BLAKE2B ffd47668ced69ffa0ff685afad343a9e4d6fcf2bb679c974ad639ad9d345bc7f87451c324e9491ab9efa5b0f8eae43ba9993f6771f2aa94caec0ec66acaf7dd1 SHA512 d515fbf498bce06680b3ec9689f3be7d4e4d467c6b00d8e8a392138c3bcd8e7ee078a57cbcf58e1e73815cfc7647583f00ce4147d0d5cb6658a170844f5c45e1
+DIST pypy3_10-exe-7.3.15-1.amd64.gpkg.tar 11991040 BLAKE2B 5a2d723b767bc1bb3861aca6400ea5a69f191b7afeace13c38c5c767a1fc17c2c8c1234835581cc8713e07334069afbc2e177772bcb84a88ecbcbd5083a66747 SHA512 6bc7212478a255b549bec93c47f949e9eaf5080b10fa1679f1e8138e2302b5d5c7dd2fb7bc4d4cb66b5f691d721b0b346ce7e40767eb96bfc31f0b50e5be22be
+DIST pypy3_10-exe-7.3.15-1.arm64-musl.gpkg.tar 10127360 BLAKE2B ae36fb4e6dbb2e8c79eef5ab0def608a18aa3c3d30c83493337fab5b20b679cd68c7138290f12cd42e957ee94dd3594643a93c0003bba5365fc69c66141c906a SHA512 c31a30ef1d552d428ea2ab30e812e8506434c8c0bc1167793d1d8469f59671850278a6a34d796ad509b9b647d1d886752734550d2fd4fd27295b754b133970c4
+DIST pypy3_10-exe-7.3.15-1.arm64.gpkg.tar 10117120 BLAKE2B 39ec595d3d24ddb0496febe7308daa6b70c1150b9b3d92fcb5e62bd9854f6f68f1f486869bf5a7432276b3892ee2c4f3d387946f8fa756524d58f1b4c93f7d25 SHA512 d3e31f15a4d5781da8c942cbb7ec952fad6660dd725d61852a6de9c6d969d73ec350845d205185306bc4aec1b5ddddbb994ac58bf139a9cf779c3d8dbd48a4e8
+DIST pypy3_10-exe-7.3.15-1.ppc64le-musl.gpkg.tar 6758400 BLAKE2B 737a1a6779e65e67d583c8cf1b7b8b210cc0c42fe7f40f21ee2096d40e541635ff930316893db65f8ce492b717073c5090517871839a2e6868eab08e09d9d80c SHA512 3fb9332d61da0c7998f5ae9a248ed3a87b6d62a3f1815e075434cac215de7ec4d19ed4c7ac78ccb2a568bbbb2cfe3007423609166177ad2485b735ef243532c9
+DIST pypy3_10-exe-7.3.15-1.ppc64le.gpkg.tar 10465280 BLAKE2B b7af5d3f89e6881f697cdd16e7b8f3a7f3dd574125c0559b21f2ae5bb7ef1f948c1149c1a891ad5815461ed03e224086ab810fe45071dd2cbef9b35fe1c8cc00 SHA512 90f610253833c31d10e09e81e2ada135f5ad7486816cbc5421087cf386d1281901cfde13331c440df726d8bd2b703cf068f7effa7a13cafde48af0833027c1f0
+DIST pypy3_10-exe-7.3.15-1.x86-musl.gpkg.tar 9062400 BLAKE2B 14e371118171709a7a88cad1cc6877a486269819758f27f86083f37635d1d148ae1cdcac0f25eb0db241c199341f34f709dcaffe8292ec8c34332ddba2477f75 SHA512 833f915fd2b873ae038844bf594863fedef2bb534e81af599f356b6f9287584bde8748b066d54ad972f2a77df41fe4e61ad1a51d48e8b60c3e91cb29d1e7e210
+DIST pypy3_10-exe-7.3.15-1.x86.gpkg.tar 9011200 BLAKE2B 6d6766f1e343dfde5627d9a1ca33a27c1df39377dbf3e42c969298e20586c4430fd81ba7b9332d4258fce01167ec2c95783c65496262a1fc56bbcd07a57c1c5e SHA512 f4804bf874389eb8493a692d238e354dac3e52e6a7888c34a2bf3801429121e337e6008b0da8c9c36a15d579a3fa04e617339aab7e82e3c83ebbc0747345bf33
diff --git a/dev-python/pypy3_10-exe-bin/metadata.xml b/dev-python/pypy3_10-exe-bin/metadata.xml
new file mode 100644
index 000000000000..2ed15cb705e2
--- /dev/null
+++ b/dev-python/pypy3_10-exe-bin/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>
+ <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.15.ebuild b/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.15.ebuild
new file mode 100644
index 000000000000..9849a9ecfd11
--- /dev/null
+++ b/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.15.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
new file mode 100644
index 000000000000..adc020909dc2
--- /dev/null
+++ b/dev-python/pypy3_10-exe/Manifest
@@ -0,0 +1,2 @@
+DIST pypy3.10-gentoo-patches-7.3.15.tar.xz 4760 BLAKE2B 9131794293aa15cbafbc245727b5b60183606bb0273b05f4ebf8d24b525c3d6a39c8fe6f2c38487cda4a47d5defbdbb494c7786ee25a9ddc23cc9f209e5fc3cd SHA512 d2780be7ce91524bb71a47d51d9e9ad9a6aa5bd6c19903c90391cf7e6d4c9a96a98f414d22e9da7af67960ab9639f9a0f58f103c90ca9d694dcdfc4f0982bd6b
+DIST pypy3.10-v7.3.15-src.tar.bz2 23934723 BLAKE2B 12b438729547faa81bc31c429e166d4bfab2b4e76cb16a687886903ad83e3369e0532297222eafbc8b0f4ae006d87cbe15b2c360ad828fd9a44124067aa788ff SHA512 84f9a30484cf0b0bcf3ef1f71ce2ecae02a51b6609acc4f6edd4096302c9940541dc947f3f0767216d83d261f8db85ea43760af8ce3c9137c70aabe5571d1249
diff --git a/dev-python/pypy3_10-exe/metadata.xml b/dev-python/pypy3_10-exe/metadata.xml
new file mode 100644
index 000000000000..3f2aeb55aa5e
--- /dev/null
+++ b/dev-python/pypy3_10-exe/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="project">
+ <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,
+ at the cost of lengthened build time.</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.15.ebuild b/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.15.ebuild
new file mode 100644
index 000000000000..6f4df92ae903
--- /dev/null
+++ b/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.15.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-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
new file mode 100644
index 000000000000..adc020909dc2
--- /dev/null
+++ b/dev-python/pypy3_10/Manifest
@@ -0,0 +1,2 @@
+DIST pypy3.10-gentoo-patches-7.3.15.tar.xz 4760 BLAKE2B 9131794293aa15cbafbc245727b5b60183606bb0273b05f4ebf8d24b525c3d6a39c8fe6f2c38487cda4a47d5defbdbb494c7786ee25a9ddc23cc9f209e5fc3cd SHA512 d2780be7ce91524bb71a47d51d9e9ad9a6aa5bd6c19903c90391cf7e6d4c9a96a98f414d22e9da7af67960ab9639f9a0f58f103c90ca9d694dcdfc4f0982bd6b
+DIST pypy3.10-v7.3.15-src.tar.bz2 23934723 BLAKE2B 12b438729547faa81bc31c429e166d4bfab2b4e76cb16a687886903ad83e3369e0532297222eafbc8b0f4ae006d87cbe15b2c360ad828fd9a44124067aa788ff SHA512 84f9a30484cf0b0bcf3ef1f71ce2ecae02a51b6609acc4f6edd4096302c9940541dc947f3f0767216d83d261f8db85ea43760af8ce3c9137c70aabe5571d1249
diff --git a/dev-python/pypy3_10/metadata.xml b/dev-python/pypy3_10/metadata.xml
new file mode 100644
index 000000000000..2a6a5bdac475
--- /dev/null
+++ b/dev-python/pypy3_10/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">pypy/pypy</remote-id>
+ </upstream>
+ <use>
+ <flag name="ensurepip">
+ Install the ensurepip module that uses bundled wheels
+ to bootstrap pip and setuptools (if disabled, it will
+ be only possible to use venv `--without-pip`)
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/pypy3_10/pypy3_10-7.3.15.ebuild b/dev-python/pypy3_10/pypy3_10-7.3.15.ebuild
new file mode 100644
index 000000000000..5e7deb31db00
--- /dev/null
+++ b/dev-python/pypy3_10/pypy3_10-7.3.15.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
new file mode 100644
index 000000000000..4f56a7eaa2ca
--- /dev/null
+++ b/dev-python/pypy3_9-exe-bin/Manifest
@@ -0,0 +1,8 @@
+DIST pypy3_9-exe-7.3.15-1.amd64-musl.gpkg.tar 11847680 BLAKE2B 6e2e13c6ef1faaa9ba451727a64a1749f3e2ab4645d4206420c6ee2c186438817f2a77c9a7939d485a4f04fd5b1f39d0886a42c32969e9869b44ca16fbf60be9 SHA512 fd757c68631381400901ecc2f18299eba701baa5086fb0c77ac2fbedbd7f188061c16ec0e4c84c8864ed5d235e4f98d8c5f9f26843f9acc881e2fa661d3e0131
+DIST pypy3_9-exe-7.3.15-1.amd64.gpkg.tar 11857920 BLAKE2B 052bb16e6c983ac32a860b5de1532fca6158510364ddc52f9992b1c69b948f6d6e7ba32fbaaba86597fa73db5f09a19c3e6a0208f624c9d3bbc28c43b056c886 SHA512 336f484699f89e5e3fa8bab7c8468d4e1a6cf957f947a727858b59cd9b372c94a07f5304b1f367b0bd3cd443d688fbfbe17fd23e6939988d0270c4be6df9f7a9
+DIST pypy3_9-exe-7.3.15-1.arm64-musl.gpkg.tar 9943040 BLAKE2B 701257e473f784e367a9e984dfe6af7d50ee42b214e8ebf0aa4e761102ef83b48c88ad69ea601c52b17333527bf45f908754da7e128659bd79b1849a4041612a SHA512 0bb71f3acd90f3a45dd802d1108da13b0b4c41ecbf212fa5aec22633daab85b8420c37a58bfc52dfaaa2f577ea5885df588750e634a51e165bf7fc933e5de4cb
+DIST pypy3_9-exe-7.3.15-1.arm64.gpkg.tar 9973760 BLAKE2B fdacf63806aa759c7ffd3a574d1f6d8a52448d14461414e5d6aa853097d49e6bca18202af71370f340de8b8ec126b1d75c40b585b9a1d1526400236c6a050de5 SHA512 0cc8c1b96b15f4540ecbef149507bbc9f5e54258f6c7887f60c4441bf77f5dad3476e10c110d3f9c483a2abad90d513062791235810f9353d294c0c61c1c03e5
+DIST pypy3_9-exe-7.3.15-1.ppc64le-musl.gpkg.tar 6635520 BLAKE2B 89974e2537e9c2f12b0e7f0b2a92b1140ec0351c28b8b72f41b97bc4ea201b8a2f1d7bd2f71d9e47ab5775ee623167242799f051ba43421a524a897d837984d6 SHA512 c7ec389bb6a097ad023cc962989e18f45f9851e599b979c486d487048517e2d02655e90f74328f39d765d421eae1e338a73a31bf4e9c9e269941905bc9f9acec
+DIST pypy3_9-exe-7.3.15-1.ppc64le.gpkg.tar 10301440 BLAKE2B 0a1a6f625a0929a65bfe01b333143d1ebe6c6c89a9a9bc1ec0c2a9274f897c56e8e080fecfbf6066d0b033d84582c7d71fbf03cb6310c01393e7f28d2e4aa2c1 SHA512 256fa79652a070747a865728f7e53e5b6d6ee4f8cdaca7cbbcf310cec883f8ed9606756bd1cb3d628fa7ba8e55f9fb7f2fa497e93c82567ff285c8ae913a3da2
+DIST pypy3_9-exe-7.3.15-1.x86-musl.gpkg.tar 8919040 BLAKE2B 58f523aa9082284adc5b4fb131023adbeba411654501e71ba286abe5e0501d070180a44236c57f39bc310ad35f5734f314139b9701c4e48ae304674eeae5ec4e SHA512 9dda550b304e73453e5eea8a5243ac2796576cb3e70ba770c8096d3077c99a0663d6a5d3f2ade3e88b6e814f994e71d5b56dfe779c3d2fc51242c01f8602bcb2
+DIST pypy3_9-exe-7.3.15-1.x86.gpkg.tar 8898560 BLAKE2B c8d3fcb749e5317e5bdd37981318cdea6ed801fccfdcf19dbc2c40457ac32e2d02e8ec500f25149172daea91decf79e62f7fd410512cf9d3e63c31f1d7c323b8 SHA512 1a547f42b739095658d96e1c8432b43f49913e0053f7ec596b2f409d6428c6291f741b56addcf88dac97f053089ca37c66b46a44b4284b00dc37b1918a5fdeff
diff --git a/dev-python/pypy3_9-exe-bin/metadata.xml b/dev-python/pypy3_9-exe-bin/metadata.xml
new file mode 100644
index 000000000000..2ed15cb705e2
--- /dev/null
+++ b/dev-python/pypy3_9-exe-bin/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>
+ <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.15.ebuild b/dev-python/pypy3_9-exe-bin/pypy3_9-exe-bin-7.3.15.ebuild
new file mode 100644
index 000000000000..b4d8e231b125
--- /dev/null
+++ b/dev-python/pypy3_9-exe-bin/pypy3_9-exe-bin-7.3.15.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
new file mode 100644
index 000000000000..3e201830e36d
--- /dev/null
+++ b/dev-python/pypy3_9-exe/Manifest
@@ -0,0 +1,2 @@
+DIST pypy3.9-gentoo-patches-7.3.15.tar.xz 5800 BLAKE2B e3466eb528c7cfaa8a189552041852d29bbacb45e08dc967deec1d8486107725ab2b2b1e65c98307983ff1f3ad038d3e54bf84eaadc32060185661c8023dea06 SHA512 c834433bfaaa1cd081fb71f9e122810b66fbd0a52f8473b6ec02a8615f0b0328da51ca1e3f0f209d325d9884876b634dbd1ec202f428620044fe5e60b4ce910a
+DIST pypy3.9-v7.3.15-src.tar.bz2 24694333 BLAKE2B 151c3c8b828c7a35cfd63dd73b8683c3fe5529c5f6df7cc628d2967e5c61e16490b8663efe838fc6efd9f0b4a08fde8c9315e2f0a471bb62a2395055f2f130c6 SHA512 64faca74c507ef3e8dd2df34ad81874c24bc336e79ecf53bbbb43c21adebdea60efafe6ad38bdbf15bc2a677980d7db2c2c0affa04beb7e7e1b739d85e17f333
diff --git a/dev-python/pypy3_9-exe/metadata.xml b/dev-python/pypy3_9-exe/metadata.xml
new file mode 100644
index 000000000000..3f2aeb55aa5e
--- /dev/null
+++ b/dev-python/pypy3_9-exe/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="project">
+ <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,
+ at the cost of lengthened build time.</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/pypy3_9-exe/pypy3_9-exe-7.3.15.ebuild b/dev-python/pypy3_9-exe/pypy3_9-exe-7.3.15.ebuild
new file mode 100644
index 000000000000..9cff29fef442
--- /dev/null
+++ b/dev-python/pypy3_9-exe/pypy3_9-exe-7.3.15.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-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
new file mode 100644
index 000000000000..3e201830e36d
--- /dev/null
+++ b/dev-python/pypy3_9/Manifest
@@ -0,0 +1,2 @@
+DIST pypy3.9-gentoo-patches-7.3.15.tar.xz 5800 BLAKE2B e3466eb528c7cfaa8a189552041852d29bbacb45e08dc967deec1d8486107725ab2b2b1e65c98307983ff1f3ad038d3e54bf84eaadc32060185661c8023dea06 SHA512 c834433bfaaa1cd081fb71f9e122810b66fbd0a52f8473b6ec02a8615f0b0328da51ca1e3f0f209d325d9884876b634dbd1ec202f428620044fe5e60b4ce910a
+DIST pypy3.9-v7.3.15-src.tar.bz2 24694333 BLAKE2B 151c3c8b828c7a35cfd63dd73b8683c3fe5529c5f6df7cc628d2967e5c61e16490b8663efe838fc6efd9f0b4a08fde8c9315e2f0a471bb62a2395055f2f130c6 SHA512 64faca74c507ef3e8dd2df34ad81874c24bc336e79ecf53bbbb43c21adebdea60efafe6ad38bdbf15bc2a677980d7db2c2c0affa04beb7e7e1b739d85e17f333
diff --git a/dev-python/pypy3_9/metadata.xml b/dev-python/pypy3_9/metadata.xml
new file mode 100644
index 000000000000..2a6a5bdac475
--- /dev/null
+++ b/dev-python/pypy3_9/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">pypy/pypy</remote-id>
+ </upstream>
+ <use>
+ <flag name="ensurepip">
+ Install the ensurepip module that uses bundled wheels
+ to bootstrap pip and setuptools (if disabled, it will
+ be only possible to use venv `--without-pip`)
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/pypy3_9/pypy3_9-7.3.15.ebuild b/dev-python/pypy3_9/pypy3_9-7.3.15.ebuild
new file mode 100644
index 000000000000..cd6b3d3e3ed8
--- /dev/null
+++ b/dev-python/pypy3_9/pypy3_9-7.3.15.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 debb05053814..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.ebuild b/dev-python/pyqt-distutils/pyqt-distutils-0.7.3.ebuild
deleted file mode 100644
index 6a8d7c24a7b1..000000000000
--- a/dev-python/pyqt-distutils/pyqt-distutils-0.7.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-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"
-SRC_URI="https://github.com/ColinDuquesnoy/pyqt_distutils/archive/${PV}.tar.gz -> ${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 4864b94418d4..3ef345640dae 100644
--- a/dev-python/pyqtgraph/Manifest
+++ b/dev-python/pyqtgraph/Manifest
@@ -1 +1,2 @@
-DIST pyqtgraph-0.13.1.gh.tar.gz 1368154 BLAKE2B cb19ae6564b0fc0a4ec4fb6232f7949bb5130345380a86f0cffdee14e767d306b27c26ae3f7c011d77f21353b511d99148e1acb38e8d33598dde16362475b5a8 SHA512 bcd3d0c9c1d91ad2ea3f85f8e34e68ab999fce636ed336362253f09a7863a62c4b635d71c137c9458532c7d1f76dfc8433d476cd84121cf89488fb0860039b8f
+DIST pyqtgraph-0.13.3.gh.tar.gz 1423224 BLAKE2B 6c054e243a95387f18c7f18a1d4375fac3a7ae3794902f72e8d75eaeea01e031422abb7bbd84bb94977c6ce14664fed4f66ebd9892f4200c3b3ccdd598ccbfd2 SHA512 a397fcf8fc2fcc5a212df9f4cd48dc07bc1ad9eb7a9b1283488eb52c236e054b01df02d04088a9d91679c4ae3ab7796cdf95cdbad06a6a585fbbcdb921f33617
+DIST pyqtgraph-0.13.4.gh.tar.gz 1438293 BLAKE2B aaa1ccdf318dfdee0dfee73f8f7be99897d58114971569eb14cd9e32f404cabe08edf20e78301152ad9663bda0d1e8c589ff6af63799bfdc87dfe12ab3ac5a63 SHA512 9c5c276d1e191bbb72ce1ce66fcf2cfe34f5f31318bbc3069c634a77b0373b2df6a7572eccb3cfec9a45d225f5f5da71d6ca9db3f9ef520eaab27b76176a8904
diff --git a/dev-python/pyqtgraph/pyqtgraph-0.13.1.ebuild b/dev-python/pyqtgraph/pyqtgraph-0.13.1.ebuild
deleted file mode 100644
index f386d5e0260e..000000000000
--- a/dev-python/pyqtgraph/pyqtgraph-0.13.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=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
-
-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 ~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_sphinx doc/source
-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.3.ebuild b/dev-python/pyqtgraph/pyqtgraph-0.13.3.ebuild
new file mode 100644
index 000000000000..957de8060add
--- /dev/null
+++ b/dev-python/pyqtgraph/pyqtgraph-0.13.3.ebuild
@@ -0,0 +1,72 @@
+# Copyright 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.4.ebuild b/dev-python/pyqtgraph/pyqtgraph-0.13.4.ebuild
new file mode 100644
index 000000000000..a40e6d254d42
--- /dev/null
+++ b/dev-python/pyqtgraph/pyqtgraph-0.13.4.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=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+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.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-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/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 ]'
+ )
+
+ epytest -p xvfb -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/pyquery/Manifest b/dev-python/pyquery/Manifest
index 2c9de0a63bb8..a6fa9d25b0f1 100644
--- a/dev-python/pyquery/Manifest
+++ b/dev-python/pyquery/Manifest
@@ -1,2 +1 @@
-DIST pyquery-1.4.3.tar.gz 47448 BLAKE2B 32451dfc8f8160207b4be12006ceba3098b8cb344bfa3e80ccf75f8cfca9542614ae78b9bfec773139cbbf12434201f92f8b4738e7d9e6241b3addfeb1bc8dda SHA512 cb61326e38f78763ca15de09e3a56dad776b3d4831b54eabf295db0f9af8bf04599642c73f5db3e3172b86d7b66ba2ef626c8cba2dfb458af6ac432d15ea7cba
DIST pyquery-2.0.0.tar.gz 45210 BLAKE2B 2c1d052d310541b36f526e72906681ea03e0d55be16202c98ab5d5b9f5fc408b7612a353100937381639a03f8871b8bf691c6b0d5ad09dec8cc6f2e2ced7944d SHA512 316a479acd23e371b6e70550681527b15203e7ab62f4722375335180f13d9b48d9170abf308bb26b6180d954de4f8dfea5f90426cb820c5e888cc56f8a99ba33
diff --git a/dev-python/pyquery/files/pyquery-1.4.1-network-tests.patch b/dev-python/pyquery/files/pyquery-1.4.1-network-tests.patch
deleted file mode 100644
index 37664689c0fd..000000000000
--- a/dev-python/pyquery/files/pyquery-1.4.1-network-tests.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/tests/test_pyquery.py b/tests/test_pyquery.py
-index ca38a83..d29b27b 100644
---- a/tests/test_pyquery.py
-+++ b/tests/test_pyquery.py
-@@ -6,6 +6,7 @@
- import os
- import sys
- import time
-+import unittest
- from lxml import etree
- from pyquery.pyquery import PyQuery as pq, no_default
- from pyquery.openers import HAS_REQUEST
-@@ -889,6 +890,7 @@ class TestWebScrapping(TestCase):
-
- class TestWebScrappingEncoding(TestCase):
-
-+ @unittest.skip("needs internet")
- def test_get(self):
- d = pq(u'http://ru.wikipedia.org/wiki/Заглавная_страница',
- method='get')
diff --git a/dev-python/pyquery/files/pyquery-1.4.1-tests-pypy.patch b/dev-python/pyquery/files/pyquery-1.4.1-tests-pypy.patch
deleted file mode 100644
index f5f160a138de..000000000000
--- a/dev-python/pyquery/files/pyquery-1.4.1-tests-pypy.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/tests/test_pyquery.py b/tests/test_pyquery.py
-index d29b27b..e6a9230 100644
---- a/tests/test_pyquery.py
-+++ b/tests/test_pyquery.py
-@@ -7,6 +7,7 @@ import os
- import sys
- import time
- import unittest
-+import platform
- from lxml import etree
- from pyquery.pyquery import PyQuery as pq, no_default
- from pyquery.openers import HAS_REQUEST
-@@ -33,6 +34,7 @@ path_to_invalid_file = os.path.join(dirname, 'invalid.xml')
-
- class TestUnicode(TestCase):
-
-+ @unittest.skipIf(sys.hexversion > 0x3000000 and 'pypy' in platform.python_implementation().lower(), "broken on pypy3")
- def test_unicode(self):
- xml = pq(u"<html><p>é</p></html>")
- self.assertEqual(type(xml.html()), text_type)
diff --git a/dev-python/pyquery/pyquery-1.4.3-r1.ebuild b/dev-python/pyquery/pyquery-1.4.3-r1.ebuild
deleted file mode 100644
index cbfb507ab55b..000000000000
--- a/dev-python/pyquery/pyquery-1.4.3-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} pypy3 )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="A jQuery-like library for python"
-HOMEPAGE="
- https://github.com/gawel/pyquery/
- https://pypi.org/project/pyquery/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/lxml-2.1[${PYTHON_USEDEP}]
- >dev-python/cssselect-0.7.9[${PYTHON_USEDEP}]
- >=dev-python/webob-1.1.9[${PYTHON_USEDEP}]
-"
-DEPEND="
- test? (
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/webtest[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/pyquery-1.4.1-network-tests.patch"
- "${FILESDIR}/pyquery-1.4.1-tests-pypy.patch"
-)
-
-distutils_enable_tests unittest
-
-pkg_postinst() {
- optfeature "Support for BeautifulSoup3 as a parser backend" dev-python/beautifulsoup4
-}
diff --git a/dev-python/pyquery/pyquery-2.0.0.ebuild b/dev-python/pyquery/pyquery-2.0.0.ebuild
index f4422d827003..a72d907f5f71 100644
--- a/dev-python/pyquery/pyquery-2.0.0.ebuild
+++ b/dev-python/pyquery/pyquery-2.0.0.ebuild
@@ -4,20 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1 optfeature
+inherit distutils-r1 optfeature pypi
DESCRIPTION="A jQuery-like library for python"
HOMEPAGE="
https://github.com/gawel/pyquery/
https://pypi.org/project/pyquery/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
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 ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
RDEPEND="
>=dev-python/lxml-2.1[${PYTHON_USEDEP}]
@@ -35,10 +34,25 @@ DEPEND="
distutils_enable_tests pytest
-EPYTEST_DESELECT=(
- # needs network
- tests/test_pyquery.py::TestWebScrappingEncoding::test_get
-)
+python_test() {
+ local EPYTEST_DESELECT=(
+ # needs network
+ tests/test_pyquery.py::TestWebScrappingEncoding::test_get
+ # known breakage, can't do much about it unless we force old
+ # libxml2 for everyone, sigh
+ # 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
+
+ epytest
+}
pkg_postinst() {
optfeature "Support for BeautifulSoup3 as a parser backend" dev-python/beautifulsoup4
diff --git a/dev-python/pyrate-limiter/Manifest b/dev-python/pyrate-limiter/Manifest
index d4c433f1a851..62f1e9eab14b 100644
--- a/dev-python/pyrate-limiter/Manifest
+++ b/dev-python/pyrate-limiter/Manifest
@@ -1 +1,5 @@
-DIST pyrate-limiter-2.8.2.gh.tar.gz 51233 BLAKE2B a9a8bbf123596c7c64f60ae2c9d4e23a394dae6d18a8d09c0ec0b289bbbfce9dacee523726b906a30cf17fd7243b3fa1d1f2dc60af1bec67dc242d944535a5fd SHA512 3ff703347a86f6a91cf6b9c8edce3017cf88f2373961ba235c2f521d0112b0116951be7314b95d737ef0bec5cb6bae9908874fafe4060eb773cf0577e2ddbdb3
+DIST pyrate-limiter-2.10.0.gh.tar.gz 71838 BLAKE2B 3b8fd16684268870991c3a731c5497802c6f7be51e57bc983a14a7484fad2d0983613304fa061fdb70a3e6645d17fe37fbd68e9ddeca57bc7bd97fef4a5d8585 SHA512 b0090b2d80d40ba2f86ac7b5c5612a35fa885b52a87d783aa9726782275e79ca8d54a9a44b1f0dd43c98bf2355f4c17e1686d7c7f806934ea492b67f66b06ffe
+DIST pyrate_limiter-3.2.1.tar.gz 277166 BLAKE2B eb126b94bc9a113addd1e727ae21ee2df447e1f9fc0b3a1b77ab46464186a0cb62584fafbc9fac1ddbcc7c3289338208dfb39070e57e974e00442b1d7c5f0d21 SHA512 cb782766c2e1e47aeb35c3d7d03f9a82862a53e73b5afdab1b8a255866392cf0636340164c19e4181e8aa4327e9c346fc2fde64b2f50aaf227dd60633038f7c7
+DIST pyrate_limiter-3.3.0.tar.gz 278153 BLAKE2B df0e3aaf53150fb905be994c8bcc268e45bafddf795514eb8a6ee56da25e998b85336f48331a2720cbf501cb6feee806c9c17d99adcb4647979f6d79f960cc9f SHA512 ee2cc0c573c7b696e6a6444eca85b4e5c8315c291b6ab64ed5e60cfd54298cd9aca1efdbfb7a669b92f8169848c03287ecb0a3f50c9281a4bc15acfc1713e300
+DIST pyrate_limiter-3.4.1.tar.gz 278251 BLAKE2B c1894a190d0d70134683723d8ffa2b216ebf724cd409e9cc25301b9a9d70d73cf1e4fc1c7bf48e661935cc6f2c530b9d45f96d7c86ce2a20ab0e47892093e6d3 SHA512 64c06abaf540e21e4b085062eff83f1f9d1710156c2d22c0180858c31f731733d9db69bdc56e48aaf4220d874d9c5253f506decd0ce3743c8fb8aa695a4ff6b4
+DIST pyrate_limiter-3.6.0.tar.gz 280021 BLAKE2B 4ff5e115376cfb5d860c4cd6437ccbb323e40f96bb81a9933f6f648d029c0f3a1d6674e1a9e1c0309a7087a9d1eb670918ca60d3c960e8acab017e12ffa5c28e SHA512 1f7f92203be443c27e2825022462c51eec2e276a4e58afc129599eacde21da55ed8229b0e5c7af21e650eb896b22c73f5fd227f56c1455cbd8d506894fed73a9
diff --git a/dev-python/pyrate-limiter/pyrate-limiter-2.10.0.ebuild b/dev-python/pyrate-limiter/pyrate-limiter-2.10.0.ebuild
new file mode 100644
index 000000000000..8830d2dc63a5
--- /dev/null
+++ b/dev-python/pyrate-limiter/pyrate-limiter-2.10.0.ebuild
@@ -0,0 +1,62 @@
+# 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 Rate-Limiter using Leaky-Bucket Algorimth Family"
+HOMEPAGE="
+ https://github.com/vutran1710/PyrateLimiter/
+ https://pypi.org/project/pyrate-limiter/
+"
+SRC_URI="
+ https://github.com/vutran1710/PyrateLimiter/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/PyrateLimiter-${PV}"
+
+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/django[${PYTHON_USEDEP}]
+ dev-python/django-redis[${PYTHON_USEDEP}]
+ dev-python/fakeredis[${PYTHON_USEDEP}]
+ 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_prepare() {
+ # workaround installing LICENSE into site-packages
+ sed -i -e 's:^include:exclude:' pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/pyrate-limiter/pyrate-limiter-2.8.2.ebuild b/dev-python/pyrate-limiter/pyrate-limiter-2.8.2.ebuild
deleted file mode 100644
index f04b57aebe33..000000000000
--- a/dev-python/pyrate-limiter/pyrate-limiter-2.8.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=poetry
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python Rate-Limiter using Leaky-Bucket Algorimth Family"
-HOMEPAGE="https://github.com/vutran1710/PyrateLimiter"
-SRC_URI="https://github.com/vutran1710/PyrateLimiter/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}/PyrateLimiter-${PV}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/filelock[${PYTHON_USEDEP}]
- dev-python/redis-py[${PYTHON_USEDEP}]
-"
-
-BDEPEND="test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/django[${PYTHON_USEDEP}]
- dev-python/django-redis[${PYTHON_USEDEP}]
- dev-python/fakeredis[${PYTHON_USEDEP}]
- 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
diff --git a/dev-python/pyrate-limiter/pyrate-limiter-3.2.1.ebuild b/dev-python/pyrate-limiter/pyrate-limiter-3.2.1.ebuild
new file mode 100644
index 000000000000..0f5062a73d40
--- /dev/null
+++ b/dev-python/pyrate-limiter/pyrate-limiter-3.2.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=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
+ epytest -p asyncio -p rerunfailures --reruns=5
+}
diff --git a/dev-python/pyrate-limiter/pyrate-limiter-3.3.0.ebuild b/dev-python/pyrate-limiter/pyrate-limiter-3.3.0.ebuild
new file mode 100644
index 000000000000..0f5062a73d40
--- /dev/null
+++ b/dev-python/pyrate-limiter/pyrate-limiter-3.3.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=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
+ epytest -p asyncio -p rerunfailures --reruns=5
+}
diff --git a/dev-python/pyrate-limiter/pyrate-limiter-3.4.1.ebuild b/dev-python/pyrate-limiter/pyrate-limiter-3.4.1.ebuild
new file mode 100644
index 000000000000..0f5062a73d40
--- /dev/null
+++ b/dev-python/pyrate-limiter/pyrate-limiter-3.4.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=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
+ epytest -p asyncio -p rerunfailures --reruns=5
+}
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/pyre2/Manifest b/dev-python/pyre2/Manifest
deleted file mode 100644
index bb8cbe40825f..000000000000
--- a/dev-python/pyre2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pyre2-1.0.7.tar.gz 11684 BLAKE2B 748a409aa56dab0e088961bdd0b8659dfe0ed817ed1f6fe1dce15fd03e32b30472776c4e21a4f39e66aa5b3539650a657c36acf8b857332b255a139ef0f890a9 SHA512 c4579bf73af2f0a5ccbb6a28b87ce777ef08199947c1bdf740b426960f41b3530c97a7158fac7768b51c92b8a3797f8e66de61e0c942f239920bd5397d63e2c4
diff --git a/dev-python/pyre2/metadata.xml b/dev-python/pyre2/metadata.xml
deleted file mode 100644
index 02411b37bc6a..000000000000
--- a/dev-python/pyre2/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/pyre2/pyre2-1.0.7.ebuild b/dev-python/pyre2/pyre2-1.0.7.ebuild
deleted file mode 100644
index 45f3585915a5..000000000000
--- a/dev-python/pyre2/pyre2-1.0.7.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for dev-libs/re2"
-HOMEPAGE="https://github.com/facebook/pyre2/"
-SRC_URI="https://github.com/facebook/pyre2/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="dev-libs/re2:="
-RDEPEND="${DEPEND}"
-
-distutils_enable_tests setup.py
diff --git a/dev-python/pyrfc3339/pyrfc3339-1.1-r1.ebuild b/dev-python/pyrfc3339/pyrfc3339-1.1-r1.ebuild
index 90d1d9465d37..6b7715805eeb 100644
--- a/dev-python/pyrfc3339/pyrfc3339-1.1-r1.ebuild
+++ b/dev-python/pyrfc3339/pyrfc3339-1.1-r1.ebuild
@@ -4,7 +4,8 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
+
inherit distutils-r1
DESCRIPTION="Generates and parses RFC 3339 timestamps"
@@ -17,7 +18,7 @@ S=${WORKDIR}/pyRFC3339-${PV}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86"
RDEPEND="dev-python/pytz[${PYTHON_USEDEP}]"
diff --git a/dev-python/pyroute2/Manifest b/dev-python/pyroute2/Manifest
index 9c10beaf8629..135485b7b0a7 100644
--- a/dev-python/pyroute2/Manifest
+++ b/dev-python/pyroute2/Manifest
@@ -1 +1 @@
-DIST pyroute2-0.7.3.gh.tar.gz 484152 BLAKE2B 4f0cd0fc000c7bd3baffaa2ed25468bc28806fef2f9bc96e39606afe46e616d85865f497df6d1e3e4b2e5e3956b5fca22af273140bbb38954c6f0c0f86c386a6 SHA512 c8aeddaeaa014bcf8c4b831cb5b4080db5c99b582f3999fdbdd840b9448e032fbbf64ce5707ebc0795765138d8e89cde830efb2469c827ed8d4e63dd1beafe62
+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.3.ebuild b/dev-python/pyroute2/pyroute2-0.7.3.ebuild
deleted file mode 100644
index 2d39e716c4b2..000000000000
--- a/dev-python/pyroute2/pyroute2-0.7.3.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} pypy3 )
-PYTHON_REQ_USE="sqlite"
-
-inherit distutils-r1
-
-DESCRIPTION="A pure Python netlink and Linux network configuration library"
-HOMEPAGE="https://github.com/svinota/pyroute2"
-
-SRC_URI="
- https://github.com/svinota/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-RDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
-"
-
-# tests need root access
-RESTRICT="test"
diff --git a/dev-python/pyrqlite/Manifest b/dev-python/pyrqlite/Manifest
index b8d16d384448..692e554c63e8 100644
--- a/dev-python/pyrqlite/Manifest
+++ b/dev-python/pyrqlite/Manifest
@@ -1,2 +1 @@
-DIST pyrqlite-2.1.1-test_cPragmaTableInfo.patch 2601 BLAKE2B 43dce906dea12d6d503ac589990c4688f07cf4186b6b4641534e50aa77e5dacd4f9f286d7707451bc843fb429fec4cdfb887a4922fa48aa9b7d7757bc1ff55bc SHA512 67c8593fd8a437011f9579e6a469323f60a70634469eb42d96b22f3997e48eab42d102013cbf300616fa23e2a0e64e1a0c4b4d7fdd1346402abd34255b252d85
-DIST pyrqlite-2.1.1.tar.gz 19538 BLAKE2B fba6caa68eb6d806ea807d40f36edafb0872e724a087cdb7736f79699692d0d492e05a8a7407467f92ec8e30df4a6ea1ed44bc12bec35ffc4753878335fa4275 SHA512 9fc404a480f42592ebbedef82f748707741e28de199be9381680db506dac4e3ce757d1058874ca06cf8f0dd1ec0e7b6411a4585f332a9fe7d8977071e492bd31
+DIST pyrqlite-2.2.2.gh.tar.gz 21302 BLAKE2B 8a16155287f4a4698ca63d4643c9fde0dbf4fc8238b4259f194b66a30846bab9b6420df0cc8049b2ea16d8ffdcd8c99f2b7e49a135af458e2b239b52e3ac4f5b SHA512 6faf6d5b1a264a85247ee5a790bc4e718d0632ee4d4bcd16aed2bce65216f23c0cb44d7c367ae73874bdb618d9c56bbefdaeebb40322f228e0ee50d78e03b91b
diff --git a/dev-python/pyrqlite/metadata.xml b/dev-python/pyrqlite/metadata.xml
index 9e5d47caf7e6..020d9ac0943d 100644
--- a/dev-python/pyrqlite/metadata.xml
+++ b/dev-python/pyrqlite/metadata.xml
@@ -5,6 +5,7 @@
<email>zmedico@gentoo.org</email>
</maintainer>
<upstream>
- <remote-id type="github">rqlite/pyrqlite</remote-id>
+ <remote-id type="github">rqlite/pyrqlite</remote-id>
+ <remote-id type="pypi">pyrqlite</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pyrqlite/pyrqlite-2.1.1.ebuild b/dev-python/pyrqlite/pyrqlite-2.1.1.ebuild
deleted file mode 100644
index f80b2b2af8fd..000000000000
--- a/dev-python/pyrqlite/pyrqlite-2.1.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Python client for rqlite"
-HOMEPAGE="https://github.com/rqlite/pyrqlite"
-SRC_URI="https://github.com/rqlite/pyrqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/rqlite/pyrqlite/pull/42.patch -> ${P}-test_cPragmaTableInfo.patch"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND="test? ( >=dev-db/rqlite-6.7.0 )"
-RESTRICT+=" !test? ( test )"
-
-PATCHES=("${DISTDIR}/${P}-test_cPragmaTableInfo.patch")
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e "s:^__version__ = .*:__version__ = '${PV}':" -i src/${PN}/constants.py || die
- distutils-r1_src_prepare
-}
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..e7ebc668b5ac
--- /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..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/pyrsistent/Manifest b/dev-python/pyrsistent/Manifest
index 26740ccbcbc7..f3c8a82e9cf2 100644
--- a/dev-python/pyrsistent/Manifest
+++ b/dev-python/pyrsistent/Manifest
@@ -1,2 +1 @@
-DIST pyrsistent-0.19.2.tar.gz 102438 BLAKE2B aa231a7c300d2f1501abdf2fc74dfa9672ad8000d87e3fa9beaa51aff4816dad4f142e9a2e609dee402352cf5a0477b6d4dc31460a71e7d98a592604fcaa97d6 SHA512 fdaadb65e72db4f90ecb1526fd68eb2b60b278071978d4b5a1b1379be83c60d30fd653dd7e6527c217d4e50f05c7d641290172aa5d5e4741dfe5e08f0b0c282b
-DIST pyrsistent-0.19.3.tar.gz 102640 BLAKE2B 60c5ef9d3f26c4529d05804df13453c75b6ff70e12fbbbbe22312686da929766fc903b18ca77d626192e1f3fc9fbdfdbbbd4eef102f1504b38feeeedf00450d5 SHA512 6bb70b6fd65b5cd9f961a3199c2d90725aaa66fb869e4eba2143735e2f3a7e4ecdc782b3498acc2d92e263c3bed14cec8cc77324f4ebd08c300ba6735db5ecf7
+DIST pyrsistent-0.20.0.tar.gz 103642 BLAKE2B ebc5d8f2309599ae3e34c35d35edb148758fde28270b9c5c9880e5a180bdf11424804aba0272b515224ed4edcf9dbad3ff21b810a0d40f563617ece76e275432 SHA512 ac78c55e8687f12ae8729f2262a76a9257a6d6f4bbb5a01cb45ffb170d5c2044b1f26b3ed1359b2d722201507c32781f024b49b20d45faedf288823a98255a6f
diff --git a/dev-python/pyrsistent/metadata.xml b/dev-python/pyrsistent/metadata.xml
index d6f248521add..83aa9250a381 100644
--- a/dev-python/pyrsistent/metadata.xml
+++ b/dev-python/pyrsistent/metadata.xml
@@ -13,4 +13,10 @@
</maintainer>
<remote-id type="github">tobgu/pyrsistent</remote-id>
</upstream>
+ <use>
+ <flag name="native-extensions">
+ Compiles native C extensions (speedups, instead of using python
+ fallback code).
+ </flag>
+ </use>
</pkgmetadata>
diff --git a/dev-python/pyrsistent/pyrsistent-0.19.2.ebuild b/dev-python/pyrsistent/pyrsistent-0.19.2.ebuild
deleted file mode 100644
index ed5e8a0b7204..000000000000
--- a/dev-python/pyrsistent/pyrsistent-0.19.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Persistent/Functional/Immutable data structures"
-HOMEPAGE="
- https://github.com/tobgu/pyrsistent/
- https://pypi.org/project/pyrsistent/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.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"
-
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyrsistent/pyrsistent-0.19.3.ebuild b/dev-python/pyrsistent/pyrsistent-0.19.3.ebuild
deleted file mode 100644
index b55595b08aff..000000000000
--- a/dev-python/pyrsistent/pyrsistent-0.19.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Persistent/Functional/Immutable data structures"
-HOMEPAGE="
- https://github.com/tobgu/pyrsistent/
- https://pypi.org/project/pyrsistent/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.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"
-
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyrsistent/pyrsistent-0.20.0.ebuild b/dev-python/pyrsistent/pyrsistent-0.20.0.ebuild
new file mode 100644
index 000000000000..27f0728ff641
--- /dev/null
+++ b/dev-python/pyrsistent/pyrsistent-0.20.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} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Persistent/Functional/Immutable data structures"
+HOMEPAGE="
+ https://github.com/tobgu/pyrsistent/
+ https://pypi.org/project/pyrsistent/
+"
+
+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"
+IUSE="+native-extensions"
+
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ if ! use native-extensions; then
+ export PYRSISTENT_SKIP_EXTENSION=1
+ fi
+}
diff --git a/dev-python/pyscard/Manifest b/dev-python/pyscard/Manifest
index 9f87c84a03da..a12c278d2228 100644
--- a/dev-python/pyscard/Manifest
+++ b/dev-python/pyscard/Manifest
@@ -1 +1,2 @@
-DIST pyscard-2.0.5.tar.gz 150803 BLAKE2B c7d5ab17c3471b050a321c687e5faf33b5faad5a1afc60462b759280cff31bc55d86decdcb16dda9a4afe47848bc06f303c9697941dc212f01b28db6a8469a5e SHA512 bb2ef725e7dccefa640fe1568d1fee016bc5c639769d1b0d099067108e1369b8f7ccd3e48f985d657c5c7c33730eae891624f2c0ee2deaed491826b8c0eae2a5
+DIST pyscard-2.0.8.tar.gz 153266 BLAKE2B 524b060ffa869ac4d739cd26d795c559b7c2ab26aa7f687e7b9392508c0e768f9b8442a0d4ebfd0f2903eca922a7cf1cedbe54f78c77f39a4635739a914713d7 SHA512 245602aaab024a1d9f3e2ae46482d6e18253f7e9a3c419f40e746ad2578bbf58c1f56f9a7ec139c9ca5048e2d1a7505002d98b6d54d8906af4f4cfab225d5a09
+DIST pyscard-2.0.9.tar.gz 153513 BLAKE2B 00a7676cb0d987b7a6cd0c2cdf061e4e4405c78a0289d0c46abe95461b19d61a964792f69fe2a2f268653d332e8c21f17d03a8f3b05456df8475b0c51370830c SHA512 0503c29dfd288237eb17fae2a6387cdfce5e34a3aa6cdbdf58aef04ad91ab232d14d78b999fd1d4b7d7c8ad6282fa0d7983a65030f896f1e8098597f182b10cc
diff --git a/dev-python/pyscard/pyscard-2.0.5.ebuild b/dev-python/pyscard/pyscard-2.0.5.ebuild
deleted file mode 100644
index 3ca31436ff18..000000000000
--- a/dev-python/pyscard/pyscard-2.0.5.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 optfeature
-
-DESCRIPTION="Smart card support in python"
-HOMEPAGE="
- https://pyscard.sourceforge.io/
- https://github.com/LudovicRousseau/pyscard/
- https://pypi.org/project/pyscard/
-"
-SRC_URI="mirror://sourceforge/${PN}/${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.8.ebuild b/dev-python/pyscard/pyscard-2.0.8.ebuild
new file mode 100644
index 000000000000..22ceb4eec735
--- /dev/null
+++ b/dev-python/pyscard/pyscard-2.0.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_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/pyscard/pyscard-2.0.9.ebuild b/dev-python/pyscard/pyscard-2.0.9.ebuild
new file mode 100644
index 000000000000..b141ab35e303
--- /dev/null
+++ b/dev-python/pyscard/pyscard-2.0.9.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 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/Manifest b/dev-python/pyscreenshot/Manifest
index bb0442ae459b..674f5040813a 100644
--- a/dev-python/pyscreenshot/Manifest
+++ b/dev-python/pyscreenshot/Manifest
@@ -1 +1 @@
-DIST pyscreenshot-3.0.tar.gz 32865 BLAKE2B b39d338be4f1dc23fc30fe84a6f8ee6b6346761b023222438e8ff33e01beafc347d34118332efb053057c54383f5468e73049041889a6140a70c0f928c655661 SHA512 f8070941ade2bc710157238f47c9575df1504ef63152980b2bc0edd1f69c9ca4aeec3f738929de1c81a51fed79838053674626981ec61d95dafa7b9998004606
+DIST pyscreenshot-3.1.gh.tar.gz 36860 BLAKE2B fff930ad784da3e800d7c85bba2ea03db8f91011083b437f31c0d62037df9fa8921f9572d2271c258bdafa5d4c0b9d3ff93a7b8ab53db2cc24373f971fb6dc54 SHA512 9cbb58ddf2248548fb8b3519b41646e6f00d635ddaac69cc20a41b57e8693466c2b93947d72cf3a0caa0ee20f9d42f70587079a919b1c1d156212d6f942285ee
diff --git a/dev-python/pyscreenshot/metadata.xml b/dev-python/pyscreenshot/metadata.xml
index de30b80f984f..a663bf0f9111 100644
--- a/dev-python/pyscreenshot/metadata.xml
+++ b/dev-python/pyscreenshot/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>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/pyscreenshot/pyscreenshot-3.0-r1.ebuild b/dev-python/pyscreenshot/pyscreenshot-3.0-r1.ebuild
deleted file mode 100644
index 30b86e670ba0..000000000000
--- a/dev-python/pyscreenshot/pyscreenshot-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_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Python screenshot library"
-HOMEPAGE="https://github.com/ponty/pyscreenshot"
-SRC_URI="https://github.com/ponty/pyscreenshot/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/easyprocess[${PYTHON_USEDEP}]
- dev-python/entrypoint2[${PYTHON_USEDEP}]
- dev-python/jeepney[${PYTHON_USEDEP}]
- dev-python/mss[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/python-xlib[${PYTHON_USEDEP}]
- dev-python/pyvirtualdisplay[${PYTHON_USEDEP}]
- media-gfx/imagemagick
- media-gfx/pqiv
- x11-apps/xdpyinfo
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- # skip GNOME/KDE tests that require D-BUS
- local -x XDG_CURRENT_DESKTOP=none
- virtx epytest --deselect tests/test_check.py::test_speedtest
-}
diff --git a/dev-python/pyscreenshot/pyscreenshot-3.1.ebuild b/dev-python/pyscreenshot/pyscreenshot-3.1.ebuild
new file mode 100644
index 000000000000..73d35266c985
--- /dev/null
+++ b/dev-python/pyscreenshot/pyscreenshot-3.1.ebuild
@@ -0,0 +1,60 @@
+# 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 screenshot library"
+HOMEPAGE="
+ https://github.com/ponty/pyscreenshot/
+ https://pypi.org/project/pyscreenshot/
+"
+SRC_URI="
+ https://github.com/ponty/pyscreenshot/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ dev-python/easyprocess[${PYTHON_USEDEP}]
+ dev-python/entrypoint2[${PYTHON_USEDEP}]
+ dev-python/jeepney[${PYTHON_USEDEP}]
+ dev-python/mss[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/pillow[xcb,${PYTHON_USEDEP}]
+ dev-python/pygame[${PYTHON_USEDEP}]
+ dev-python/python-xlib[${PYTHON_USEDEP}]
+ dev-python/pyvirtualdisplay[${PYTHON_USEDEP}]
+ media-gfx/imagemagick
+ media-gfx/pqiv
+ media-gfx/scrot
+ x11-apps/xdpyinfo
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ tests/test_check.py::test_speedtest
+ )
+
+ # skip GNOME/KDE tests that require D-BUS
+ local -x XDG_CURRENT_DESKTOP=none
+ # nonfatal is already implied by virtx, make it explicit though
+ nonfatal epytest || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/pyserial/pyserial-3.5-r1.ebuild b/dev-python/pyserial/pyserial-3.5-r1.ebuild
deleted file mode 100644
index 2c8639d18064..000000000000
--- a/dev-python/pyserial/pyserial-3.5-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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python Serial Port extension"
-HOMEPAGE="https://github.com/pyserial/pyserial https://pypi.org/project/pyserial/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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="examples"
-
-DOCS=( CHANGES.rst README.rst )
-
-distutils_enable_sphinx documentation --no-autodoc
-
-python_test() {
- "${EPYTHON}" test/run_all_tests.py loop:// -v || die "Testing failed with ${EPYTHON}"
-}
-
-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/pyserial/pyserial-3.5-r2.ebuild b/dev-python/pyserial/pyserial-3.5-r2.ebuild
new file mode 100644
index 000000000000..a8e14ce8e27f
--- /dev/null
+++ b/dev-python/pyserial/pyserial-3.5-r2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 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 Serial Port extension"
+HOMEPAGE="
+ https://github.com/pyserial/pyserial/
+ https://pypi.org/project/pyserial/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+IUSE="examples"
+
+DOCS=( CHANGES.rst README.rst )
+
+distutils_enable_sphinx documentation --no-autodoc
+
+python_test() {
+ "${EPYTHON}" test/run_all_tests.py loop:// -v ||
+ die "Testing failed with ${EPYTHON}"
+}
+
+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/pyside2-tools/Manifest b/dev-python/pyside2-tools/Manifest
index 6d6de27407b4..e0d57a9d915f 100644
--- a/dev-python/pyside2-tools/Manifest
+++ b/dev-python/pyside2-tools/Manifest
@@ -1,2 +1 @@
-DIST pyside-setup-opensource-src-5.15.7.tar.xz 3581144 BLAKE2B 95b5720a5273c96b00bdf86b36734970991a29cf0db1e6fb2c00d7e671fbc4459b4434abc91a8a47ec5d8ba694bcdae5b57a52448908fdca25c348f9ee2b6c81 SHA512 9c551b47581e4f2671c4378f1a2c0d9e565b08edee74244a7704a2c94eef1e1041d23f0e388c07bdd61067e986340907cf80f4527257a9a706f7f07c497834c6
-DIST pyside-setup-opensource-src-5.15.8.tar.xz 3582256 BLAKE2B eef6668c612c39eac4ea29db4eee0cc6eef72034babaa14525ca63cf6e02695df27bf8a6764110c4bcc77f55c7e9fb531074916a45d7ea324265e50d9a60d592 SHA512 78e19a8e8fa413bb784f16847d5774e4362409a2bd83567177b83f1391c37305d373155fb95ea569c6c483175e62a0d3f5d91a2fd5dae85d48c8047d242b9e22
+DIST pyside-setup-opensource-src-5.15.13.tar.xz 3585684 BLAKE2B be464e1a4a5e1523dbc214fdb7be7c5679f33835910d6c12ba464104f3582905f22dd3ae05cbfbb0a7b2d29748335e15d3069d25c754364f5abce85b8b6c8855 SHA512 559e1d474e382ec835cdf2bc69eb27113fdb920a96a63ab0ee022c2a9d2141e5919afd566cb82701e4d2130b142aa59fcbfd60db34823a4f03b879eee5d9e3a8
diff --git a/dev-python/pyside2-tools/files/pyside2-tools-5.15.1-dont-install-tools.patch b/dev-python/pyside2-tools/files/pyside2-tools-5.15.1-dont-install-tools.patch
deleted file mode 100644
index 60de6aa07ee7..000000000000
--- a/dev-python/pyside2-tools/files/pyside2-tools-5.15.1-dont-install-tools.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 20a5e19..575c1df 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -55,38 +55,6 @@ else()
- set(DESIGNER_PATH "${TOOLS_PATH}/designer${EXE_EXT}")
- endif()
-
--install(FILES "${UIC_PATH}"
-- DESTINATION bin
-- PERMISSIONS
-- OWNER_EXECUTE OWNER_WRITE OWNER_READ
-- GROUP_EXECUTE GROUP_READ
-- WORLD_EXECUTE WORLD_READ)
--
--install(FILES "${RCC_PATH}"
-- DESTINATION bin
-- PERMISSIONS
-- OWNER_EXECUTE OWNER_WRITE OWNER_READ
-- GROUP_EXECUTE GROUP_READ
-- WORLD_EXECUTE WORLD_READ)
--
--if (EXISTS ${DESIGNER_PATH})
-- if (APPLE)
-- install(DIRECTORY "${DESIGNER_PATH}"
-- DESTINATION bin
-- FILE_PERMISSIONS
-- OWNER_EXECUTE OWNER_WRITE OWNER_READ
-- GROUP_EXECUTE GROUP_READ
-- WORLD_EXECUTE WORLD_READ)
-- else()
-- install(FILES "${DESIGNER_PATH}"
-- DESTINATION bin
-- PERMISSIONS
-- OWNER_EXECUTE OWNER_WRITE OWNER_READ
-- GROUP_EXECUTE GROUP_READ
-- WORLD_EXECUTE WORLD_READ)
-- endif()
--endif()
--
- configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake"
- "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
- IMMEDIATE @ONLY)
-@@ -113,14 +81,6 @@ endif()
-
- add_subdirectory(pylupdate)
-
--# pyside2-rcc, pyside2-uic, pyside2-designer, shiboken and pyside2-lupdate entrypoints
--install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pyside_tool.py
-- DESTINATION bin
-- PERMISSIONS
-- OWNER_EXECUTE OWNER_WRITE OWNER_READ
-- GROUP_EXECUTE GROUP_READ
-- WORLD_EXECUTE WORLD_READ)
--
- if (BUILD_TESTS)
- enable_testing()
- add_subdirectory(tests)
diff --git a/dev-python/pyside2-tools/files/pyside2-tools-5.15.11-no-copy-uic.patch b/dev-python/pyside2-tools/files/pyside2-tools-5.15.11-no-copy-uic.patch
new file mode 100644
index 000000000000..90bc53c90d89
--- /dev/null
+++ b/dev-python/pyside2-tools/files/pyside2-tools-5.15.11-no-copy-uic.patch
@@ -0,0 +1,43 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 20a5e19..575c1df 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -55,38 +55,6 @@ else()
+ set(DESIGNER_PATH "${TOOLS_PATH}/designer${EXE_EXT}")
+ endif()
+
+-install(FILES "${UIC_PATH}"
+- DESTINATION bin
+- PERMISSIONS
+- OWNER_EXECUTE OWNER_WRITE OWNER_READ
+- GROUP_EXECUTE GROUP_READ
+- WORLD_EXECUTE WORLD_READ)
+-
+-install(FILES "${RCC_PATH}"
+- DESTINATION bin
+- PERMISSIONS
+- OWNER_EXECUTE OWNER_WRITE OWNER_READ
+- GROUP_EXECUTE GROUP_READ
+- WORLD_EXECUTE WORLD_READ)
+-
+-if (EXISTS ${DESIGNER_PATH})
+- if (APPLE)
+- install(DIRECTORY "${DESIGNER_PATH}"
+- DESTINATION bin
+- FILE_PERMISSIONS
+- OWNER_EXECUTE OWNER_WRITE OWNER_READ
+- GROUP_EXECUTE GROUP_READ
+- WORLD_EXECUTE WORLD_READ)
+- else()
+- install(FILES "${DESIGNER_PATH}"
+- DESTINATION bin
+- PERMISSIONS
+- OWNER_EXECUTE OWNER_WRITE OWNER_READ
+- GROUP_EXECUTE GROUP_READ
+- WORLD_EXECUTE WORLD_READ)
+- endif()
+-endif()
+-
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake"
+ "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
+ IMMEDIATE @ONLY)
diff --git a/dev-python/pyside2-tools/metadata.xml b/dev-python/pyside2-tools/metadata.xml
index 37022f30bb61..5ddb82c75a77 100644
--- a/dev-python/pyside2-tools/metadata.xml
+++ b/dev-python/pyside2-tools/metadata.xml
@@ -9,8 +9,4 @@
<email>waebbl-gentoo@posteo.net</email>
<name>Bernd Waibel</name>
</maintainer>
- <maintainer type="person">
- <email>fordfrog@gentoo.org</email>
- <name>Miroslav Šulc</name>
- </maintainer>
</pkgmetadata>
diff --git a/dev-python/pyside2-tools/pyside2-tools-5.15.13.ebuild b/dev-python/pyside2-tools/pyside2-tools-5.15.13.ebuild
new file mode 100644
index 000000000000..a4e0bab67f21
--- /dev/null
+++ b/dev-python/pyside2-tools/pyside2-tools-5.15.13.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..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="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ ~dev-python/shiboken2-${PV}[${PYTHON_USEDEP},${LLVM_USEDEP}]
+ ~dev-python/pyside2-${PV}[${PYTHON_USEDEP},${LLVM_USEDEP}]
+"
+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-tools/pyside2-tools-5.15.7.ebuild b/dev-python/pyside2-tools/pyside2-tools-5.15.7.ebuild
deleted file mode 100644
index bc841956419f..000000000000
--- a/dev-python/pyside2-tools/pyside2-tools-5.15.7.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
-
-# TODO: Add PyPy once officially supported. See also:
-# https://bugreports.qt.io/browse/PYSIDE-535
-PYTHON_COMPAT=( python3_{9..11} )
-CMAKE_IN_SOURCE_BUILD=1
-
-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 x86"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- ~dev-python/pyside2-${PV}[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-
-DOCS=( README.md )
-
-# the tools conflict with tools from QT
-PATCHES=(
- "${FILESDIR}/${PN}-5.15.1-dont-install-tools.patch"
-)
-
-src_prepare() {
- cmake_src_prepare
-
- python_copy_sources
-}
-
-src_configure() {
- # The tests are only related to the tools that we don't install
- local mycmakeargs=(
- -DBUILD_TESTS=OFF
- )
-
- pyside-tools_configure() {
- local mycmakeargs=(
- "${mycmakeargs[@]}"
- -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
- )
- CMAKE_USE_DIR="${BUILD_DIR}" cmake_src_configure
- }
-
- python_foreach_impl pyside-tools_configure
-}
-
-src_compile() {
- pyside-tools_compile() {
- CMAKE_USE_DIR="${BUILD_DIR}" cmake_src_compile
- }
-
- python_foreach_impl pyside-tools_compile
-}
-
-src_install() {
- pyside-tools_install() {
- python_doexe "${BUILD_DIR}/pylupdate/pyside2-lupdate"
- }
-
- python_foreach_impl pyside-tools_install
-
- doman pylupdate/pyside2-lupdate.1
- einstalldocs
-}
diff --git a/dev-python/pyside2-tools/pyside2-tools-5.15.8.ebuild b/dev-python/pyside2-tools/pyside2-tools-5.15.8.ebuild
deleted file mode 100644
index 81180b8926ab..000000000000
--- a/dev-python/pyside2-tools/pyside2-tools-5.15.8.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
-
-# TODO: Add PyPy once officially supported. See also:
-# https://bugreports.qt.io/browse/PYSIDE-535
-PYTHON_COMPAT=( python3_{9..11} )
-CMAKE_IN_SOURCE_BUILD=1
-
-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 ~x86"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- ~dev-python/pyside2-${PV}[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-
-DOCS=( README.md )
-
-# the tools conflict with tools from QT
-PATCHES=(
- "${FILESDIR}/${PN}-5.15.1-dont-install-tools.patch"
-)
-
-src_prepare() {
- cmake_src_prepare
-
- python_copy_sources
-}
-
-src_configure() {
- # The tests are only related to the tools that we don't install
- local mycmakeargs=(
- -DBUILD_TESTS=OFF
- )
-
- pyside-tools_configure() {
- local mycmakeargs=(
- "${mycmakeargs[@]}"
- -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
- )
- CMAKE_USE_DIR="${BUILD_DIR}" cmake_src_configure
- }
-
- python_foreach_impl pyside-tools_configure
-}
-
-src_compile() {
- pyside-tools_compile() {
- CMAKE_USE_DIR="${BUILD_DIR}" cmake_src_compile
- }
-
- python_foreach_impl pyside-tools_compile
-}
-
-src_install() {
- pyside-tools_install() {
- python_doexe "${BUILD_DIR}/pylupdate/pyside2-lupdate"
- }
-
- python_foreach_impl pyside-tools_install
-
- doman pylupdate/pyside2-lupdate.1
- einstalldocs
-}
diff --git a/dev-python/pyside2/Manifest b/dev-python/pyside2/Manifest
index 6d6de27407b4..e0d57a9d915f 100644
--- a/dev-python/pyside2/Manifest
+++ b/dev-python/pyside2/Manifest
@@ -1,2 +1 @@
-DIST pyside-setup-opensource-src-5.15.7.tar.xz 3581144 BLAKE2B 95b5720a5273c96b00bdf86b36734970991a29cf0db1e6fb2c00d7e671fbc4459b4434abc91a8a47ec5d8ba694bcdae5b57a52448908fdca25c348f9ee2b6c81 SHA512 9c551b47581e4f2671c4378f1a2c0d9e565b08edee74244a7704a2c94eef1e1041d23f0e388c07bdd61067e986340907cf80f4527257a9a706f7f07c497834c6
-DIST pyside-setup-opensource-src-5.15.8.tar.xz 3582256 BLAKE2B eef6668c612c39eac4ea29db4eee0cc6eef72034babaa14525ca63cf6e02695df27bf8a6764110c4bcc77f55c7e9fb531074916a45d7ea324265e50d9a60d592 SHA512 78e19a8e8fa413bb784f16847d5774e4362409a2bd83567177b83f1391c37305d373155fb95ea569c6c483175e62a0d3f5d91a2fd5dae85d48c8047d242b9e22
+DIST pyside-setup-opensource-src-5.15.13.tar.xz 3585684 BLAKE2B be464e1a4a5e1523dbc214fdb7be7c5679f33835910d6c12ba464104f3582905f22dd3ae05cbfbb0a7b2d29748335e15d3069d25c754364f5abce85b8b6c8855 SHA512 559e1d474e382ec835cdf2bc69eb27113fdb920a96a63ab0ee022c2a9d2141e5919afd566cb82701e4d2130b142aa59fcbfd60db34823a4f03b879eee5d9e3a8
diff --git a/dev-python/pyside2/files/pyside2-5.15.2-python310.patch b/dev-python/pyside2/files/pyside2-5.15.2-python310.patch
deleted file mode 100644
index cb2af4537cac..000000000000
--- a/dev-python/pyside2/files/pyside2-5.15.2-python310.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -upr libpyside/feature_select.cpp libpyside/feature_select.cpp
---- a/libpyside/feature_select.cpp 2020-11-11 14:51:30.000000000 +0200
-+++ b/libpyside/feature_select.cpp 2021-12-01 15:39:40.356426568 +0200
-@@ -405,6 +405,8 @@ static inline PyObject *SelectFeatureSet
- if (!SelectFeatureSetSubtype(sub_type, select_id))
- break;
- }
-+ // PYSIDE-1436: Clear all caches for the type and subtypes.
-+ PyType_Modified(type);
- }
- return type->tp_dict;
- }
diff --git a/dev-python/pyside2/files/pyside2-5.15.2-python311-fixups.patch b/dev-python/pyside2/files/pyside2-5.15.2-python311-fixups.patch
deleted file mode 100644
index d91b0b6806ca..000000000000
--- a/dev-python/pyside2/files/pyside2-5.15.2-python311-fixups.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-The Fedora / upstream fixes (shiboken2-5.15.2-python311.patch) end up breaking
-Python 3.8 compatibility (maybe 3.9 too, but didn't get that far).
-
-Wrap them with PY_VERSION_HEX for Python 3.11.
---- a/libpyside/pysideqflags.cpp
-+++ b/libpyside/pysideqflags.cpp
-@@ -187,7 +187,12 @@ namespace QFlags
- }
- newspec.slots = SbkNewQFlagsType_spec.slots;
- PyTypeObject *type = (PyTypeObject *)SbkType_FromSpec(&newspec);
-- Py_SET_TYPE(type, &PyType_Type);
-+
-+ #if PY_VERSION_HEX < 0x030B00A1
-+ Py_TYPE(type) = &PyType_Type;
-+ #else
-+ Py_SET_TYPE(type, &PyType_Type);
-+ #endif
-
- PySideQFlagsType *flagsType = reinterpret_cast<PySideQFlagsType *>(type);
- PepType_PFTP(flagsType)->converterPtr = &PepType_PFTP(flagsType)->converter;
---- a/libpyside/pysidesignal.cpp
-+++ b/libpyside/pysidesignal.cpp
-@@ -162,7 +162,13 @@ PyTypeObject *PySideSignalTypeF(void)
- if (!type) {
- type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpec(&PySideSignalType_spec));
- PyTypeObject *hold = Py_TYPE(type);
-- Py_SET_TYPE(type, PySideMetaSignalTypeF());
-+
-+ #if PY_VERSION_HEX < 0x030B00A1
-+ Py_TYPE(type) = PySideMetaSignalTypeF();
-+ #else
-+ Py_SET_TYPE(type, PySideMetaSignalTypeF());
-+ #endif
-+
- Py_INCREF(Py_TYPE(type));
- Py_DECREF(hold);
- }
---- a/libpyside/pysideweakref.cpp
-+++ b/libpyside/pysideweakref.cpp
-@@ -90,7 +90,13 @@ PyObject *create(PyObject *obj, PySideWeakRefFunction func, void *userData)
-
- if (Py_TYPE(PySideCallableObjectTypeF()) == 0)
- {
-- Py_SET_TYPE(PySideCallableObjectTypeF(), &PyType_Type);
-+
-+ #if PY_VERSION_HEX < 0x030B00A1
-+ Py_TYPE(PySideCallableObjectTypeF()) = &PyType_Type;
-+ #else
-+ Py_SET_TYPE(PySideCallableObjectTypeF(), &PyType_Type);
-+ #endif
-+
- PyType_Ready(PySideCallableObjectTypeF());
- }
-
diff --git a/dev-python/pyside2/files/pyside2-5.15.2-python311.patch b/dev-python/pyside2/files/pyside2-5.15.2-python311.patch
deleted file mode 100644
index 70b07c4800fd..000000000000
--- a/dev-python/pyside2/files/pyside2-5.15.2-python311.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-https://src.fedoraproject.org/fork/pviktori/rpms/python-pyside2/raw/5da9902bd8732b49eb722d71f306d4ab197c84b8/f/python3.11.patch
-
-From 77fdd690ca14e97b4c800c4127362ca0c83a716a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
-Date: Thu, 9 Jun 2022 13:45:07 +0200
-Subject: [PATCH] Fix usage of Py_TYPE() for Python 3.11
-
-The macro was changed to a function, no longer allowing for assignment.
---- a/libpyside/pysideqflags.cpp
-+++ b/libpyside/pysideqflags.cpp
-@@ -187,7 +187,7 @@ namespace QFlags
- }
- newspec.slots = SbkNewQFlagsType_spec.slots;
- PyTypeObject *type = (PyTypeObject *)SbkType_FromSpec(&newspec);
-- Py_TYPE(type) = &PyType_Type;
-+ Py_SET_TYPE(type, &PyType_Type);
-
- PySideQFlagsType *flagsType = reinterpret_cast<PySideQFlagsType *>(type);
- PepType_PFTP(flagsType)->converterPtr = &PepType_PFTP(flagsType)->converter;
---- a/libpyside/pysidesignal.cpp
-+++ b/libpyside/pysidesignal.cpp
-@@ -162,7 +162,7 @@ PyTypeObject *PySideSignalTypeF(void)
- if (!type) {
- type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpec(&PySideSignalType_spec));
- PyTypeObject *hold = Py_TYPE(type);
-- Py_TYPE(type) = PySideMetaSignalTypeF();
-+ Py_SET_TYPE(type, PySideMetaSignalTypeF());
- Py_INCREF(Py_TYPE(type));
- Py_DECREF(hold);
- }
---- a/libpyside/pysideweakref.cpp
-+++ b/libpyside/pysideweakref.cpp
-@@ -90,7 +90,7 @@ PyObject *create(PyObject *obj, PySideWeakRefFunction func, void *userData)
-
- if (Py_TYPE(PySideCallableObjectTypeF()) == 0)
- {
-- Py_TYPE(PySideCallableObjectTypeF()) = &PyType_Type;
-+ Py_SET_TYPE(PySideCallableObjectTypeF(), &PyType_Type);
- PyType_Ready(PySideCallableObjectTypeF());
- }
-
diff --git a/dev-python/pyside2/metadata.xml b/dev-python/pyside2/metadata.xml
index 445cc3a97502..174852886176 100644
--- a/dev-python/pyside2/metadata.xml
+++ b/dev-python/pyside2/metadata.xml
@@ -25,8 +25,6 @@
<flag name="printsupport">Build QtPrintSupport module</flag>
<flag name="qml">Build QtQml module</flag>
<flag name="quick">Build QtQuick and QtQuickWidgets modules</flag>
- <flag name="script">Build QtScript module</flag>
- <flag name="scripttools">Build QtScriptTools module</flag>
<flag name="scxml">Build QtScxml module</flag>
<flag name="sensors">Build QtSensors module</flag>
<flag name="speech">Build QtTextToSpeech module</flag>
diff --git a/dev-python/pyside2/pyside2-5.15.13.ebuild b/dev-python/pyside2/pyside2-5.15.13.ebuild
new file mode 100644
index 000000000000..f0de45d53ba8
--- /dev/null
+++ b/dev-python/pyside2/pyside2-5.15.13.ebuild
@@ -0,0 +1,228 @@
+# 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="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},${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?] )
+"
+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/pyside2/pyside2-5.15.7.ebuild b/dev-python/pyside2/pyside2-5.15.7.ebuild
deleted file mode 100644
index 0ae91fd8534d..000000000000
--- a/dev-python/pyside2/pyside2-5.15.7.ebuild
+++ /dev/null
@@ -1,226 +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_{9..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 x86"
-IUSE="
- 3d charts +concurrent datavis designer gles2-only +gui help location
- multimedia +network positioning +printsupport qml quick script scripttools
- 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 )
- scripttools? ( gui script widgets )
- 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-2)*: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?]
- )
- script? ( =dev-qt/qtscript-${QT_PV}[scripttools?] )
- 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}[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 )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-5.15.2-python310.patch"
- "${FILESDIR}/${PN}-5.15.2-python311.patch"
- "${FILESDIR}/${PN}-5.15.2-python311-fixups.patch"
-)
-
-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=$(usex !script)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5ScriptTools=$(usex !scripttools)
- -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-${PV}/PySide2Targets-${CMAKE_BUILD_TYPE,,}.cmake" || die
-}
diff --git a/dev-python/pyside2/pyside2-5.15.8.ebuild b/dev-python/pyside2/pyside2-5.15.8.ebuild
deleted file mode 100644
index 7a57cf9a7949..000000000000
--- a/dev-python/pyside2/pyside2-5.15.8.ebuild
+++ /dev/null
@@ -1,226 +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_{9..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 ~x86"
-IUSE="
- 3d charts +concurrent datavis designer gles2-only +gui help location
- multimedia +network positioning +printsupport qml quick script scripttools
- 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 )
- scripttools? ( gui script widgets )
- 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-2)*: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?]
- )
- script? ( =dev-qt/qtscript-${QT_PV}[scripttools?] )
- 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}[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 )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-5.15.2-python310.patch"
- "${FILESDIR}/${PN}-5.15.2-python311.patch"
- "${FILESDIR}/${PN}-5.15.2-python311-fixups.patch"
-)
-
-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=$(usex !script)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5ScriptTools=$(usex !scripttools)
- -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-${PV}/PySide2Targets-${CMAKE_BUILD_TYPE,,}.cmake" || die
-}
diff --git a/dev-python/pyside6-tools/Manifest b/dev-python/pyside6-tools/Manifest
index 1f656317eec9..be987c7433ba 100644
--- a/dev-python/pyside6-tools/Manifest
+++ b/dev-python/pyside6-tools/Manifest
@@ -1 +1 @@
-DIST pyside-setup-opensource-src-6.4.2.tar.xz 8759528 BLAKE2B cc1a18e9dc81eb02bbfffd38816da68f053337f94c485fdd2f99488ae7ade2e899be1d98518def8f39a4eeaeaff6018ff09402bfe55b3484d78d8c4d9796b4e7 SHA512 129ea420000fceef9726fab9e0320e8286a34aa0855fc4bd369adc0020b76909b3a5ac8c3fa622b73da1561b39dcaeb8ac121f634918e2c0460a9ebaccb0f659
+DIST pyside-setup-everywhere-src-6.7.0.tar.xz 14382456 BLAKE2B 607e496cdeb7e55166b4f0dc15662a8792c7d8925856e8edbb927dfdc33342d158f430e3433d3d4a78ea33740e333fb2422ea1f4332408c3c6214f92d31bdd0d SHA512 7801d564d8d359edec431dc0e6f170538b9fc6f834cb7ab8eff41c1989bffb619c446d4d62d65db2a5b7592c0bff5d450d42de2797726658fe1a8f53df8a4c14
diff --git a/dev-python/pyside6-tools/pyside6-tools-6.4.2.ebuild b/dev-python/pyside6-tools/pyside6-tools-6.4.2.ebuild
deleted file mode 100644
index 3b91041b8b88..000000000000
--- a/dev-python/pyside6-tools/pyside6-tools-6.4.2.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
-
-# TODO: Add PyPy once officially supported. See also:
-# https://bugreports.qt.io/browse/PYSIDE-535
-PYTHON_COMPAT=( python3_{9..11} )
-CMAKE_IN_SOURCE_BUILD=1
-
-inherit cmake python-r1
-
-MY_P=pyside-setup-opensource-src-${PV}
-
-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_P}.tar.xz"
-S="${WORKDIR}/${MY_P}/sources/pyside-tools"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- ~dev-python/pyside6-${PV}[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- cmake_src_prepare
-
- python_copy_sources
-}
-
-src_configure() {
- pyside-tools_configure() {
- local mycmakeargs=(
- # the tools conflict with tools from Qt
- -DNO_QT_TOOLS=yes
- )
- CMAKE_USE_DIR="${BUILD_DIR}" cmake_src_configure
- }
-
- python_foreach_impl pyside-tools_configure
-}
-
-src_compile() {
- pyside-tools_compile() {
- CMAKE_USE_DIR="${BUILD_DIR}" cmake_src_compile
- }
-
- python_foreach_impl pyside-tools_compile
-}
-
-src_install() {
- pyside-tools_install() {
- python_doexe "${BUILD_DIR}/"*.py
- }
-
- python_foreach_impl pyside-tools_install
-
- einstalldocs
-}
diff --git a/dev-python/pyside6-tools/pyside6-tools-6.7.0.ebuild b/dev-python/pyside6-tools/pyside6-tools-6.7.0.ebuild
new file mode 100644
index 000000000000..252c19d63653
--- /dev/null
+++ b/dev-python/pyside6-tools/pyside6-tools-6.7.0.ebuild
@@ -0,0 +1,76 @@
+# 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..12} )
+
+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="0"
+KEYWORDS="amd64"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ ~dev-python/shiboken6-${PV}[${PYTHON_USEDEP},${LLVM_USEDEP}]
+ ~dev-python/pyside6-${PV}[quick,${PYTHON_USEDEP},${LLVM_USEDEP}]
+"
+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 1f656317eec9..be987c7433ba 100644
--- a/dev-python/pyside6/Manifest
+++ b/dev-python/pyside6/Manifest
@@ -1 +1 @@
-DIST pyside-setup-opensource-src-6.4.2.tar.xz 8759528 BLAKE2B cc1a18e9dc81eb02bbfffd38816da68f053337f94c485fdd2f99488ae7ade2e899be1d98518def8f39a4eeaeaff6018ff09402bfe55b3484d78d8c4d9796b4e7 SHA512 129ea420000fceef9726fab9e0320e8286a34aa0855fc4bd369adc0020b76909b3a5ac8c3fa622b73da1561b39dcaeb8ac121f634918e2c0460a9ebaccb0f659
+DIST pyside-setup-everywhere-src-6.7.0.tar.xz 14382456 BLAKE2B 607e496cdeb7e55166b4f0dc15662a8792c7d8925856e8edbb927dfdc33342d158f430e3433d3d4a78ea33740e333fb2422ea1f4332408c3c6214f92d31bdd0d SHA512 7801d564d8d359edec431dc0e6f170538b9fc6f834cb7ab8eff41c1989bffb619c446d4d62d65db2a5b7592c0bff5d450d42de2797726658fe1a8f53df8a4c14
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-no-qtexampleicons.patch b/dev-python/pyside6/files/pyside6-6.6.0-no-qtexampleicons.patch
new file mode 100644
index 000000000000..f775310504f4
--- /dev/null
+++ b/dev-python/pyside6/files/pyside6-6.6.0-no-qtexampleicons.patch
@@ -0,0 +1,10 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2e4c701..6792258 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -41,5 +41,3 @@ if(BUILD_TESTS)
+ endif()
+
+ add_subdirectory(doc)
+-
+-add_subdirectory(qtexampleicons)
diff --git a/dev-python/pyside6/metadata.xml b/dev-python/pyside6/metadata.xml
index ae61fd0e0866..7e1f3a7d2bd5 100644
--- a/dev-python/pyside6/metadata.xml
+++ b/dev-python/pyside6/metadata.xml
@@ -10,21 +10,30 @@
<name>Bernd Waibel</name>
</maintainer>
<use>
+ <flag name="3d">Build Qt3DCore, Qt3DAnimation, Qt3DExtras, Qt3DInput, Qt3DLogic, and Qt3DRender modules</flag>
+ <flag name="bluetooth">Build QtBluetooth module</flag>
<flag name="charts">Build QtCharts module</flag>
<flag name="concurrent">Build QtConcurrent module</flag>
<flag name="designer">Build QtDesigner and QtUiTools modules</flag>
<flag name="gles2-only">Build QtGui "QOpenGL*" classes</flag>
<flag name="gui">Build QtGui module</flag>
<flag name="help">Build QtHelp module</flag>
+ <flag name="location">Build QtLocation module</flag>
<flag name="multimedia">Build QtMultimedia and QtMultimediaWidgets modules</flag>
<flag name="network">Build QtNetwork module</flag>
<flag name="network-auth">Build QtNetworkAuth module</flag>
+ <flag name="nfc">Build QtNfc module</flag>
+ <flag name="pdfium">Build QtPdf module</flag>
<flag name="positioning">Build QtPositioning module</flag>
<flag name="printsupport">Build QtPrintSupport module</flag>
<flag name="qml">Build QtQml module</flag>
<flag name="quick">Build QtQuick and QtQuickWidgets modules</flag>
<flag name="quick3d">Build QtQuick3D and QtQuickWidgets modules</flag>
+ <flag name="scxml">Build QtScxml module</flag>
+ <flag name="sensors">Build QtSensors module</flag>
<flag name="serialport">Build QtSerialPort modules</flag>
+ <flag name="spatialaudio">Build QtSpatialAudio module</flag>
+ <flag name="speech">Build QtTextToSpeech module</flag>
<flag name="sql">Build QtSql module</flag>
<flag name="svg">Build QtSvg module</flag>
<flag name="testlib">Build QtTest module</flag>
diff --git a/dev-python/pyside6/pyside6-6.4.2.ebuild b/dev-python/pyside6/pyside6-6.4.2.ebuild
deleted file mode 100644
index 03d16f85c62b..000000000000
--- a/dev-python/pyside6/pyside6-6.4.2.ebuild
+++ /dev/null
@@ -1,223 +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_{9..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_P=pyside-setup-opensource-src-${PV}
-
-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_P}.tar.xz"
-S="${WORKDIR}/${MY_P}/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-2)*: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}[qml(+)?,gles2-only(-)=,widgets(+)?] )
- 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}[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-${PV}/PySide6Targets-${CMAKE_BUILD_TYPE,,}.cmake" || die
-}
diff --git a/dev-python/pyside6/pyside6-6.7.0.ebuild b/dev-python/pyside6/pyside6-6.7.0.ebuild
new file mode 100644
index 000000000000..7b434f1e8db9
--- /dev/null
+++ b/dev-python/pyside6/pyside6-6.7.0.ebuild
@@ -0,0 +1,247 @@
+# 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..12} )
+
+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="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},${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} )
+"
+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-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.ebuild b/dev-python/pysimdjson/pysimdjson-5.0.2.ebuild
deleted file mode 100644
index ab087fb2f157..000000000000
--- a/dev-python/pysimdjson/pysimdjson-5.0.2.ebuild
+++ /dev/null
@@ -1,53 +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
-
-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:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-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
-}
-
-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/pysmi/pysmi-0.3.4-r1.ebuild b/dev-python/pysmi/pysmi-0.3.4-r1.ebuild
new file mode 100644
index 000000000000..1e142cca38fb
--- /dev/null
+++ b/dev-python/pysmi/pysmi-0.3.4-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2017-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="Python Lex & Yacc"
+HOMEPAGE="
+ https://github.com/etingof/pysmi/
+ https://pypi.org/project/pysmi/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ia64 ppc ~sparc x86"
+
+RDEPEND="
+ dev-python/ply[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pysnmp[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+distutils_enable_sphinx docs/source
diff --git a/dev-python/pysmi/pysmi-0.3.4.ebuild b/dev-python/pysmi/pysmi-0.3.4.ebuild
deleted file mode 100644
index 63653a47521a..000000000000
--- a/dev-python/pysmi/pysmi-0.3.4.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2017-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Python Lex & Yacc"
-HOMEPAGE="https://github.com/etingof/pysmi"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~ia64 ppc ~sparc x86"
-
-RDEPEND="dev-python/ply[${PYTHON_USEDEP}]"
-BDEPEND="test? ( dev-python/pysnmp[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests unittest
-distutils_enable_sphinx docs/source
diff --git a/dev-python/pysnmp-mibs/metadata.xml b/dev-python/pysnmp-mibs/metadata.xml
index 9a9a1fa6fceb..67f7764372fe 100644
--- a/dev-python/pysnmp-mibs/metadata.xml
+++ b/dev-python/pysnmp-mibs/metadata.xml
@@ -2,10 +2,6 @@
<!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="project">
<email>netmon@gentoo.org</email>
<name>Gentoo network monitoring and analysis project</name>
</maintainer>
diff --git a/dev-python/pysnmp-mibs/pysnmp-mibs-0.1.6.ebuild b/dev-python/pysnmp-mibs/pysnmp-mibs-0.1.6.ebuild
index 7f5b39ad8ddc..8a7c1e5cb927 100644
--- a/dev-python/pysnmp-mibs/pysnmp-mibs-0.1.6.ebuild
+++ b/dev-python/pysnmp-mibs/pysnmp-mibs-0.1.6.ebuild
@@ -3,12 +3,12 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{9..11} )
+PYPI_NO_NORMALIZE=1
+inherit distutils-r1 pypi
DESCRIPTION="SNMP framework in Python - MIBs"
HOMEPAGE="https://github.com/etingof/pysnmp-mibs"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/pysnmp/metadata.xml b/dev-python/pysnmp/metadata.xml
index 55fb8e1cad7f..0640054adfe6 100644
--- a/dev-python/pysnmp/metadata.xml
+++ b/dev-python/pysnmp/metadata.xml
@@ -2,10 +2,6 @@
<!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="project">
<email>netmon@gentoo.org</email>
<name>Gentoo network monitoring and analysis project</name>
</maintainer>
diff --git a/dev-python/pysnmp/pysnmp-4.4.12-r2.ebuild b/dev-python/pysnmp/pysnmp-4.4.12-r2.ebuild
index 82b8ba7502d6..51959b8d4515 100644
--- a/dev-python/pysnmp/pysnmp-4.4.12-r2.ebuild
+++ b/dev-python/pysnmp/pysnmp-4.4.12-r2.ebuild
@@ -3,16 +3,15 @@
EAPI=7
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1 optfeature
+PYTHON_COMPAT=( python3_{9..11} )
+inherit distutils-r1 optfeature pypi
DESCRIPTION="Python SNMP library"
HOMEPAGE="https://pypi.org/project/pysnmp/ https://github.com/etingof/pysnmp"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~ia64 ppc ~sparc x86"
+KEYWORDS="amd64 ~arm arm64 ~ia64 ppc ~sparc x86"
IUSE="doc examples"
RDEPEND="
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..fc9fbb72135f
--- /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..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/pysol_cards/Manifest b/dev-python/pysol_cards/Manifest
deleted file mode 100644
index e8784419c177..000000000000
--- a/dev-python/pysol_cards/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST pysol_cards-0.14.2.tar.gz 18113 BLAKE2B 63704d97598927b600a8f34eb46565e8bf927bc27cd409579de6ac5f4b9154a881b1727c30a61381c169a267b313a4aabfe796a98341208ffb9a8327ca83ec71 SHA512 5e296819ebd6a874175c098b0000524defeb22456bdce961270ecfe26de48fb0d5f5b56eeb3457a12c51f72c9d90abdd35ebaf91244ceaa7d3034caff2b59386
-DIST pysol_cards-0.14.3.tar.gz 18322 BLAKE2B 730da3d597377305c86e528606edd3db9f07390d333283a228c2411d35f2e19da61d27f21e3d2650b84ba0f4b0d48e87cf7004d518845fe2a40b041e286d5a28 SHA512 00bb25393eab855d7444324b33e0561bfbcc86ae53306b58623fa15ea005378aff6af51846aab4634b43fdba5497c3872c32baf3a51013ee01d5ab2d7a7a9d51
diff --git a/dev-python/pysol_cards/pysol_cards-0.14.2.ebuild b/dev-python/pysol_cards/pysol_cards-0.14.2.ebuild
deleted file mode 100644
index 1310817c6113..000000000000
--- a/dev-python/pysol_cards/pysol_cards-0.14.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Deal PySol FreeCell cards"
-HOMEPAGE="https://pypi.org/project/pysol-cards/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/random2[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
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 06e7bde0ebac..000000000000
--- a/dev-python/pysol_cards/pysol_cards-0.14.3.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="Deal PySol FreeCell cards"
-HOMEPAGE="
- https://github.com/shlomif/pysol_cards/
- https://pypi.org/project/pysol-cards/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~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 762afccb68e7..ce788e5aad75 100644
--- a/dev-python/pyspelling/Manifest
+++ b/dev-python/pyspelling/Manifest
@@ -1 +1 @@
-DIST pyspelling-2.8.1.gh.tar.gz 150813 BLAKE2B 53df7ae453180007af08fe3928274f9a468f7d24cc5f00b85efbda0febe9532f7b57805b54c2e28c3580e34de383a249bb293b1f89905d2b09c1a70853d12fd3 SHA512 24e9b03b3f5c911e2cd32a5594813fad5fce3fe5cc8c570fdaf4a025aebe8d02d2b77542d6e940cb03350df3203f1a9961a3f446fd60d66250a3cff7c54534de
+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 f2f1fdc55a35..200c1f52827e 100644
--- a/dev-python/pyspelling/metadata.xml
+++ b/dev-python/pyspelling/metadata.xml
@@ -1,18 +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="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>
<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..012a10ab9750
--- /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..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}]
+"
+# 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.8.1.ebuild b/dev-python/pyspelling/pyspelling-2.8.1.ebuild
deleted file mode 100644
index 0e4fb80a6ac3..000000000000
--- a/dev-python/pyspelling/pyspelling-2.8.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-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/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~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.0.3[${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/pyspf/metadata.xml b/dev-python/pyspf/metadata.xml
index 6cac907df6fb..17e58e6e0d8a 100644
--- a/dev-python/pyspf/metadata.xml
+++ b/dev-python/pyspf/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">sdgathman/pyspf</remote-id>
<remote-id type="pypi">pyspf</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pyspf/pyspf-2.0.14-r3.ebuild b/dev-python/pyspf/pyspf-2.0.14-r3.ebuild
index f6d1034c32ff..1b466cea4b4c 100644
--- a/dev-python/pyspf/pyspf-2.0.14-r3.ebuild
+++ b/dev-python/pyspf/pyspf-2.0.14-r3.ebuild
@@ -4,18 +4,20 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="ipv6(+)"
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Python implementation of the Sender Policy Framework (SPF)"
-HOMEPAGE="https://pypi.org/project/pyspf/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/sdgathman/pyspf/
+ https://pypi.org/project/pyspf/
+"
LICENSE="PSF-2"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 arm64 x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/pyspnego/Manifest b/dev-python/pyspnego/Manifest
index 2dc4412f1c89..1778f3675e87 100644
--- a/dev-python/pyspnego/Manifest
+++ b/dev-python/pyspnego/Manifest
@@ -1,2 +1 @@
-DIST pyspnego-0.6.3.tar.gz 200723 BLAKE2B d8a56681ab76d2d131f078af4cbb686636802bb3d4ffa87d2656d7ee5f3f685936bca3cd03d6801a144d9950c877f0f5717f3f9bb430c5223c89bbcc81eadf38 SHA512 a9a3bf898a77748b5caf2010fef0969397d3b9c9e2e12c7ec6cc8649b476dcaed310259c009a09c33517488ddc15b2daf63b6cf074071e0a6b922a2dbe2e6f60
-DIST pyspnego-0.7.0.tar.gz 219295 BLAKE2B 43a31b468ac52750858c74c676c29611f5294d64efe3b0b4ac31acbd0d3c8fb346fea0c396de98908ea7d03040e0d4b5e3e2adacc911413bfafad8e295fd3bb3 SHA512 0c3eeab267bc43fbc3836d2a804e25304ed245ae3f0bf7926cdfd1edd4815c6f25580c655218857ea117e63b13e0ea3e343614580096151d4d720ff6c79ab844
+DIST pyspnego-0.10.2.tar.gz 222036 BLAKE2B b46c5469e7f764342f1510d54ee307ec57c6d999d2beb013fdc18eb06d56d601b3f035f0a9d9f9f5a656719f19a345ee25ca8664084afac3dd42529ae53dcf4a SHA512 9d5b45a9c4c2c929269f5eceaa05fbe34571e518b289b165049ddb7fd2bb207c7e6074c45216ad0cdf20e4be7bfca2f3d497aba45e2aadceb0b75221edc54f5d
diff --git a/dev-python/pyspnego/pyspnego-0.10.2.ebuild b/dev-python/pyspnego/pyspnego-0.10.2.ebuild
new file mode 100644
index 000000000000..2ead729c77d5
--- /dev/null
+++ b/dev-python/pyspnego/pyspnego-0.10.2.ebuild
@@ -0,0 +1,38 @@
+# 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.6.3.ebuild b/dev-python/pyspnego/pyspnego-0.6.3.ebuild
deleted file mode 100644
index 7391046a331a..000000000000
--- a/dev-python/pyspnego/pyspnego-0.6.3.ebuild
+++ /dev/null
@@ -1,40 +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 optfeature
-
-DESCRIPTION="Library to handle SPNEGO and CredSSP authentication"
-HOMEPAGE="
- https://github.com/jborean93/pyspnego/
- https://pypi.org/project/pyspnego/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/cryptography[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- 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.7.0.ebuild b/dev-python/pyspnego/pyspnego-0.7.0.ebuild
deleted file mode 100644
index 7f2accb1db00..000000000000
--- a/dev-python/pyspnego/pyspnego-0.7.0.ebuild
+++ /dev/null
@@ -1,40 +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 optfeature
-
-DESCRIPTION="Library to handle SPNEGO and CredSSP authentication"
-HOMEPAGE="
- https://github.com/jborean93/pyspnego/
- https://pypi.org/project/pyspnego/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-
-RDEPEND="
- dev-python/cryptography[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- 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 546833d8ba17..b4b7d124685c 100644
--- a/dev-python/pysrt/pysrt-1.1.2-r1.ebuild
+++ b/dev-python/pysrt/pysrt-1.1.2-r1.ebuild
@@ -4,22 +4,34 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
inherit distutils-r1
DESCRIPTION="Python library used to edit or create SubRip files"
-HOMEPAGE="https://github.com/byroot/pysrt https://pypi.org/project/pysrt/"
+HOMEPAGE="
+ https://github.com/byroot/pysrt/
+ https://pypi.org/project/pysrt/
+"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/byroot/pysrt.git"
else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 x86"
+ inherit pypi
+ KEYWORDS="amd64 ~arm arm64 x86"
fi
LICENSE="GPL-3+"
SLOT="0"
-RDEPEND="dev-python/chardet[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+"
distutils_enable_tests pytest
+
+src_prepare() {
+ # https://github.com/byroot/pysrt/commit/93f52f6d4f70f4e18dc71deeaae0ec1e9100a50f
+ sed -i -e 's:assertEquals:assertEqual:' tests/*.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/pysrt/pysrt-9999.ebuild b/dev-python/pysrt/pysrt-9999.ebuild
index 336cccfbdf2c..122ca75948b9 100644
--- a/dev-python/pysrt/pysrt-9999.ebuild
+++ b/dev-python/pysrt/pysrt-9999.ebuild
@@ -4,22 +4,28 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
inherit distutils-r1
DESCRIPTION="Python library used to edit or create SubRip files"
-HOMEPAGE="https://github.com/byroot/pysrt https://pypi.org/project/pysrt/"
+HOMEPAGE="
+ https://github.com/byroot/pysrt/
+ https://pypi.org/project/pysrt/
+"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/byroot/pysrt.git"
else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ inherit pypi
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
fi
LICENSE="GPL-3+"
SLOT="0"
-RDEPEND="dev-python/chardet[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+"
distutils_enable_tests pytest
diff --git a/dev-python/pystache/Manifest b/dev-python/pystache/Manifest
index ba2e3a1cb113..e38962d4433d 100644
--- a/dev-python/pystache/Manifest
+++ b/dev-python/pystache/Manifest
@@ -1 +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 091dba3aa800..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_{9..11} )
-
-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
new file mode 100644
index 000000000000..3c70a630edb7
--- /dev/null
+++ b/dev-python/pystache/pystache-0.6.5.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+distutils_enable_sphinx \
+ docs/source \
+ dev-python/sphinx-rtd-theme \
+ dev-python/recommonmark \
+ dev-python/sphinxcontrib-apidoc
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+src_prepare() {
+ sed -i '/sphinx_git/d' "${S}"/setup.cfg "${S}"/docs/source/conf.py
+ default
+}
diff --git a/dev-python/pysvg/pysvg-0.2.2_p3-r1.ebuild b/dev-python/pysvg/pysvg-0.2.2_p3-r1.ebuild
index 02bdefc85d91..a4d2126bf0cb 100644
--- a/dev-python/pysvg/pysvg-0.2.2_p3-r1.ebuild
+++ b/dev-python/pysvg/pysvg-0.2.2_p3-r1.ebuild
@@ -4,17 +4,14 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYPI_NO_NORMALIZE=1
+PYPI_PN="pysvg-py3"
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
-
-MY_PN="${PN}-py3"
-MY_PV="${PV/_p/.post}"
+inherit distutils-r1 pypi
DESCRIPTION="Python SVG document creation library"
HOMEPAGE="https://github.com/alorence/pysvg-py3"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${MY_PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${MY_PV}"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/pysvn/Manifest b/dev-python/pysvn/Manifest
index 1f2bdeba3f41..38dbec166f84 100644
--- a/dev-python/pysvn/Manifest
+++ b/dev-python/pysvn/Manifest
@@ -1 +1,2 @@
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/pysvn-1.9.18.ebuild b/dev-python/pysvn/pysvn-1.9.18.ebuild
index 172927088e76..e57b794b9f3b 100644
--- a/dev-python/pysvn/pysvn-1.9.18.ebuild
+++ b/dev-python/pysvn/pysvn-1.9.18.ebuild
@@ -14,7 +14,7 @@ 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 ~x86-solaris"
+KEYWORDS="amd64 ~arm ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="doc examples"
DEPEND="
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..f45e97bbd8c2
--- /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_{9..12} )
+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.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/pytables/Manifest b/dev-python/pytables/Manifest
deleted file mode 100644
index ea9d491502ea..000000000000
--- a/dev-python/pytables/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST tables-3.7.0.tar.gz 8227955 BLAKE2B 0d5b7b765375c4787f1210138e5fd02e3c0ce429ef209a3a8d4fd3bc094f68486ab6f4d0a960ce86efea6991ed691ef2a3e9e8f37a49fe91cb8d6372cadea80e SHA512 eaa368d063b5fad87e6d0f9ab6f02da0b2a3542740a52fe8c2bb58e41121495d07b6d2710ad402a28891294aa61a11238c6a7e2cf2933a1bb11391b79cf4fd13
-DIST tables-3.8.0.tar.gz 8014052 BLAKE2B 28d120ad609ebc9ae8cd97286bb3fb9c484bd8a179edcf0de1b96e4400b7a21b4db835d94fae3aaee84924bd46b84b84da12c538b39517362d805651e7aa3aef SHA512 1616c00787a2e88ff3dc2aebe3a1b2ad428b5a8ea48fc94058b49c509f1c040b540b3f62551b16b3246d2fed58e0b33443cbdaaf1dfcba5a6eead5f3e8028029
diff --git a/dev-python/pytables/metadata.xml b/dev-python/pytables/metadata.xml
deleted file mode 100644
index 75a6770d99e4..000000000000
--- a/dev-python/pytables/metadata.xml
+++ /dev/null
@@ -1,24 +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="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <longdescription lang="en">
- PyTables is a hierarchical database package designed to efficently
- manage very large amounts of data. PyTables is built on top of the
- HDF5 library and the NumPy package. It features an object-oriented
- interface that, combined with natural naming and C-code generated
- from Pyrex sources, makes it a fast, yet extremely easy to use tool
- for interactively save and retrieve large amounts of data.
- </longdescription>
- <upstream>
- <remote-id type="github">PyTables/PyTables</remote-id>
- <remote-id type="pypi">tables</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pytables/pytables-3.7.0.ebuild b/dev-python/pytables/pytables-3.7.0.ebuild
deleted file mode 100644
index 7a9cfcf16d80..000000000000
--- a/dev-python/pytables/pytables-3.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-MY_PN=tables
-MY_P=${MY_PN}-${PV}
-inherit distutils-r1
-
-DESCRIPTION="Hierarchical datasets for Python"
-HOMEPAGE="https://www.pytables.org/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="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/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}]"
-BDEPEND="
- >=dev-python/cython-0.21[${PYTHON_USEDEP}]
- virtual/pkgconfig
- test? (
- ${RDEPEND}
- )
-"
-
-python_prepare_all() {
- export {BLOSC,BZIP2,LZO,HDF5}_DIR="${ESYSROOT}"/usr
- export PYTABLES_NO_EMBEDDED_LIBS=1
- export USE_PKGCONFIG=TRUE
-
- rm tables/*.c || die
- sed -e "s:/usr:${EPREFIX}/usr:g" \
- -i setup.py || die
- rm -r c-blosc/{blosc,internal-complibs} || die
- sed -i -e '/_version/ s/\\s\*/\\s\+/' setup.py || die
- 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/pytables/pytables-3.8.0-r1.ebuild b/dev-python/pytables/pytables-3.8.0-r1.ebuild
deleted file mode 100644
index 82c5e17e7ae0..000000000000
--- a/dev-python/pytables/pytables-3.8.0-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
-
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 prefix
-
-MY_PN=tables
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Hierarchical datasets for Python"
-HOMEPAGE="
- https://www.pytables.org/
- https://github.com/PyTables/PyTables/
- https://pypi.org/project/tables/
-"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="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}]
- dev-python/py-cpuinfo[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/cython-0.21[${PYTHON_USEDEP}]
- dev-python/py-cpuinfo[${PYTHON_USEDEP}]
- virtual/pkgconfig
- test? (
- ${RDEPEND}
- )
-"
-
-python_prepare_all() {
- local PATCHES=(
- "${FILESDIR}"/${P}-blosc2.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/pyte/Manifest b/dev-python/pyte/Manifest
index 65d87f2c846d..e02f40ac84f1 100644
--- a/dev-python/pyte/Manifest
+++ b/dev-python/pyte/Manifest
@@ -1 +1 @@
-DIST pyte-0.8.1.gh.tar.gz 92220 BLAKE2B f4f803ecbf9bc62936ea499929b7fb976c14ee09fe00ee56d5499bb2543a6ac769dd7c87e177c297bbf8ab082c34f154a26daf3a1c84917249400b09556c2b80 SHA512 f49d9394cca92c27fdd5319bdce164d5cac63b77d13156de7105bee6087a615e844fafa8507089c8bf6cf31a796cc858a3ccf597aa23cfa595d0d9e0adfab5d4
+DIST pyte-0.8.2.gh.tar.gz 94352 BLAKE2B 70b8e580b0fffee7c61dcf1b0538751584a405d2c46db6cedb3d6fe1b13a00a7b4c84495e49b0facb2644a22c4021ce6f1a4c91bb8016198e2c779ae0437157b SHA512 6b70f16062a6099fe9ef6f6bb789c18ffe7c0003c48877fd32b68a6cb8fd911e8688118663e7a1af60c5c3e04a55504a40953d2e5814376872ce1afcc64e0bb8
diff --git a/dev-python/pyte/pyte-0.8.1.ebuild b/dev-python/pyte/pyte-0.8.1.ebuild
deleted file mode 100644
index 0692ad3b1ce4..000000000000
--- a/dev-python/pyte/pyte-0.8.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple VTXXX-compatible terminal emulator"
-HOMEPAGE="https://pypi.org/project/pyte/ https://github.com/selectel/pyte"
-SRC_URI="
- https://github.com/selectel/pyte/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-SLOT="0"
-LICENSE="LGPL-3"
-KEYWORDS="amd64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/wcwidth[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # run pytest directly for tests
- sed -i '/setup_requires=\["pytest-runner"\]/d' setup.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/pyte/pyte-0.8.2.ebuild b/dev-python/pyte/pyte-0.8.2.ebuild
new file mode 100644
index 000000000000..56b5025b1938
--- /dev/null
+++ b/dev-python/pyte/pyte-0.8.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Simple VTXXX-compatible terminal emulator"
+HOMEPAGE="
+ https://pypi.org/project/pyte/
+ https://github.com/selectel/pyte/
+"
+SRC_URI="
+ https://github.com/selectel/pyte/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+SLOT="0"
+LICENSE="LGPL-3"
+KEYWORDS="amd64 arm64 ~riscv x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # run pytest directly for tests
+ sed -i '/setup_requires/d' setup.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/pytesseract/Manifest b/dev-python/pytesseract/Manifest
index cac470d1e9e7..f0828998a666 100644
--- a/dev-python/pytesseract/Manifest
+++ b/dev-python/pytesseract/Manifest
@@ -1 +1 @@
-DIST pytesseract-0.3.10.tar.gz 1098547 BLAKE2B d89f9082d8c7236b97bb96441809a19f494aacd23d4c02d5b7fb1b742616e7b26c249d49fceecc4f652792cdc3d7f2a79cd580a3360157f81205ff04d65afb10 SHA512 de77f0497c2bf60c1febf439ed13f0a8978aa23df76aadb789f8151177b73f45229799bd6b236aa7356a5145064f892e5b528a2d5a396849348f5b22f4343e16
+DIST pytesseract-0.3.12.gh.tar.gz 1099117 BLAKE2B 07fa50a552347a0f6be536933b98056c78d96e7317a9eb325faa5b4a1a2ef66bd2936ab17ca0abe2e56a0c1da75ca675f2a3c5260fc2882072d6535b78b519dc SHA512 931fcd03a7682cbebc42b1452519ef05ef4c931a47a4364841e0fc5861c9dd9f90ffe38f3211ed3846788dc29eefbc9aba2bbf2af30fb3816abdfcaaa6757365
diff --git a/dev-python/pytesseract/metadata.xml b/dev-python/pytesseract/metadata.xml
index 2f762d632807..a59128537ce9 100644
--- a/dev-python/pytesseract/metadata.xml
+++ b/dev-python/pytesseract/metadata.xml
@@ -19,5 +19,6 @@
</longdescription>
<upstream>
<remote-id type="github">madmaze/pytesseract</remote-id>
+ <remote-id type="pypi">pytesseract</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pytesseract/pytesseract-0.3.10.ebuild b/dev-python/pytesseract/pytesseract-0.3.10.ebuild
deleted file mode 100644
index 2b03fc11b4a8..000000000000
--- a/dev-python/pytesseract/pytesseract-0.3.10.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..10} )
-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"
-
-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.12.ebuild b/dev-python/pytesseract/pytesseract-0.3.12.ebuild
new file mode 100644
index 000000000000..31afc8cd11de
--- /dev/null
+++ b/dev-python/pytesseract/pytesseract-0.3.12.ebuild
@@ -0,0 +1,38 @@
+# 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="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/pytest-aiohttp/Manifest b/dev-python/pytest-aiohttp/Manifest
index 006695422700..3e84a8add509 100644
--- a/dev-python/pytest-aiohttp/Manifest
+++ b/dev-python/pytest-aiohttp/Manifest
@@ -1 +1 @@
-DIST pytest-aiohttp-1.0.4.tar.gz 11868 BLAKE2B d964fe29ebe10e80391ebcbe4fc73bf37e2d8568c4d7679493ce68392b5722d75735798a78f388134d60b9c922bac116b0d453cabae5a95fc06c4288cc5d4c8e SHA512 baf87e3aa229e8a4ab6746d277a923436ad2e0625825581c94a2fb0a9bbcd309bfc55186f8866589b65a75ccfd7d5b494d71554359724c0b2c9541ea94a177d8
+DIST pytest-aiohttp-1.0.5.tar.gz 12209 BLAKE2B b02154239a6073bafac3d8be70a7ae8ff13fefdd09941db558c0b1ad31d14c5e29131209f157ab418202852a2d97f151d765cfffe0de06aac57f0c983ea99518 SHA512 b8421c63e4d5caa9742a013a6d1fd3c010b5e4a48e4f5c1a07ddfb7b05853ce6a7a0d65ce78493fd607f59c669d31c75d97a9022048e6a60cbc90a19a48dd02c
diff --git a/dev-python/pytest-aiohttp/pytest-aiohttp-1.0.4.ebuild b/dev-python/pytest-aiohttp/pytest-aiohttp-1.0.4.ebuild
deleted file mode 100644
index bdb197ef483c..000000000000
--- a/dev-python/pytest-aiohttp/pytest-aiohttp-1.0.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="pytest plugin for aiohttp support"
-HOMEPAGE="
- https://github.com/aio-libs/pytest-aiohttp/
- https://pypi.org/project/pytest-aiohttp/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.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/aiohttp-3.8.1[${PYTHON_USEDEP}]
- >=dev-python/pytest-6.1.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-asyncio-0.17.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools_scm-6.2[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # warning doesn't seem to be emitted for some reason
- # doesn't look very important
- tests/test_obsolete_fixtures.py::test_loop_fixture
-)
diff --git a/dev-python/pytest-aiohttp/pytest-aiohttp-1.0.5.ebuild b/dev-python/pytest-aiohttp/pytest-aiohttp-1.0.5.ebuild
new file mode 100644
index 000000000000..5156acdaadbd
--- /dev/null
+++ b/dev-python/pytest-aiohttp/pytest-aiohttp-1.0.5.ebuild
@@ -0,0 +1,37 @@
+# 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 for aiohttp support"
+HOMEPAGE="
+ https://github.com/aio-libs/pytest-aiohttp/
+ https://pypi.org/project/pytest-aiohttp/
+"
+
+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/aiohttp-3.8.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.17.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # warning doesn't seem to be emitted for some reason
+ # doesn't look very important
+ tests/test_obsolete_fixtures.py::test_loop_fixture
+)
diff --git a/dev-python/pytest-asyncio/Manifest b/dev-python/pytest-asyncio/Manifest
index 3126a82035ec..607d9e7c19a0 100644
--- a/dev-python/pytest-asyncio/Manifest
+++ b/dev-python/pytest-asyncio/Manifest
@@ -1 +1 @@
-DIST pytest-asyncio-0.20.3.gh.tar.gz 27695 BLAKE2B 6e6f0d58d0f985cee9dc0b27f886d0b1b4b54ecbf4980c4ac59b420d6e6e5c01d1c6f3c9ed803391910124f19ee3a882c963f10e5f6bab6de6115bfa222c8be2 SHA512 78a6e251db80696d6f62a54c8d6836e2a820f27efdaa848eb1be512a1592d3bd3fb7c7eee46bb2039a317a8d431565614c888f8436fbe0d4eb60534ce4780e90
+DIST pytest-asyncio-0.23.6.tar.gz 46203 BLAKE2B 37dd3cafa2c77b0dd04a6f406e9e83705b31a98eb058fef02ad6d917cb291874dac0388a129bce5d80954fe8dd0a28fbe9e2b94dabc2ff59a1a055154b908cce SHA512 24ec7fef2f1db744c743c4da651106320d02e8a83af0a238f6335ef669751e541b7fa787fd007fd7208f1837c1cb684acdecd66ee5e022501a7aad97649fdfbe
diff --git a/dev-python/pytest-asyncio/pytest-asyncio-0.20.3.ebuild b/dev-python/pytest-asyncio/pytest-asyncio-0.20.3.ebuild
deleted file mode 100644
index 62f8703f9963..000000000000
--- a/dev-python/pytest-asyncio/pytest-asyncio-0.20.3.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Library for testing asyncio code with pytest"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-asyncio/
- https://pypi.org/project/pytest-asyncio/
-"
-SRC_URI="
- https://github.com/pytest-dev/pytest-asyncio/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"
-
-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
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-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
-)
-
-python_test() {
- 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.6.ebuild b/dev-python/pytest-asyncio/pytest-asyncio-0.23.6.ebuild
new file mode 100644
index 000000000000..a1a22d27efb3
--- /dev/null
+++ b/dev-python/pytest-asyncio/pytest-asyncio-0.23.6.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=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
+
+ # 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 87ee14c087f0..9e28e80cea5b 100644
--- a/dev-python/pytest-bdd/Manifest
+++ b/dev-python/pytest-bdd/Manifest
@@ -1 +1 @@
-DIST pytest-bdd-6.1.1.gh.tar.gz 79549 BLAKE2B 0de77a2a46c852dcd7b344b385deea6473ec32dfec2eec610ae04d9d192d42eaf7aa3b1455549dc602e46c24edf078c558f2564aa9dd7f42a2beea36458438ea SHA512 69cd345d4a819a84a811ca2a5825f87a46fa4d063b9a852308d36e4f15058a27c45b170dadf684e68322d3380654f985b8ef153e34ad42ef33e0b595f8dc9d96
+DIST pytest-bdd-7.1.2.gh.tar.gz 81260 BLAKE2B 5120a79a5c085976f379afbd4ae7bc68c0d07a8517b6653bb2c94407b9964cd3adcfc92e8abc31cb658caa5c108e0590913c13cbcc408021841b91dbf52b8124 SHA512 7630b119649502e36d7ae2b6027c11b667513eab451511104076617e50de1456ee4b2ff128254ac0db630556258704e21e2a5e73ce9afc20ed403d0186c0a226
diff --git a/dev-python/pytest-bdd/pytest-bdd-6.1.1.ebuild b/dev-python/pytest-bdd/pytest-bdd-6.1.1.ebuild
deleted file mode 100644
index 034a74053f92..000000000000
--- a/dev-python/pytest-bdd/pytest-bdd-6.1.1.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_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="BDD library for the pytest runner"
-HOMEPAGE="https://pypi.org/project/pytest-bdd/"
-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.1.2.ebuild b/dev-python/pytest-bdd/pytest-bdd-7.1.2.ebuild
new file mode 100644
index 000000000000..51e3319ece59
--- /dev/null
+++ b/dev-python/pytest-bdd/pytest-bdd-7.1.2.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..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/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 d3bcbe1392b6..70bfe4e5dd87 100644
--- a/dev-python/pytest-check/Manifest
+++ b/dev-python/pytest-check/Manifest
@@ -1,5 +1 @@
-DIST pytest-check-1.3.0.tar.gz 23763 BLAKE2B 95f98c679aed6bd1a16ffb72a4da0e0177d83c785343aa8c102c1e31f2a148fe78bf3aa49630bebf1b05a338dd9d2d075eb02ef1dff8e63175af22cf3f194ed7 SHA512 4c513f01d2f7a9302afdb3be7ff3f9da6f3b0af8469bab85bb103a6a16b4955c238251b2c46643d71d18c1476976cb5e49ee3c63d6752c8ac2591e14cda9db34
-DIST pytest-check-2.0.0.tar.gz 24825 BLAKE2B b1398dd98d90b9ba26cdda7776a63db8afc1ddae4cda4663fd46746d496631fea34bf0a2abac83c959bd838f60162ccbbdc08ee894c2faf663eded16f801cde4 SHA512 d031c91c6e0e65a90b8ca7bc6809814de861d8656ad9cdebc878079ef82e852b1de07b8144eb3827ed452c7d67b94d89b49917f701b5f04f081cfe4353fd50b3
-DIST pytest-check-2.1.0.tar.gz 25849 BLAKE2B 4b5fe598cdd395f153abd6cab90c729d0a70eb31ff95fe8eaccc7c1378e20adde65b9c1e35dd961bba2aede040652f97ac81d7fdaed4dd21d1ed44c340ea948f SHA512 503aee4eafab43dbe882f7d4ca63a63d4c3df78d691fc057de4bee72e2d2e61bb694c7c412b915e4019c052e34f9d80e02e03bf2be2c58c4c48b59e354a03763
-DIST pytest-check-2.1.1.tar.gz 26004 BLAKE2B 382931f4bc1f86106a0296b1a33d604976b6ad6933bb71e27e406af21bc87f6915cca7d383d0ec84cae0dc9e747d335c31005e0b22ba20514d5dafe1bc957d58 SHA512 8a12f6d5ae60204b55d8282c88558678b7676d0e0436a7d1d28e65783a367db6efb68ff8105cb4293c5d52db5f5a8510d726b387a86351421c6ff9f023cde88a
-DIST pytest-check-2.1.2.tar.gz 26152 BLAKE2B 75b58b97cb78f297614f6dce62662ee974e899846d896fa4e1d6ee5aa1e916e8c1d363a8de19fe842263702a94cb6e58519639bca82ac98d17ab596b724e98bd SHA512 1b5532e9473067db819e7d0ded5b8e681197c052b83909920eee0fc45c48047b849f513e6ad77d94e0fa06c9eb00845ec3f3ad7f38f3e90d80d82d7460d0d35a
+DIST pytest_check-2.3.1.tar.gz 28674 BLAKE2B 732538aec690d121132a0594a49b77658eb8be79d6e59bacae1d13ea38e59dd3e4b55c62fc07741e08621dda271d7d2284f825770a2acef7d5b0c80c80e79beb SHA512 b4a2805b7dc3dfe9f56db6f27a9e4927de070d57bf3906f303c611021081d7b638d9ee58de744491005e10541f527f1bfddaf51be64f2def8a1190cfd1abd43a
diff --git a/dev-python/pytest-check/pytest-check-1.3.0.ebuild b/dev-python/pytest-check/pytest-check-1.3.0.ebuild
deleted file mode 100644
index b5d97d7f8762..000000000000
--- a/dev-python/pytest-check/pytest-check-1.3.0.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_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="pytest plugin that allows multiple failures per test"
-HOMEPAGE="
- https://github.com/okken/pytest-check/
- https://pypi.org/project/pytest-check/
-"
-SRC_URI="mirror://pypi/${P::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="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.0.0.ebuild b/dev-python/pytest-check/pytest-check-2.0.0.ebuild
deleted file mode 100644
index 193ca777aa94..000000000000
--- a/dev-python/pytest-check/pytest-check-2.0.0.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_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="pytest plugin that allows multiple failures per test"
-HOMEPAGE="
- https://github.com/okken/pytest-check/
- https://pypi.org/project/pytest-check/
-"
-SRC_URI="mirror://pypi/${P::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~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.1.0.ebuild b/dev-python/pytest-check/pytest-check-2.1.0.ebuild
deleted file mode 100644
index 193ca777aa94..000000000000
--- a/dev-python/pytest-check/pytest-check-2.1.0.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_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="pytest plugin that allows multiple failures per test"
-HOMEPAGE="
- https://github.com/okken/pytest-check/
- https://pypi.org/project/pytest-check/
-"
-SRC_URI="mirror://pypi/${P::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~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.1.1.ebuild b/dev-python/pytest-check/pytest-check-2.1.1.ebuild
deleted file mode 100644
index 193ca777aa94..000000000000
--- a/dev-python/pytest-check/pytest-check-2.1.1.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_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="pytest plugin that allows multiple failures per test"
-HOMEPAGE="
- https://github.com/okken/pytest-check/
- https://pypi.org/project/pytest-check/
-"
-SRC_URI="mirror://pypi/${P::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~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.1.2.ebuild b/dev-python/pytest-check/pytest-check-2.1.2.ebuild
deleted file mode 100644
index 193ca777aa94..000000000000
--- a/dev-python/pytest-check/pytest-check-2.1.2.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_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="pytest plugin that allows multiple failures per test"
-HOMEPAGE="
- https://github.com/okken/pytest-check/
- https://pypi.org/project/pytest-check/
-"
-SRC_URI="mirror://pypi/${P::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~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..19cee8582430
--- /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..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-7.0.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-codeblocks/Manifest b/dev-python/pytest-codeblocks/Manifest
index 23156e782aff..2279b509d24b 100644
--- a/dev-python/pytest-codeblocks/Manifest
+++ b/dev-python/pytest-codeblocks/Manifest
@@ -1 +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/metadata.xml b/dev-python/pytest-codeblocks/metadata.xml
index 5e068555e020..d3c21cb385ac 100644
--- a/dev-python/pytest-codeblocks/metadata.xml
+++ b/dev-python/pytest-codeblocks/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>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
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
new file mode 100644
index 000000000000..c13e911c07cc
--- /dev/null
+++ b/dev-python/pytest-codeblocks/pytest-codeblocks-0.17.0.ebuild
@@ -0,0 +1,33 @@
+# 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="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 ~arm64 ~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-console-scripts/Manifest b/dev-python/pytest-console-scripts/Manifest
index 90c710e59c7f..e92adb7031ca 100644
--- a/dev-python/pytest-console-scripts/Manifest
+++ b/dev-python/pytest-console-scripts/Manifest
@@ -1 +1 @@
-DIST pytest-console-scripts-1.3.1.tar.gz 14238 BLAKE2B 2c00af468d19500078f48ca38d20430ed426e66b2277b7ad233356969d2a72d51cf60e90a46ae7808e6d33172fa053cc34d45b1f618d866dd14e917e6b225935 SHA512 344e9379976d9a7541f9683f7646b47f7fc25d2ab8d941351811ada7fddd77497cc24f4bc6a6d5ab9388dd5b289ed125bcbfad869009fb3b80aaaa1b951d656d
+DIST pytest-console-scripts-1.4.1.tar.gz 20994 BLAKE2B b29ca597735e912b63abbc0dff29333bc5ab8e2882432dcec0ff92f5637b9a93e68359de8f1ad7885e6673d44d4c5515d832cff1a80aaa7f3eaeb875394418eb SHA512 b96def518a8c2930f092f68c1ba4a0ea55757c38cfa9dd39dd0ffdc54127bca3a2333c39159d7723ad1b412047244fde08753652e1945509b80dcbfa00dacfbb
diff --git a/dev-python/pytest-console-scripts/pytest-console-scripts-1.3.1.ebuild b/dev-python/pytest-console-scripts/pytest-console-scripts-1.3.1.ebuild
deleted file mode 100644
index 2eb858329ee4..000000000000
--- a/dev-python/pytest-console-scripts/pytest-console-scripts-1.3.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pytest plugin for testing console scripts"
-HOMEPAGE="https://github.com/kvas-it/pytest-console-scripts"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/pytest-4.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local script="${BUILD_DIR}/install${EPREFIX}/usr/bin/pytest"
- cat > "${script}" <<-EOF
- #!/usr/bin/env python
- import pytest
- import sys
- sys.exit(pytest.console_main())
- EOF
- chmod +x "${script}" || die
- epytest -x
- rm "${script}" || die
-}
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
new file mode 100644
index 000000000000..bd38d6343090
--- /dev/null
+++ b/dev-python/pytest-console-scripts/pytest-console-scripts-1.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_NO_NORMALIZE=1
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pytest plugin for testing console scripts"
+HOMEPAGE="https://github.com/kvas-it/pytest-console-scripts"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/pytest-4.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local script="${BUILD_DIR}/install${EPREFIX}/usr/bin/pytest"
+ cat > "${script}" <<-EOF
+ #!/usr/bin/env python
+ import pytest
+ import sys
+ sys.exit(pytest.console_main())
+ EOF
+ chmod +x "${script}" || die
+ 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 69d38d493d4b..5e6613bf2053 100644
--- a/dev-python/pytest-cov/Manifest
+++ b/dev-python/pytest-cov/Manifest
@@ -1 +1 @@
-DIST pytest-cov-4.0.0.tar.gz 62013 BLAKE2B af8a12955e3f22cd9dc257874f86c04c3c6e29f4af2d2838f37ca196c4955dcf4007c7b404f31c303d0eef6c3735fa1a6268c3bb9f01ed54860750ca2f83b6f5 SHA512 fb993be4d86b29a44e4f2ccd2309d99ab9fe8e6b291abbc2a8a3fc8b36479491165a242a20bfa9886dfd296fcc827da9984b556fdbe9a3ac496ac5b6ba379012
+DIST pytest-cov-5.0.0.tar.gz 63042 BLAKE2B 6a0f3b38bbf6ae8843d804d078b3879e76ef146ba1bee2eb068bffe560332984994a8405964be185b2ededc2c8231288e609573c5a83143147eeb537659da1e5 SHA512 384459cafdb800711b935899acc3716f5fcbc28b40be0e168e58333603b1dea474bbd7a92f09b6afbe2f9dc1ce8599668a787c0f93884c263af894f44311a4a6
diff --git a/dev-python/pytest-cov/pytest-cov-4.0.0-r1.ebuild b/dev-python/pytest-cov/pytest-cov-4.0.0-r1.ebuild
deleted file mode 100644
index 3fca17c83eff..000000000000
--- a/dev-python/pytest-cov/pytest-cov-4.0.0-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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="pytest plugin for coverage reporting"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-cov/
- https://pypi.org/project/pytest-cov/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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 EPYTEST_DESELECT=(
- # attempts to install packages via pip (network)
- tests/test_pytest_cov.py::test_dist_missing_data
- # TODO
- tests/test_pytest_cov.py::test_contexts
- )
-
- 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}/coverage" \
- "${BUILD_DIR}/install$(python_get_sitedir)/coverage" || die
-
- epytest
-
- rm "${BUILD_DIR}/install$(python_get_sitedir)/coverage" || die
-}
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/Manifest b/dev-python/pytest-custom-exit-code/Manifest
new file mode 100644
index 000000000000..21949871acfd
--- /dev/null
+++ b/dev-python/pytest-custom-exit-code/Manifest
@@ -0,0 +1 @@
+DIST pytest-custom-exit-code-0.3.0.gh.tar.gz 11147 BLAKE2B 1ffbd021f9b637de19bccc7f6fe41048b6fc600236a29faa2e9729c814ce42c8d08ec19f29de4852ec3f82f6ec850740f5bb2c7119e047c2498edbed2c8bb6dd SHA512 6b412866d60580908d6e53829ca7c5661a7a7ff4927f014e8765315da6152c1e459b5076874a11c54f7b90e7a0480011d80d883d51f437a1780ad8442366e3a5
diff --git a/dev-python/pytest-custom-exit-code/metadata.xml b/dev-python/pytest-custom-exit-code/metadata.xml
new file mode 100644
index 000000000000..7205210a2a24
--- /dev/null
+++ b/dev-python/pytest-custom-exit-code/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">pytest-custom-exit-code</remote-id>
+ <remote-id type="github">yashtodi94/pytest-custom_exit_code</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..a34aec63857e
--- /dev/null
+++ b/dev-python/pytest-custom-exit-code/pytest-custom-exit-code-0.3.0.ebuild
@@ -0,0 +1,39 @@
+# 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
+
+MY_PN=${PN//-/_}
+MY_PN=${MY_PN/_/-}
+
+DESCRIPTION="Exit pytest test session with custom exit code in different scenarios"
+HOMEPAGE="
+ https://pypi.org/project/pytest-custom-exit-code/
+ https://github.com/yashtodi94/pytest-custom_exit_code
+"
+
+SRC_URI="https://github.com/yashtodi94/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-7.0.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest tests
+}
diff --git a/dev-python/pytest-datadir/Manifest b/dev-python/pytest-datadir/Manifest
index b31186d8b5e9..b311b359dfa3 100644
--- a/dev-python/pytest-datadir/Manifest
+++ b/dev-python/pytest-datadir/Manifest
@@ -1 +1 @@
-DIST pytest-datadir-1.4.1.tar.gz 7862 BLAKE2B 6ecd0ba76706c2fedf5964b3f6476176b2eb858fff9207b6286f6235d13c173f62fd03abeab2f5e5fd31506ee436c731d9786fe7937620bb1de08bb50f7b492d SHA512 e9a301004275235787de11242fe987665e4fcc89ca2d1168b27686f4d1506e506bdd517658edcbf2aca97b28dcb1869653e16412157b8ef313c1d4146f8cf4d8
+DIST pytest-datadir-1.5.0.tar.gz 8821 BLAKE2B 68250c0100492c501b2752930cc6668a50233a7be08eeec56b99993c2bc21a13a2f6e2a2bd066dd52d58d219cd63b22f0a63fe51b7e16f80dd919f835994b5cd SHA512 6a91bbd7d1ac133c08d5aad3d9b7fa55b9c81dfea1ca5c18f8c9a90a60db4a1e5c09584a4ad0d420007162c507b91d6769a692057ef5be8eb44af6cbd5704f0c
diff --git a/dev-python/pytest-datadir/metadata.xml b/dev-python/pytest-datadir/metadata.xml
index e9b068b02797..e6acb63c0415 100644
--- a/dev-python/pytest-datadir/metadata.xml
+++ b/dev-python/pytest-datadir/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>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/pytest-datadir/pytest-datadir-1.4.1.ebuild b/dev-python/pytest-datadir/pytest-datadir-1.4.1.ebuild
deleted file mode 100644
index 8bd2df0e2531..000000000000
--- a/dev-python/pytest-datadir/pytest-datadir-1.4.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Pytest plugin for manipulating test data directories and files"
-HOMEPAGE="
- https://github.com/gabrielcnr/pytest-datadir/
- https://pypi.org/project/pytest-datadir/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/pytest[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-datadir/pytest-datadir-1.5.0.ebuild b/dev-python/pytest-datadir/pytest-datadir-1.5.0.ebuild
new file mode 100644
index 000000000000..18071bf80034
--- /dev/null
+++ b/dev-python/pytest-datadir/pytest-datadir-1.5.0.ebuild
@@ -0,0 +1,29 @@
+# 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 for manipulating test data directories and files"
+HOMEPAGE="
+ https://github.com/gabrielcnr/pytest-datadir/
+ https://pypi.org/project/pytest-datadir/
+"
+
+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="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-datafiles/Manifest b/dev-python/pytest-datafiles/Manifest
new file mode 100644
index 000000000000..dffc6036a7e7
--- /dev/null
+++ b/dev-python/pytest-datafiles/Manifest
@@ -0,0 +1 @@
+DIST pytest-datafiles-3.0.0.gh.tar.gz 69479 BLAKE2B 26838e819f386d78eddaa90b00588bc9c72eb94521ab7bf501bd0aa681c7149827332f5d1530950f07b8419276735600c64cc87904e59929941d7a48f730e90b SHA512 8fe42d10b4e96e6df89a448e6b2f929973ce20d9d7c509afb87adb230b1dae17f098540277432ab107575c6c44c34d353fb8c1213d5ed941a3025b524249394d
diff --git a/dev-python/pytest-datafiles/metadata.xml b/dev-python/pytest-datafiles/metadata.xml
new file mode 100644
index 000000000000..6556c9854a3c
--- /dev/null
+++ b/dev-python/pytest-datafiles/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">omarkohl/pytest-datafiles</remote-id>
+ <remote-id type="pypi">pytest-datafiles</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild b/dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild
new file mode 100644
index 000000000000..172d173224f9
--- /dev/null
+++ b/dev-python/pytest-datafiles/pytest-datafiles-3.0.0.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=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Create a 'tmp_path' containing predefined files/directories"
+HOMEPAGE="
+ https://github.com/omarkohl/pytest-datafiles/
+ https://pypi.org/project/pytest-datafiles/
+"
+SRC_URI="
+ https://github.com/omarkohl/pytest-datafiles/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-3.6[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-describe/Manifest b/dev-python/pytest-describe/Manifest
index 06e4322f13c3..2a8fd7aaa2d9 100644
--- a/dev-python/pytest-describe/Manifest
+++ b/dev-python/pytest-describe/Manifest
@@ -1 +1 @@
-DIST pytest-describe-2.0.1.tar.gz 9793 BLAKE2B e7816cbc68e1ed1e2686ce3437cd0f59a52191d5413dbc9e0d6f9530a57728ad0917d86680b91228aa55ce689bc16c4da83595f87d82f9be9c4ce222c46fefea SHA512 c74362d5f1b0f3ff6d35d9049e82b7dc54be6755f1daa13366c47dee1ab9f1b1085d8c9719952d75c3c6c58b76a2c5f6b0162c78e53da71fe09bd91ed27f6bf2
+DIST pytest-describe-2.2.0.tar.gz 10907 BLAKE2B 1a99cf3060b36caa44fba91d71ae2e66d13dd68c397c1469af1b93f5fee93ace9ef52d985fdd04c46805ab7d50be3f5af1344cec8b8c1d88f4c752d2afa6f58f SHA512 d4bb79edeeb7169deeabbc7f98700b8084f14ba7596c523a52634637cdb642a76a203b15b6c40b23c08de578dafe43a232f39bbc55caee23aeca61558e51cdc9
diff --git a/dev-python/pytest-describe/pytest-describe-2.0.1-r1.ebuild b/dev-python/pytest-describe/pytest-describe-2.0.1-r1.ebuild
deleted file mode 100644
index 3cb8977a42b0..000000000000
--- a/dev-python/pytest-describe/pytest-describe-2.0.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Describe-style plugin for pytest"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-describe/
- https://pypi.org/project/pytest-describe/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"
-
-RDEPEND="
- >=dev-python/pytest-2.6.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/py[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- # We need to disable some plugins because tests don't like unexpected
- # output
- PYTEST_ADDOPTS="-p no:flaky -p no:capturelog" 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..1fc6441bd2c0
--- /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..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-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 b68b63a733a0..d7ff8ae7054b 100644
--- a/dev-python/pytest-django/Manifest
+++ b/dev-python/pytest-django/Manifest
@@ -1 +1 @@
-DIST pytest-django-4.5.2.gh.tar.gz 75429 BLAKE2B 2e8fba037c7618c6dd1c9200c5c44a7b00a13a2d70b4a593a461af3dbc0333b6814ceca16f88a58f1b6aeea2700cac12b589ede702b8eaf023fb3948e0ab8b9a SHA512 09ed5bfe850599e95190d9b15e9383d1249ea575a7b3921744583da6266dd2c8d3eb4f93c8de96d98e1a8e33d1639937470cdc6d11558fcaea57d014dce13500
+DIST pytest-django-4.8.0.gh.tar.gz 77646 BLAKE2B 206357110066d233c103755cfd6324e8042d9c93442c25db17a13f02132eab60a315856441e26d43a3c493cf72ce39ef51163ccc5368941875e63656bf9122a7 SHA512 8f7ba6b28cc4c0347876beb85247ccd021767811b9122c8cd0fb5d051df4ae76267b27a3fee5c36882a40716bdcbaab43abf71ef8dd61757087b12fd141632aa
diff --git a/dev-python/pytest-django/files/pytest-django-4.5.2-pytest-7.patch b/dev-python/pytest-django/files/pytest-django-4.5.2-pytest-7.patch
deleted file mode 100644
index 657e5fa617a2..000000000000
--- a/dev-python/pytest-django/files/pytest-django-4.5.2-pytest-7.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-https://github.com/pytest-dev/pytest-django/commit/14b993d1cb291bfcf05f35f57db55c0419886534
-https://bugs.gentoo.org/834815
-
-From 14b993d1cb291bfcf05f35f57db55c0419886534 Mon Sep 17 00:00:00 2001
-From: Stanislav Levin <slev@altlinux.org>
-Date: Mon, 28 Feb 2022 13:12:37 +0300
-Subject: [PATCH] tests: Sync expected stream for Pytest's version
-
-https://docs.pytest.org/en/7.0.x/changelog.html#breaking-changes:
-> [pytest#8246](https://github.com/pytest-dev/pytest/issues/8246): --version now writes version information to stdout rather than stderr.
-
-Fixes: https://github.com/pytest-dev/pytest-django/issues/995
-Signed-off-by: Stanislav Levin <slev@altlinux.org>
---- a/tests/test_manage_py_scan.py
-+++ b/tests/test_manage_py_scan.py
-@@ -118,7 +118,12 @@ def test_django_project_found_invalid_settings_version(django_testdir, monkeypat
-
- result = django_testdir.runpytest_subprocess("django_project_root", "--version", "--version")
- assert result.ret == 0
-- result.stderr.fnmatch_lines(["*This is pytest version*"])
-+ if hasattr(pytest, "version_tuple") and pytest.version_tuple >= (7, 0):
-+ version_out = result.stdout
-+ else:
-+ version_out = result.stderr
-+
-+ version_out.fnmatch_lines(["*This is pytest version*"])
-
- result = django_testdir.runpytest_subprocess("django_project_root", "--help")
- assert result.ret == 0
-
diff --git a/dev-python/pytest-django/pytest-django-4.5.2.ebuild b/dev-python/pytest-django/pytest-django-4.5.2.ebuild
deleted file mode 100644
index 45eb348d357d..000000000000
--- a/dev-python/pytest-django/pytest-django-4.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="A Django plugin for py.test"
-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/django[${PYTHON_USEDEP}]
- >=dev-python/pytest-5.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools_scm-1.11.1[${PYTHON_USEDEP}]
- test? (
- dev-python/django-configurations[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-pytest-7.patch
-)
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-distutils_enable_tests --install pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # something else may be loading it
- tests/test_django_settings_module.py::test_django_not_loaded_without_settings
- )
-
- distutils_install_for_testing
- cp -r pytest_django_test "${TEST_DIR}"/lib || die
-
- local -x DJANGO_SETTINGS_MODULE
- 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..51518b8bb570
--- /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..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 ~loong ~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-env/Manifest b/dev-python/pytest-env/Manifest
index 44208bd460a6..15b015fec5c5 100644
--- a/dev-python/pytest-env/Manifest
+++ b/dev-python/pytest-env/Manifest
@@ -1 +1 @@
-DIST pytest_env-0.8.1.tar.gz 6926 BLAKE2B 1d993947c5d67a57832e170e2cc2cbe56f5f1eef37d96790ec3965e5d7b9489771d1890ef7c6f4ae504e1d6d22845cf9b1b3fccf3caeacb3e6ff33d5f86b9279 SHA512 0c99db9c5467f5fe6f8655e540fff4b91884cef3553daf455298d2dc7bb51439418f3149b941d37a777199f28d82eccb2073fdd5e09bfb97cdf24d3ddb1d21bc
+DIST pytest_env-1.1.3.tar.gz 8627 BLAKE2B 04aee8a84b2224ce1f0bb018d0d5a8f8542d32aa3e3da0ed03afdace2562b1643f712152128f7d673e118a4db9ab10c7440f44728ba774519ceb989b4c9be7f2 SHA512 c38371a272987757774bed6b566b55ba2304ca37e69f3f5671fb03735bbdfe5e51c3b03cd885d6bdbd73496daa95a57d79e03bf5d9171f0e9c5c0ae38492b304
diff --git a/dev-python/pytest-env/pytest-env-0.8.1.ebuild b/dev-python/pytest-env/pytest-env-0.8.1.ebuild
deleted file mode 100644
index d8d4d87741d3..000000000000
--- a/dev-python/pytest-env/pytest-env-0.8.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="py.test plugin that allows you to add environment variables"
-HOMEPAGE="https://github.com/pytest-dev/pytest-env"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P/-/_}.tar.gz"
-S="${WORKDIR}/${P/-/_}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~hppa ~ppc ~ppc64 x86"
-
-RDEPEND="dev-python/pytest[${PYTHON_USEDEP}]"
-BDEPEND="dev-python/hatch-vcs[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-env/pytest-env-1.1.3.ebuild b/dev-python/pytest-env/pytest-env-1.1.3.ebuild
new file mode 100644
index 000000000000..6848eed338b2
--- /dev/null
+++ b/dev-python/pytest-env/pytest-env-1.1.3.ebuild
@@ -0,0 +1,39 @@
+# 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-expect/pytest-expect-1.1.0-r2.ebuild b/dev-python/pytest-expect/pytest-expect-1.1.0-r2.ebuild
index 2e18371e4583..9d7d3ff01846 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
@@ -4,16 +4,16 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="pytest plugin that stores test expectations by saving the set of failing tests"
HOMEPAGE="
https://github.com/gsnedders/pytest-expect/
https://pypi.org/project/pytest-expect/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/pytest-faulthandler/metadata.xml b/dev-python/pytest-faulthandler/metadata.xml
index 4c12e54f489d..051fb4315f5a 100644
--- a/dev-python/pytest-faulthandler/metadata.xml
+++ b/dev-python/pytest-faulthandler/metadata.xml
@@ -1,12 +1,10 @@
<?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>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">pytest-faulthandler</remote-id>
+ <remote-id type="github">pytest-dev/pytest-faulthandler</remote-id>
</upstream>
<stabilize-allarches/>
</pkgmetadata>
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 9ff59bf1482e..000000000000
--- a/dev-python/pytest-fixture-config/pytest-fixture-config-1.7.0-r2.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="Virtualenv fixture for py.test"
-HOMEPAGE="
- https://github.com/man-group/pytest-plugins/
- https://pypi.org/project/pytest-fixture-config/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.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/pytest[${PYTHON_USEDEP}]
-"
-# block pytest plugins that will be broken by the upgrade
-RDEPEND+="
- !<dev-python/pytest-virtualenv-1.7.0-r1[python_targets_python2_7(-)]
-"
-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-flake8/Manifest b/dev-python/pytest-flake8/Manifest
deleted file mode 100644
index eb448b6acb51..000000000000
--- a/dev-python/pytest-flake8/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pytest-flake8-1.1.1.tar.gz 9144 BLAKE2B 4f9984181cbadf1d14f2bfaa39a801eb40506457d5178e04a80d49afbd2e54ef10feef0c6cf99ac888442ee75df15663b4f7fa86ff392f34ee4615cbf12f7d13 SHA512 c6fed2228520501bc0c007c90b189d43953391c10fe93fdd7c4c68203ddfc64937b9919730f25ebcba0c1003ed266fbcb35d3ab12ed49fb63503bf27615286c0
diff --git a/dev-python/pytest-flake8/metadata.xml b/dev-python/pytest-flake8/metadata.xml
deleted file mode 100644
index 5a37bda9d8a3..000000000000
--- a/dev-python/pytest-flake8/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">pytest-flake8</remote-id>
- <remote-id type="github">tholo/pytest-flake8</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pytest-flake8/pytest-flake8-1.1.1.ebuild b/dev-python/pytest-flake8/pytest-flake8-1.1.1.ebuild
deleted file mode 100644
index 06e430e6d1c6..000000000000
--- a/dev-python/pytest-flake8/pytest-flake8-1.1.1.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..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="pytest plugin for flake8"
-HOMEPAGE="
- https://github.com/tholo/pytest-flake8/
- https://pypi.org/project/pytest-flake8/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 x86"
-
-RDEPEND="
- >=dev-python/flake8-4.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-7.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest -p flake8
-}
diff --git a/dev-python/pytest-forked/Manifest b/dev-python/pytest-forked/Manifest
index d7573e6bb5a9..e09cede00fd1 100644
--- a/dev-python/pytest-forked/Manifest
+++ b/dev-python/pytest-forked/Manifest
@@ -1 +1 @@
-DIST pytest-forked-1.4.0.tar.gz 10197 BLAKE2B 7a6ec42f7ad1323eea243739a9186fb87eac3016afef844ec39a6e3fd55f7d40b1410fcc27074624f8468e6dabddffcc22ea0597bbbd898fab71c82c06e25b46 SHA512 ba402aec6dbec7a94815913192a49390b637a123d3557f48d809ae2e871e9e0cff8f9d0feb99e2bd06fe9486520b5e539f397d39475a720f8283b1bd21c751c7
+DIST pytest-forked-1.6.0.tar.gz 9977 BLAKE2B cfef0ce10c9690894de14ed503ba74244c99c235838039f800b2c26430258e62c98fcc49d9e59b240b2ceee79e467bfbf0da5c96bc4a2d59770ceadd5021a5a9 SHA512 28fedc56fd696a4e7cf528034056849eff14094d5e7f0e94c7c477a7e91e42c08988769cf6f40d25fe8823399e552253cde2198121dd6a9e475fb6a8ce358cad
diff --git a/dev-python/pytest-forked/pytest-forked-1.4.0-r1.ebuild b/dev-python/pytest-forked/pytest-forked-1.4.0-r1.ebuild
deleted file mode 100644
index 038abe25b2ce..000000000000
--- a/dev-python/pytest-forked/pytest-forked-1.4.0-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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="run tests in isolated forked subprocesses"
-HOMEPAGE="
- https://pypi.org/project/pytest-forked/
- https://github.com/pytest-dev/pytest-forked/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="MIT"
-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
-# without pytest installed, and there is no reason to force older
-# implementations on pytest.
-RDEPEND="
- dev-python/py[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest -p no:flaky
-}
diff --git a/dev-python/pytest-forked/pytest-forked-1.6.0.ebuild b/dev-python/pytest-forked/pytest-forked-1.6.0.ebuild
new file mode 100644
index 000000000000..fd67db61e6e9
--- /dev/null
+++ b/dev-python/pytest-forked/pytest-forked-1.6.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
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Run tests in isolated forked subprocesses"
+HOMEPAGE="
+ https://pypi.org/project/pytest-forked/
+ https://github.com/pytest-dev/pytest-forked/
+"
+
+SLOT="0"
+LICENSE="MIT"
+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
+# without pytest installed, and there is no reason to force older
+# implementations on pytest.
+RDEPEND="
+ dev-python/py[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+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 -o tmp_path_retention_count=1
+}
diff --git a/dev-python/pytest-freezegun/metadata.xml b/dev-python/pytest-freezegun/metadata.xml
index ef5ac46028f8..b8c08e4e1d5f 100644
--- a/dev-python/pytest-freezegun/metadata.xml
+++ b/dev-python/pytest-freezegun/metadata.xml
@@ -6,6 +6,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">ktosiek/pytest-freezegun</remote-id>
<remote-id type="pypi">pytest-freezegun</remote-id>
</upstream>
</pkgmetadata>
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 253a1fe86512..a29dbac76794 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
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/pytest-freezer/Manifest b/dev-python/pytest-freezer/Manifest
new file mode 100644
index 000000000000..9c333fe2a3f0
--- /dev/null
+++ b/dev-python/pytest-freezer/Manifest
@@ -0,0 +1 @@
+DIST pytest_freezer-0.4.8.tar.gz 3212 BLAKE2B b16aa51c6a77f639eddf95c0a7e26c02f36b039b327ff86835f6223e5cc46c9d77c563705644d91f96310f2dd892182262c2c2cf6d85cf8d711387ca8eed7cb2 SHA512 b5b3665dcc0400787ea61be3ea59437e126325697874e4190abd9821f9c5a5620ca6af3602721fb7b777037fc191aef6aac37be5d00cc38e7c2de808cdf5bf67
diff --git a/dev-python/pytest-freezer/metadata.xml b/dev-python/pytest-freezer/metadata.xml
new file mode 100644
index 000000000000..800e4e6973d8
--- /dev/null
+++ b/dev-python/pytest-freezer/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-freezer</remote-id>
+ <remote-id type="pypi">pytest-freezer</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytest-freezer/pytest-freezer-0.4.8.ebuild b/dev-python/pytest-freezer/pytest-freezer-0.4.8.ebuild
new file mode 100644
index 000000000000..cd2476c7d4ee
--- /dev/null
+++ b/dev-python/pytest-freezer/pytest-freezer-0.4.8.ebuild
@@ -0,0 +1,26 @@
+# 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 pypi
+
+DESCRIPTION="Pytest plugin providing a fixture interface for spulec/freezegun"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-freezer/
+ https://pypi.org/project/pytest-freezer/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/freezegun-1.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-3.6[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-golden/Manifest b/dev-python/pytest-golden/Manifest
new file mode 100644
index 000000000000..72e21b9924b0
--- /dev/null
+++ b/dev-python/pytest-golden/Manifest
@@ -0,0 +1 @@
+DIST pytest-golden-0.2.2.gh.tar.gz 11928 BLAKE2B efe7af645d643f265c629f8b7f96298554c68f0c91f27e99fa65b520986d60e8ac95bcbfb631f390b0734e6892a041ea7c89c0b12e0c8c9a652bd4af0e107e81 SHA512 77c4395949eaf58f29999f3f68a7bac2a644a6404a02efcf628a35270f6c03b45550391357fad1208fb13ea3dc7d33704346984c821f1a6663cb715d240384b7
diff --git a/dev-python/pytest-golden/metadata.xml b/dev-python/pytest-golden/metadata.xml
new file mode 100644
index 000000000000..8eb191339305
--- /dev/null
+++ b/dev-python/pytest-golden/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">pytest-golden</remote-id>
+ <remote-id type="github">oprypin/pytest-golden</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..f27b7bd47795
--- /dev/null
+++ b/dev-python/pytest-golden/pytest-golden-0.2.2-r1.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=poetry
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Plugin for pytest that offloads expected outputs to data files"
+HOMEPAGE="
+ https://github.com/oprypin/pytest-golden/
+ https://pypi.org/project/pytest-golden/
+"
+# No tests in PyPI tarballs
+SRC_URI="
+ https://github.com/oprypin/pytest-golden/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/atomicwrites-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-6.1.2[${PYTHON_USEDEP}]
+ >=dev-python/ruamel-yaml-0.16.12[${PYTHON_USEDEP}]
+ <dev-python/ruamel-yaml-1.0[${PYTHON_USEDEP}]
+ >=dev-python/testfixtures-6.15.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # poetry, sigh
+ sed -i -e 's:\^:>=:' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_golden.plugin
+ epytest -x
+}
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 84ebc590b802..1adf6a3da22b 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_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -20,13 +20,13 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
RDEPEND="
>=dev-python/pytest-6.0.0[${PYTHON_USEDEP}]
"
BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
test? (
dev-python/pytest-forked[${PYTHON_USEDEP}]
)
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..10ca25b7fb2c
--- /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..12} )
+
+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="amd64 arm arm64 hppa ~ia64 ~m68k 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/Manifest b/dev-python/pytest-httpbin/Manifest
index e3ee1b204a3e..d7f45743003d 100644
--- a/dev-python/pytest-httpbin/Manifest
+++ b/dev-python/pytest-httpbin/Manifest
@@ -1 +1 @@
-DIST pytest-httpbin-1.0.2.gh.tar.gz 18727 BLAKE2B 56a7fa1c1694cad98815fc6c6f676b509942fa1fca192ecb4cb5a0d9f325d7df6ddb3a3ac67d884c8f8caba807677351c42c28a3bcba80b9196e74d666951cc2 SHA512 b4adac1c37506391d83f7772814b4a9ce5134cc6834d8758e71d39610f8b29e57e72b11b2233be51e41b2c36bc305d40fc4b260a7f83d10390f4e940df8aa366
+DIST pytest-httpbin-2.0.0.gh.tar.gz 19799 BLAKE2B 7725bc958417c076ee920abce83bdad8295bc4c9551500040867650d54c306e79a1ea92b013124b793058103fc9685dbb2202be5f1b2da935509f68457d63d68 SHA512 62876590bacae6601739f5cc2eccb087024e16731afc9613b5e6928c2a2f64b73418ddcb3c4f13a4bfe1f074510f922d85411d05ebf66f123a4a09d535771b64
diff --git a/dev-python/pytest-httpbin/files/pytest-httpbin-1.0.0-pypy3-hang.patch b/dev-python/pytest-httpbin/files/pytest-httpbin-1.0.0-pypy3-hang.patch
deleted file mode 100644
index 02f63bffa72d..000000000000
--- a/dev-python/pytest-httpbin/files/pytest-httpbin-1.0.0-pypy3-hang.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff -dupr a/pytest_httpbin/serve.py b/pytest_httpbin/serve.py
---- a/pytest_httpbin/serve.py 2019-02-11 20:54:14.000000000 +0100
-+++ b/pytest_httpbin/serve.py 2019-11-22 15:50:17.407769297 +0100
-@@ -116,6 +116,7 @@ class Server(object):
-
- def stop(self):
- self._server.shutdown()
-+ self._server.socket.close()
-
- @property
- def url(self):
-Only in b: pytest_httpbin.egg-info
-Only in b/tests: __pycache__
-diff -dupr a/tests/test_httpbin.py b/tests/test_httpbin.py
---- a/tests/test_httpbin.py 2019-02-11 20:54:14.000000000 +0100
-+++ b/tests/test_httpbin.py 2019-11-22 15:59:53.955324547 +0100
-@@ -1,3 +1,4 @@
-+import sys
- import unittest
- import requests
- import pytest_httpbin
-@@ -40,6 +41,8 @@ def test_httpbin_join(httpbin):
- def test_httpbin_str(httpbin):
- assert httpbin + '/foo' == httpbin.url + '/foo'
-
-+@unittest.skipIf(hasattr(sys, 'pypy_version_info')
-+ and sys.hexversion >= 0x03000000, 'hangs on PyPy3')
- def test_chunked_encoding(httpbin_both):
- assert requests.get(httpbin_both.url + '/stream/20').status_code == 200
-
-Only in b: .tox
diff --git a/dev-python/pytest-httpbin/pytest-httpbin-1.0.2.ebuild b/dev-python/pytest-httpbin/pytest-httpbin-1.0.2.ebuild
deleted file mode 100644
index ef92b210fea8..000000000000
--- a/dev-python/pytest-httpbin/pytest-httpbin-1.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Easily test your HTTP library against a local copy of httpbin"
-HOMEPAGE="
- https://github.com/kevin1024/pytest-httpbin/
- https://pypi.org/project/pytest-httpbin/
-"
-SRC_URI="
- https://github.com/kevin1024/pytest-httpbin/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 ~amd64-linux ~x86-linux ~x64-macos"
-
-RDEPEND="
- dev-python/httpbin[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/requests[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/pytest-httpbin-1.0.0-pypy3-hang.patch
-)
-
-EPYTEST_DESELECT=(
- tests/test_server.py::test_redirect_location_is_https_for_secure_server
-)
-
-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
new file mode 100644
index 000000000000..01474d6bfca4
--- /dev/null
+++ b/dev-python/pytest-httpbin/pytest-httpbin-2.0.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 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="Easily test your HTTP library against a local copy of httpbin"
+HOMEPAGE="
+ https://github.com/kevin1024/pytest-httpbin/
+ https://pypi.org/project/pytest-httpbin/
+"
+SRC_URI="
+ https://github.com/kevin1024/pytest-httpbin/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 ~amd64-linux ~x86-linux ~x64-macos"
+
+RDEPEND="
+ dev-python/httpbin[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/requests[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ tests/test_server.py::test_redirect_location_is_https_for_secure_server
+ # minor exception message mismatch on pypy3
+ # https://github.com/kevin1024/pytest-httpbin/issues/77
+ tests/test_server.py::test_dont_crash_on_handshake_timeout
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-httpserver/Manifest b/dev-python/pytest-httpserver/Manifest
index 21a5b68886ac..65f1b1bee3dd 100644
--- a/dev-python/pytest-httpserver/Manifest
+++ b/dev-python/pytest-httpserver/Manifest
@@ -1 +1 @@
-DIST pytest-httpserver-1.0.6.gh.tar.gz 83737 BLAKE2B d0db97227bcb3336a4bd944cf26e2d3e96132baee5991cdff901a1f546174e977b6472458911fc6b92bb13b6d3dae499e0bf3507be265385601e838c4781f0a3 SHA512 5eacfbf159f3a09d73f54da8f3ff885b8d2138e430af27df6039a30e63d7ebcbcf088efe8e7fa56ed50b66ea5b7e3ad7a61c0e8a57d5cb100c2a063df7b6f5c4
+DIST pytest_httpserver-1.0.10.tar.gz 60446 BLAKE2B 99d1db58f7b6fab78b687db0fc2448cbd9a3132b999e4d0ca1c8533ec2afebc717b9c28a16635260fb305aaafb832f591d28752ba3930473312a677dfaffd0be SHA512 f8636ccf757f687666a5336db66ac061ea6205979c7bbf8c9a2534282d8559453a7470318c07384aa755282c12e63537cce2ab9e9f3b2fbcda0e649ed2a45f92
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..1c6d7ee1887c
--- /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..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-httpserver/pytest-httpserver-1.0.6.ebuild b/dev-python/pytest-httpserver/pytest-httpserver-1.0.6.ebuild
deleted file mode 100644
index b020147d8e6e..000000000000
--- a/dev-python/pytest-httpserver/pytest-httpserver-1.0.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=poetry
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="HTTP server for pytest to test HTTP clients"
-HOMEPAGE="
- https://github.com/csernazs/pytest-httpserver/
- https://pypi.org/project/pytest-httpserver/
-"
-SRC_URI="
- https://github.com/csernazs/pytest-httpserver/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="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 e4143bd4e0b4..2e4787fb9cd0 100644
--- a/dev-python/pytest-httpx/Manifest
+++ b/dev-python/pytest-httpx/Manifest
@@ -1,2 +1 @@
-DIST pytest-httpx-0.21.2.gh.tar.gz 24311 BLAKE2B ae1ce7ada3977c3bd68f31b5e20e93ac32f2459359bcff30d1ccf358b07ce269f38acb06b46211ddaed1085a9cf78fcefb921a978a5ca4f6c84fe25b602a3a25 SHA512 d8a9d1381a7c1bb1f907effce48bcd4cad29b2eb135e5d18e7ba3025ba2f18d97c7914f0cfb835416dfa608c59ed51db653b0366d407cfbb82fc520808f3792e
-DIST pytest-httpx-0.21.3.gh.tar.gz 24373 BLAKE2B 8efa85974128a0c9d78bbc23b7c9bca17e68ebb09dafd3b49e5a09df54bd2808ab6e7995ab407b78495ac12a80239d7397169c8de539ec559a8c7cf95239b495 SHA512 8c25a702b9c049354a0f0b232eefeae5ac0c47764af023c89aba6829309971a1d79a0dab3e4d6275a6bf0f32f3a8309c9559eb22c9b742a6576ecea37ff0d15d
+DIST pytest-httpx-0.30.0.tar.gz 36959 BLAKE2B b56f0e51558ffa6eb0c0af61aa3633a8e358f8c78916d101f1de853f683136a68e195bf0af099bbc6766198b4136a560ffd2676d9a49f0b350882896a61d935a SHA512 6aadb544bda5003156bf9c0fa309a166636dc87aea033d9a48ee10e1e8b77e6cb52350930e97cab89cff7c10111d5e26d1d74cd33f0a6c54e34c3fb7ef72ea05
diff --git a/dev-python/pytest-httpx/pytest-httpx-0.21.2.ebuild b/dev-python/pytest-httpx/pytest-httpx-0.21.2.ebuild
deleted file mode 100644
index 209a66e83b11..000000000000
--- a/dev-python/pytest-httpx/pytest-httpx-0.21.2.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_{9..11} )
-
-inherit distutils-r1
-
-MY_PN="${PN/-/_}"
-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/
-"
-SRC_URI="
- https://github.com/Colin-b/pytest_httpx/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- =dev-python/httpx-0.23*[${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.21.3.ebuild b/dev-python/pytest-httpx/pytest-httpx-0.21.3.ebuild
deleted file mode 100644
index fe25b787d728..000000000000
--- a/dev-python/pytest-httpx/pytest-httpx-0.21.3.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_{9..11} )
-
-inherit distutils-r1
-
-MY_PN="${PN/-/_}"
-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/
-"
-SRC_URI="
- https://github.com/Colin-b/pytest_httpx/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- =dev-python/httpx-0.23*[${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..44b20f584851
--- /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..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.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-jupyter/Manifest b/dev-python/pytest-jupyter/Manifest
new file mode 100644
index 000000000000..fb1c97271ffd
--- /dev/null
+++ b/dev-python/pytest-jupyter/Manifest
@@ -0,0 +1,3 @@
+DIST pytest_jupyter-0.10.0.tar.gz 15514 BLAKE2B 668ac112374834684a3321d935d214c2eacf9bfa8d7a1e3915a882db5fa76a713acc673b3ed605326efaa39fadadb0211c529f94c9607870217ec6eafc86f08a SHA512 7d8e35ff5643703479aa116cac9b1b6d757319088b43fa3ae08a2865fc2bcf08cc25dd117edacc4695dfb2a18548d51658535984c5b0c10be14fb66e3e8cfc75
+DIST pytest_jupyter-0.10.1.tar.gz 15580 BLAKE2B 931045927f14973162d45ccdff3a28b0e1d955c276ccf73fa91cae46af8d697368edc10bb3a8042885aae8309dd901201ef147967eae13bca453bc3c144de1fc SHA512 ca380f3b4550388606053db97666d3e191e2b4c030b98fed8b88cee53aac0451faf63d1300c50af4313f20b38937558c390c7f9113ef6b9d20fa0c8f0b41e118
+DIST pytest_jupyter-0.9.1.tar.gz 15519 BLAKE2B 58262222fec8c57bb979a66de83429dd9ed261506aa11f4737bb3e1ab2c00a81337b279b6052d4fc6996b02cfb40062d9707ec4ca5472f5a603b83a3602ecd0d SHA512 bb513b4560fb4edcebfe3bef5f62544ec241de235a23cb644a6c9830d8284b7b22ac448e48ad48350dc17fa35a9117bcceabfdbeaa578a97be3db34fa3a5a1f8
diff --git a/dev-python/pytest_jupyter/metadata.xml b/dev-python/pytest-jupyter/metadata.xml
index 8d9f695ec9a1..8d9f695ec9a1 100644
--- a/dev-python/pytest_jupyter/metadata.xml
+++ b/dev-python/pytest-jupyter/metadata.xml
diff --git a/dev-python/pytest-jupyter/pytest-jupyter-0.10.0.ebuild b/dev-python/pytest-jupyter/pytest-jupyter-0.10.0.ebuild
new file mode 100644
index 000000000000..ac7134dabd4e
--- /dev/null
+++ b/dev-python/pytest-jupyter/pytest-jupyter-0.10.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=( 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/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}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
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..fea458602771
--- /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..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/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.9.1.ebuild b/dev-python/pytest-jupyter/pytest-jupyter-0.9.1.ebuild
new file mode 100644
index 000000000000..a6c41633be19
--- /dev/null
+++ b/dev-python/pytest-jupyter/pytest-jupyter-0.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=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/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}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-lazy-fixture/metadata.xml b/dev-python/pytest-lazy-fixture/metadata.xml
index ae54fce7d3b0..e8484e4da745 100644
--- a/dev-python/pytest-lazy-fixture/metadata.xml
+++ b/dev-python/pytest-lazy-fixture/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>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
@@ -12,5 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">pytest-lazy-fixture</remote-id>
+ <remote-id type="github">tvorog/pytest-lazy-fixture</remote-id>
</upstream>
</pkgmetadata>
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 7bc6dceb159e..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_{9..11} pypy3 )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="It helps to use fixtures in pytest.mark.parametrize"
-HOMEPAGE="https://github.com/tvorog/pytest-lazy-fixture"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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..c07007f89702
--- /dev/null
+++ b/dev-python/pytest-lazy-fixtures/Manifest
@@ -0,0 +1 @@
+DIST pytest_lazy_fixtures-1.0.7.tar.gz 6958 BLAKE2B e8bd937592fc0773077712517655f25a3051263c3ef0a9450e78a22b3e69fa028ecbe17b8f9c5d4e38eff263a2a3a8cb5b0a64e0ca77cd47c80b3128f9a46122 SHA512 abb4cc08d3a3a3de5e1df2df7df8b9f552cefc715408b402a738ebc0368475480f63c627d49b7fe0bdfdb468f15cfc8e568ac1057511f9f9cc4c13231a8c3e71
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..49b222264ec5
--- /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..12} )
+
+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 14a8dc638b8b..34c6c7822a26 100644
--- a/dev-python/pytest-localftpserver/Manifest
+++ b/dev-python/pytest-localftpserver/Manifest
@@ -1 +1 @@
-DIST pytest_localftpserver-1.1.4.tar.gz 44573 BLAKE2B 8c5bd0065d36d7c312944ce41747db141c90b7cbad134b6d3ce387cc9ef3f536882b27d1d0c23c67fb9e75546e62d0b1434faaa577c61f07a9915bf146b6a9e2 SHA512 67f7ca9d212f187f2e91d274523390438e07c52dc048b832e65012ef49d2843002806db1fbf2eba560bef671a0ef541bfb44f6b8226fe5d9d40acd08d53c4f48
+DIST pytest_localftpserver-1.2.0.tar.gz 48817 BLAKE2B ccccd0b2cdc2596fa12c8f082fd2fa3847541b731367abfccb7a57d3408d74c1637bfc644bb80482d9a1a25072d94b1f663b8ad8c0ad51c2d9dac65156a80638 SHA512 19e300c4ebb1d89ebfa4dce04296b8962014a139f82a409f6d46f748f653cfd1f4192a7fb65987015b2bf7237682507c4d6e42dab816c275ba7f8a302eb9a3e9
diff --git a/dev-python/pytest-localftpserver/pytest-localftpserver-1.1.4.ebuild b/dev-python/pytest-localftpserver/pytest-localftpserver-1.1.4.ebuild
deleted file mode 100644
index 39da1701843b..000000000000
--- a/dev-python/pytest-localftpserver/pytest-localftpserver-1.1.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_{9..11} )
-inherit distutils-r1
-
-MY_PN="${PN/-/_}"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="A PyTest plugin which provides an FTP fixture for your tests"
-HOMEPAGE="https://pypi.org/project/pytest-localserver/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="dev-python/pyftpdlib[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
-
-EPYTEST_IGNORE=(
- # These tests require python wget module, but not in Portage
- 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.2.0.ebuild b/dev-python/pytest-localftpserver/pytest-localftpserver-1.2.0.ebuild
new file mode 100644
index 000000000000..05f2de81ec1c
--- /dev/null
+++ b/dev-python/pytest-localftpserver/pytest-localftpserver-1.2.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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-localserver/Manifest b/dev-python/pytest-localserver/Manifest
index b0580899c66a..569befd320f9 100644
--- a/dev-python/pytest-localserver/Manifest
+++ b/dev-python/pytest-localserver/Manifest
@@ -1 +1 @@
-DIST pytest-localserver-0.7.0.tar.gz 184154 BLAKE2B 31f05dd4f156c8a547dacaf39c1aa1a576f2f84e625d64b96409212768a7d9967944931f85ab293d26f348e3a65eba1c5e341c6c08992271c10e65b2fa453cc4 SHA512 1fb1acaeb190d35ebd05cdd63ce15e4a9138802901cef8c25c1fa6dd177d8af2b6b2749f5a052942bf655ffd2ff6105de8a652d73faab369ce6dcf3219bb2394
+DIST pytest-localserver-0.8.1.tar.gz 29088 BLAKE2B 9872d9992a7a19af03bfd7fe748c42cee1daaf7789d4984582c901471eaeab7f1bcf5c21f8eed364c71805fe776f1e4053c6044cd00c333d213ef523b6d0bac4 SHA512 d0707d70b3c5caf346c7461cfca203f903277458596839cc2b1d1d48b6d1e6252e51ebcb9c21dc28fd3b98ce8368cb38e771c2a4226a5fc1dec4007f0b243cc2
diff --git a/dev-python/pytest-localserver/pytest-localserver-0.7.0.ebuild b/dev-python/pytest-localserver/pytest-localserver-0.7.0.ebuild
deleted file mode 100644
index 6f9b022963d2..000000000000
--- a/dev-python/pytest-localserver/pytest-localserver-0.7.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Pytest plugin to test server connections locally"
-HOMEPAGE="https://pypi.org/project/pytest-localserver/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/werkzeug-0.10[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # requires aiosmtpd that is dead and broken beyond repair
- tests/test_smtp.py
-)
-
-src_prepare() {
- # remove aiosmtpd dep
- sed -e '/aiosmtpd/d' -i setup.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pytest-localserver/pytest-localserver-0.8.1.ebuild b/dev-python/pytest-localserver/pytest-localserver-0.8.1.ebuild
new file mode 100644
index 000000000000..75bffcbd8b00
--- /dev/null
+++ b/dev-python/pytest-localserver/pytest-localserver-0.8.1.ebuild
@@ -0,0 +1,44 @@
+# 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 test server connections locally"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-localserver/
+ https://pypi.org/project/pytest-localserver/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/werkzeug-0.10[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # requires aiosmtpd that is dead and broken beyond repair
+ tests/test_smtp.py
+)
+
+src_prepare() {
+ # remove aiosmtpd dep
+ sed -e '/aiosmtpd/d' -i setup.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/pytest-markdown/Manifest b/dev-python/pytest-markdown/Manifest
index 399b12a41ad4..fb3b39898a02 100644
--- a/dev-python/pytest-markdown/Manifest
+++ b/dev-python/pytest-markdown/Manifest
@@ -1 +1 @@
-DIST pytest-markdown-1.0.2.tar.gz 2991 BLAKE2B 489bd1ccd6060b9588515772ff1f269dc57c328b3695405d0dd755340968899a2b912644e325ce5792528da90e5eac828314dbb9d1396eb34dffe0da04261848 SHA512 a2d5b38982f004a362ec2bda7aec45a6fb9e0b33dfd212647d8eab38fdadf6501b7fec8ad8838b286d81a156429aeb0ad3aa63361a580c2c7528fe19e474a7f6
+DIST pytest_markdown-1.0.2.tar.gz 2991 BLAKE2B 489bd1ccd6060b9588515772ff1f269dc57c328b3695405d0dd755340968899a2b912644e325ce5792528da90e5eac828314dbb9d1396eb34dffe0da04261848 SHA512 a2d5b38982f004a362ec2bda7aec45a6fb9e0b33dfd212647d8eab38fdadf6501b7fec8ad8838b286d81a156429aeb0ad3aa63361a580c2c7528fe19e474a7f6
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 b85b86ac4657..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,19 +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_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517="poetry"
-inherit distutils-r1
-
-MY_PN="${PN/-/_}"
-MY_P="${MY_PN}-${PV}"
+inherit distutils-r1 pypi
DESCRIPTION="Run tests in your markdown"
-HOMEPAGE="https://github.com/Jc2k/pytest-markdown"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/Jc2k/pytest-markdown/
+ https://pypi.org/project/pytest-markdown/
+"
LICENSE="Apache-2.0"
SLOT="0"
@@ -21,5 +20,3 @@ KEYWORDS="amd64 ~riscv"
RDEPEND=">=dev-python/commonmark-0.9.1[${PYTHON_USEDEP}]
>=dev-python/pytest-6.0.0[${PYTHON_USEDEP}]"
-
-S="${WORKDIR}"/${MY_P}
diff --git a/dev-python/pytest-metadata/Manifest b/dev-python/pytest-metadata/Manifest
index c7416cf2b64f..f11b6e83c298 100644
--- a/dev-python/pytest-metadata/Manifest
+++ b/dev-python/pytest-metadata/Manifest
@@ -1 +1 @@
-DIST pytest-metadata-2.0.4.gh.tar.gz 20112 BLAKE2B c7f51b614f2bbb71bd77036c3e71dea26b323a236decee3d74ceb7777dc0d28795c69707af33639154effd6cdd294446d3152597075e4d24dcab5b5fe6d7dff7 SHA512 029a45a3b721841f50f5b96d2edc21b02e59d2b414313e467d232081da048ee1c60dd1d41407a040b6fd65442e70fb538f913523dfddeb8978ea33e36afe341a
+DIST pytest_metadata-3.1.1.tar.gz 9952 BLAKE2B b0f68c406bad035548f051d49cdc5a005279caaca2bffff45674be9143b0c41516bf5a3c1b092cd1717bfd44123e9be3381d40a46664da2231aec9e6c9abc8ce SHA512 20c880cd797534dee9206ef99755643fccc9d62521f1b50dbcc7f2ac0a8ab6adccc4158510c00e20308bed93ada180448ac9f06277cc1af3ba94a1b903da4b09
diff --git a/dev-python/pytest-metadata/pytest-metadata-2.0.4.ebuild b/dev-python/pytest-metadata/pytest-metadata-2.0.4.ebuild
deleted file mode 100644
index ed920bafa2e1..000000000000
--- a/dev-python/pytest-metadata/pytest-metadata-2.0.4.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=poetry
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="
- https://github.com/pytest-dev/pytest-metadata/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
-
-RDEPEND="
- <dev-python/pytest-8[${PYTHON_USEDEP}]
- >=dev-python/pytest-7.1.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools_scm-6.2.3[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
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..07573c3f289d
--- /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..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-mock/Manifest b/dev-python/pytest-mock/Manifest
index 3840a93144a0..3f7cb9be9fbf 100644
--- a/dev-python/pytest-mock/Manifest
+++ b/dev-python/pytest-mock/Manifest
@@ -1 +1 @@
-DIST pytest-mock-3.10.0.tar.gz 28384 BLAKE2B 2f51f8be34094054b8f7864eb083dde00800adb73af668444d21c95d8f159594bed0f68694e7ffb0e24da402a4865f37c07d85622ad00f130ccdb4e3d189bf9a SHA512 2ad6866d581a2999899e399ef5516d478a6172f52923f03703e3e3708229fb3b1178c91225b5cc90734c96abcb48fea517b11e0fc193da6fb592295395c14cd3
+DIST pytest-mock-3.14.0.tar.gz 32814 BLAKE2B f6e10dd6781bf10076c7c42f9cfc8cd4e4cfd3aa08030c9ad6377ee64b3386ddd190eac8bd1a912d54b5ef4aba14dfe136b3968b6ed08683dd4c4f102eaf8a26 SHA512 c60059fe8fb64540f33382e52b9015dd9771483e2074d35c02cd5852a50eed02a64e202b7e81e920bbbd0621bd23fa9bb0467d2ceef7abd582df3e27eafeaa20
diff --git a/dev-python/pytest-mock/pytest-mock-3.10.0.ebuild b/dev-python/pytest-mock/pytest-mock-3.10.0.ebuild
deleted file mode 100644
index 4cb41092e569..000000000000
--- a/dev-python/pytest-mock/pytest-mock-3.10.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} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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/pytest-6[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # obsolete, upst. e2016928db1147a2a46de6ee9fa878ca0e9d8fc8
- sed -i -e '/import py\.code/d' tests/test_pytest_mock.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- 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..c38d991f71fd
--- /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..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.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/pytest-mpl-0.16.1.ebuild b/dev-python/pytest-mpl/pytest-mpl-0.16.1.ebuild
index 3c954c69bdf3..aad7b6b35f10 100644
--- a/dev-python/pytest-mpl/pytest-mpl-0.16.1.ebuild
+++ b/dev-python/pytest-mpl/pytest-mpl-0.16.1.ebuild
@@ -4,20 +4,20 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Facilitate image comparison for Matplotlib figures"
HOMEPAGE="
https://pypi.org/project/pytest-mpl/
https://github.com/matplotlib/pytest-mpl
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
dev-python/jinja[${PYTHON_USEDEP}]
@@ -33,12 +33,3 @@ EPYTEST_DESELECT=(
)
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,pytest_forked
-
- epytest
-}
diff --git a/dev-python/pytest-order/Manifest b/dev-python/pytest-order/Manifest
new file mode 100644
index 000000000000..13647a70ed85
--- /dev/null
+++ b/dev-python/pytest-order/Manifest
@@ -0,0 +1,2 @@
+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/metadata.xml b/dev-python/pytest-order/metadata.xml
new file mode 100644
index 000000000000..f46411ababd4
--- /dev/null
+++ b/dev-python/pytest-order/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">pytest-dev/pytest-order</remote-id>
+ <remote-id type="pypi">pytest-order</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytest-order/pytest-order-1.2.0.ebuild b/dev-python/pytest-order/pytest-order-1.2.0.ebuild
new file mode 100644
index 000000000000..f861ccc1aacd
--- /dev/null
+++ b/dev-python/pytest-order/pytest-order-1.2.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="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-order/pytest-order-1.2.1.ebuild b/dev-python/pytest-order/pytest-order-1.2.1.ebuild
new file mode 100644
index 000000000000..f861ccc1aacd
--- /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..12} )
+
+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/Manifest b/dev-python/pytest-ordering/Manifest
index 0036ecd18b92..70e461ee5ebf 100644
--- a/dev-python/pytest-ordering/Manifest
+++ b/dev-python/pytest-ordering/Manifest
@@ -1 +1 @@
-DIST pytest-ordering-0.6.tar.gz 11046 BLAKE2B 468ae5f04029b96ed3058b7f429aec0aaf96092453b229c3de5eab174702af2c1a9fe83171c68d282c4a144b3dd736daf9ed87b9e139a7bd175114f504049ebc SHA512 fd3aec83914f64d1295e1a1bf3fdc580c6824a749a1da8cebae275fef940d6ed6e5dcafad321d94f504a153e13e298b6544dc3c2db716a6b25d3148c2365fe15
+DIST pytest-ordering-0.6.gh.tar.gz 11046 BLAKE2B 468ae5f04029b96ed3058b7f429aec0aaf96092453b229c3de5eab174702af2c1a9fe83171c68d282c4a144b3dd736daf9ed87b9e139a7bd175114f504049ebc SHA512 fd3aec83914f64d1295e1a1bf3fdc580c6824a749a1da8cebae275fef940d6ed6e5dcafad321d94f504a153e13e298b6544dc3c2db716a6b25d3148c2365fe15
diff --git a/dev-python/pytest-ordering/files/pytest-ordering-0.6-marks.patch b/dev-python/pytest-ordering/files/pytest-ordering-0.6-marks.patch
new file mode 100644
index 000000000000..16712166325c
--- /dev/null
+++ b/dev-python/pytest-ordering/files/pytest-ordering-0.6-marks.patch
@@ -0,0 +1,56 @@
+From 6de05faa7d399a3f0f99b33b75747d39adb1f535 Mon Sep 17 00:00:00 2001
+From: Brian Maissy <brian.maissy@gmail.com>
+Date: Fri, 31 May 2019 03:03:38 +0300
+Subject: [PATCH] register marks, document python and pytest dependencies, and
+ test the full matrix with tox and travis
+
+minimized from:
+https://github.com/ftobia/pytest-ordering/commit/6de05faa7d399a3f0f99b33b75747d39adb1f535
+
+diff --git a/pytest_ordering/__init__.py b/pytest_ordering/__init__.py
+index 0cca91d..c8eb64a 100644
+--- a/pytest_ordering/__init__.py
++++ b/pytest_ordering/__init__.py
+@@ -28,13 +28,23 @@
+ def pytest_configure(config):
+ """Register the "run" marker."""
+
++ provided_by_pytest_ordering = (
++ 'Provided by pytest-ordering. '
++ 'See also: http://pytest-ordering.readthedocs.org/'
++ )
++
+ config_line = (
+ 'run: specify ordering information for when tests should run '
+- 'in relation to one another. Provided by pytest-ordering. '
+- 'See also: http://pytest-ordering.readthedocs.org/'
++ 'in relation to one another. ' + provided_by_pytest_ordering
+ )
+ config.addinivalue_line('markers', config_line)
+
++ for mark_name in orders_map.keys():
++ config_line = '{}: run test {}. {}'.format(mark_name,
++ mark_name.replace('_', ' '),
++ provided_by_pytest_ordering)
++ config.addinivalue_line('markers', config_line)
++
+
+ def pytest_collection_modifyitems(session, config, items):
+ grouped_items = {}
+diff --git a/tests/test_ordering.py b/tests/test_ordering.py
+index 12f4689..dd703ab 100644
+--- a/tests/test_ordering.py
++++ b/tests/test_ordering.py
+@@ -268,7 +268,10 @@ def test_5(self): pass
+ assert item_names_for(tests_content) == ['test_3', 'test_4', 'test_5', 'test_1', 'test_2']
+
+
+-def test_run_marker_registered(capsys):
+- pytest.main('--markers')
++def test_markers_registered(capsys):
++ pytest.main(['--markers'])
+ out, err = capsys.readouterr()
+ assert '@pytest.mark.run' in out
++ assert '@pytest.mark.first' in out
++ assert '@pytest.mark.last' in out
++ assert out.count('Provided by pytest-ordering') == 17
diff --git a/dev-python/pytest-ordering/metadata.xml b/dev-python/pytest-ordering/metadata.xml
index 256ad6903f29..24ed22f81900 100644
--- a/dev-python/pytest-ordering/metadata.xml
+++ b/dev-python/pytest-ordering/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>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
+ <!-- maintainer-needed -->
<stabilize-allarches/>
<upstream>
<remote-id type="github">ftobia/pytest-ordering</remote-id>
diff --git a/dev-python/pytest-ordering/pytest-ordering-0.6-r1.ebuild b/dev-python/pytest-ordering/pytest-ordering-0.6-r1.ebuild
new file mode 100644
index 000000000000..53e3e7edf836
--- /dev/null
+++ b/dev-python/pytest-ordering/pytest-ordering-0.6-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 to run your tests in a specific order"
+HOMEPAGE="
+ https://github.com/ftobia/pytest-ordering/
+ https://pypi.org/project/pytest-ordering/
+"
+SRC_URI="
+ https://github.com/ftobia/pytest-ordering/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/pytest[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-pytest-6.patch"
+ "${FILESDIR}/${P}-marks.patch"
+)
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs/source
diff --git a/dev-python/pytest-ordering/pytest-ordering-0.6.ebuild b/dev-python/pytest-ordering/pytest-ordering-0.6.ebuild
deleted file mode 100644
index 2efe2de13437..000000000000
--- a/dev-python/pytest-ordering/pytest-ordering-0.6.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="pytest plugin to run your tests in a specific order"
-HOMEPAGE="
- https://github.com/ftobia/pytest-ordering/
- https://pypi.org/project/pytest-ordering/
-"
-SRC_URI="https://github.com/ftobia/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="dev-python/pytest[${PYTHON_USEDEP}]"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-pytest-6.patch"
-)
-
-distutils_enable_tests --install pytest
-distutils_enable_sphinx docs/source
-
-python_prepare_all() {
- # TypeError: `args` parameter expected to be a list or tuple of strings, got: '--markers' (type: <class 'str'>)
- sed -i -e 's:test_run_marker_registered:_&:' \
- tests/test_ordering.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/pytest-param-files/Manifest b/dev-python/pytest-param-files/Manifest
index d690b091c1d8..241be20b3dfa 100644
--- a/dev-python/pytest-param-files/Manifest
+++ b/dev-python/pytest-param-files/Manifest
@@ -1 +1,3 @@
-DIST pytest-param-files-0.3.4.gh.tar.gz 6882 BLAKE2B e2e96bd2cf7b8676f92eeb7821ef76f1f82bb066210170ed4d04a16a7fb3ce346bcd63688ef9d46118c03fd74812fd821fff0414565befb8c558d03d15af2945 SHA512 2df6fe798aab743fdbf892b88ee1d09c554119429167e85bccb87e4ae9d487f8ab5a66c4157827500e8a5d2930277c7490348f6c38f23243e421d5449bde2df5
+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.4.ebuild b/dev-python/pytest-param-files/pytest-param-files-0.3.4.ebuild
deleted file mode 100644
index 7df2c8ecb9ea..000000000000
--- a/dev-python/pytest-param-files/pytest-param-files-0.3.4.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_{9..11} 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 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.3.5.ebuild b/dev-python/pytest-param-files/pytest-param-files-0.3.5.ebuild
new file mode 100644
index 000000000000..3881f69168ec
--- /dev/null
+++ b/dev-python/pytest-param-files/pytest-param-files-0.3.5.ebuild
@@ -0,0 +1,29 @@
+# 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
new file mode 100644
index 000000000000..5982d88730fe
--- /dev/null
+++ b/dev-python/pytest-param-files/pytest-param-files-0.5.0.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=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
new file mode 100644
index 000000000000..98feedea6e9b
--- /dev/null
+++ b/dev-python/pytest-param-files/pytest-param-files-0.6.0.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=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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/ruamel-yaml-0.15[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-plus/Manifest b/dev-python/pytest-plus/Manifest
index 4895244f6557..3f7616458d3a 100644
--- a/dev-python/pytest-plus/Manifest
+++ b/dev-python/pytest-plus/Manifest
@@ -1,2 +1 @@
-DIST pytest-plus-0.2.tar.gz 8210 BLAKE2B b8a28e72cfb4e10daa021528de9b5df2e9eb0bc4e911557c7c14a0825284787e94992132c0b74881867a41b55a67785c60b9b87a1594ad33fb57ebac8de391a6 SHA512 e16a03433cb6eb30b6881bec99482bc65cb7d1fa3d0db855befe666c0645d4b5ec02debde9dec4322ed0a0b77d3ac3f1cabda0cf98f375ffd68dc29fb55f5139
-DIST pytest-plus-0.4.0.tar.gz 9987 BLAKE2B 11b8f17630601f52ebae11b7a660c8d97b4c9f1699096a376c162952a03b9f1b580ead6ac0b040b15c267eec1123bffe07d128eb00aec7414e996275ebc4c4e3 SHA512 4f4258853280cac8e03c0477763fd588d2b3cf11e7746d2b8e7d3cf5774b845412bc8779d74d232e4b3473470c39753dc788ac09faf8e8b7c9fee22d7164bab7
+DIST pytest-plus-0.7.0.tar.gz 13235 BLAKE2B 87e712a21dcb99b459ac263c46c3dfa1586d6f28404424ea3f02e1436d296b617ead445d35080d014d8385dee56ad2cd579fdf9d52352c7d9e32e31ba90eebdf SHA512 a43b8bd3ea1a7a85e40ea6c180a06a31f5703292758d4c83e1a3f98e0750d75393d9ca8bfb614f1d3a180ee50d18e8162173bfee6b81cf1f7c087aad8e3be3ba
diff --git a/dev-python/pytest-plus/pytest-plus-0.2-r1.ebuild b/dev-python/pytest-plus/pytest-plus-0.2-r1.ebuild
deleted file mode 100644
index 7bb0503caffa..000000000000
--- a/dev-python/pytest-plus/pytest-plus-0.2-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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="PyTest Plus Plugin - extends pytest functionality"
-HOMEPAGE="https://github.com/pytest-dev/pytest-plus"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv"
-
-RDEPEND="
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-plus/pytest-plus-0.4.0.ebuild b/dev-python/pytest-plus/pytest-plus-0.4.0.ebuild
deleted file mode 100644
index 6d46f574754a..000000000000
--- a/dev-python/pytest-plus/pytest-plus-0.4.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="PyTest Plus Plugin - extends pytest functionality"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-plus/
- https://pypi.org/project/pytest-plus/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-
-RDEPEND="
- >=dev-python/pytest-6.0.1[${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..e08e5a61e9ba
--- /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..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-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 2b6930b95813..000000000000
--- a/dev-python/pytest-qt/pytest-qt-4.2.0.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_{9..11} )
-PYSIDE2_COMPAT=( python3_{8..10} )
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Pytest plugin for PyQt5 and PySide2 applications"
-HOMEPAGE="
- https://pypi.org/project/pytest-qt/
- https://github.com/pytest-dev/pytest-qt/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-RDEPEND="
- dev-python/QtPy[gui,testlib,widgets(+),${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/PyQt5[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]"
-
- # 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
- )
-
- einfo "Testing with PyQt5"
- PYTEST_QT_API="pyqt5" epytest || die
- # Pyside2 is not compatible with python3.11
- if has "${EPYTHON}" "${PYSIDE2_COMPAT[@]/_/.}"; then
- einfo "Testing with PySide2"
- PYTEST_QT_API="pyside2" epytest || die
- fi
-}
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..176925a3be36
--- /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..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 ~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
new file mode 100644
index 000000000000..ee9bd183e1f4
--- /dev/null
+++ b/dev-python/pytest-recording/Manifest
@@ -0,0 +1 @@
+DIST pytest_recording-0.13.1.tar.gz 24987 BLAKE2B 70c7d65823e1a6507353dcab61659a4fe05a4f3d81471dfa3818ca34f6b6c1c22444ee6c1d04b67e87db93ffba63e8bf091beb7d3f60723bc1f7fa8dfde641cd SHA512 1f815b45361165a9fa2655c0cfb5a69193a556e748dc5d69aac0f49a36e943a60a990c3f503a29aae58f9409661f5f47041a30766fb1b5276789eec255b1556b
diff --git a/dev-python/pytest-recording/metadata.xml b/dev-python/pytest-recording/metadata.xml
new file mode 100644
index 000000000000..9fa86cdaa74d
--- /dev/null
+++ b/dev-python/pytest-recording/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">kiwicom/pytest-recording</remote-id>
+ <remote-id type="pypi">pytest-recording</remote-id>
+ </upstream>
+</pkgmetadata>
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..2a204e0b665c
--- /dev/null
+++ b/dev-python/pytest-recording/pytest-recording-0.13.1.ebuild
@@ -0,0 +1,46 @@
+# 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-regressions/Manifest b/dev-python/pytest-regressions/Manifest
index 62a2aa0cd3aa..48301dffe964 100644
--- a/dev-python/pytest-regressions/Manifest
+++ b/dev-python/pytest-regressions/Manifest
@@ -1,2 +1 @@
-DIST pytest-regressions-2.4.1.tar.gz 110863 BLAKE2B 0c2995d475fd194f318a3f1de28942a9711f0a194bec94f863b92fe16af801a6da50a7a7e825af65c581aed1c978c6be7b18252a08841919751f55e83f6633ea SHA512 0f4a0b4735804b4975cd643d0a55262b67f8583e41f292f2b519cc0c99a5c36a6f5abe49a1084fe4e919cb622d90fd21e0374b718a6cd7cfd44b48395dd9ed1a
-DIST pytest-regressions-2.4.2.tar.gz 111030 BLAKE2B 4c1d3ce9a210b6156e046b91688aec6ecab53d4719b5b556cdf6773a6af891352f7f213259140fdb7234f2528dbad5bf5c4ed43431aee94bfd373dd1839c1231 SHA512 f5abcc09da7a466e446329737d4926d3c7c9ac274e1087e6f746fe263b4cfd1b0f4b8870eea3d22b1209a0d5ead7b7169e700d10f3f29bb978e12a33511b1f51
+DIST pytest-regressions-2.5.0.tar.gz 113615 BLAKE2B 3364893a9cd96a44611d023c08fe5e319ceaad5a6a9b210b72095a560c42742c871406de1290821ea5cd61960bf5bef72d08bd143db93b20f288d5367cf1ae70 SHA512 2d23568b8d5dbc86000c9b552c72a1e269fafe79e0b829f799fe31ecc142e74d233c69940a51d2da457c6f7b3713fcd788461b0420eca9d56cc395568c517c0f
diff --git a/dev-python/pytest-regressions/metadata.xml b/dev-python/pytest-regressions/metadata.xml
index 0e68d894094d..492bc223a88a 100644
--- a/dev-python/pytest-regressions/metadata.xml
+++ b/dev-python/pytest-regressions/metadata.xml
@@ -1,16 +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>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">ESSS/pytest-regressions</remote-id>
<remote-id type="pypi">pytest-regressions</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pytest-regressions/pytest-regressions-2.4.1.ebuild b/dev-python/pytest-regressions/pytest-regressions-2.4.1.ebuild
deleted file mode 100644
index 605f043e71f0..000000000000
--- a/dev-python/pytest-regressions/pytest-regressions-2.4.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Easy to use fixtures to write regression tests"
-HOMEPAGE="https://github.com/ESSS/pytest-regressions"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-datadir[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc dev-python/sphinx_rtd_theme
-
-python_test() {
- local EPYTEST_DESELECT=()
- local EPYTEST_IGNORE=()
- if ! has_version "dev-python/matplotlib[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_image_regression.py::test_image_regression
- )
- fi
- if ! has_version "dev-python/numpy[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- tests/test_ndarrays_regression.py
- )
- fi
- if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_filenames.py::test_foo
- tests/test_filenames.py::TestClass::test_foo
- tests/test_filenames.py::TestClassWithIgnoredName::test_foo
- )
- EPYTEST_IGNORE+=(
- tests/test_dataframe_regression.py
- tests/test_num_regression.py
- )
- fi
- if ! has_version "dev-python/pillow[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_image_regression.py
- )
- fi
-
- epytest
-}
diff --git a/dev-python/pytest-regressions/pytest-regressions-2.4.2.ebuild b/dev-python/pytest-regressions/pytest-regressions-2.4.2.ebuild
deleted file mode 100644
index 11f92f4f1341..000000000000
--- a/dev-python/pytest-regressions/pytest-regressions-2.4.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Easy to use fixtures to write regression tests"
-HOMEPAGE="
- https://github.com/ESSS/pytest-regressions/
- https://pypi.org/project/pytest-regressions/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-datadir[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc dev-python/sphinx_rtd_theme
-
-python_test() {
- local EPYTEST_DESELECT=()
- local EPYTEST_IGNORE=()
- if ! has_version "dev-python/matplotlib[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_image_regression.py::test_image_regression
- )
- fi
- if ! has_version "dev-python/numpy[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- tests/test_ndarrays_regression.py
- )
- fi
- if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_filenames.py::test_foo
- tests/test_filenames.py::TestClass::test_foo
- tests/test_filenames.py::TestClassWithIgnoredName::test_foo
- )
- EPYTEST_IGNORE+=(
- tests/test_dataframe_regression.py
- tests/test_num_regression.py
- )
- fi
- if ! has_version "dev-python/pillow[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_image_regression.py
- )
- fi
-
- 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
new file mode 100644
index 000000000000..134c2a769390
--- /dev/null
+++ b/dev-python/pytest-regressions/pytest-regressions-2.5.0.ebuild
@@ -0,0 +1,62 @@
+# 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="Easy to use fixtures to write regression tests"
+HOMEPAGE="
+ https://github.com/ESSS/pytest-regressions/
+ https://pypi.org/project/pytest-regressions/
+"
+
+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}]
+ dev-python/pytest-datadir[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx doc dev-python/sphinx-rtd-theme
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ local EPYTEST_IGNORE=()
+ if ! has_version "dev-python/matplotlib[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_image_regression.py::test_image_regression
+ )
+ fi
+ if ! has_version "dev-python/numpy[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/test_ndarrays_regression.py
+ )
+ fi
+ if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_filenames.py::test_foo
+ tests/test_filenames.py::TestClass::test_foo
+ tests/test_filenames.py::TestClassWithIgnoredName::test_foo
+ )
+ EPYTEST_IGNORE+=(
+ tests/test_dataframe_regression.py
+ tests/test_num_regression.py
+ )
+ fi
+ if ! has_version "dev-python/pillow[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_image_regression.py
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/pytest-rerunfailures/Manifest b/dev-python/pytest-rerunfailures/Manifest
index d621bcb0b6dd..9205122c4b3e 100644
--- a/dev-python/pytest-rerunfailures/Manifest
+++ b/dev-python/pytest-rerunfailures/Manifest
@@ -1,2 +1 @@
-DIST pytest-rerunfailures-10.3.tar.gz 15852 BLAKE2B 1063f55f4145eff4db22f121620cb3a53ad8cd0c44580578bd5027c4bd8005af6d33e0da8d67fceb7b8abe91f22c591e7b42b7a810cb5c7d8b5668b0a48eb3f2 SHA512 30ebafdb221d7ff8c46d50795b1a342b55293eaf60f5a012c631e2333dcf3114bfc4ed5210705edba4ad33a8f215ce7b5988362750149fc5e9463e4c3fa93860
-DIST pytest-rerunfailures-11.0.tar.gz 15836 BLAKE2B 41c3695250e809123c468325d6bb78275c2e09911eb98de1b0951add44fffc24ee2157bdad346fb9bc923ee3865fe205eaeadd1a1e7b908ee728ac2a8e1375c7 SHA512 8e0f43f63a76161447de6cfbe9382b7aece05d25cf9d1f03b6f12dcb8d98edd85d6e8f5d74d360143cd99188f082c3ab412324543307b08c4bef0e5a2dc06b3a
+DIST pytest-rerunfailures-14.0.tar.gz 21350 BLAKE2B bb273d77a732c0296ca041b4cbd91fd48052076e9f76839b862b03de9f448208a216483bc486f23542cd99a12ef2934a46e3ea4162ca87bfd5c0904f2d114179 SHA512 8aa23a57206b0e6af133c716517c3c96cc156cc2f86b06c0fa80e9fea2b11f32e98cfb41f6a5fb05b38bab7496258160ba42fe6ae00d7bef8024159a8ed4a3f5
diff --git a/dev-python/pytest-rerunfailures/pytest-rerunfailures-10.3.ebuild b/dev-python/pytest-rerunfailures/pytest-rerunfailures-10.3.ebuild
deleted file mode 100644
index 28ece709c6cd..000000000000
--- a/dev-python/pytest-rerunfailures/pytest-rerunfailures-10.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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-11.0.ebuild b/dev-python/pytest-rerunfailures/pytest-rerunfailures-11.0.ebuild
deleted file mode 100644
index fda7c991a197..000000000000
--- a/dev-python/pytest-rerunfailures/pytest-rerunfailures-11.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} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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..fbaa42713a4c
--- /dev/null
+++ b/dev-python/pytest-rerunfailures/pytest-rerunfailures-14.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
+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/
+"
+
+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 -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..0dc3e54417ee
--- /dev/null
+++ b/dev-python/pytest-reserial/Manifest
@@ -0,0 +1 @@
+DIST pytest_reserial-0.3.0.tar.gz 10844 BLAKE2B fb0405cfc694e52205a3655a9fb0d477632811492b006483568c7889b19c5f9b1497a5fee0c002d6acb1a8207ba90bed82db33110a457e877d66d3a888fde739 SHA512 e906044f5d4ed07d77aafc67920b348512b7b0b6bf87062667d4a7b69ac0be3ce4cc36074235bd9319bd6eee4024ddb4295e4a41b4309f350a7e1a0d1eda59d3
diff --git a/dev-python/pytest-reserial/metadata.xml b/dev-python/pytest-reserial/metadata.xml
new file mode 100644
index 000000000000..f35f2a9f1fe0
--- /dev/null
+++ b/dev-python/pytest-reserial/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <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.3.0.ebuild b/dev-python/pytest-reserial/pytest-reserial-0.3.0.ebuild
new file mode 100644
index 000000000000..47cb8aa73985
--- /dev/null
+++ b/dev-python/pytest-reserial/pytest-reserial-0.3.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=flit
+PYTHON_COMPAT=( python3_{10..12} )
+
+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 c6c0b0c7fe21..5faadd42178a 100644
--- a/dev-python/pytest-salt-factories/Manifest
+++ b/dev-python/pytest-salt-factories/Manifest
@@ -1 +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_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/metadata.xml b/dev-python/pytest-salt-factories/metadata.xml
index ba4d2cbefca7..f4e2d0cc3dc2 100644
--- a/dev-python/pytest-salt-factories/metadata.xml
+++ b/dev-python/pytest-salt-factories/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">saltstack/pytest-salt-factories</remote-id>
<remote-id type="pypi">pytest-salt-factories</remote-id>
</upstream>
</pkgmetadata>
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
new file mode 100644
index 000000000000..bc0fa7676d1d
--- /dev/null
+++ b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc23.ebuild
@@ -0,0 +1,79 @@
+# 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 ~arm ~arm64 ~riscv ~x86"
+IUSE="test"
+
+RDEPEND="
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/pytest-tempdir[${PYTHON_USEDEP}]
+ dev-python/docker[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/pytest-6.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-3001.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/pyfakefs[${PYTHON_USEDEP}]
+ dev-python/pytest-subtests[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/pytest-salt-factories-1.0.0_rc20-tests.patch"
+)
+
+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 tempdir
+
+ local -a disable_tests=(
+ testexcludetest
+ test_version_info
+ )
+ local textexpr
+ testexpr=$(printf 'not %s and ' "${disable_tests[@]}")
+
+ # ${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 -vv -k "${testexpr%and }"
+ )
+}
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
new file mode 100644
index 000000000000..1c3771a03676
--- /dev/null
+++ b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc28.ebuild
@@ -0,0 +1,86 @@
+# Copyright 2020-2024 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/
+ 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 arm64 ~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/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.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..f579f09b3116
--- /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/Manifest b/dev-python/pytest-services/Manifest
index 2752ce471765..815ea17d6dc6 100644
--- a/dev-python/pytest-services/Manifest
+++ b/dev-python/pytest-services/Manifest
@@ -1 +1 @@
-DIST pytest-services-2.2.1.tar.gz 21303 BLAKE2B 6f4b66b713ca4976eae61bf516bfecf13b8d6f56e03ae772ba9465e7c4c52b8d5ffa713b9441c73538a0b05665da7b7aa53d5f5da1626c6c208edf1c8239b1b1 SHA512 95d70431a7c3fa3b1602e6ad0e72975cecf5f0464e1bbc21d5b4eee6aefee52794c7b1d8dacf0681cc4cbb5ae7910075a7d0b3859647cc55298a2792489c4bfb
+DIST pytest-services-2.2.1.gh.tar.gz 21303 BLAKE2B 6f4b66b713ca4976eae61bf516bfecf13b8d6f56e03ae772ba9465e7c4c52b8d5ffa713b9441c73538a0b05665da7b7aa53d5f5da1626c6c208edf1c8239b1b1 SHA512 95d70431a7c3fa3b1602e6ad0e72975cecf5f0464e1bbc21d5b4eee6aefee52794c7b1d8dacf0681cc4cbb5ae7910075a7d0b3859647cc55298a2792489c4bfb
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 7c9b278994d3..8d34daccb60b 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
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
@@ -15,7 +15,7 @@ HOMEPAGE="
"
SRC_URI="
https://github.com/pytest-dev/pytest-services/archive/${PV}.tar.gz
- -> ${P}.tar.gz
+ -> ${P}.gh.tar.gz
"
LICENSE="MIT"
@@ -34,7 +34,7 @@ BDEPEND="
dev-python/pylibmc[${PYTHON_USEDEP}]
x11-base/xorg-server[xvfb]
net-misc/memcached
- !dev-python/pytest-salt
+ !!dev-python/pytest-salt
)
"
diff --git a/dev-python/pytest-shell-utilities/Manifest b/dev-python/pytest-shell-utilities/Manifest
index 0d15492110b0..057a06f646b9 100644
--- a/dev-python/pytest-shell-utilities/Manifest
+++ b/dev-python/pytest-shell-utilities/Manifest
@@ -1 +1 @@
-DIST pytest-shell-utilities-1.7.0.gh.tar.gz 93366 BLAKE2B 95a04ec484c43f48d7d3e120e8bfef0ce9d31b6d119cbb1f3cde0a7db540e6fd98da88a32af921e5748577a46a28c43f7c83c9d3a3d1a33b7277e3ac5cf0dc56 SHA512 d59c1f04106eb2de6cf9f7ffe873344cf69691bd336c1dee6b328c083090f52479bbe4990c36e024b9f2a9c0817ba711343477574ae3ee5620643d5de8c57cc6
+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 30fe0225f1c3..584d1f6287a0 100644
--- a/dev-python/pytest-shell-utilities/metadata.xml
+++ b/dev-python/pytest-shell-utilities/metadata.xml
@@ -9,7 +9,9 @@
<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>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pytest-shell-utilities/pytest-shell-utilities-1.7.0.ebuild b/dev-python/pytest-shell-utilities/pytest-shell-utilities-1.7.0.ebuild
deleted file mode 100644
index 883316723abb..000000000000
--- a/dev-python/pytest-shell-utilities/pytest-shell-utilities-1.7.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_{9..11} )
-
-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-6.0.0[${PYTHON_USEDEP}]
- dev-python/attrs[${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.ebuild b/dev-python/pytest-shell-utilities/pytest-shell-utilities-1.9.0.ebuild
new file mode 100644
index 000000000000..c6d8c2dc29b4
--- /dev/null
+++ b/dev-python/pytest-shell-utilities/pytest-shell-utilities-1.9.0.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[${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/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-r3.ebuild b/dev-python/pytest-shutil/pytest-shutil-1.7.0-r3.ebuild
deleted file mode 100644
index 212cdf7f0e4c..000000000000
--- a/dev-python/pytest-shutil/pytest-shutil-1.7.0-r3.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} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.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/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}]
-"
-# block pytest plugins that will be broken by the upgrade
-RDEPEND+="
- !<dev-python/pytest-virtualenv-1.7.0-r1[python_targets_python2_7(-)]
-"
-
-BDEPEND="
- ${RDEPEND}
- dev-python/setuptools-git[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-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 263def642957..04ea6c52f7f5 100644
--- a/dev-python/pytest-skip-markers/Manifest
+++ b/dev-python/pytest-skip-markers/Manifest
@@ -1,2 +1 @@
-DIST pytest-skip-markers-1.3.0.tar.gz 79882 BLAKE2B 2c44711e6194aebf0a0299f8a50e6162a088023c2fff6bdb7c142060695a6977b1d4a5cc574199d8f11a5a94e413d7444f81d9e954327e8317ed1bcf3725a60f SHA512 bea602032a7796be7c2dad62ba750e987b77f04349c96f6f8e1f15f5d2b58c3ba1e549a775ce7e541f6041091a578def59900a726872c8aa8b31c585e3f0c3e0
-DIST pytest-skip-markers-1.4.0.gh.tar.gz 70932 BLAKE2B d1bd597de0004ca37d8582896166be8f70833b386adbb53e5f812b28ac15bca613fea5e85b21bfb3549892f45ea8bbff13e66bafb97fc5db93e2fc6226a73c85 SHA512 6cb88833fd328f8e7cc6a2d0c8a0c9106b07186b8a20164c8272d685e93c21b111d4e7885ac1739ce777a9279a59705229ea41c3c31c71ac71d1bc26c13318f2
+DIST pytest-skip-markers-1.5.1.gh.tar.gz 73219 BLAKE2B f8f23bf64dfc23263ee58397fa8571bf76a77820230f8f27003f72f0a26cbb19ae76185ed203e5b516326a40a355c2d006101f2eb7cd4df40f4a4d80e8e7c629 SHA512 4221e39ab472a88c4f6d0cf2fbf0de1568f99f5ca9962e4afab060b6cfd8365d106583cf818a98bbc7f8f4d5192c7fc9678e4e0da2b6c1082c26ee2e049b0004
diff --git a/dev-python/pytest-skip-markers/metadata.xml b/dev-python/pytest-skip-markers/metadata.xml
index 2d065697b436..ff23c8505554 100644
--- a/dev-python/pytest-skip-markers/metadata.xml
+++ b/dev-python/pytest-skip-markers/metadata.xml
@@ -10,6 +10,7 @@
<name>Python</name>
</maintainer>
<upstream>
+ <remote-id type="github">saltstack/pytest-skip-markers</remote-id>
<remote-id type="pypi">pytest-skip-markers</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pytest-skip-markers/pytest-skip-markers-1.3.0-r2.ebuild b/dev-python/pytest-skip-markers/pytest-skip-markers-1.3.0-r2.ebuild
deleted file mode 100644
index a87f6f98c30c..000000000000
--- a/dev-python/pytest-skip-markers/pytest-skip-markers-1.3.0-r2.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
-
-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/${PN}/archive/${PV}.tar.gz
- -> ${P}.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/pytest-6.0.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}
diff --git a/dev-python/pytest-skip-markers/pytest-skip-markers-1.4.0.ebuild b/dev-python/pytest-skip-markers/pytest-skip-markers-1.4.0.ebuild
deleted file mode 100644
index 46cdc7971c07..000000000000
--- a/dev-python/pytest-skip-markers/pytest-skip-markers-1.4.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_{9..11} )
-
-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..370c93d299c3
--- /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..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-subprocess/Manifest b/dev-python/pytest-subprocess/Manifest
new file mode 100644
index 000000000000..50d817de0d37
--- /dev/null
+++ b/dev-python/pytest-subprocess/Manifest
@@ -0,0 +1 @@
+DIST pytest-subprocess-1.5.0.gh.tar.gz 34771 BLAKE2B b76ab9234ff2ec437ef9679c2e8af6cdc545189c7fd9f832f68c5cad094c80250c5fe1fd6e0da54d7a8c09da30a66f7f097da66f03d169e149186b49e2b72b56 SHA512 8489993cc396d41d127927ab46a43120528dbcb9641e7be03777689af127df29fe618eee3a815e96a0353cc02117dc1af22800d748476c4fe2b76c2246229f08
diff --git a/dev-python/pytest-subprocess/metadata.xml b/dev-python/pytest-subprocess/metadata.xml
new file mode 100644
index 000000000000..fff3884af1d5
--- /dev/null
+++ b/dev-python/pytest-subprocess/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">aklajnert/pytest-subprocess</remote-id>
+ <remote-id type="pypi">pytest-subprocess</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild b/dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild
new file mode 100644
index 000000000000..48c8bfd856dd
--- /dev/null
+++ b/dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild
@@ -0,0 +1,42 @@
+# 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 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 ~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() {
+ epytest -p no:flaky
+}
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 a6a2ac1af939..b3602b7b1d53 100644
--- a/dev-python/pytest-subtests/Manifest
+++ b/dev-python/pytest-subtests/Manifest
@@ -1 +1 @@
-DIST pytest-subtests-0.9.0.gh.tar.gz 9840 BLAKE2B c94155c1e44b4bf81bc4d2d1963c952b721634372db9dc5c1b8a7819acba8e84815333c0c67a90d2a930abb98affbd99a721796ed09513635923f6a89e336d4a SHA512 f1bc2b99e6f04864cdc45675574d32821fd5e08c01c937bddc846ac509cd8906d21ee63b11e9e8a87c2631334541e9adc601a7dd69702572d51c3d4b72443ad2
+DIST pytest-subtests-0.12.1.tar.gz 15303 BLAKE2B 68ce29fd067836cb32b43f260c98b0a8d1827a1bf6f3f61bc98eb69a5259dad725379bece5fe745e86561cab7e58042aff7da51d39e99fd09bbf0127d04d8cca SHA512 5eb4ff950171f8e008b3879453b55bab1ebc82ec60ca4da839158ad6e195c03f1a5d6b6ce2ac263a3ecaa2f684955e4fcc7abf5e429de9ffd898586b758e6cd4
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..2f8e3e53ebdf
--- /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..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,pytest_subtests.plugin
+ epytest
+}
diff --git a/dev-python/pytest-subtests/pytest-subtests-0.9.0.ebuild b/dev-python/pytest-subtests/pytest-subtests-0.9.0.ebuild
deleted file mode 100644
index a0a51fc25a91..000000000000
--- a/dev-python/pytest-subtests/pytest-subtests-0.9.0.ebuild
+++ /dev/null
@@ -1,43 +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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="unittest subTest() support and subtests fixture"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-subtests/
- https://pypi.org/project/pytest-subtests/"
-SRC_URI="
- https://github.com/pytest-dev/pytest-subtests/archive/refs/tags/${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/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
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-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-sugar/Manifest b/dev-python/pytest-sugar/Manifest
index 4c7426258b8f..023f68ed522b 100644
--- a/dev-python/pytest-sugar/Manifest
+++ b/dev-python/pytest-sugar/Manifest
@@ -1 +1 @@
-DIST pytest-sugar-0.9.6.tar.gz 13702 BLAKE2B 72a48d501ba5bd597ec2561817179cd50213d1de80a3281823033d9d1a1c62f37367353885d805a6e212380ddaa934b1e0887814742e26cd1b809b4ef629cf19 SHA512 955e28478854c6751e7470b49f130bce2904c1f74d46caa2a6e212c132e3f1f0565f2f31ac360a32d2d9c4999f4dcdd19e7373508660bfd7da530981aef9cd62
+DIST pytest-sugar-1.0.0.tar.gz 14992 BLAKE2B 75087685c88a2f5ff27cdebbc7600a23fc57c8ee556f57cf05ef3239b1a88866940f99635065fecf254e7fb7a96784edf1bfeaad1a9548077313c1bfd51146b5 SHA512 3976a77c76ae9a83a84753d426902650d0a63d686a84cdd25439c01ae444ae0a84c6095bf0ee5cfaf544e1cc69680001676a8dc4314d0f4d22c3021cb5b7c41d
diff --git a/dev-python/pytest-sugar/pytest-sugar-0.9.6.ebuild b/dev-python/pytest-sugar/pytest-sugar-0.9.6.ebuild
deleted file mode 100644
index 7f343a2aadb5..000000000000
--- a/dev-python/pytest-sugar/pytest-sugar-0.9.6.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Plugin that changes the default look and feel of pytest"
-HOMEPAGE="
- https://github.com/Teemu/pytest-sugar/
- https://pypi.org/project/pytest-sugar/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/termcolor[${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..d6f37b625e41
--- /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..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-system-statistics/files/pytest-system-statistics-1.0.2-loader.patch b/dev-python/pytest-system-statistics/files/pytest-system-statistics-1.0.2-loader.patch
new file mode 100644
index 000000000000..6d4751759617
--- /dev/null
+++ b/dev-python/pytest-system-statistics/files/pytest-system-statistics-1.0.2-loader.patch
@@ -0,0 +1,43 @@
+diff --git a/src/pytestsysstats/plugin.py b/src/pytestsysstats/plugin.py
+index 4009858..3067f73 100644
+--- a/src/pytestsysstats/plugin.py
++++ b/src/pytestsysstats/plugin.py
+@@ -231,20 +231,17 @@ def pytest_sessionstart(session: "Session") -> None:
+ ):
+ stats_processes_instance = StatsProcesses()
+ stats_processes_instance.add("Test Suite Run", os.getpid())
+- else:
+- stats_processes_instance = None
++ session.config.pluginmanager.register(stats_processes_instance, "sysstats-processes")
+
+- session.config.pluginmanager.register(stats_processes_instance, "sysstats-processes")
+-
+- terminalreporter = session.config.pluginmanager.getplugin(
+- "terminalreporter"
+- ) # type: "TerminalReporter"
+- sys_stats_reporter = SystemStatsReporter(
+- config=session.config,
+- stats_processes=stats_processes_instance,
+- terminalreporter=terminalreporter,
+- )
+- session.config.pluginmanager.register(sys_stats_reporter, "sysstats-reporter")
++ terminalreporter = session.config.pluginmanager.getplugin(
++ "terminalreporter"
++ ) # type: "TerminalReporter"
++ sys_stats_reporter = SystemStatsReporter(
++ config=session.config,
++ stats_processes=stats_processes_instance,
++ terminalreporter=terminalreporter,
++ )
++ session.config.pluginmanager.register(sys_stats_reporter, "sysstats-reporter")
+
+
+ @pytest.fixture(scope="session") # type: ignore[misc]
+@@ -252,5 +249,5 @@ def stats_processes(request: "SubRequest") -> StatsProcesses:
+ """
+ Session scoped process statistics tracker.
+ """
+- plugin = request.config.pluginmanager.get_plugin("sysstats-processes") # type: StatsProcesses
+- return plugin
++ if request.config.pluginmanager.has_plugin("sysstats-processes"):
++ return request.config.pluginmanager.get_plugin("sysstats-processes") # type: StatsProcesses
diff --git a/dev-python/pytest-system-statistics/metadata.xml b/dev-python/pytest-system-statistics/metadata.xml
index 227706a29106..30e449670acf 100644
--- a/dev-python/pytest-system-statistics/metadata.xml
+++ b/dev-python/pytest-system-statistics/metadata.xml
@@ -6,6 +6,7 @@
<email>chutzpah@gentoo.org</email>
</maintainer>
<upstream>
+ <remote-id type="github">saltstack/pytest-system-statistics</remote-id>
<remote-id type="pypi">pytest-system-statistics</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pytest-system-statistics/pytest-system-statistics-1.0.2-r1.ebuild b/dev-python/pytest-system-statistics/pytest-system-statistics-1.0.2-r1.ebuild
deleted file mode 100644
index 253f89ca6b94..000000000000
--- a/dev-python/pytest-system-statistics/pytest-system-statistics-1.0.2-r1.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Pytest Plugin Which Reports System Usage Statistics"
-HOMEPAGE="
- https://pypi.org/project/pytest-system-statistics/
- https://github.com/saltstack/pytest-system-statistics
-"
-SRC_URI="https://github.com/saltstack/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/pytest-6.0.0[${PYTHON_USEDEP}]
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- dev-python/pytest-skip-markers[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/wheel[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-subtests[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -e "s/use_scm_version=True/version='${PV}'/" -i setup.py || die
- sed -e "/setuptools_scm/ d" -i setup.cfg || die
- sed -e "s/tool.setuptools_scm/tool.disabled/" -i pyproject.toml || die
-
- printf '__version__ = "${PV}"\n' > src/pytestsysstats/version.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- epytest -k 'not proc_sys_stats'
-}
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
new file mode 100644
index 000000000000..2ed51c91e1d5
--- /dev/null
+++ b/dev-python/pytest-system-statistics/pytest-system-statistics-1.0.2-r2.ebuild
@@ -0,0 +1,53 @@
+# 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 Which Reports System Usage Statistics"
+HOMEPAGE="
+ https://pypi.org/project/pytest-system-statistics/
+ https://github.com/saltstack/pytest-system-statistics
+"
+SRC_URI="
+ https://github.com/saltstack/pytest-system-statistics/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/pytest-6.0.0[${PYTHON_USEDEP}]
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/pytest-skip-markers[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-subtests[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/pytest-system-statistics-1.0.2-loader.patch"
+)
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ tests/functional/test_syststats.py::test_proc_sys_stats
+ tests/functional/test_syststats.py::test_proc_sys_stats_no_children
+ )
+ epytest
+}
diff --git a/dev-python/pytest-tempdir/metadata.xml b/dev-python/pytest-tempdir/metadata.xml
index 965933c1c766..36f849d0a069 100644
--- a/dev-python/pytest-tempdir/metadata.xml
+++ b/dev-python/pytest-tempdir/metadata.xml
@@ -5,7 +5,9 @@
<email>chutzpah@gentoo.org</email>
<name>Patrick McLean</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">pytest-tempdir</remote-id>
+ <remote-id type="github">saltstack/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 9c8900d55e9c..c021ea21e987 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
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
@@ -13,6 +13,6 @@ SRC_URI="https://github.com/saltstack/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
distutils_enable_tests pytest
diff --git a/dev-python/pytest-testinfra/Manifest b/dev-python/pytest-testinfra/Manifest
index 8624198679b5..1d5362a19cbf 100644
--- a/dev-python/pytest-testinfra/Manifest
+++ b/dev-python/pytest-testinfra/Manifest
@@ -1 +1 @@
-DIST pytest-testinfra-7.0.0.tar.gz 79296 BLAKE2B b0870cbf466627daff0ed6a3063c15c9b725fab4009fc24c3779b56765901e6b8d3a42fce429f1e42151b78d61f52c38955772e562c74d78c717a61a5fe74f04 SHA512 507d7a434c2eb159e2c36b1be3d447e386d3a4e614f2717ed8add456358f644c18f801db6774a4854e4ec7936643febd332aa4096ab26ae0080aceeff420c78e
+DIST pytest-testinfra-10.1.0.tar.gz 85117 BLAKE2B 3db43661def60ef9627bd888b92f409886f2d6f1ae1306a8d46bbcbe3363cf5ae9e79f9fab49f0d0f8d6529d677a40db04fc68597d0d11e0285a7e27a01283fb SHA512 98003ab250c06fc69ff015fc53af87aa642109866a86bdd679cc8876db614660f11f79c3146aef10c7b8f47723a13777cbad07276af661986129a5d0bfc11e1b
diff --git a/dev-python/pytest-testinfra/pytest-testinfra-10.1.0.ebuild b/dev-python/pytest-testinfra/pytest-testinfra-10.1.0.ebuild
new file mode 100644
index 000000000000..6a6eef4cb700
--- /dev/null
+++ b/dev-python/pytest-testinfra/pytest-testinfra-10.1.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_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-7.0.0.ebuild b/dev-python/pytest-testinfra/pytest-testinfra-7.0.0.ebuild
deleted file mode 100644
index 8969cefa4304..000000000000
--- a/dev-python/pytest-testinfra/pytest-testinfra-7.0.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 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${P::1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~riscv"
-
-RDEPEND="
- dev-python/pytest[${PYTHON_USEDEP}]
-"
-# Ansible is called via its CLI
-# which(1) is used as fallback when `command -v ...` returns 127
-# (which e.g. happens when dash is used as /bin/sh)
-# https://github.com/pytest-dev/pytest-testinfra/issues/668
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- app-admin/ansible
- app-admin/salt[${PYTHON_USEDEP}]
- dev-python/paramiko[${PYTHON_USEDEP}]
- dev-python/pywinrm[${PYTHON_USEDEP}]
- sys-apps/which
- )
-"
-
-distutils_enable_tests pytest
-
-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 80ad097be8da..46854c84991e 100644
--- a/dev-python/pytest-timeout/Manifest
+++ b/dev-python/pytest-timeout/Manifest
@@ -1 +1 @@
-DIST pytest-timeout-2.1.0.tar.gz 18386 BLAKE2B 1c84b67e8d07056f9c5b188e467832d4aa292ce1047da6cb13b2939962d2599853db134b16ff3a1a953cbdc1c1772be961eadc9925b32f8dbe514938ede90d40 SHA512 5750e5183669ed9b83fbb76bd7fc9fc1f5f6eef3d9b675dc44f6c7edfd2c6d15739d71e845ededaa192c93da73026ac3376a3295be9f7d3f3eac325660ce7bf3
+DIST pytest-timeout-2.3.1.tar.gz 17697 BLAKE2B 5f0ffa2fdda59ef28a92bfd5742891f63c1fa400db4ef89077fa13d917932d83e76d543c4c326a27df582a025122d8a75f1f7adf0daebbecc42273d4323ff93a SHA512 f200d625d11f76173521f4e2e4e09d57f6613d9b1420c57893b454ec496d5f11b32390b95eb995b403d15f8563b742a58fa0e0cbad42246b4049787a389ad83e
diff --git a/dev-python/pytest-timeout/metadata.xml b/dev-python/pytest-timeout/metadata.xml
index fae0e54ef9b4..7f42025636a8 100644
--- a/dev-python/pytest-timeout/metadata.xml
+++ b/dev-python/pytest-timeout/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">pytest-dev/pytest-timeout</remote-id>
<remote-id type="pypi">pytest-timeout</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pytest-timeout/pytest-timeout-2.1.0.ebuild b/dev-python/pytest-timeout/pytest-timeout-2.1.0.ebuild
deleted file mode 100644
index b8dab62d32a0..000000000000
--- a/dev-python/pytest-timeout/pytest-timeout-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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="pytest plugin to abort hanging tests"
-HOMEPAGE="https://pypi.org/project/pytest-timeout/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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}]
- !hppa? (
- $(python_gen_cond_dep '
- dev-python/pytest-cov[${PYTHON_USEDEP}]
- ' python3_{8..10} pypy3)
- )
- )"
-
-distutils_enable_tests pytest
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..2d48986cbf02
--- /dev/null
+++ b/dev-python/pytest-timeout/pytest-timeout-2.3.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
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} 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? (
+ dev-python/pytest-cov[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+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; then
+ PYTEST_PLUGINS+=,pytest_cov.plugin
+ else
+ EPYTEST_DESELECT+=(
+ test_pytest_timeout.py::test_cov
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/pytest-tornado/Manifest b/dev-python/pytest-tornado/Manifest
index cbdd05280393..1c98ddbea5f4 100644
--- a/dev-python/pytest-tornado/Manifest
+++ b/dev-python/pytest-tornado/Manifest
@@ -1 +1 @@
-DIST pytest-tornado-0.8.1.tar.gz 12616 BLAKE2B 0e9668056c5f6dafd242f311825f830fe1e6428f4c38d030bb0a119f8ae54d511debdb4f839adcfa0881d6ecc79e4889dbed80121cd7a3d4bfb75dd901cb234e SHA512 e655ee9e28461c68b6cc642dbbb203a31154305a603951641e795c605f55970243bb9f7a8858a44bf70faba3d647bea6cf1525f2f9655a968cabbea43beec3d6
+DIST pytest-tornado-0.8.1.gh.tar.gz 12616 BLAKE2B 0e9668056c5f6dafd242f311825f830fe1e6428f4c38d030bb0a119f8ae54d511debdb4f839adcfa0881d6ecc79e4889dbed80121cd7a3d4bfb75dd901cb234e SHA512 e655ee9e28461c68b6cc642dbbb203a31154305a603951641e795c605f55970243bb9f7a8858a44bf70faba3d647bea6cf1525f2f9655a968cabbea43beec3d6
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
new file mode 100644
index 000000000000..adf8e04497c9
--- /dev/null
+++ b/dev-python/pytest-tornado/pytest-tornado-0.8.1-r1.ebuild
@@ -0,0 +1,30 @@
+# 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="Fixtures and markers to simplify testing of asynchronous tornado applications"
+HOMEPAGE="
+ https://github.com/eugeniy/pytest-tornado/
+ https://pypi.org/project/pytest-tornado/
+"
+SRC_URI="
+ https://github.com/eugeniy/pytest-tornado/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/pytest-3.6[${PYTHON_USEDEP}]
+ >=dev-python/tornado-5[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-tornado/pytest-tornado-0.8.1.ebuild b/dev-python/pytest-tornado/pytest-tornado-0.8.1.ebuild
deleted file mode 100644
index 6c46bba64236..000000000000
--- a/dev-python/pytest-tornado/pytest-tornado-0.8.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_SETUPTOOLS=rdepend
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Fixtures and markers to simplify testing of asynchronous tornado applications"
-HOMEPAGE="https://github.com/eugeniy/pytest-tornado"
-SRC_URI="https://github.com/eugeniy/pytest-tornado/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-SLOT="0"
-LICENSE="Apache-2.0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/pytest-3.6[${PYTHON_USEDEP}]
- >=dev-python/tornado-5[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests --install pytest
diff --git a/dev-python/pytest-tornasync/Manifest b/dev-python/pytest-tornasync/Manifest
index 591d86f01ace..3f23e97f70d9 100644
--- a/dev-python/pytest-tornasync/Manifest
+++ b/dev-python/pytest-tornasync/Manifest
@@ -1 +1 @@
-DIST pytest-tornasync-0.6.0.post2.tar.gz 6201 BLAKE2B 6b6a2f941e649fb33373ef39b9d848d68a8af0f5e0d1a5e4496a9160e8e63ea108832437e87382c8203bb2c75673fad37b4ebd76157913199eb1661cd0216591 SHA512 2e258913b17a5442d18928833ee7e9771b6dbd148dbf251a7661432a54d4b9f9f3a7c396134eb544c0e3ce0af48c99d2d632399ac6ebdcf148187a7a523f4974
+DIST pytest-tornasync-0.6.0.post2.gh.tar.gz 6157 BLAKE2B 315526ebfe1801ccb10258c0258a83f16efdc28b2b2dcdeece94423a0230506fc08ef176655e35c7aed007fad40501d6a1b0ad20728dfc58faddaad003fb1182 SHA512 fe21bc724b0bcc192f0ca7628302cda0b8122e1b5aedd4f7a0818bc757f45c1d4f76b2aecc35396349df7fc5b43c1278a5a06af44c2b29d8bf1e691164324231
diff --git a/dev-python/pytest-tornasync/metadata.xml b/dev-python/pytest-tornasync/metadata.xml
index 531d235187da..abd0597a1324 100644
--- a/dev-python/pytest-tornasync/metadata.xml
+++ b/dev-python/pytest-tornasync/metadata.xml
@@ -5,6 +5,10 @@
<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">pytest-tornasync</remote-id>
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
new file mode 100644
index 000000000000..74bce056758e
--- /dev/null
+++ b/dev-python/pytest-tornasync/pytest-tornasync-0.6.0_p2-r1.ebuild
@@ -0,0 +1,45 @@
+# 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
+
+MY_P=${PN}-${PV/_p/.post}
+DESCRIPTION="Pytest plugin for testing Python 3.5+ Tornado code"
+HOMEPAGE="
+ https://github.com/eukaryote/pytest-tornasync/
+ https://pypi.org/project/pytest-tornasync/
+"
+SRC_URI="
+ https://github.com/eukaryote/pytest-tornasync/archive/${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/pytest-3.0[${PYTHON_USEDEP}]
+ >=dev-python/tornado-5.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Do not install the license file
+ sed -i -e '/LICENSE/d' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_tornasync.plugin
+}
diff --git a/dev-python/pytest-tornasync/pytest-tornasync-0.6.0_p2.ebuild b/dev-python/pytest-tornasync/pytest-tornasync-0.6.0_p2.ebuild
deleted file mode 100644
index d64e74154df7..000000000000
--- a/dev-python/pytest-tornasync/pytest-tornasync-0.6.0_p2.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pytest plugin for testing Python 3.5+ Tornado code"
-HOMEPAGE="https://github.com/eukaryote/pytest-tornasync"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P//_p/.post}.tar.gz"
-S="${WORKDIR}/${P//_p/.post}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-# TODO: fix this
-# E ImportError: cannot import name 'MESSAGE' from 'test'
-RESTRICT="test"
-
-RDEPEND="
- >=dev-python/pytest-3.0[${PYTHON_USEDEP}]
- >=dev-python/tornado-5.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Do not install the license file
- sed -i -e '/LICENSE/d' setup.py || die
-
- distutils-r1_python_prepare_all
-}
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..a73c87ac4e00
--- /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..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() {
+ 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 e6c71551bb1e..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
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-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..064743b70e7a 100644
--- a/dev-python/pytest-twisted/Manifest
+++ b/dev-python/pytest-twisted/Manifest
@@ -1 +1 @@
-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
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..b8d5fd02c9df
--- /dev/null
+++ b/dev-python/pytest-twisted/pytest-twisted-1.14.1.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..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}]
+"
+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.ebuild b/dev-python/pytest-verbose-parametrize/pytest-verbose-parametrize-1.7.0.ebuild
deleted file mode 100644
index 9b169a2d88d0..000000000000
--- a/dev-python/pytest-verbose-parametrize/pytest-verbose-parametrize-1.7.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="More descriptive parametrized-test IDs for py.test"
-HOMEPAGE="https://github.com/man-group/pytest-plugins https://pypi.org/project/pytest-verbose-parametrize/"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-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 48ca3155b25e..000000000000
--- a/dev-python/pytest-virtualenv/pytest-virtualenv-1.7.0-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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Virtualenv fixture for py.test"
-HOMEPAGE="
- https://github.com/man-group/pytest-plugins/
- https://pypi.org/project/pytest-virtualenv/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.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/pytest-fixture-config[${PYTHON_USEDEP}]
- dev-python/pytest-shutil[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-git[${PYTHON_USEDEP}]
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-xdist/Manifest b/dev-python/pytest-xdist/Manifest
index 0cd0e5299708..9927717437ee 100644
--- a/dev-python/pytest-xdist/Manifest
+++ b/dev-python/pytest-xdist/Manifest
@@ -1 +1 @@
-DIST pytest-xdist-3.1.0.tar.gz 71977 BLAKE2B c29622377743aec0a90f0e92af866a63106b9c37abee379222fd2b5c40f0607c33010bb5d2cb5212fc90a438d787ecb435f07c31e0db7a10599696c33b309a32 SHA512 884cdd85754b36338666cbdd71575ef18465730cfc4ab7333b93aa46823c1dc33e8055117241f4c87e1b8c82492881cc0f91ef1bb2ddc164aa00bfa1e5e2d245
+DIST pytest-xdist-3.5.0.tar.gz 78977 BLAKE2B 94feaa236728688a993ed89825f4ccd67abd7a520d235790bbfc629173e5918695ac500d04de642f07d323325972512e3ad95f0ae18a9ea239da8c2f167ab1a5 SHA512 1b6a896c6c69c110d1f3aa634740ffced570bbb788b3474687fef20147a5480a8681886b04db0413f7db68db546236f9a7f37e1592a74d1145f6eb6d876216ca
diff --git a/dev-python/pytest-xdist/pytest-xdist-3.1.0.ebuild b/dev-python/pytest-xdist/pytest-xdist-3.1.0.ebuild
deleted file mode 100644
index 79998a7b102e..000000000000
--- a/dev-python/pytest-xdist/pytest-xdist-3.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Distributed testing and loop-on-failing modes"
-HOMEPAGE="
- https://pypi.org/project/pytest-xdist/
- https://github.com/pytest-dev/pytest-xdist/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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}]
- dev-python/pytest-forked[${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,pytest_forked
-
- 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
new file mode 100644
index 000000000000..24d0715e31b6
--- /dev/null
+++ b/dev-python/pytest-xdist/pytest-xdist-3.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
+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 -o tmp_path_retention_count=1
+}
diff --git a/dev-python/pytest-xprocess/Manifest b/dev-python/pytest-xprocess/Manifest
index 7ff503cb3067..5c24781f92c5 100644
--- a/dev-python/pytest-xprocess/Manifest
+++ b/dev-python/pytest-xprocess/Manifest
@@ -1,2 +1,2 @@
-DIST pytest-xprocess-0.21.0.tar.gz 30601 BLAKE2B c487b6223306c8a96ea2c4f99763ab8e59ea1db908b2ed93280fa3e2805794798b4555c3d07c730f911702712371bb390780709caa9eb6663451367f58b9781c SHA512 72f8db45a11cffb65302379c1690ef5ad9d71a1aa40b7fd03e1231f7ad0c0413638f7d2155f5b366d2d623399512759d8ffdac8591eb24b77562f9b1f584ed74
-DIST pytest-xprocess-0.22.2.tar.gz 31346 BLAKE2B 07b9fdfea2ecd3d3aaf4115c2f7ecd41c864b4490694cedc54460d0f16397ebdda0ac88fd9bd1613dcaec1cb9c36571b8ab2febc8d151f8f6c4e19fe3abd0821 SHA512 2051be110dfda8063c31bb9555bff569f5d7a1332a62f8ce57fd799dfc7d8551ba1227df12f44fccc1ec62d9fcc0face104a77c9c5cc1abb583b74cd1d8a9ff7
+DIST pytest-xprocess-0.23.0.tar.gz 31350 BLAKE2B 71492aa1bbc438221c6ac2825bf2bd678a75c12e8b5a8654d333c1ba2ad5c66b21f85e572998f0e5f1835097483a4895942d664ef7d8f078cad7923a9ee2e962 SHA512 97aa2a8ba0bcca62d53c0a0523696f6ae5fec5eae29e3e2cfe1a3ec8f14622c2c31f0802b2e65b55aa16778dd6ea82951e15af768c9d84cfd13aa2d427f94c9e
+DIST pytest-xprocess-1.0.1.tar.gz 38665 BLAKE2B ddda66a3aed155f857d6f55c38ddb687e46cd5e0e8eefa0183fc853e884d6167d836f67045cf3aa8be7558fd8b56b98110bfd6b0e1a562f95428da124685d77f SHA512 4bf4545149e7cf99b51f0ba710b04d673664e5c93083d6848dbe5d0ecb7d948bb6180d0de5980a2d576381ed9f7a10085f57469f6ece93585fc451ac02441920
diff --git a/dev-python/pytest-xprocess/pytest-xprocess-0.21.0.ebuild b/dev-python/pytest-xprocess/pytest-xprocess-0.21.0.ebuild
deleted file mode 100644
index c26be2e854e5..000000000000
--- a/dev-python/pytest-xprocess/pytest-xprocess-0.21.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Manage external processes across test runs"
-HOMEPAGE="
- https://pypi.org/project/pytest-xprocess/
- https://github.com/pytest-dev/pytest-xprocess/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/py[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-xprocess/pytest-xprocess-0.22.2.ebuild b/dev-python/pytest-xprocess/pytest-xprocess-0.22.2.ebuild
deleted file mode 100644
index af07703e6453..000000000000
--- a/dev-python/pytest-xprocess/pytest-xprocess-0.22.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Manage external processes across test runs"
-HOMEPAGE="
- https://pypi.org/project/pytest-xprocess/
- https://github.com/pytest-dev/pytest-xprocess/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/py[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-xprocess/pytest-xprocess-0.23.0.ebuild b/dev-python/pytest-xprocess/pytest-xprocess-0.23.0.ebuild
new file mode 100644
index 000000000000..b401a55af0b3
--- /dev/null
+++ b/dev-python/pytest-xprocess/pytest-xprocess-0.23.0.ebuild
@@ -0,0 +1,27 @@
+# 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="Manage external processes across test runs"
+HOMEPAGE="
+ https://pypi.org/project/pytest-xprocess/
+ https://github.com/pytest-dev/pytest-xprocess/
+"
+
+SLOT="0"
+LICENSE="MIT"
+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-xprocess/pytest-xprocess-1.0.1.ebuild b/dev-python/pytest-xprocess/pytest-xprocess-1.0.1.ebuild
new file mode 100644
index 000000000000..7ed4e7ad9828
--- /dev/null
+++ b/dev-python/pytest-xprocess/pytest-xprocess-1.0.1.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..12} 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-xvfb/Manifest b/dev-python/pytest-xvfb/Manifest
index 2132937334bb..707a7f4647a3 100644
--- a/dev-python/pytest-xvfb/Manifest
+++ b/dev-python/pytest-xvfb/Manifest
@@ -1 +1 @@
-DIST pytest-xvfb-2.0.0.tar.gz 6855 BLAKE2B 338802ccbf5fc0c9ab3fccd7c172b31867cc86869dfc50dbb30daf396ecd9865e71c6486cc96c2485e2d5b6195dc2eff83a033864f88e1b2c64a3937b6b48c84 SHA512 42c2119b2c529a45b5de9f8ac2781306cfb9f00c1d0e0e9045ed40ccb7260cb6f400683802ab845ce2481dcadfcef007c8417a481e9c04f14ee1bdc68244d391
+DIST pytest-xvfb-3.0.0.tar.gz 8607 BLAKE2B a1256b121a66c0b778a45f695754363ec241699197000f6237473dc2d54c0eeff499722073b00280ca242d695c192ff4fd985931a42bbb52a0f8e2424867b60a SHA512 9aec1681656badf81fbac3a0d621b163810001e155a1cb8fd35e0f8c8d3ee52556e622adc0468d8e7455b15ba0f5103622fae1aa2493a7053ca78f092e582cf1
diff --git a/dev-python/pytest-xvfb/metadata.xml b/dev-python/pytest-xvfb/metadata.xml
index ba15c262a26a..61085c5734a8 100644
--- a/dev-python/pytest-xvfb/metadata.xml
+++ b/dev-python/pytest-xvfb/metadata.xml
@@ -2,12 +2,12 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
+ <email>ionen@gentoo.org</email>
+ <name>Ionen Wolkens</name>
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="pypi">pytest-xvfb</remote-id>
<remote-id type="github">The-Compiler/pytest-xvfb</remote-id>
+ <remote-id type="pypi">pytest-xvfb</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pytest-xvfb/pytest-xvfb-2.0.0-r2.ebuild b/dev-python/pytest-xvfb/pytest-xvfb-2.0.0-r2.ebuild
deleted file mode 100644
index ed4dc6f4834e..000000000000
--- a/dev-python/pytest-xvfb/pytest-xvfb-2.0.0-r2.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_REQ_USE="tk"
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="A pytest plugin to run Xvfb for tests"
-HOMEPAGE="https://pypi.org/project/pytest-xvfb/"
-SRC_URI="https://github.com/The-Compiler/pytest-xvfb/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/pytest-2.8.1[${PYTHON_USEDEP}]
- >=dev-python/pyvirtualdisplay-1.3[${PYTHON_USEDEP}]
- x11-base/xorg-server[xvfb]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest -p xvfb
-}
diff --git a/dev-python/pytest-xvfb/pytest-xvfb-3.0.0.ebuild b/dev-python/pytest-xvfb/pytest-xvfb-3.0.0.ebuild
new file mode 100644
index 000000000000..4f09bfae28da
--- /dev/null
+++ b/dev-python/pytest-xvfb/pytest-xvfb-3.0.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_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="tk"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pytest plugin to run Xvfb for tests"
+HOMEPAGE="
+ https://github.com/The-Compiler/pytest-xvfb/
+ https://pypi.org/project/pytest-xvfb/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pyvirtualdisplay[${PYTHON_USEDEP}]
+ x11-base/xorg-server[xvfb]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_xvfb
+ epytest --runpytest=subprocess
+}
diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index a72ded32ca06..12dda2dc03ae 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -1,2 +1,3 @@
-DIST pytest-7.2.0.tar.gz 1300608 BLAKE2B 051c1c28aae1b2ff97af0b6e58046d8d3ee9b72909d4c8360f7ca3b9f2ed46f24a6db2d6138d1a629ec650bf7b0a14d89b44d0779340c31b60abb8608defd30b SHA512 a16b034c8522f0aa6ee9541b07b79be713565a6e755ab0489b38c2b0a0ed9f7857c87f952ff24c199a2e4c0d71ee26e918dd06abfe994d30ac90e32ae3e8c4d1
-DIST pytest-7.2.1.tar.gz 1301901 BLAKE2B 3323e4d0dc95708733425aba808a864816d73a1d67f2f3048ab516aff9c2e5ddafab67d8596ad5693254c906e9714508e7faef591c89592fcf071698b3dbdb30 SHA512 3f09ccda91c0f14156cf558abde880279838d1a61c8f7e7138ea9fcd59be0577234da2f30410959641fd5a17490c713c0008ce2ed4b4c57196267fca69714061
+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.1.tar.gz 1409703 BLAKE2B 8e382c87af1bbbc235f9b27f8bb892d08393e0a9821f32373ee2546112c24dc6f90e1990f10ef799a94a1426a83a2bc3de0be9e7efde90cbf4eac5a0c9ee375c SHA512 f1a9f69cd4eca3ab36c36bc666bf70b099125ed6e17b89d13554c3f13b100d05abfd0b35516660d00ca4fb9eca81164ab02bc8f7a9a8d90fd4302bf399cd88c0
diff --git a/dev-python/pytest/files/pytest-7.4.3-no-color.patch b/dev-python/pytest/files/pytest-7.4.3-no-color.patch
new file mode 100644
index 000000000000..a6fa02472252
--- /dev/null
+++ b/dev-python/pytest/files/pytest-7.4.3-no-color.patch
@@ -0,0 +1,37 @@
+From ce93a8ad7a11d1e9be76ce6af0d510f935622c1f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sat, 25 Nov 2023 12:09:32 +0100
+Subject: [PATCH] Reset color-related envvars for testing
+
+Reset color-related environment variables in a fixture to prevent them
+from affecting test results. Otherwise, some of the tests fail
+e.g. if NO_COLOR is set in the calling environment.
+---
+ testing/conftest.py | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/testing/conftest.py b/testing/conftest.py
+index 2a3ce5203..612777304 100644
+--- a/testing/conftest.py
++++ b/testing/conftest.py
+@@ -30,6 +30,17 @@ def set_column_width(monkeypatch: pytest.MonkeyPatch) -> None:
+ monkeypatch.setenv("COLUMNS", "80")
+
+
++@pytest.fixture(autouse=True)
++def reset_colors(monkeypatch: pytest.MonkeyPatch) -> None:
++ """
++ Reset all color-related variables to prevent them from affecting internal pytest output
++ in tests that depend on it.
++ """
++ monkeypatch.delenv("PY_COLORS", raising=False)
++ monkeypatch.delenv("NO_COLOR", raising=False)
++ monkeypatch.delenv("FORCE_COLOR", raising=False)
++
++
+ @pytest.hookimpl(hookwrapper=True, tryfirst=True)
+ def pytest_collection_modifyitems(items):
+ """Prefer faster tests.
+--
+2.43.0
+
diff --git a/dev-python/pytest/pytest-7.2.0.ebuild b/dev-python/pytest/pytest-7.2.0.ebuild
deleted file mode 100644
index e5e3af013755..000000000000
--- a/dev-python/pytest/pytest-7.2.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_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{9..11} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Simple powerful testing with Python"
-HOMEPAGE="
- https://pytest.org/
- https://github.com/pytest-dev/pytest/
- https://pypi.org/project/pytest/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- 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.8 3.9 3.10)
-"
-BDEPEND="
- >=dev-python/setuptools_scm-6.2.3[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep '
- dev-python/argcomplete[${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
- )
-
- [[ ${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.2.1.ebuild b/dev-python/pytest/pytest-7.2.1.ebuild
deleted file mode 100644
index 11413faf894a..000000000000
--- a/dev-python/pytest/pytest-7.2.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_TESTED=( python3_{9..11} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Simple powerful testing with Python"
-HOMEPAGE="
- https://pytest.org/
- https://github.com/pytest-dev/pytest/
- https://pypi.org/project/pytest/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- 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.8 3.9 3.10)
-"
-BDEPEND="
- >=dev-python/setuptools_scm-6.2.3[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep '
- dev-python/argcomplete[${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
- )
-
- [[ ${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..c96c58105a4e
--- /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.1.ebuild b/dev-python/pytest/pytest-8.1.1.ebuild
new file mode 100644
index 000000000000..bc3240afb1d2
--- /dev/null
+++ b/dev-python/pytest/pytest-8.1.1.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_jupyter/Manifest b/dev-python/pytest_jupyter/Manifest
deleted file mode 100644
index 6baef7011d27..000000000000
--- a/dev-python/pytest_jupyter/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pytest_jupyter-0.6.2.tar.gz 15174 BLAKE2B b6c536383ab1b8e375e4250b4922ac6372f850ee4993643122896092109d3f711f91ccc7b159b7330de18f7876df818dc01d31c05e3c18d97488255e063db4d4 SHA512 396f7a7c978097e6dee37ead92bb3c8cef2a8100a7cc85b0b1eab19e20bdaed3332391c17568a6a279ab6ddeea1fbb2fa8dafe24ba4500982ba52cfcda2b1052
diff --git a/dev-python/pytest_jupyter/pytest_jupyter-0.6.2.ebuild b/dev-python/pytest_jupyter/pytest_jupyter-0.6.2.ebuild
deleted file mode 100644
index 1bd20652f761..000000000000
--- a/dev-python/pytest_jupyter/pytest_jupyter-0.6.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pytest plugin for testing Jupyter libraries and extensions"
-HOMEPAGE="https://jupyter.org"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~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/python-augeas/python-augeas-1.1.0-r1.ebuild b/dev-python/python-augeas/python-augeas-1.1.0-r1.ebuild
index 1ed10b5cae5e..78f839353bf6 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,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} )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{9..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Python bindings for Augeas"
HOMEPAGE="http://augeas.net/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
diff --git a/dev-python/python-axolotl-curve25519/files/python-axolotl-curve25519-0.4.1_p2-fix-setuptools-warning.diff b/dev-python/python-axolotl-curve25519/files/python-axolotl-curve25519-0.4.1_p2-fix-setuptools-warning.diff
new file mode 100644
index 000000000000..b62111a0b7c3
--- /dev/null
+++ b/dev-python/python-axolotl-curve25519/files/python-axolotl-curve25519-0.4.1_p2-fix-setuptools-warning.diff
@@ -0,0 +1,12 @@
+diff -Naurp a/setup.py b/setup.py
+--- a/setup.py 2018-04-14 12:44:43.000000000 +0200
++++ b/setup.py 2023-04-01 18:39:19.732484796 +0200
+@@ -18,7 +18,7 @@ module_curve = Extension('axolotl_curve2
+ )
+ setup(
+ name='python-axolotl-curve25519',
+- version="0.4.1-2",
++ version="0.4.1.post2",
+ license='GPLv3 License',
+ author='Tarek Galal',
+ ext_modules = [module_curve],
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-curve25519/python-axolotl-curve25519-0.4.1_p2-r4.ebuild b/dev-python/python-axolotl-curve25519/python-axolotl-curve25519-0.4.1_p2-r4.ebuild
index b2e958e91dbe..370508be082f 100644
--- a/dev-python/python-axolotl-curve25519/python-axolotl-curve25519-0.4.1_p2-r4.ebuild
+++ b/dev-python/python-axolotl-curve25519/python-axolotl-curve25519-0.4.1_p2-r4.ebuild
@@ -3,8 +3,9 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517="setuptools"
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1
@@ -17,6 +18,7 @@ S="${WORKDIR}/${PN}-${MY_PV}"
LICENSE="BSD GPL-3"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv x86"
+KEYWORDS="amd64 ~arm64 ~loong ~riscv x86"
-PATCHES=( "${FILESDIR}/python-axolotl-curve25519-fix-type.patch" )
+PATCHES=( "${FILESDIR}/python-axolotl-curve25519-fix-type.patch"
+ "${FILESDIR}/${P}-fix-setuptools-warning.diff" )
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-axolotl/python-axolotl-0.2.3-r3.ebuild b/dev-python/python-axolotl/python-axolotl-0.2.3-r3.ebuild
index c5a71b6945fa..20434956c9b5 100644
--- a/dev-python/python-axolotl/python-axolotl-0.2.3-r3.ebuild
+++ b/dev-python/python-axolotl/python-axolotl-0.2.3-r3.ebuild
@@ -4,23 +4,28 @@
EAPI=8
DISTUTILS_USE_PEP517="setuptools"
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="A python module for the axolotl protocol"
-HOMEPAGE="https://github.com/tgalal/python-axolotl"
-SRC_URI="https://github.com/tgalal/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+HOMEPAGE="
+ https://github.com/tgalal/python-axolotl/
+ https://pypi.org/project/python-axolotl/
+"
+SRC_URI="
+ https://github.com/tgalal/python-axolotl/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv x86"
+KEYWORDS="amd64 ~arm64 ~loong ~riscv x86"
RDEPEND="
dev-python/cryptography[${PYTHON_USEDEP}]
dev-python/protobuf-python[${PYTHON_USEDEP}]
dev-python/python-axolotl-curve25519[${PYTHON_USEDEP}]
"
-DEPEND="${RDEPEND}"
distutils_enable_tests pytest
diff --git a/dev-python/python-box/Manifest b/dev-python/python-box/Manifest
index e9f5019dd492..19f8e6c78cf2 100644
--- a/dev-python/python-box/Manifest
+++ b/dev-python/python-box/Manifest
@@ -1 +1 @@
-DIST Box-6.1.0.gh.tar.gz 83124 BLAKE2B bf201a120b41c2cc6577c49253eac2737770df4fcc070960953f92b55901b59633461a4a77d0cb3dbc27b7c2c99e6d2b891c3df4b722ca37c3ea0e4a4882aa3f SHA512 54edebdf3b5954cd75519dd50b45f468470df1cbd8ef0de941b49777153064af9a678712365889401cc6562b339ebbfc4a8592dbaa7a749b167ed69ffbc41e4d
+DIST Box-7.1.1.gh.tar.gz 87515 BLAKE2B 388944c3a577105ce1e12e9abff7da148d028db88d8070a09e6abe190882acdbfa4cf9d773af6cbae7e945603dc13d3d853253dc18b0d2d2b17c678293583b8a SHA512 60e44eda013a5ab1de2215d156caf2567a24b0471ee20e52096137ad761e92c3ca20d9f3967a21e38ac924488a2b76399c4ea1bc86b652dd72d7494ce22effee
diff --git a/dev-python/python-box/metadata.xml b/dev-python/python-box/metadata.xml
index c0dbbdd823f3..f82e4094d819 100644
--- a/dev-python/python-box/metadata.xml
+++ b/dev-python/python-box/metadata.xml
@@ -1,16 +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>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>
</upstream>
+ <use>
+ <flag name="native-extensions">Compiles native C extensions</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-python/python-box/python-box-6.1.0.ebuild b/dev-python/python-box/python-box-6.1.0.ebuild
deleted file mode 100644
index 9f934dd469ac..000000000000
--- a/dev-python/python-box/python-box-6.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_{9..11} )
-
-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"
-
-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}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/python-box/python-box-7.1.1.ebuild b/dev-python/python-box/python-box-7.1.1.ebuild
new file mode 100644
index 000000000000..9229c71b3a4b
--- /dev/null
+++ b/dev-python/python-box/python-box-7.1.1.ebuild
@@ -0,0 +1,58 @@
+# 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-bugzilla/python-bugzilla-3.2.0-r1.ebuild b/dev-python/python-bugzilla/python-bugzilla-3.2.0-r1.ebuild
index 8fff40284f13..95d75fb273cf 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
@@ -4,16 +4,16 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A python module for interacting with Bugzilla over XMLRPC"
HOMEPAGE="
https://github.com/python-bugzilla/python-bugzilla/
https://pypi.org/project/python-bugzilla/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86"
LICENSE="GPL-2+"
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/metadata.xml b/dev-python/python-caja/metadata.xml
index 231ce181ae67..4d5a275a3b35 100644
--- a/dev-python/python-caja/metadata.xml
+++ b/dev-python/python-caja/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="project">
- <email>mate@gentoo.org</email>
- <name>Gentoo MATE Desktop</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">mate-desktop/python-caja</remote-id>
</upstream>
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 a54c43561e7d..9cf073b3e82a 100644
--- a/dev-python/python-cinderclient/Manifest
+++ b/dev-python/python-cinderclient/Manifest
@@ -1,2 +1 @@
-DIST python-cinderclient-9.1.0.tar.gz 234608 BLAKE2B 9ff63454e8162d731517ce2d98b6ea0c3cf04ef5a885e30afaa67444eb7f814c1ac205a0a216c7a3b92311be5687b9e2561aa02936e87b91ca61c8ea663e069f SHA512 2aa55331d5f372cccb946a4be2e25d4cc6a1d9d9676f1f32b9b51f141d107f74bcb1d0d7a5ef94b931fc5a5ccacb43f639db635217a7833d7738296734938f8b
-DIST python-cinderclient-9.2.0.tar.gz 235773 BLAKE2B 1b4e1c27dec6d74a2c95e3aadbdfb296bf6105ba5a23599babfcf8fc5c37fb52eecf7897eaa0680277b903b1725de2cb7d9a108942fa1be5067b25dce8ca0c72 SHA512 76032779bfa2dbc6c7aecc6631ab42b80bff21437d5037e6bbc5d78a23ce493a7a185c4ee8c1657b41c0bf376a6c919b027f81577f2826fc4222334d8216fda5
+DIST python-cinderclient-9.5.0.tar.gz 236811 BLAKE2B 60d450ea31357d366c0c18b6715a36f51a9700393c2e5bb0967cd86706dd552fb2deaee428816019e87bd2c272b2f9342118b1f770370ce5aba062d3ebd292ce SHA512 efcc0f4b32e1d6f8d696137c416aeed6fc4f2a69b6fa59d47f0c46dc7d38d1f2bbc5ea35d1bcbac0604e9db8b75d256d47a76d17d040b6e84fca6069a65df8d8
diff --git a/dev-python/python-cinderclient/files/python-cinderclient-9.1.0-fix-py3.11-argparse.patch b/dev-python/python-cinderclient/files/python-cinderclient-9.1.0-fix-py3.11-argparse.patch
deleted file mode 100644
index 863e4d93b298..000000000000
--- a/dev-python/python-cinderclient/files/python-cinderclient-9.1.0-fix-py3.11-argparse.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-https://review.opendev.org/c/openstack/python-cinderclient/+/851467
-From: Cyril Roelandt <cyril@redhat.com>
-Date: Thu, 28 Jul 2022 20:48:58 +0200
-Subject: [PATCH] Python3.11: Fix argparse-related test failures
-
-Closes-Bug: #1983054
-Change-Id: I2d4cb81a394f3c10e5f01945d894746a904fb5df
---- a/cinderclient/tests/unit/test_shell.py
-+++ b/cinderclient/tests/unit/test_shell.py
-@@ -376,7 +376,7 @@
-
- self.mock_completion()
-
-- def test_load_versioned_actions(self):
-+ def test_load_versioned_actions_v3_0(self):
- parser = cinderclient.shell.CinderClientArgumentParser()
- subparsers = parser.add_subparsers(metavar='<subcommand>')
- shell = cinderclient.shell.OpenStackCinderShell()
-@@ -388,6 +388,10 @@
- "fake_action 3.0 to 3.1",
- shell.subcommands['fake-action'].get_default('func')())
-
-+ def test_load_versioned_actions_v3_2(self):
-+ parser = cinderclient.shell.CinderClientArgumentParser()
-+ subparsers = parser.add_subparsers(metavar='<subcommand>')
-+ shell = cinderclient.shell.OpenStackCinderShell()
- shell.subcommands = {}
- shell._find_actions(subparsers, fake_actions_module,
- api_versions.APIVersion("3.2"), False, [])
-@@ -521,7 +525,7 @@
-
- @mock.patch.object(cinderclient.shell.CinderClientArgumentParser,
- 'add_argument')
-- def test_load_actions_with_versioned_args(self, mock_add_arg):
-+ def test_load_actions_with_versioned_args_v36(self, mock_add_arg):
- parser = cinderclient.shell.CinderClientArgumentParser(add_help=False)
- subparsers = parser.add_subparsers(metavar='<subcommand>')
- shell = cinderclient.shell.OpenStackCinderShell()
-@@ -533,8 +537,13 @@
- self.assertNotIn(mock.call('--foo', help="second foo"),
- mock_add_arg.call_args_list)
-
-- mock_add_arg.reset_mock()
--
-+ @mock.patch.object(cinderclient.shell.CinderClientArgumentParser,
-+ 'add_argument')
-+ def test_load_actions_with_versioned_args_v39(self, mock_add_arg):
-+ parser = cinderclient.shell.CinderClientArgumentParser(add_help=False)
-+ subparsers = parser.add_subparsers(metavar='<subcommand>')
-+ shell = cinderclient.shell.OpenStackCinderShell()
-+ shell.subcommands = {}
- shell._find_actions(subparsers, fake_actions_module,
- api_versions.APIVersion("3.9"), False, [])
- self.assertNotIn(mock.call('--foo', help="first foo"),
diff --git a/dev-python/python-cinderclient/files/python-cinderclient-9.1.0-fix-py3.11-crashes.patch b/dev-python/python-cinderclient/files/python-cinderclient-9.1.0-fix-py3.11-crashes.patch
deleted file mode 100644
index 3f86c3a50ade..000000000000
--- a/dev-python/python-cinderclient/files/python-cinderclient-9.1.0-fix-py3.11-crashes.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-https://review.opendev.org/c/openstack/python-cinderclient/+/851446
-From: Cyril Roelandt <cyril@redhat.com>
-Date: Thu, 28 Jul 2022 20:14:36 +0200
-Subject: [PATCH] Python3.11: fix crashes in ShellTest
-
-Closes-Bug: #1983047
-Change-Id: If20abef109ddd7107c83b5886beb666a6550a640
---- a/cinderclient/tests/unit/test_shell.py
-+++ b/cinderclient/tests/unit/test_shell.py
-@@ -120,9 +120,9 @@
- # Some expected help output, including microversioned commands
- required = [
- r'.*?^usage: ',
-- r'.*?(?m)^\s+create\s+Creates a volume.',
-- r'.*?(?m)^\s+summary\s+Get volumes summary.',
-- r'.*?(?m)^Run "cinder help SUBCOMMAND" for help on a subcommand.',
-+ r'.*?^\s+create\s+Creates a volume.',
-+ r'.*?^\s+summary\s+Get volumes summary.',
-+ r'.*?^Run "cinder help SUBCOMMAND" for help on a subcommand.',
- ]
- help_text = self.shell('help')
- for r in required:
-@@ -132,7 +132,7 @@
- def test_help_on_subcommand(self):
- required = [
- r'.*?^usage: cinder list',
-- r'.*?(?m)^Lists all volumes.',
-+ r'.*?^Lists all volumes.',
- ]
- help_text = self.shell('help list')
- for r in required:
-@@ -142,7 +142,7 @@
- def test_help_on_subcommand_mv(self):
- required = [
- r'.*?^usage: cinder summary',
-- r'.*?(?m)^Get volumes summary.',
-+ r'.*?^Get volumes summary.',
- ]
- help_text = self.shell('help summary')
- for r in required:
-@@ -152,9 +152,9 @@
- def test_help_arg_no_subcommand(self):
- required = [
- r'.*?^usage: ',
-- r'.*?(?m)^\s+create\s+Creates a volume.',
-- r'.*?(?m)^\s+summary\s+Get volumes summary.',
-- r'.*?(?m)^Run "cinder help SUBCOMMAND" for help on a subcommand.',
-+ r'.*?^\s+create\s+Creates a volume.',
-+ r'.*?^\s+summary\s+Get volumes summary.',
-+ r'.*?^Run "cinder help SUBCOMMAND" for help on a subcommand.',
- ]
- help_text = self.shell('--os-volume-api-version 3.40')
- for r in required:
diff --git a/dev-python/python-cinderclient/python-cinderclient-9.1.0.ebuild b/dev-python/python-cinderclient/python-cinderclient-9.1.0.ebuild
deleted file mode 100644
index d61750daa0e6..000000000000
--- a/dev-python/python-cinderclient/python-cinderclient-9.1.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
-
-DESCRIPTION="A client for the OpenStack Cinder API"
-HOMEPAGE="https://launchpad.net/python-cinderclient"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/keystoneauth-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/simplejson-3.5.1[${PYTHON_USEDEP}]
- >=dev-python/stevedore-3.3.0[${PYTHON_USEDEP}]
-"
-# Tests fail with dev-python/prettytable-3.4.0
-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}]
- <dev-python/prettytable-3.4.0[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-py3.11-argparse.patch"
- "${FILESDIR}/${P}-fix-py3.11-crashes.patch"
-)
-
-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.2.0.ebuild b/dev-python/python-cinderclient/python-cinderclient-9.2.0.ebuild
deleted file mode 100644
index d923d00774d6..000000000000
--- a/dev-python/python-cinderclient/python-cinderclient-9.2.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
-
-DESCRIPTION="A client for the OpenStack Cinder API"
-HOMEPAGE="https://launchpad.net/python-cinderclient"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/keystoneauth-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/simplejson-3.5.1[${PYTHON_USEDEP}]
- >=dev-python/stevedore-3.3.0[${PYTHON_USEDEP}]
-"
-# Tests fail with dev-python/prettytable-3.4.0
-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}]
- <dev-python/prettytable-3.4.0[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-9.1.0-fix-py3.11-argparse.patch"
- "${FILESDIR}/${PN}-9.1.0-fix-py3.11-crashes.patch"
-)
-
-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 077f1229e890..744c3aeda685 100644
--- a/dev-python/python-constraint/python-constraint-1.4.0.ebuild
+++ b/dev-python/python-constraint/python-constraint-1.4.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/python-cstruct/Manifest b/dev-python/python-cstruct/Manifest
deleted file mode 100644
index 7f1125c92a58..000000000000
--- a/dev-python/python-cstruct/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-cstruct-5.2.gh.tar.gz 38551 BLAKE2B d366c7508c33f7dd492cb3a507a358129159634b9f32293c4a06a8c1a24e9d4ae5e6a1fd89144907497e17b2558277fe98d4a5d92313402304bb18bec5c395ea SHA512 d9a961270e4769d1133a459f952f22b42733421436c53ac9bfc8159330503af1a2231c99afb2e91863ee8ad4d822a0d84fc6db6aac11b5358bca5548f0006e3e
diff --git a/dev-python/python-cstruct/python-cstruct-5.2.ebuild b/dev-python/python-cstruct/python-cstruct-5.2.ebuild
deleted file mode 100644
index 3d8c5980e030..000000000000
--- a/dev-python/python-cstruct/python-cstruct-5.2.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="C-style structs for Python"
-HOMEPAGE="
- https://github.com/andreax79/python-cstruct/
- https://pypi.org/project/cstruct/
-"
-SRC_URI="
- https://github.com/andreax79/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DOCS=( README.md )
-
-distutils_enable_tests pytest
diff --git a/dev-python/python-ctags/Manifest b/dev-python/python-ctags/Manifest
deleted file mode 100644
index 318e46f65825..000000000000
--- a/dev-python/python-ctags/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-ctags-1.5.0.gh.tar.gz 63921 BLAKE2B 1d25e7bafbdf157f1051321058b39fc9347bc479a61fae637bd11ef8540a3c67e2abd101493668977f05e464a8203b8c518fd1f4433defe5cec9939a200438b2 SHA512 414774c865af51e54c53f66dc7b3cfb5a03b64ea4eb94325658c158542615dfffdd1a5933d9ae03cedf1dbac30e1810d5914fbc3d6ab41e5f708c5d3000d161e
diff --git a/dev-python/python-ctags/python-ctags-1.5.0-r1.ebuild b/dev-python/python-ctags/python-ctags-1.5.0-r1.ebuild
deleted file mode 100644
index 12154624c3b7..000000000000
--- a/dev-python/python-ctags/python-ctags-1.5.0-r1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-MY_PN="${PN}3"
-DESCRIPTION="Exuberant Ctags indexing python bindings"
-HOMEPAGE="https://github.com/universal-ctags/python-ctags3"
-# PyPI tarballs don't contain pyx files
-SRC_URI="https://github.com/universal-ctags/python-ctags3/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="dev-util/ctags:="
-BDEPEND="dev-python/cython[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # We currently need to let Cython regenerate this file to make Python 3.11
- # support work
- rm src/_readtags.c || die
- cython -3 src/_readtags.pyx || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- # To prevent pytest from importing it and failing with:
- # ModuleNotFoundError: No module named 'ctags._readtags'
- rm -rf src/ctags || die
- epytest
-}
diff --git a/dev-python/python-ctags3/Manifest b/dev-python/python-ctags3/Manifest
new file mode 100644
index 000000000000..9d0661d91699
--- /dev/null
+++ b/dev-python/python-ctags3/Manifest
@@ -0,0 +1 @@
+DIST python-ctags3-1.6.0.gh.tar.gz 70311 BLAKE2B f286aad922f8220d5f0b42f2919425d836bd27e9b2a85739333295d6e681172b20d33d010821c881583a4bed29d103939cf4b7e1d67190ba52cf1e0a1ca75290 SHA512 38df28c1055b2240e5da7699a7c72bab85908c7b1a1b4db83f19350541fe49d8499a9b7400ad14c77166b459fbb30f6b2c22d65685ac5f392ececa3eeecb6f41
diff --git a/dev-python/python-ctags/metadata.xml b/dev-python/python-ctags3/metadata.xml
index 69a96d84a4dd..69a96d84a4dd 100644
--- a/dev-python/python-ctags/metadata.xml
+++ b/dev-python/python-ctags3/metadata.xml
diff --git a/dev-python/python-ctags3/python-ctags3-1.6.0.ebuild b/dev-python/python-ctags3/python-ctags3-1.6.0.ebuild
new file mode 100644
index 000000000000..89f53b3750e2
--- /dev/null
+++ b/dev-python/python-ctags3/python-ctags3-1.6.0.ebuild
@@ -0,0 +1,47 @@
+# 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="python-ctags3-${PV}"
+DESCRIPTION="Exuberant Ctags indexing python bindings"
+HOMEPAGE="https://github.com/universal-ctags/python-ctags3"
+# PyPI tarballs don't contain pyx files
+SRC_URI="https://github.com/universal-ctags/python-ctags3/archive/${PV}.tar.gz -> ${MY_P}.gh.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ dev-util/ctags:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # We currently need to let Cython regenerate this file to make Python 3.11
+ # support work
+ rm src/_readtags.c || die
+ cython -3 src/_readtags.pyx || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # To prevent pytest from importing it and failing with:
+ # ModuleNotFoundError: No module named 'ctags._readtags'
+ rm -rf src/ctags || die
+ epytest
+}
diff --git a/dev-python/python-daemon/python-daemon-2.3.2.ebuild b/dev-python/python-daemon/python-daemon-2.3.2.ebuild
index 63029125b3a8..b2605240e226 100644
--- a/dev-python/python-daemon/python-daemon-2.3.2.ebuild
+++ b/dev-python/python-daemon/python-daemon-2.3.2.ebuild
@@ -4,21 +4,21 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Library to implement a well-behaved Unix daemon process"
HOMEPAGE="
https://pagure.io/python-daemon/
https://pypi.org/project/python-daemon/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
# build system and tests use GPL-3.0+ but none of these files are installed
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm ~ppc ~ppc64 x86"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86"
RDEPEND="
dev-python/lockfile[${PYTHON_USEDEP}]
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 b492091abb28..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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Extensions to the standard Python datetime module"
-HOMEPAGE="
- https://dateutil.readthedocs.io/
- https://pypi.org/project/python-dateutil/
- https://github.com/dateutil/dateutil/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~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..f0e820000438
--- /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..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.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 b6eb0beaa5b7..ac85c33a9c93 100644
--- a/dev-python/python-dbusmock/Manifest
+++ b/dev-python/python-dbusmock/Manifest
@@ -1,2 +1 @@
-DIST python-dbusmock-0.28.6.gh.tar.gz 90579 BLAKE2B 12b4ee02ae6b828b908b203a351f5b88d25193bb1250a0d25bc90b0ac2a244c4ef577bdacb2dbbb9220ba93d785791d900c9035d8d5c3a21aa744b5f850d16c9 SHA512 1efc1a42fc5cc56d683f0f4d022877020f15d81a557c54f47619c704ca2f67716c1fbdb890f987d01f78b7786528a71de8dbfe84228baa41351eb751fc4cce61
-DIST python-dbusmock-0.28.7.gh.tar.gz 91302 BLAKE2B edad30e569652b2fc8e2f7437e818eece2b88be460ca31eab0be6a6951f0690a295fa1af3f7a490794bcc454e021cea3e153b300ce55883a9cf8010aac8212a4 SHA512 d0fea9ad3a9f76af75f48a4e645f8ed70efde880043c9b843bc8cac53eca891c45fa9c74cefab63a820397886757ac0dc9c5f43aaf7604aa302c794aedb7bb46
+DIST python-dbusmock-0.31.1.tar.gz 98739 BLAKE2B 623aa336c66ad1743d1b86421184c13d647970ffe1a7ffbc2e100c179fb3af98846c96f0a8baccfb9a1f47aa2e380d0bff91c17f967d9c798a97a5fef43bc376 SHA512 5d409e979046cf301c5f8604b43c67abba111315d40e54b59cc5ff6e8fe3bb006591fdac877f750b3a0d56f840337f136b99dda9237de1b00718ef85a3bfcf7b
diff --git a/dev-python/python-dbusmock/python-dbusmock-0.28.6-r1.ebuild b/dev-python/python-dbusmock/python-dbusmock-0.28.6-r1.ebuild
deleted file mode 100644
index 39a6d8799a8f..000000000000
--- a/dev-python/python-dbusmock/python-dbusmock-0.28.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Easily create mock objects on D-Bus for software testing"
-HOMEPAGE="
- https://github.com/martinpitt/python-dbusmock/
- https://pypi.org/project/python-dbusmock/
-"
-SRC_URI="
- https://github.com/martinpitt/python-dbusmock/releases/download/${PV}/${P}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong 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.28.7.ebuild b/dev-python/python-dbusmock/python-dbusmock-0.28.7.ebuild
deleted file mode 100644
index e2c0135d1ad9..000000000000
--- a/dev-python/python-dbusmock/python-dbusmock-0.28.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Easily create mock objects on D-Bus for software testing"
-HOMEPAGE="
- https://github.com/martinpitt/python-dbusmock/
- https://pypi.org/project/python-dbusmock/
-"
-SRC_URI="
- https://github.com/martinpitt/python-dbusmock/releases/download/${PV}/${P}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~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..33f15293fb01
--- /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..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 ~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.31.1.ebuild b/dev-python/python-dbusmock/python-dbusmock-0.31.1.ebuild
new file mode 100644
index 000000000000..1bb811a3f527
--- /dev/null
+++ b/dev-python/python-dbusmock/python-dbusmock-0.31.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
+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
+}
+
+python_test() {
+ # Tests break if XDG_DATA_DIRS is modified by flatpak install
+ unset XDG_DATA_DIRS
+ distutils-r1_python_test
+}
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 fd88bfd9199c..d99f43c8102f 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-2022 Gentoo Authors
+# Copyright 2011-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_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -17,7 +17,7 @@ SRC_URI="mirror://debian/pool/main/${PN::1}/${PN}/${PN}_${PV}.tar.xz"
LICENSE="GPL-2 GPL-3"
SLOT="0"
-KEYWORDS="amd64 arm ~arm64 x86"
+KEYWORDS="amd64 arm arm64 x86"
RDEPEND="
dev-python/chardet[${PYTHON_USEDEP}]
diff --git a/dev-python/python-discid/Manifest b/dev-python/python-discid/Manifest
deleted file mode 100644
index e455554b623c..000000000000
--- a/dev-python/python-discid/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-discid-1.2.0.tar.gz 30756 BLAKE2B 616613de23b66adfc92227a9f36b710649f2a419ffd83443766ebcf1dbfaf528b7d933011bcbdcd19f5092726b81e40d905a62a64262a528dfad89e561210992 SHA512 239cb608508e94109aa9b8b582bc3de1fb9408b508d56698d7f17ec9ebb0d37c1fb76557d98b6d194c1532e3047efcde3adc5d6e9634bc87533d331423a7f19f
diff --git a/dev-python/python-discid/python-discid-1.2.0-r1.ebuild b/dev-python/python-discid/python-discid-1.2.0-r1.ebuild
deleted file mode 100644
index 1671497b2f37..000000000000
--- a/dev-python/python-discid/python-discid-1.2.0-r1.ebuild
+++ /dev/null
@@ -1,23 +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="Python bindings for libdiscid"
-HOMEPAGE="https://github.com/JonnyJD/python-discid"
-SRC_URI="https://github.com/JonnyJD/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~ppc x86"
-
-RDEPEND=">=media-libs/libdiscid-0.2.2"
-DEPEND="${RDEPEND}"
-
-distutils_enable_sphinx doc
-distutils_enable_tests setup.py
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 afbe60a260cc..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-docs/Manifest b/dev-python/python-docs/Manifest
deleted file mode 100644
index 6dc2180b9ae1..000000000000
--- a/dev-python/python-docs/Manifest
+++ /dev/null
@@ -1,5 +0,0 @@
-DIST python-2.7.18-docs-html.tar.bz2 4634932 BLAKE2B c48e2dede15d8186231acf65709641e0844c42e924262d6ee21a55e515aaf4d023bf394681bab780ab83998de9f409685e2d5870506810432145acc6422eff9d SHA512 db39390577ec86f13c9b6b57c01cba36fe9fd89092a773dc94f1a6a19d912759d097c4d80e765d3657b572abc731c1da9e7b4cd4c38065cd444606b906744abe
-DIST python-3.10.8-docs-html.tar.bz2 7362386 BLAKE2B 7d6b17f1aab2e39c21a0ce7efdcabf3dd1a561c4d1770f57b21d55bfed10cd0ebc68694ea9c14a33b3faa079c4633e79cd202d19f1860f33628b619eed3febe2 SHA512 20640ddad52fa18704942cef8469d750ef60f830d8380c39943af13705b99fc697629c8ee6a12d827bc8b9758a30773811fb0e37dd960e7a81f118cd3e8d4f02
-DIST python-3.11.0-docs-html.tar.bz2 7663300 BLAKE2B 5a0ba8d6691c96f5878f4f03238aaed09e9cf884a2f0aab65a70d5adec160318e3ff1ed89644ff9a6918d543ea310d88d7304dbca51ccb033d83f05c875a47c1 SHA512 0077e43f792925b8a01411243acd7862e1292e8740b4ae7ed734bd6f5d574120886e9ba37da28c057182a4504e5b4f53022818b80ecaefd2c4dfa7d8e5e446dd
-DIST python-3.8.15-docs-html.tar.bz2 6695025 BLAKE2B 614bd68c7038887e4d8f1758b7396e11683121fa22b8b3335dc9425fb6991e398ee64cf07ed4ca0d7273dc4943e7c9fcefe36cf4dcb51dcaa439219011bbe4e1 SHA512 c05cdf16c59ef213872b08bd54d0ddcef5f11bd80cfa78be21c9e57828bd0c7a63b553f525b6e68c578d6098c427e84f5f609680a74421c6a9baa58186b46c34
-DIST python-3.9.15-docs-html.tar.bz2 6964615 BLAKE2B c5faf1c6d86dba0ceae0a613a0c0bfd86b9605a134762872bc30dd6df113cc836d551032cfb4ba5812aa0d47933bcff28eeff0b68331e4dff1d27497d6e20ff9 SHA512 7f94c2c9569f3e9aa87ab90edbe584b6871a686fee72d8e257a7ae63af301596f7aae1bd63fcac30fa67bdf396453ec6cadc85d3b668514514927131cf70b5d0
diff --git a/dev-python/python-docs/metadata.xml b/dev-python/python-docs/metadata.xml
deleted file mode 100644
index 1d6714261df3..000000000000
--- a/dev-python/python-docs/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/python-docs/python-docs-2.7.18.ebuild b/dev-python/python-docs/python-docs-2.7.18.ebuild
deleted file mode 100644
index 69cbb66a42be..000000000000
--- a/dev-python/python-docs/python-docs-2.7.18.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="HTML documentation for Python"
-HOMEPAGE="https://www.python.org/doc/"
-SRC_URI="https://www.python.org/ftp/python/doc/${PV}/python-${PV}-docs-html.tar.bz2"
-S="${WORKDIR}/python-${PV}-docs-html"
-
-LICENSE="PSF-2"
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86"
-
-src_install() {
- rm -r _sources || die
- docinto html
- dodoc -r .
-
- newenvd - 60python-docs-${SLOT} <<-EOF
- PYTHONDOCS_${SLOT//./_}="${EPREFIX}/usr/share/doc/${PF}/html/library"
- EOF
-}
diff --git a/dev-python/python-docs/python-docs-3.10.8.ebuild b/dev-python/python-docs/python-docs-3.10.8.ebuild
deleted file mode 100644
index 0d66370bcd05..000000000000
--- a/dev-python/python-docs/python-docs-3.10.8.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="HTML documentation for Python"
-HOMEPAGE="https://www.python.org/doc/"
-SRC_URI="https://www.python.org/ftp/python/doc/${PV}/python-${PV}-docs-html.tar.bz2"
-S="${WORKDIR}/python-${PV}-docs-html"
-
-LICENSE="PSF-2"
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86"
-
-src_install() {
- rm -r _sources || die
- docinto html
- dodoc -r .
-
- newenvd - 60python-docs-${SLOT} <<-EOF
- PYTHONDOCS_${SLOT//./_}="${EPREFIX}/usr/share/doc/${PF}/html/library"
- EOF
-}
diff --git a/dev-python/python-docs/python-docs-3.11.0.ebuild b/dev-python/python-docs/python-docs-3.11.0.ebuild
deleted file mode 100644
index 0d66370bcd05..000000000000
--- a/dev-python/python-docs/python-docs-3.11.0.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="HTML documentation for Python"
-HOMEPAGE="https://www.python.org/doc/"
-SRC_URI="https://www.python.org/ftp/python/doc/${PV}/python-${PV}-docs-html.tar.bz2"
-S="${WORKDIR}/python-${PV}-docs-html"
-
-LICENSE="PSF-2"
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86"
-
-src_install() {
- rm -r _sources || die
- docinto html
- dodoc -r .
-
- newenvd - 60python-docs-${SLOT} <<-EOF
- PYTHONDOCS_${SLOT//./_}="${EPREFIX}/usr/share/doc/${PF}/html/library"
- EOF
-}
diff --git a/dev-python/python-docs/python-docs-3.8.15.ebuild b/dev-python/python-docs/python-docs-3.8.15.ebuild
deleted file mode 100644
index 0d66370bcd05..000000000000
--- a/dev-python/python-docs/python-docs-3.8.15.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="HTML documentation for Python"
-HOMEPAGE="https://www.python.org/doc/"
-SRC_URI="https://www.python.org/ftp/python/doc/${PV}/python-${PV}-docs-html.tar.bz2"
-S="${WORKDIR}/python-${PV}-docs-html"
-
-LICENSE="PSF-2"
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86"
-
-src_install() {
- rm -r _sources || die
- docinto html
- dodoc -r .
-
- newenvd - 60python-docs-${SLOT} <<-EOF
- PYTHONDOCS_${SLOT//./_}="${EPREFIX}/usr/share/doc/${PF}/html/library"
- EOF
-}
diff --git a/dev-python/python-docs/python-docs-3.9.15.ebuild b/dev-python/python-docs/python-docs-3.9.15.ebuild
deleted file mode 100644
index 0d66370bcd05..000000000000
--- a/dev-python/python-docs/python-docs-3.9.15.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="HTML documentation for Python"
-HOMEPAGE="https://www.python.org/doc/"
-SRC_URI="https://www.python.org/ftp/python/doc/${PV}/python-${PV}-docs-html.tar.bz2"
-S="${WORKDIR}/python-${PV}-docs-html"
-
-LICENSE="PSF-2"
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86"
-
-src_install() {
- rm -r _sources || die
- docinto html
- dodoc -r .
-
- newenvd - 60python-docs-${SLOT} <<-EOF
- PYTHONDOCS_${SLOT//./_}="${EPREFIX}/usr/share/doc/${PF}/html/library"
- EOF
-}
diff --git a/dev-python/python-dotenv/Manifest b/dev-python/python-dotenv/Manifest
index 52d64a2775b7..8fc411a128d9 100644
--- a/dev-python/python-dotenv/Manifest
+++ b/dev-python/python-dotenv/Manifest
@@ -1,2 +1 @@
-DIST python-dotenv-0.21.0.tar.gz 34984 BLAKE2B 5b2ac96e2c68afe04ec5e63da44c7109c0d142e1abad64fb9d4c87cfc84f36e62023854f72145f6a7f6b7e05bf58a57ee4b97ac8b84aa1304ddffba0a8795c6c SHA512 618335ad11a1ed8011d7cd0c6a83912b5cc29eddeb967c9594af32c6229ca178b571b08836776661612015ac9cd6753de1935f3f3e0e3b8feb733eccfbb262e7
-DIST python-dotenv-0.21.1.tar.gz 35930 BLAKE2B e89b88754406464c7d9493d8824147c1b3862a1f1c9a723ddd0cec9c053b5772fe2f5d55fac0e979a3ffc5d717ec22ceb45064ed45f58f2a3c12c1018ebe2f47 SHA512 30bbff6c4d95ee3e58d0ce895fd9bcceef52f59f66060bcbc66460bb5fff977760d168a09415a6a52587ad560b892da60fafa5824a6634ba3202d07243d2ac8b
+DIST python-dotenv-1.0.1.tar.gz 39115 BLAKE2B 31bc0598abce2ffe5da0f248f56587fc549489c11b21e87ca144654c564701d7a5f952614b21ba12afb49a7bbb6d3753714c6e628485b449e9de2ec9513657f0 SHA512 d03f28f123b19e6e4af05c239686e189e5767108049399c110b80668bfea9d2a3f9222b719863fdef016cbe726a7a77748a18ddad013f7fc21c239ccf680c1da
diff --git a/dev-python/python-dotenv/python-dotenv-0.21.0.ebuild b/dev-python/python-dotenv/python-dotenv-0.21.0.ebuild
deleted file mode 100644
index 4ff64ac50ac6..000000000000
--- a/dev-python/python-dotenv/python-dotenv-0.21.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Manage .env files"
-HOMEPAGE="https://github.com/theskumar/python-dotenv"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-DEPEND="
- test? (
- >=dev-python/click-5[${PYTHON_USEDEP}]
- >=dev-python/sh-1.09[${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-dotenv/python-dotenv-0.21.1.ebuild b/dev-python/python-dotenv/python-dotenv-0.21.1.ebuild
deleted file mode 100644
index 4a29583d56a1..000000000000
--- a/dev-python/python-dotenv/python-dotenv-0.21.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Manage .env files"
-HOMEPAGE="https://github.com/theskumar/python-dotenv"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-DEPEND="
- test? (
- >=dev-python/click-5[${PYTHON_USEDEP}]
- >=dev-python/sh-1.09[${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-dotenv/python-dotenv-1.0.1.ebuild b/dev-python/python-dotenv/python-dotenv-1.0.1.ebuild
new file mode 100644
index 000000000000..b90bf246f45c
--- /dev/null
+++ b/dev-python/python-dotenv/python-dotenv-1.0.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
+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-editor/python-editor-1.0.4-r2.ebuild b/dev-python/python-editor/python-editor-1.0.4-r2.ebuild
index 2f469dd0ad55..7e5c91f55fbe 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
@@ -4,17 +4,17 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Programmatically open an editor, capture the result"
HOMEPAGE="
https://github.com/fmoo/python-editor/
https://pypi.org/project/python-editor/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
diff --git a/dev-python/python-efl/Manifest b/dev-python/python-efl/Manifest
deleted file mode 100644
index b6480f59f96f..000000000000
--- a/dev-python/python-efl/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-efl-1.26.0.tar.xz 9547648 BLAKE2B b6fd9e86695569291b416140c92316aeb4e3bd42d12fc3fd656b86fe7fae364720c8457c53828dc00838a68620fa604426d86c5d4bce02e94eaa82a4fed120ee SHA512 fe552a65d7d4d3e3664310e6bb7189c883c64361a64a2def04e8d14df3e5a03211e2992333f1c05288b96f1d99f20ad4ac848baea91d43db280dad81315e2473
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 18081592f958..000000000000
--- a/dev-python/python-efl/metadata.xml
+++ /dev/null
@@ -1,19 +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>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/python-efl/python-efl-1.26.0.ebuild b/dev-python/python-efl/python-efl-1.26.0.ebuild
deleted file mode 100644
index e840410b7914..000000000000
--- a/dev-python/python-efl/python-efl-1.26.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-DISTUTILS_USE_SETUPTOOLS=no
-
-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[${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
- esetup.py build_doc --build-dir "${S}"/build/doc/
- fi
-
- distutils-r1_python_compile
-}
-
-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/html/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/python-email-validator/Manifest b/dev-python/python-email-validator/Manifest
deleted file mode 100644
index f3ba77c4f600..000000000000
--- a/dev-python/python-email-validator/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST python-email-validator-1.3.0.gh.tar.gz 28555 BLAKE2B 7b13b4093be2b97260d01c562a205d299570e63bfba2f8e411000bc19319e9b538e95f2f4d33962b03fe5dc47c3690b8a0134b792f6822386ab6b20b260a991e SHA512 b10139f8eb221fa15a12c44f2c87d17449e317c6edfd4c6a99dc122a9178dcc4c3ef20f99f0feefb6a5b4a9460169b22d835871d2be88efd59f1474ff3d9aa06
-DIST python-email-validator-1.3.1.gh.tar.gz 28691 BLAKE2B eb69028066e969a935117f51a32d75595468797a82608bcb7f6ebcbebada01aac29e3e223efc849dc519d85897a375cdc584760f3cb5a431e2c39aa566c20514 SHA512 7806ef35c07cf0cfef3d8c6c7fe6dd3cb58da091a134b57d879a2cfcdf6425f8729ab8b03194135749ae47b369da47434c1d130432cfaa8eeaf5d07149c15dc2
diff --git a/dev-python/python-email-validator/python-email-validator-1.3.0.ebuild b/dev-python/python-email-validator/python-email-validator-1.3.0.ebuild
deleted file mode 100644
index 10725f110e07..000000000000
--- a/dev-python/python-email-validator/python-email-validator-1.3.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A robust email syntax and deliverability validation library"
-HOMEPAGE="
- https://github.com/JoshData/python-email-validator/
- https://pypi.org/project/email-validator/
-"
-SRC_URI="
- https://github.com/JoshData/python-email-validator/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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
-
-EPYTEST_DESELECT=(
- # these tests rely on access to gmail.com
- tests/test_main.py::test_deliverability_found
- tests/test_main.py::test_deliverability_fails
- # these tests rely on example.com being resolvable
- "tests/test_main.py::test_email_example_reserved_domain[me@mail.example]"
- "tests/test_main.py::test_email_example_reserved_domain[me@example.com]"
- "tests/test_main.py::test_email_example_reserved_domain[me@mail.example.com]"
- tests/test_main.py::test_validate_email__with_caching_resolver
- tests/test_main.py::test_main_single_good_input
- tests/test_main.py::test_main_multi_input
- tests/test_main.py::test_main_input_shim
-)
diff --git a/dev-python/python-email-validator/python-email-validator-1.3.1.ebuild b/dev-python/python-email-validator/python-email-validator-1.3.1.ebuild
deleted file mode 100644
index cdde06720d0a..000000000000
--- a/dev-python/python-email-validator/python-email-validator-1.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A robust email syntax and deliverability validation library"
-HOMEPAGE="
- https://github.com/JoshData/python-email-validator/
- https://pypi.org/project/email-validator/
-"
-SRC_URI="
- https://github.com/JoshData/python-email-validator/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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
-
-EPYTEST_DESELECT=(
- # these tests rely on access to gmail.com
- tests/test_main.py::test_deliverability_found
- tests/test_main.py::test_deliverability_fails
- # these tests rely on example.com being resolvable
- "tests/test_main.py::test_email_example_reserved_domain[me@mail.example]"
- "tests/test_main.py::test_email_example_reserved_domain[me@example.com]"
- "tests/test_main.py::test_email_example_reserved_domain[me@mail.example.com]"
- tests/test_main.py::test_validate_email__with_caching_resolver
- tests/test_main.py::test_main_single_good_input
- tests/test_main.py::test_main_multi_input
- tests/test_main.py::test_main_input_shim
-)
diff --git a/dev-python/python-engineio/Manifest b/dev-python/python-engineio/Manifest
index 1dedeaffeac0..491adc0621cb 100644
--- a/dev-python/python-engineio/Manifest
+++ b/dev-python/python-engineio/Manifest
@@ -1 +1 @@
-DIST python-engineio-4.3.4.gh.tar.gz 300665 BLAKE2B 78488fb7deb54136a255b1027e52e1869e7d09b38769d3dd144b26146ac8db58091238c3f1cfa81d4c29af4d1bd8bb998559756053e53f6c7876c2866da31575 SHA512 427f224ae24d939d55316931cd087676741195d578415224de291f9871b535fdd02b835ac32a65d73be0428c8c4be0414faefca06a4964b1fe34e2ac91b02694
+DIST python-engineio-4.9.0.gh.tar.gz 314185 BLAKE2B e14bb11f5762c42a77d782b0e1ce20c30f0f5599ba0c4577699d53f085464ce588660805d1b8c18a147b3bf01a2e255980f21e36003127e17351c28bd42f433e SHA512 24838cb71ca3beda6a28deaa37208fae0e673bb0a00696594aa638af95e49af479b0088809f093ace9b2a8f5f7a4dcc95bbd2aa5c97938137b6e594ac1a7950d
diff --git a/dev-python/python-engineio/python-engineio-4.3.4.ebuild b/dev-python/python-engineio/python-engineio-4.3.4.ebuild
deleted file mode 100644
index 75393f34860c..000000000000
--- a/dev-python/python-engineio/python-engineio-4.3.4.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_{9..10} )
-
-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.9.0.ebuild b/dev-python/python-engineio/python-engineio-4.9.0.ebuild
new file mode 100644
index 000000000000..bc862843428a
--- /dev/null
+++ b/dev-python/python-engineio/python-engineio-4.9.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
+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-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/metadata.xml b/dev-python/python-evdev/metadata.xml
deleted file mode 100644
index 0c52c6f51f48..000000000000
--- a/dev-python/python-evdev/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">evdev</remote-id>
- </upstream>
-</pkgmetadata>
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 eb8f185b21a8..000000000000
--- a/dev-python/python-evdev/python-evdev-1.6.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_{9..11} )
-
-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 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/Manifest b/dev-python/python-gammu/Manifest
index 142f2e7924a6..61a2dc1f321a 100644
--- a/dev-python/python-gammu/Manifest
+++ b/dev-python/python-gammu/Manifest
@@ -1 +1 @@
-DIST python-gammu-3.2.4.tar.gz 144136 BLAKE2B ef06b78568e9b88da95d09029191a2de0c4e26cb6b222326bffd0134a9c7eb743bab20201347d3be8a81db43f6005ec2a0550e1976a59de9ee9202c733ae41e0 SHA512 9d76b402c50018cc52476376952edebb6b0934aa374ea2a2177f5497d0949fcc77644aa2a35c7402b3f2179962d903409b7b1949c5e85a0e5130058d34f89664
+DIST python-gammu-3.2.4.gh.tar.gz 144136 BLAKE2B ef06b78568e9b88da95d09029191a2de0c4e26cb6b222326bffd0134a9c7eb743bab20201347d3be8a81db43f6005ec2a0550e1976a59de9ee9202c733ae41e0 SHA512 9d76b402c50018cc52476376952edebb6b0934aa374ea2a2177f5497d0949fcc77644aa2a35c7402b3f2179962d903409b7b1949c5e85a0e5130058d34f89664
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
new file mode 100644
index 000000000000..e1b603df4aee
--- /dev/null
+++ b/dev-python/python-gammu/python-gammu-3.2.4-r1.ebuild
@@ -0,0 +1,58 @@
+# 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="Python bindings for Gammu"
+HOMEPAGE="
+ https://wammu.eu/python-gammu/
+ https://github.com/gammu/python-gammu/
+ https://pypi.org/project/python-gammu/
+"
+SRC_URI="
+ https://github.com/gammu/python-gammu/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=app-mobilephone/gammu-1.34.0
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ $(python_gen_impl_dep sqlite)
+ app-mobilephone/gammu[dbi]
+ )
+"
+
+DOCS=( AUTHORS NEWS.rst README.rst )
+
+distutils_enable_tests unittest
+
+python_test() {
+ rm -rf gammu || die
+ eunittest
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use examples; then
+ docompress -x /usr/share/doc/${P}/examples
+ dodoc -r examples
+ fi
+}
diff --git a/dev-python/python-gammu/python-gammu-3.2.4.ebuild b/dev-python/python-gammu/python-gammu-3.2.4.ebuild
deleted file mode 100644
index bcad3a30d78f..000000000000
--- a/dev-python/python-gammu/python-gammu-3.2.4.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for Gammu"
-HOMEPAGE="https://wammu.eu/python-gammu/"
-SRC_URI="https://github.com/gammu/python-gammu/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND=">=app-mobilephone/gammu-1.34.0"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- test? (
- $(python_gen_impl_dep sqlite)
- app-mobilephone/gammu[dbi]
- )"
-
-DOCS=( AUTHORS NEWS.rst README.rst )
-
-python_test() {
- esetup.py test
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- if use examples; then
- docompress -x /usr/share/doc/${P}/examples
- dodoc -r examples
- fi
-}
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 d42226ed7f90..cc6bdb99527c 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,20 +1,23 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 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} )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Google's Python argument parsing library"
-HOMEPAGE="https://github.com/google/python-gflags"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/google/python-gflags/
+ https://pypi.org/project/python-gflags/
+"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
diff --git a/dev-python/python-glanceclient/Manifest b/dev-python/python-glanceclient/Manifest
index 58a0336bd887..258aefeb919c 100644
--- a/dev-python/python-glanceclient/Manifest
+++ b/dev-python/python-glanceclient/Manifest
@@ -1 +1 @@
-DIST python-glanceclient-4.2.0.tar.gz 204378 BLAKE2B ee869971f769dd01da2dcf7e1d7ca07e120b5a2ad5a210db7b6cf813a0bb14bb00f8d7f64a4a5c03de61983abfad0448ff3ad9ab4b9acb485a897ae39e4c9409 SHA512 4977db9650ec35ad663fdaa9c576fb1c63efddb9f3df8a92da9e97e530bb5a63016e2492f81239fbb4d01cf260e673c2d489566c10483d2bf6ff9e0653e3bd21
+DIST python-glanceclient-4.5.0.tar.gz 205909 BLAKE2B 5e48abd2c869d4f3a0bfbfc593950754fd165bd36a98bc4358d88a1b64f6892b6633f10421999733c014fe8f1664d1181b5019739997139c1ef5d604194cfda8 SHA512 141f03fa55012981214283e961c4d4020a2fa4dc87b7cbc323d87c536b88e98f4798b59d83dc627a5846c5437fdac963fb34a3db444c20410a01441bf5838fa7
diff --git a/dev-python/python-glanceclient/python-glanceclient-4.2.0.ebuild b/dev-python/python-glanceclient/python-glanceclient-4.2.0.ebuild
deleted file mode 100644
index 26505e41f62f..000000000000
--- a/dev-python/python-glanceclient/python-glanceclient-4.2.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_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/keystoneauth-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/warlock-2[${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}]
- dev-python/prettytable[${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.5.0.ebuild b/dev-python/python-glanceclient/python-glanceclient-4.5.0.ebuild
new file mode 100644
index 000000000000..cb0f5137ac48
--- /dev/null
+++ b/dev-python/python-glanceclient/python-glanceclient-4.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
+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}]
+ <dev-python/urllib3-2[${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-gnupg/Manifest b/dev-python/python-gnupg/Manifest
index 20ba7a554e85..fd18b8116071 100644
--- a/dev-python/python-gnupg/Manifest
+++ b/dev-python/python-gnupg/Manifest
@@ -1,2 +1,2 @@
-DIST python-gnupg-0.5.0.tar.gz 61154 BLAKE2B 0ae7e8ff669f51b47410a7a5aef16ca6792db18f28c59d3ce6615d0852eba1e201e3d000d1f644ffc1a362a74ee56c0930dd5814c23238137d6d8696319fd130 SHA512 cfd302257b53fdc9318004db7323ea5bf4bddc055b65b24386a1ecb27cd476fdf1bc771adcdde70a4eef442982a0c57dc832b92274bbe5ba16cbdf3247f4e77a
-DIST python-gnupg-0.5.0.tar.gz.asc 801 BLAKE2B a3df8ea4c22c2df8351aeb51a670e36e2809eef2248507842b9580f819af5c4e5a7ad4902ef54f2a62c3629a2d658cac346cc1647838e8066b2a018939e1a751 SHA512 58fa1b201803bb542e3fb9c1c567d83abba0e897b52efa331942899684e15b4c44a225c28adce58c69c290d5059fc562556b79fec21f960c894b30a8f3642405
+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/metadata.xml b/dev-python/python-gnupg/metadata.xml
index 45f75cdcf0bf..349c51de43a2 100644
--- a/dev-python/python-gnupg/metadata.xml
+++ b/dev-python/python-gnupg/metadata.xml
@@ -12,8 +12,7 @@
encrypt and decrypt data, and sign and verify messages.
</longdescription>
<upstream>
- <bugs-to>https://bitbucket.org/vinay.sajip/python-gnupg/issues/new</bugs-to>
- <remote-id type="bitbucket">vinay.sajip/python-gnupg</remote-id>
+ <remote-id type="github">vsajip/python-gnupg</remote-id>
<remote-id type="pypi">python-gnupg</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/python-gnupg/python-gnupg-0.5.0.ebuild b/dev-python/python-gnupg/python-gnupg-0.5.0.ebuild
deleted file mode 100644
index 5c3106c0d5c9..000000000000
--- a/dev-python/python-gnupg/python-gnupg-0.5.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=( pypy3 python3_{9..11} )
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/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/"
-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 ~loong ~ppc ~ppc64 ~riscv 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..39661a1a36a3
--- /dev/null
+++ b/dev-python/python-gnupg/python-gnupg-0.5.2.ebuild
@@ -0,0 +1,48 @@
+# 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 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
+ )
+"
+
+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.
+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 1cbb82965be4..cf9db740f9f2 100644
--- a/dev-python/python-ironicclient/Manifest
+++ b/dev-python/python-ironicclient/Manifest
@@ -1 +1 @@
-DIST python-ironicclient-5.0.1.tar.gz 220911 BLAKE2B d80da14f89e4fa890d7b8519dcb8785ff3f33fce17ce6bc2a3a5a7e3e450577f6dbb60e2268bd65245c4807e34eccd22e0793b3246e15b6998a5b89bffbadc39 SHA512 394765b7b50ad7bec5e7517f0114118ba705c06f17bf562d18891011bfc6ad85938813817800d12d7c4f0f0336cfb611e37ba52e1920f48162a59559d5ee09d1
+DIST python-ironicclient-5.5.0.tar.gz 228869 BLAKE2B 0dbced62dee32bc2a25add2f81390fa7e581978deef1ae8fbb1cac7ec8b219d201d13d64f8621a34886b1af765335ffe4bf591867a2288499f37fe5b88cd4fa9 SHA512 bd6cbca3e5bd1675d130089298a043352bdb842f6f7b06f526b956c0fcb0eff4f9d6f58389c0bdce1de4496a6befa91891d1ff2bea48bec0512d8d28285f7323
diff --git a/dev-python/python-ironicclient/python-ironicclient-5.0.1.ebuild b/dev-python/python-ironicclient/python-ironicclient-5.0.1.ebuild
deleted file mode 100644
index 9385f8857ee9..000000000000
--- a/dev-python/python-ironicclient/python-ironicclient-5.0.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_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for the Ironic API"
-HOMEPAGE="https://www.openstack.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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/keystoneauth-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.5.0.ebuild b/dev-python/python-ironicclient/python-ironicclient-5.5.0.ebuild
new file mode 100644
index 000000000000..969b104cf902
--- /dev/null
+++ b/dev-python/python-ironicclient/python-ironicclient-5.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=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 ~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="
+ 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/Manifest b/dev-python/python-jose/Manifest
index f7b007195709..933c00c5dfdd 100644
--- a/dev-python/python-jose/Manifest
+++ b/dev-python/python-jose/Manifest
@@ -1 +1 @@
-DIST python-jose-3.3.0.tar.gz 126578 BLAKE2B d1279d2a0788b4d395e760ee3a1b2ce8c9340ad12ebe103cb1ba98aea33566cf0134d5af75be9727fff96adab4fc88f1b471ba9ea7d36c16de10587a9efd1304 SHA512 de7147cc6e12406d6e459c32829acae46395acba727c53e65bc05f4794ee3050eecd355e3ae2e87f4ebdbd871f53822eea08a10f25d7ca6088fc6128dc7d9637
+DIST python-jose-3.3.0.gh.tar.gz 126578 BLAKE2B d1279d2a0788b4d395e760ee3a1b2ce8c9340ad12ebe103cb1ba98aea33566cf0134d5af75be9727fff96adab4fc88f1b471ba9ea7d36c16de10587a9efd1304 SHA512 de7147cc6e12406d6e459c32829acae46395acba727c53e65bc05f4794ee3050eecd355e3ae2e87f4ebdbd871f53822eea08a10f25d7ca6088fc6128dc7d9637
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
new file mode 100644
index 000000000000..e64e737b8e73
--- /dev/null
+++ b/dev-python/python-jose/python-jose-3.3.0-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 JavaScript Object Signing and Encryption (JOSE) implementation in Python"
+HOMEPAGE="
+ https://github.com/mpdavis/python-jose/
+ https://pypi.org/project/python-jose/
+"
+# pypi tarball lacks unit tests
+SRC_URI="
+ https://github.com/mpdavis/python-jose/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+
+# TODO: require only one crypto backend?
+RDEPEND="
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/ecdsa[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ >=dev-python/pycryptodome-3.3.1[${PYTHON_USEDEP}]
+ dev-python/rsa[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+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
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/python-jose/python-jose-3.3.0.ebuild b/dev-python/python-jose/python-jose-3.3.0.ebuild
deleted file mode 100644
index defdee79fe79..000000000000
--- a/dev-python/python-jose/python-jose-3.3.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=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="A JavaScript Object Signing and Encryption (JOSE) implementation in Python"
-HOMEPAGE="https://github.com/mpdavis/python-jose https://pypi.org/project/python-jose/"
-# pypi tarball lacks unit tests
-SRC_URI="https://github.com/mpdavis/python-jose/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-# TODO: require only one crypto backend?
-RDEPEND="
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/ecdsa[${PYTHON_USEDEP}]
- dev-python/pyasn1[${PYTHON_USEDEP}]
- >=dev-python/pycryptodome-3.3.1[${PYTHON_USEDEP}]
- dev-python/rsa[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-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
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/python-json-logger/Manifest b/dev-python/python-json-logger/Manifest
index fbe0e7186fc3..417f8667fea7 100644
--- a/dev-python/python-json-logger/Manifest
+++ b/dev-python/python-json-logger/Manifest
@@ -1 +1 @@
-DIST python-json-logger-2.0.4.tar.gz 9856 BLAKE2B 013dadb37044eb89976ab98309bbafaa348c0bfd82a75f7645d580212fb85ee2cb2bc70d455aec9da3424e89d5905d8e80a77d8c08d46443a8ee5ee9bebc3cdf SHA512 5849e3780f9a4cb59baff2c73d872ca11c916af14337bada2de3620d5a5e9b138b7bd76a1a25001c4733c0074469bb579808a57d50f964f0fe0e4bf3a4bb1216
+DIST python-json-logger-2.0.7.tar.gz 10508 BLAKE2B 818abaa8007db2226beb7e9f9b6326c4c59e11827c740496bfde491a495b8580b74c483b4bead58525942009ae84643758b8fec4dc0ba85e2c1c2deff2445bcf SHA512 a3056f6c07386410204e65d027504df49d890b5c4577a0460077bc698c9104ab8720d6db107153766611f4f22141c0b2b57dbdacba75a7078638945937922f5e
diff --git a/dev-python/python-json-logger/python-json-logger-2.0.4.ebuild b/dev-python/python-json-logger/python-json-logger-2.0.4.ebuild
deleted file mode 100644
index a9e61666c3dc..000000000000
--- a/dev-python/python-json-logger/python-json-logger-2.0.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~x86"
-
-distutils_enable_tests unittest
diff --git a/dev-python/python-json-logger/python-json-logger-2.0.7.ebuild b/dev-python/python-json-logger/python-json-logger-2.0.7.ebuild
new file mode 100644
index 000000000000..372c81c27b8d
--- /dev/null
+++ b/dev-python/python-json-logger/python-json-logger-2.0.7.ebuild
@@ -0,0 +1,38 @@
+# 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="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
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ python3.12)
+ EPYTEST_DESELECT+=(
+ tests/test_jsonlogger.py::TestJsonLogger::test_custom_object_serialization
+ tests/test_jsonlogger.py::TestJsonLogger::test_percentage_format
+ tests/test_jsonlogger.py::TestJsonLogger::test_rename_reserved_attrs
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/python-keystoneclient/Manifest b/dev-python/python-keystoneclient/Manifest
index 8af1cd8e632d..beb90557e4f3 100644
--- a/dev-python/python-keystoneclient/Manifest
+++ b/dev-python/python-keystoneclient/Manifest
@@ -1 +1 @@
-DIST python-keystoneclient-5.0.1.tar.gz 325126 BLAKE2B 1c8745fb76161efedaee845c3fe185b166eaf224f0d5f971b450133325606ec71804e5a42cffec5c121ddcf47c43bd586ca50aa552c89094ad9af181b25e3889 SHA512 b686937a2bc0fb79c0359a09a3e8c23e07686ed61d1a8be7d414445af2a2d2a65f839d4bdfabe81e4795878a8f5098deeb7b8ab9009a4279b48462985b146895
+DIST python-keystoneclient-5.4.0.tar.gz 324151 BLAKE2B a086432c7fe81e6b39661f2e582e5c81efde88f04ba9e8e4fca17d4d217cb67a9a7cc38087e41a2b47e5b4540245a2586436c31e9596a2c520ad3e3219ff9b0f SHA512 496c321cc68efc3f7eaacfcef39ce3a4e669ab816245e6d4afb8e06a97490eafa6f16135a2c957bfdaecf9fe12577f0ecb6a97185844d376e41d22beee190475
diff --git a/dev-python/python-keystoneclient/metadata.xml b/dev-python/python-keystoneclient/metadata.xml
index dfd8cb7a8015..1017f32b9201 100644
--- a/dev-python/python-keystoneclient/metadata.xml
+++ b/dev-python/python-keystoneclient/metadata.xml
@@ -15,6 +15,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">openstack/python-keystoneclient</remote-id>
<remote-id type="pypi">python-keystoneclient</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/python-keystoneclient/python-keystoneclient-5.0.1.ebuild b/dev-python/python-keystoneclient/python-keystoneclient-5.0.1.ebuild
deleted file mode 100644
index 9e73051e268a..000000000000
--- a/dev-python/python-keystoneclient/python-keystoneclient-5.0.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Client Library for OpenStack Identity"
-HOMEPAGE="https://www.openstack.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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/keystoneauth-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..96c81a16c027
--- /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..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-keyutils/python-keyutils-0.6-r1.ebuild b/dev-python/python-keyutils/python-keyutils-0.6-r1.ebuild
deleted file mode 100644
index a06efcf70a05..000000000000
--- a/dev-python/python-keyutils/python-keyutils-0.6-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="A set of python bindings for keyutils"
-HOMEPAGE="https://github.com/sassoftware/python-keyutils/"
-SRC_URI="https://github.com/sassoftware/python-keyutils/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm x86"
-
-BDEPEND="dev-python/cython[${PYTHON_USEDEP}]"
-DEPEND="sys-apps/keyutils"
-RDEPEND="${DEPEND}"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- default
- sed -i -e '/pytest-runner/d' setup.py || die
- rm keyutils/_keyutils.c || die
-}
-
-python_test() {
- ln -s "${S}"/test "${BUILD_DIR}"/test || die
- cd "${BUILD_DIR}" || die
- distutils-r1_python_test
-}
diff --git a/dev-python/python-ldap/Manifest b/dev-python/python-ldap/Manifest
index 4526b44b1676..b46fb1d0095b 100644
--- a/dev-python/python-ldap/Manifest
+++ b/dev-python/python-ldap/Manifest
@@ -1 +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 a223e63038c2..000000000000
--- a/dev-python/python-ldap/python-ldap-3.4.3.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
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-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 ~x86-solaris"
-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
new file mode 100644
index 000000000000..072891fecc1e
--- /dev/null
+++ b/dev-python/python-ldap/python-ldap-3.4.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_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 ~mips ~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-9999.ebuild b/dev-python/python-ldap/python-ldap-9999.ebuild
deleted file mode 100644
index 0e12e7bd1eff..000000000000
--- a/dev-python/python-ldap/python-ldap-9999.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_{9..11} )
-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"
-if [[ ${PV} == *9999* ]]; then
- EGIT_REPO_URI="https://github.com/python-ldap/python-ldap.git"
- inherit git-r3
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-solaris"
-fi
-
-LICENSE="MIT PSF-2"
-SLOT="0"
-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() {
- # The live ebuild won't compile if setuptools_scm < 1.16.2 is installed
- # https://github.com/pypa/setuptools_scm/issues/228
- if [[ ${PV} == *9999* ]]; then
- rm -r .git || die
- fi
-
- 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() {
- distutils-r1_python_install
- python_optimize
-}
-
-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-lhafile/Manifest b/dev-python/python-lhafile/Manifest
index cbdcf14a57ee..a62188ec86f9 100644
--- a/dev-python/python-lhafile/Manifest
+++ b/dev-python/python-lhafile/Manifest
@@ -1 +1 @@
-DIST python-lhafile-0.3.0.tar.gz 267965 BLAKE2B 1331f21059f84f5e517339ac26546d73bc9dc125578840bf24483c274b651d8f0e2494b1b7e140bede07412b5c44e499269ea23dd1180bb955b1044b06d82ee8 SHA512 bb4db2767a702d30f2e713e5f7890d619de312d609761ade2ff8f4e99ffede8e35a72cd116abf3b8ea29b0885ebe2c993dc37f44722c8e5fe346be93dfdbbf81
+DIST python-lhafile-0.3.0.gh.tar.gz 267965 BLAKE2B 1331f21059f84f5e517339ac26546d73bc9dc125578840bf24483c274b651d8f0e2494b1b7e140bede07412b5c44e499269ea23dd1180bb955b1044b06d82ee8 SHA512 bb4db2767a702d30f2e713e5f7890d619de312d609761ade2ff8f4e99ffede8e35a72cd116abf3b8ea29b0885ebe2c993dc37f44722c8e5fe346be93dfdbbf81
diff --git a/dev-python/python-lhafile/python-lhafile-0.3.0-r1.ebuild b/dev-python/python-lhafile/python-lhafile-0.3.0-r1.ebuild
new file mode 100644
index 000000000000..337bd2b67c42
--- /dev/null
+++ b/dev-python/python-lhafile/python-lhafile-0.3.0-r1.ebuild
@@ -0,0 +1,19 @@
+# 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} )
+
+inherit distutils-r1
+
+DESCRIPTION="LHA archive support for Python"
+HOMEPAGE="https://github.com/FrodeSolheim/python-lhafile"
+SRC_URI="https://github.com/FrodeSolheim/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+RESTRICT="test" # The tests don't work, they're probably outdated.
diff --git a/dev-python/python-lhafile/python-lhafile-0.3.0.ebuild b/dev-python/python-lhafile/python-lhafile-0.3.0.ebuild
deleted file mode 100644
index b51d2ad813d2..000000000000
--- a/dev-python/python-lhafile/python-lhafile-0.3.0.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="LHA archive support for Python"
-HOMEPAGE="https://fengestad.no/python-lhafile/"
-SRC_URI="https://github.com/FrodeSolheim/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64"
-RESTRICT="test" # The tests don't work, they're probably outdated.
diff --git a/dev-python/python-libevdev/python-libevdev-0.11.ebuild b/dev-python/python-libevdev/python-libevdev-0.11.ebuild
deleted file mode 100644
index 5f59bd0110b9..000000000000
--- a/dev-python/python-libevdev/python-libevdev-0.11.ebuild
+++ /dev/null
@@ -1,35 +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
-
-DESCRIPTION="Python wrappers for the libevdev library"
-HOMEPAGE="
- https://gitlab.freedesktop.org/libevdev/python-libevdev/
- https://pypi.org/project/libevdev/
-"
-SRC_URI="
- https://gitlab.freedesktop.org/libevdev/${PN}/-/archive/${PV}/${P}.tar.bz2
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- test? (
- dev-libs/libevdev
- )
-"
-RDEPEND="
- dev-libs/libevdev
-"
-
-distutils_enable_tests unittest
-distutils_enable_sphinx doc/source \
- dev-python/sphinx_rtd_theme
diff --git a/dev-python/python-linux-procfs/Manifest b/dev-python/python-linux-procfs/Manifest
index 14c8b56d5cb8..52c70c614e73 100644
--- a/dev-python/python-linux-procfs/Manifest
+++ b/dev-python/python-linux-procfs/Manifest
@@ -1 +1,2 @@
-DIST python-linux-procfs-0.6.3.tar.xz 18808 BLAKE2B 02fdc0349dd456819f67f82d6836a44e3285e16d9654dd52b58ac7d86e48bc559feda18f105db7911ac5f670fd0e6cfd5c6cc69a958a3e8494813ff244f8b06f SHA512 18e42bf12456893740c5ec950ffcca86945b1ff202a6ea3ae6ac800145771a39b4ab7e8bbb440210d48d0fe9de646e334095afd0b20060e2e28ab3fa844f6140
+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.6.3.ebuild b/dev-python/python-linux-procfs/python-linux-procfs-0.6.3.ebuild
deleted file mode 100644
index 25b0c34fec01..000000000000
--- a/dev-python/python-linux-procfs/python-linux-procfs-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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-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}]"
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
new file mode 100644
index 000000000000..741726f9f8c9
--- /dev/null
+++ b/dev-python/python-linux-procfs/python-linux-procfs-0.7.1.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..12} )
+
+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-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..741726f9f8c9
--- /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..12} )
+
+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 1764ee4a7edc..36f007d7773e 100644
--- a/dev-python/python-lsp-black/Manifest
+++ b/dev-python/python-lsp-black/Manifest
@@ -1 +1 @@
-DIST python-lsp-black-1.2.1.gh.tar.gz 9355 BLAKE2B f9c70ff07d9dfa31e3af919143deb8a49f43269469e8c64525f514624f4db67636da8254dae5274685ba2d883c8ddfd6dd9cb99981a337d7837d4007f15af11c SHA512 289b8f3642ed806409671d25e32997fb473720d0abd642c58c07d8c894831fa00f56dbc39e7d0fc8d98cad7de9f95ebdb6a0f637b8b4bbcc2a0716690feb647e
+DIST python-lsp-black-2.0.0.gh.tar.gz 10399 BLAKE2B e38bf7ae736b3b71c1e17dd34b7e98b9bcbdbc7a12e2c1596ccdbe13b8fac8caef8a1f043aa50e1688b9159928885b8b116b709b4d2574b8ddf77172df756862 SHA512 e374ea34ac53e0d78ba198814210d9d7293e18b8fc7b22bb288621a994c8c9d492cc9c99c40cd1574b618add518671430e1e88f32e93e4c95507373932c08dc0
diff --git a/dev-python/python-lsp-black/files/python-lsp-black-1.2.1-tomli.patch b/dev-python/python-lsp-black/files/python-lsp-black-1.2.1-tomli.patch
deleted file mode 100644
index 8ecef0287f40..000000000000
--- a/dev-python/python-lsp-black/files/python-lsp-black-1.2.1-tomli.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 80d34ca4f35baa654e5f1fee7860214950f1ae37 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Thu, 26 Jan 2023 12:07:11 +0100
-Subject: [PATCH] Replace the obsolete toml package with tomllib/tomli
-
-Use the modern `tomllib` module (in Python 3.11+) or its drop-in
-replacement `tomli` (for older Python versions) instead of the obsolete
-`toml` module. The latter is unmaintained and does not support TOML
-1.0.
----
- .pre-commit-config.yaml | 2 +-
- pylsp_black/plugin.py | 12 +++++++++---
- setup.cfg | 7 +++++--
- 3 files changed, 15 insertions(+), 6 deletions(-)
-
-diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
-index 304770e..d5bd147 100644
---- a/.pre-commit-config.yaml
-+++ b/.pre-commit-config.yaml
-@@ -17,7 +17,7 @@ repos:
- rev: v0.942
- hooks:
- - id: mypy
-- additional_dependencies: [black, types-pkg_resources, types-setuptools, types-toml]
-+ additional_dependencies: [black, types-pkg_resources, types-setuptools]
- - repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v4.1.0
- hooks:
-diff --git a/pylsp_black/plugin.py b/pylsp_black/plugin.py
-index f013171..090b1b0 100644
---- a/pylsp_black/plugin.py
-+++ b/pylsp_black/plugin.py
-@@ -1,15 +1,20 @@
- import logging
- import os
-+import sys
- from functools import lru_cache
- from pathlib import Path
- from typing import Dict, Optional
-
- import black
--import toml
- from pylsp import hookimpl
- from pylsp._utils import get_eol_chars
- from pylsp.config.config import Config
-
-+if sys.version_info >= (3, 11):
-+ import tomllib
-+else:
-+ import tomli as tomllib
-+
- logger = logging.getLogger(__name__)
-
-
-@@ -154,8 +159,9 @@ def _load_config(filename: str, client_config: Config) -> Dict:
- return defaults
-
- try:
-- pyproject_toml = toml.load(str(pyproject_filename))
-- except (toml.TomlDecodeError, OSError):
-+ with open(pyproject_filename, "rb") as f:
-+ pyproject_toml = tomllib.load(f)
-+ except (tomllib.TOMLDecodeError, OSError):
- logger.warning(
- "Error decoding pyproject.toml, using defaults: %r",
- defaults,
-diff --git a/setup.cfg b/setup.cfg
-index 47510d5..257add6 100644
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -18,7 +18,10 @@ classifiers =
-
- [options]
- packages = find:
--install_requires = python-lsp-server>=1.4.0; black>=22.3.0; toml
-+install_requires =
-+ python-lsp-server>=1.4.0
-+ black>=22.3.0
-+ tomli; python_version<'3.11'
- python_requires = >= 3.7
-
- [options.entry_points]
-@@ -26,7 +29,7 @@ pylsp = pylsp_black = pylsp_black.plugin
-
- [options.extras_require]
- # add any types-* packages to .pre-commit-config.yaml mypy additional_dependencies
--dev = isort>=5.0; flake8; pre-commit; pytest; mypy; pytest; types-pkg_resources; types-setuptools; types-toml
-+dev = isort>=5.0; flake8; pre-commit; pytest; mypy; pytest; types-pkg_resources; types-setuptools
-
- [flake8]
- max-line-length = 88
---
-2.39.1
-
diff --git a/dev-python/python-lsp-black/python-lsp-black-1.2.1-r1.ebuild b/dev-python/python-lsp-black/python-lsp-black-1.2.1-r1.ebuild
deleted file mode 100644
index 72414f29252b..000000000000
--- a/dev-python/python-lsp-black/python-lsp-black-1.2.1-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_{9..11} )
-
-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 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.{8..10})
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${P}-tomli.patch
-)
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/Manifest b/dev-python/python-lsp-jsonrpc/Manifest
index 38ee18a08713..afcf1412a7f2 100644
--- a/dev-python/python-lsp-jsonrpc/Manifest
+++ b/dev-python/python-lsp-jsonrpc/Manifest
@@ -1 +1 @@
-DIST python-lsp-jsonrpc-1.0.0.tar.gz 10011 BLAKE2B 671490d439f10eebf2d05f221adad25be6f881f4a0f4fa975d4574937a951d4d0bc51264a9ec67d3ef5d112b6e025b551685d3e3c2b959c4a6bcef92d46c5ff3 SHA512 447835fc6c3810f486d80f85295089c021b792843bdf88d461c021b8b04407d8f7e6a99c07351a23658a5dff46eb475bc64e51bdec029787cd33330b54d4dfec
+DIST python-lsp-jsonrpc-1.1.2.tar.gz 15298 BLAKE2B 04c4616e63cbdee199747e87e6b21cede9b3b6d3001cf43f3d2640ab727e3c3466f914a7b870311cd08d01161d5cb8bd8a7c9ce35e24ea2a2a7b2821957a79e5 SHA512 7f8de21ca9616b725617b9aed2b2f3d991477e16065ac239559e45723713fe29fb16194145ed191df57d621d49a04e0258e9573fdabce34409fc779cae45ea82
diff --git a/dev-python/python-lsp-jsonrpc/files/python-lsp-jsonrpc-1.0.0-fix-test-with-ujson-3-and-up.patch b/dev-python/python-lsp-jsonrpc/files/python-lsp-jsonrpc-1.0.0-fix-test-with-ujson-3-and-up.patch
deleted file mode 100644
index c7b01903761b..000000000000
--- a/dev-python/python-lsp-jsonrpc/files/python-lsp-jsonrpc-1.0.0-fix-test-with-ujson-3-and-up.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/test/test_streams.py b/test/test_streams.py
-index bce3ffa..f93cb8d 100644
---- a/test/test_streams.py
-+++ b/test/test_streams.py
-@@ -113,6 +113,7 @@ def test_writer_bad_message(wfile, writer):
- hour=1,
- minute=1,
- second=1,
-+ tzinfo=datetime.timezone.utc
- ))
-
- assert wfile.getvalue() in [
diff --git a/dev-python/python-lsp-jsonrpc/metadata.xml b/dev-python/python-lsp-jsonrpc/metadata.xml
index 72b8076c0fde..2bc70a7a40b2 100644
--- a/dev-python/python-lsp-jsonrpc/metadata.xml
+++ b/dev-python/python-lsp-jsonrpc/metadata.xml
@@ -11,6 +11,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">python-lsp/python-lsp-jsonrpc</remote-id>
<remote-id type="pypi">python-lsp-jsonrpc</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/python-lsp-jsonrpc/python-lsp-jsonrpc-1.0.0.ebuild b/dev-python/python-lsp-jsonrpc/python-lsp-jsonrpc-1.0.0.ebuild
deleted file mode 100644
index e6403c34e7d8..000000000000
--- a/dev-python/python-lsp-jsonrpc/python-lsp-jsonrpc-1.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=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="JSON RPC 2.0 server library"
-HOMEPAGE="https://github.com/python-lsp/python-lsp-jsonrpc"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-BDEPEND="
- test? (
- dev-python/pycodestyle[${PYTHON_USEDEP}]
- dev-python/pyflakes[${PYTHON_USEDEP}]
- )"
-
-RDEPEND=">=dev-python/ujson-3[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
-
-PATCHES=( "${FILESDIR}/${P}-fix-test-with-ujson-3-and-up.patch" )
-
-python_prepare_all() {
- # Remove pytest-cov dep
- sed -i -e '0,/addopts/I!d' setup.cfg || die
-
- distutils-r1_python_prepare_all
-}
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
new file mode 100644
index 000000000000..ca39dc201529
--- /dev/null
+++ b/dev-python/python-lsp-jsonrpc/python-lsp-jsonrpc-1.1.2.ebuild
@@ -0,0 +1,38 @@
+# 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="JSON RPC 2.0 server library"
+HOMEPAGE="
+ https://github.com/python-lsp/python-lsp-jsonrpc/
+ https://pypi.org/project/python-lsp-jsonrpc/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
+
+RDEPEND="
+ >=dev-python/ujson-3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pycodestyle[${PYTHON_USEDEP}]
+ dev-python/pyflakes[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x TZ=UTC
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts=
+}
diff --git a/dev-python/python-lsp-server/Manifest b/dev-python/python-lsp-server/Manifest
index e5cd37ba75c4..40b8902654af 100644
--- a/dev-python/python-lsp-server/Manifest
+++ b/dev-python/python-lsp-server/Manifest
@@ -1,3 +1 @@
-DIST python-lsp-server-1.6.0.tar.gz 85242 BLAKE2B 52fcca5a93035a6ec8179908b2139e9392220cad082afb4c31b18284cdd53050c68fca4bcc9d852fa9acb49200487431fec37dc840e61ab9320fd6c3a86189ee SHA512 e4ab52f334fb1eece3458258ed39bf66eeb6056ed7e243be9c69ce2bac92792786df2fbc1d316133ac5523b44a57e7d89d4d6f18120c748e78ef20570a325c9b
-DIST python-lsp-server-1.7.0.tar.gz 95085 BLAKE2B 8cce5a01588d44efbc19f8ceec67e61580835814f403d6bda4ca2f82f56dc35c85fc3176f8ebc1eea720aa92710379f87a5e98f443f71a5d16e5bfe48702da1b SHA512 2ef31bdd4451b4b282469223ff5cc5799f4487d3dfc593dfc58483b939802754e0e375461723bf7a90d0fd71f945c927106c5d929621a70f83c3f30bddf68250
-DIST python-lsp-server-1.7.1.tar.gz 95731 BLAKE2B 0cdcda04ef849cb0c5fa83f1f701e986e22fb1228112eaf355bfedc52cca4fcc5927352c71b74fa3903526d8a1fc80fa57ac3e6ee7bcc2609556c2398dd2bbb8 SHA512 36c90f45071f35d0aeb0a57795eb6e9fb531baf9e8b468031b0d3e9eb2d53bee439893a333c6bf5f9d5b0818ec53675a3824850abef3e866e8ebdcd4a6142c48
+DIST python-lsp-server-1.11.0.tar.gz 113347 BLAKE2B d8417fb63447c5130d88dd6583ef0dc0c724076b22006a59da914a10440e67a4fc2362fd677a45b257fcca804c965920d54ff47568ad607e49f05d13d6d3e1ee SHA512 bd96850b822dc3c2e97d5ee38f25c9f7731dc68b31fedcc2d3e0ff373bc3ad8a989f1a4b85527477bbbc875e853d5513d8583bc3cdc22a3c0545716e68382093
diff --git a/dev-python/python-lsp-server/files/python-lsp-server-1.6.0-unpin-all-the-deps.patch b/dev-python/python-lsp-server/files/python-lsp-server-1.6.0-unpin-all-the-deps.patch
deleted file mode 100644
index 28bc0f84c6a8..000000000000
--- a/dev-python/python-lsp-server/files/python-lsp-server-1.6.0-unpin-all-the-deps.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-diff --git a/pyproject.toml b/pyproject.toml
-index 8cce90e..18cf2db 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -13,7 +13,7 @@ readme = "README.md"
- license = {text = "MIT"}
- requires-python = ">=3.7"
- dependencies = [
-- "jedi>=0.17.2,<0.19.0",
-+ "jedi>=0.17.2",
- "python-lsp-jsonrpc>=1.0.0",
- "pluggy>=1.0.0",
- "docstring-to-markdown",
-@@ -27,26 +27,26 @@ Homepage = "https://github.com/python-lsp/python-lsp-server"
-
- [project.optional-dependencies]
- all = [
-- "autopep8>=1.6.0,<1.7.0",
-- "flake8>=5.0.0,<5.1.0",
-- "mccabe>=0.7.0,<0.8.0",
-- "pycodestyle>=2.9.0,<2.10.0",
-+ "autopep8>=1.6.0",
-+ "flake8>=5.0.0",
-+ "mccabe>=0.7.0",
-+ "pycodestyle>=2.9.0",
- "pydocstyle>=2.0.0",
-- "pyflakes>=2.5.0,<2.6.0",
-+ "pyflakes>=2.5.0",
- "pylint>=2.5.0",
- "rope>=0.10.5",
- "yapf",
- "whatthepatch"
- ]
--autopep8 = ["autopep8>=1.6.0,<1.7.0"]
--flake8 = ["flake8>=5.0.0,<5.1.0"]
--mccabe = ["mccabe>=0.7.0,<0.8.0"]
--pycodestyle = ["pycodestyle>=2.9.0,<2.10.0"]
-+autopep8 = ["autopep8>=1.6.0"]
-+flake8 = ["flake8>=5.0.0"]
-+mccabe = ["mccabe>=0.7.0"]
-+pycodestyle = ["pycodestyle>=2.9.0"]
- pydocstyle = ["pydocstyle>=2.0.0"]
--pyflakes = ["pyflakes>=2.5.0,<2.6.0"]
-+pyflakes = ["pyflakes>=2.5.0"]
- pylint = ["pylint>=2.5.0"]
- rope = ["rope>0.10.5"]
--yapf = ["yapf", "whatthepatch>=1.0.2,<2.0.0"]
-+yapf = ["yapf", "whatthepatch>=1.0.2"]
- websockets = ["websockets>=10.3"]
- test = [
- "pylint>=2.5.0",
diff --git a/dev-python/python-lsp-server/files/python-lsp-server-1.7.0-unpin-all-the-deps.patch b/dev-python/python-lsp-server/files/python-lsp-server-1.7.0-unpin-all-the-deps.patch
deleted file mode 100644
index 7bc98e1eb2c8..000000000000
--- a/dev-python/python-lsp-server/files/python-lsp-server-1.7.0-unpin-all-the-deps.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-diff --git a/pyproject.toml b/pyproject.toml
-index 1422313..4e1ecad 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -13,7 +13,7 @@ readme = "README.md"
- license = {text = "MIT"}
- requires-python = ">=3.7"
- dependencies = [
-- "jedi>=0.17.2,<0.19.0",
-+ "jedi>=0.17.2",
- "python-lsp-jsonrpc>=1.0.0",
- "pluggy>=1.0.0",
- "docstring-to-markdown",
-@@ -27,26 +27,26 @@ Homepage = "https://github.com/python-lsp/python-lsp-server"
-
- [project.optional-dependencies]
- all = [
-- "autopep8>=1.6.0,<1.7.0",
-- "flake8>=5.0.0,<7",
-- "mccabe>=0.7.0,<0.8.0",
-- "pycodestyle>=2.9.0,<2.11.0",
-+ "autopep8>=1.6.0",
-+ "flake8>=5.0.0",
-+ "mccabe>=0.7.0",
-+ "pycodestyle>=2.9.0",
- "pydocstyle>=2.0.0",
-- "pyflakes>=2.5.0,<3.1.0",
-+ "pyflakes>=2.5.0",
- "pylint>=2.5.0",
- "rope>1.2.0",
- "yapf",
- "whatthepatch"
- ]
--autopep8 = ["autopep8>=1.6.0,<1.7.0"]
--flake8 = ["flake8>=5.0.0,<7"]
--mccabe = ["mccabe>=0.7.0,<0.8.0"]
--pycodestyle = ["pycodestyle>=2.9.0,<2.11.0"]
-+autopep8 = ["autopep8>=1.6.0"]
-+flake8 = ["flake8>=5.0.0"]
-+mccabe = ["mccabe>=0.7.0"]
-+pycodestyle = ["pycodestyle>=2.9.0"]
- pydocstyle = ["pydocstyle>=2.0.0"]
--pyflakes = ["pyflakes>=2.5.0,<3.1.0"]
-+pyflakes = ["pyflakes>=2.5.0"]
- pylint = ["pylint>=2.5.0"]
- rope = ["rope>1.2.0"]
--yapf = ["yapf", "whatthepatch>=1.0.2,<2.0.0"]
-+yapf = ["yapf", "whatthepatch>=1.0.2"]
- websockets = ["websockets>=10.3"]
- test = [
- "pylint>=2.5.0",
diff --git a/dev-python/python-lsp-server/files/python-lsp-server-1.7.1-unpin-all-the-deps.patch b/dev-python/python-lsp-server/files/python-lsp-server-1.7.1-unpin-all-the-deps.patch
deleted file mode 100644
index 4a8104130e06..000000000000
--- a/dev-python/python-lsp-server/files/python-lsp-server-1.7.1-unpin-all-the-deps.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff --git a/pyproject.toml b/pyproject.toml
-index 8d38434..50e8e16 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -13,7 +13,7 @@ readme = "README.md"
- license = {text = "MIT"}
- requires-python = ">=3.7"
- dependencies = [
-- "jedi>=0.17.2,<0.19.0",
-+ "jedi>=0.17.2",
- "python-lsp-jsonrpc>=1.0.0",
- "pluggy>=1.0.0",
- "docstring-to-markdown",
-@@ -27,29 +27,29 @@ Homepage = "https://github.com/python-lsp/python-lsp-server"
-
- [project.optional-dependencies]
- all = [
-- "autopep8>=1.6.0,<1.7.0",
-- "flake8>=5.0.0,<7",
-- "mccabe>=0.7.0,<0.8.0",
-- "pycodestyle>=2.9.0,<2.11.0",
-- "pydocstyle>=6.2.0,<6.3.0",
-- "pyflakes>=2.5.0,<3.1.0",
-- "pylint>=2.5.0,<3",
-+ "autopep8>=1.6.0",
-+ "flake8>=5.0.0",
-+ "mccabe>=0.7.0",
-+ "pycodestyle>=2.9.0",
-+ "pydocstyle>=6.2.0",
-+ "pyflakes>=2.5.0",
-+ "pylint>=2.5.0",
- "rope>1.2.0",
- "yapf",
-- "whatthepatch>=1.0.2,<2.0.0"
-+ "whatthepatch>=1.0.2"
- ]
--autopep8 = ["autopep8>=1.6.0,<1.7.0"]
--flake8 = ["flake8>=5.0.0,<7"]
--mccabe = ["mccabe>=0.7.0,<0.8.0"]
--pycodestyle = ["pycodestyle>=2.9.0,<2.11.0"]
--pydocstyle = ["pydocstyle>=6.2.0,<6.3.0"]
--pyflakes = ["pyflakes>=2.5.0,<3.1.0"]
--pylint = ["pylint>=2.5.0,<3"]
-+autopep8 = ["autopep8>=1.6.0"]
-+flake8 = ["flake8>=5.0.0"]
-+mccabe = ["mccabe>=0.7.0"]
-+pycodestyle = ["pycodestyle>=2.9.0"]
-+pydocstyle = ["pydocstyle>=6.2.0"]
-+pyflakes = ["pyflakes>=2.5.0"]
-+pylint = ["pylint>=2.5.0"]
- rope = ["rope>1.2.0"]
--yapf = ["yapf", "whatthepatch>=1.0.2,<2.0.0"]
-+yapf = ["yapf", "whatthepatch>=1.0.2"]
- websockets = ["websockets>=10.3"]
- test = [
-- "pylint>=2.5.0,<3",
-+ "pylint>=2.5.0",
- "pytest",
- "pytest-cov",
- "coverage",
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.6.0-r1.ebuild b/dev-python/python-lsp-server/python-lsp-server-1.6.0-r1.ebuild
deleted file mode 100644
index 29db36cb6358..000000000000
--- a/dev-python/python-lsp-server/python-lsp-server-1.6.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_{9..11} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Python Language Server for the Language Server Protocol"
-HOMEPAGE="https://github.com/python-lsp/python-lsp-server"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-IUSE="all-plugins"
-
-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/pandas[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/pydocstyle-2.0.0[${PYTHON_USEDEP}]
- <dev-python/pydocstyle-6.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyflakes-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/pylint-2.5.0[${PYTHON_USEDEP}]
- dev-python/QtPy[gui,testlib,${PYTHON_USEDEP}]
- >=dev-python/rope-0.10.5[${PYTHON_USEDEP}]
- dev-python/yapf[${PYTHON_USEDEP}]
- >=dev-python/whatthepatch-1.0.2[${PYTHON_USEDEP}]
- )
-"
-
-RDEPEND="
- dev-python/docstring-to-markdown[${PYTHON_USEDEP}]
- >=dev-python/jedi-0.17.2[${PYTHON_USEDEP}]
- >=dev-python/python-lsp-jsonrpc-1.0.0[${PYTHON_USEDEP}]
- dev-python/pluggy[${PYTHON_USEDEP}]
- all-plugins? (
- >=dev-python/autopep8-1.6.0[${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/pydocstyle-2.0.0[${PYTHON_USEDEP}]
- <dev-python/pydocstyle-6.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyflakes-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/pylint-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/rope-0.10.5[${PYTHON_USEDEP}]
- dev-python/yapf[${PYTHON_USEDEP}]
- >=dev-python/whatthepatch-1.0.2[${PYTHON_USEDEP}]
- )
-"
-
-# Upstream is overly cautious, insists on pinning
-# dependencies to versions required by other dependencies.
-# i.e. pin to <dev-python/pycodestyle-2.9.0 because
-# dev-python/autopep8-1.6.0 requires that version.
-# This causes way more problems then it solves.
-PATCHES=(
- "${FILESDIR}/${P}-unpin-all-the-deps.patch"
-)
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # remove pytest-cov dep
- sed -i -e '/addopts =/d' pyproject.toml || die
- distutils-r1_python_prepare_all
-}
-
-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.7.0-r1.ebuild b/dev-python/python-lsp-server/python-lsp-server-1.7.0-r1.ebuild
deleted file mode 100644
index ae316d1b4366..000000000000
--- a/dev-python/python-lsp-server/python-lsp-server-1.7.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_{9..11} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Python Language Server for the Language Server Protocol"
-HOMEPAGE="https://github.com/python-lsp/python-lsp-server"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-IUSE="all-plugins"
-
-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/pandas[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/pydocstyle-2.0.0[${PYTHON_USEDEP}]
- <dev-python/pydocstyle-6.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyflakes-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/pylint-2.5.0[${PYTHON_USEDEP}]
- dev-python/QtPy[gui,testlib,${PYTHON_USEDEP}]
- >=dev-python/rope-1.2.0[${PYTHON_USEDEP}]
- dev-python/yapf[${PYTHON_USEDEP}]
- >=dev-python/whatthepatch-1.0.2[${PYTHON_USEDEP}]
- )
-"
-
-RDEPEND="
- dev-python/docstring-to-markdown[${PYTHON_USEDEP}]
- >=dev-python/jedi-0.17.2[${PYTHON_USEDEP}]
- >=dev-python/python-lsp-jsonrpc-1.0.0[${PYTHON_USEDEP}]
- dev-python/pluggy[${PYTHON_USEDEP}]
- all-plugins? (
- >=dev-python/autopep8-1.6.0[${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/pydocstyle-2.0.0[${PYTHON_USEDEP}]
- <dev-python/pydocstyle-6.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyflakes-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/pylint-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/rope-1.2.0[${PYTHON_USEDEP}]
- dev-python/yapf[${PYTHON_USEDEP}]
- >=dev-python/whatthepatch-1.0.2[${PYTHON_USEDEP}]
- )
-"
-
-# Upstream is overly cautious, insists on pinning
-# dependencies to versions required by other dependencies.
-# i.e. pin to <dev-python/pycodestyle-2.9.0 because
-# dev-python/autopep8-1.6.0 requires that version.
-# This causes way more problems then it solves.
-PATCHES=(
- "${FILESDIR}/${P}-unpin-all-the-deps.patch"
-)
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # remove pytest-cov dep
- sed -i -e '/addopts =/d' pyproject.toml || die
- distutils-r1_python_prepare_all
-}
-
-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.7.1.ebuild b/dev-python/python-lsp-server/python-lsp-server-1.7.1.ebuild
deleted file mode 100644
index c0abd68bb8f3..000000000000
--- a/dev-python/python-lsp-server/python-lsp-server-1.7.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Python Language Server for the Language Server Protocol"
-HOMEPAGE="https://github.com/python-lsp/python-lsp-server"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-IUSE="all-plugins"
-
-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/pandas[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/pydocstyle-6.2.0[${PYTHON_USEDEP}]
- <dev-python/pydocstyle-6.3.0[${PYTHON_USEDEP}]
- >=dev-python/pyflakes-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/pylint-2.5.0[${PYTHON_USEDEP}]
- dev-python/QtPy[gui,testlib,${PYTHON_USEDEP}]
- >=dev-python/rope-1.2.0[${PYTHON_USEDEP}]
- dev-python/yapf[${PYTHON_USEDEP}]
- >=dev-python/whatthepatch-1.0.2[${PYTHON_USEDEP}]
- )
-"
-
-RDEPEND="
- dev-python/docstring-to-markdown[${PYTHON_USEDEP}]
- >=dev-python/jedi-0.17.2[${PYTHON_USEDEP}]
- >=dev-python/python-lsp-jsonrpc-1.0.0[${PYTHON_USEDEP}]
- dev-python/pluggy[${PYTHON_USEDEP}]
- all-plugins? (
- >=dev-python/autopep8-1.6.0[${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/pydocstyle-6.2.0[${PYTHON_USEDEP}]
- <dev-python/pydocstyle-6.3.0[${PYTHON_USEDEP}]
- >=dev-python/pyflakes-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/pylint-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/rope-1.2.0[${PYTHON_USEDEP}]
- dev-python/yapf[${PYTHON_USEDEP}]
- >=dev-python/whatthepatch-1.0.2[${PYTHON_USEDEP}]
- )
-"
-
-# Upstream is overly cautious, insists on pinning
-# dependencies to versions required by other dependencies.
-# i.e. pin to <dev-python/pycodestyle-2.9.0 because
-# dev-python/autopep8-1.6.0 requires that version.
-# This causes way more problems then it solves.
-PATCHES=(
- "${FILESDIR}/${P}-unpin-all-the-deps.patch"
-)
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # remove pytest-cov dep
- sed -i -e '/addopts =/d' pyproject.toml || die
- distutils-r1_python_prepare_all
-}
-
-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-ly/Manifest b/dev-python/python-ly/Manifest
index e8a6e7308524..e4e019e6716d 100644
--- a/dev-python/python-ly/Manifest
+++ b/dev-python/python-ly/Manifest
@@ -1,2 +1 @@
-DIST python-ly-0.9.6.tar.gz 179345 BLAKE2B 56b4e01b61ebe189f1de942ce848bb652bff857d61e2c410ac8e522cfff99b0e9c14d9619dd6d657a20d5a7abee16950c91bf0b1d5184fd7152c8cd2465360c9 SHA512 76da1c895555c87eb58308db13347feb66e9090bb1f6cdc253a1eaf810439dbe4089e9e0453fa1e6e0e30d19a91e0a9d7d20ea3ceb0062c76ba16cdf3b389e3a
DIST python-ly-0.9.7.gh.tar.gz 239814 BLAKE2B 322d8e9bb3293aada00834e8e4822b2ace11643ac8bec2d351d38f302c941703c1c47f541c5141097fa0e9e7da59fb93f473891a568a222dc5f6cf212e004af3 SHA512 83b5030e2626146f1309b0cc8a4626d6fac58112c97785ef47672fcb14dcb8fb7e95ed86f3afb09709cdf6c15d4ed21619d94926b02315860b9e151c411f6652
diff --git a/dev-python/python-ly/python-ly-0.9.6.ebuild b/dev-python/python-ly/python-ly-0.9.6.ebuild
deleted file mode 100644
index b262a15e73b8..000000000000
--- a/dev-python/python-ly/python-ly-0.9.6.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_9 )
-inherit distutils-r1
-
-DESCRIPTION="Tool and library for manipulating LilyPond files"
-HOMEPAGE="https://github.com/frescobaldi/python-ly https://pypi.org/project/python-ly/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-# no tests in pypi tarball and broken apparently:
-# https://github.com/wbsoft/python-ly/issues/70
diff --git a/dev-python/python-ly/python-ly-0.9.7.ebuild b/dev-python/python-ly/python-ly-0.9.7.ebuild
index 7dc8c9f964f1..ea877488ed31 100644
--- a/dev-python/python-ly/python-ly-0.9.7.ebuild
+++ b/dev-python/python-ly/python-ly-0.9.7.ebuild
@@ -4,13 +4,18 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
DESCRIPTION="Tool and library for manipulating LilyPond files"
-HOMEPAGE="https://github.com/frescobaldi/python-ly https://pypi.org/project/python-ly/"
-# No tests in pypi tarball
-SRC_URI="https://github.com/frescobaldi/python-ly/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+HOMEPAGE="
+ https://github.com/frescobaldi/python-ly/
+ https://pypi.org/project/python-ly/
+"
+SRC_URI="
+ https://github.com/frescobaldi/python-ly/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="GPL-2+"
SLOT="0"
@@ -18,4 +23,10 @@ KEYWORDS="amd64 x86"
RESTRICT="test"
+BDEPEND="
+ test? (
+ dev-python/lxml[${PYTHON_USEDEP}]
+ )
+"
+
distutils_enable_tests pytest
diff --git a/dev-python/python-lzo/Manifest b/dev-python/python-lzo/Manifest
index 68338d30a0d2..e2ce4ab8c4b5 100644
--- a/dev-python/python-lzo/Manifest
+++ b/dev-python/python-lzo/Manifest
@@ -1 +1 @@
-DIST python-lzo-1.14.tar.gz 14050 BLAKE2B e1df6b842562064ca13ddbacb194047ca343694d480a5a65e7d2876ec98a4215b4badb3b2a839f308dea8624c162a0536f363c093bcb2e5b48c68b69fb472729 SHA512 036cf7199afe12cec8b9c7ee92134f58357e1f892870ade3a619541a69c9cc92155892d53bd43330732b848016c2997e096a9a492e52f15d04fa516ca7645b93
+DIST python-lzo-1.15.tar.gz 17633 BLAKE2B 577c78feeced5fba833c27b212b621a4cd8c9d4fe2dfb44d93cfd2b0aa9e88ee66926ec47d129b75496936f55d65e99e816d00e110b1d70300639a3907d823fd SHA512 1c7889f01b4809e7023804b702ac35a59e45df735865ff50449c69b414966c9f928c254ef7dde9e28fcc44ba4ac12df220bd6a6d34c0d274123f59c65ce3c5fe
diff --git a/dev-python/python-lzo/files/python-lzo-1.14-pytest.patch b/dev-python/python-lzo/files/python-lzo-1.14-pytest.patch
deleted file mode 100644
index 2abaab19aab5..000000000000
--- a/dev-python/python-lzo/files/python-lzo-1.14-pytest.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-https://github.com/jd-boyd/python-lzo/pull/66
-
-diff --git a/setup.py b/setup.py
-index 033692d..e7e383d 100644
---- a/setup.py
-+++ b/setup.py
-@@ -33,7 +33,7 @@ class TestCommand(Command):
- raise SystemExit(
- subprocess.call([sys.executable,
- '-m',
-- 'nose']))
-+ 'pytest']))
-
-
- if sys.platform == "win32":
-@@ -91,7 +91,7 @@ setup_args = get_kw(
- maintainer_email="jdboyd@jdboyd.net",
- url="https://github.com/jd-boyd/python-lzo",
- license="GNU General Public License (GPL)",
-- tests_require=['nose'],
-+ tests_require=['pytest'],
- cmdclass={
- 'test': TestCommand
- },
-diff --git a/tests/test.py b/tests/test_lzo.py
-similarity index 88%
-rename from tests/test.py
-rename to tests/test_lzo.py
-index af761d9..b9d5c88 100644
---- a/tests/test.py
-+++ b/tests/test_lzo.py
-@@ -32,6 +32,7 @@
-
- from __future__ import print_function
-
-+import pytest
- import sys, string
-
- # update sys.path when running in the build directory
-@@ -94,22 +95,20 @@ def test_version():
- assert pkg_version == mod_version, \
- "%r != %r" %(pkg_version, mod_version)
-
--def test_lzo():
-- yield gen, b"aaaaaaaaaaaaaaaaaaaaaaaa"
-- yield gen, b"abcabcabcabcabcabcabcabc"
-- yield gen, b"abcabcabcabcabcabcabcabc", 9
-+@pytest.mark.parametrize("src, level", [(b"aaaaaaaaaaaaaaaaaaaaaaaa", 1), (b"abcabcabcabcabcabcabcabc", 1), (b"abcabcabcabcabcabcabcabc", 9)])
-+def test_lzo(src, level):
-+ gen(src, level)
-
--
--def test_lzo_raw():
-- yield gen_raw, b"aaaaaaaaaaaaaaaaaaaaaaaa"
-- yield gen_raw, b"abcabcabcabcabcabcabcabc"
-- yield gen_raw, b"abcabcabcabcabcabcabcabc", 9
-+@pytest.mark.parametrize("src, level", [(b"aaaaaaaaaaaaaaaaaaaaaaaa", 1), (b"abcabcabcabcabcabcabcabc", 1), (b"abcabcabcabcabcabcabcabc", 9)])
-+def test_lzo_raw(src, level):
-+ gen_raw(src, level)
-
-
- def test_lzo_empty():
-- yield gen, b""
-- yield gen_raw, b""
-+ gen(b"")
-
-+def test_lzo_empty_raw():
-+ gen_raw(b"")
-
- def test_lzo_big():
- gen(b" " * 131072)
diff --git a/dev-python/python-lzo/python-lzo-1.14-r1.ebuild b/dev-python/python-lzo/python-lzo-1.14-r1.ebuild
deleted file mode 100644
index d98565f153fb..000000000000
--- a/dev-python/python-lzo/python-lzo-1.14-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 prefix
-
-DESCRIPTION="Python interface to lzo"
-HOMEPAGE="https://github.com/jd-boyd/python-lzo"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="dev-libs/lzo:2"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-pytest.patch
-)
-
-# We can't use pytest at the moment because the package uses "yield tests"
-# https://docs.pytest.org/en/6.2.x/deprecations.html#yield-tests
-distutils_enable_tests pytest
-
-python_prepare_all() {
- hprefixify setup.py
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/python-lzo/python-lzo-1.15.ebuild b/dev-python/python-lzo/python-lzo-1.15.ebuild
new file mode 100644
index 000000000000..480720156928
--- /dev/null
+++ b/dev-python/python-lzo/python-lzo-1.15.ebuild
@@ -0,0 +1,35 @@
+# 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 prefix pypi
+
+DESCRIPTION="Python interface to lzo"
+HOMEPAGE="
+ https://github.com/jd-boyd/python-lzo/
+ https://pypi.org/project/python-lzo/
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ dev-libs/lzo:2
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ hprefixify setup.py
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/python-magic/files/python-magic-0.4.27-test.patch b/dev-python/python-magic/files/python-magic-0.4.27-test.patch
new file mode 100644
index 000000000000..a4e94251fe9f
--- /dev/null
+++ b/dev-python/python-magic/files/python-magic-0.4.27-test.patch
@@ -0,0 +1,69 @@
+https://github.com/ahupp/python-magic/commit/4ffcd59113fa26d7c2e9d5897b1eef919fd4b457
+
+From 4ffcd59113fa26d7c2e9d5897b1eef919fd4b457 Mon Sep 17 00:00:00 2001
+From: Adam Hupp <adam@hupp.org>
+Date: Mon, 9 Jan 2023 12:55:15 -0800
+Subject: [PATCH] update test for upstream added gzip extensions
+
+--- a/test/python_magic_test.py
++++ b/test/python_magic_test.py
+@@ -134,7 +134,7 @@ def test_extension(self):
+ self.assert_values(m, {
+ # some versions return '' for the extensions of a gz file,
+ # including w/ the command line. Who knows...
+- 'test.gz': ('gz/tgz/tpz/zabw/svgz', '', '???'),
++ 'test.gz': ('gz/tgz/tpz/zabw/svgz/adz/kmy/xcfgz', 'gz/tgz/tpz/zabw/svgz', '', '???'),
+ 'name_use.jpg': 'jpeg/jpg/jpe/jfif',
+ })
+ except NotImplementedError:
+@@ -227,6 +227,5 @@ def test_pathlike(self):
+ m = magic.Magic(mime=True)
+ self.assertEqual('application/pdf', m.from_file(path))
+
+-
+ if __name__ == '__main__':
+ unittest.main()
+
+From b434c88c9c8e901adf5b3779e3aac65f10d90aab Mon Sep 17 00:00:00 2001
+From: Dominique Leuenberger <dimstar@opensuse.org>
+Date: Wed, 2 Aug 2023 11:29:47 +0200
+Subject: [PATCH 1/2] Fix test suite with file 5.45
+
+[ 12s] test/python_magic_test.py:53: in assert_values
+[ 12s] self.assertIn(value, expected_value)
+[ 12s] E AssertionError: 'PDF document, version 1.2, 2 page(s)' not found in ('PDF document, version 1.2', 'PDF document, version 1.2, 2 pages')
+---
+ test/libmagic_test.py | 2 +-
+ test/python_magic_test.py | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/test/libmagic_test.py b/test/libmagic_test.py
+index 5719a58..7b4665b 100644
+--- a/test/libmagic_test.py
++++ b/test/libmagic_test.py
+@@ -15,7 +15,7 @@ class MagicTestCase(unittest.TestCase):
+ filename = os.path.join(TESTDATA_DIR, 'test.pdf')
+ expected_mime_type = 'application/pdf'
+ expected_encoding = 'us-ascii'
+- expected_name = ('PDF document, version 1.2', 'PDF document, version 1.2, 2 pages')
++ expected_name = ('PDF document, version 1.2', 'PDF document, version 1.2, 2 pages', 'PDF document, version 1.2, 2 page(s)')
+
+ def assert_result(self, result):
+ self.assertEqual(result.mime_type, self.expected_mime_type)
+diff --git a/test/python_magic_test.py b/test/python_magic_test.py
+index 624a443..78f63a3 100755
+--- a/test/python_magic_test.py
++++ b/test/python_magic_test.py
+@@ -108,7 +108,8 @@ class MagicTest(unittest.TestCase):
+ self.assert_values(m, {
+ 'magic._pyc_': 'python 2.4 byte-compiled',
+ 'test.pdf': ('PDF document, version 1.2',
+- 'PDF document, version 1.2, 2 pages'),
++ 'PDF document, version 1.2, 2 pages',
++ 'PDF document, version 1.2, 2 page(s)'),
+ 'test.gz':
+ ('gzip compressed data, was "test", from Unix, last '
+ 'modified: Sun Jun 29 01:32:52 2008',
+--
+2.43.0
+
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 18f2483f5cce..8b18fbc7f7e8 100644
--- a/dev-python/python-magic/python-magic-0.4.27.ebuild
+++ b/dev-python/python-magic/python-magic-0.4.27.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="BSD-2 MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux"
RDEPEND="
sys-apps/file[-python]
@@ -31,6 +31,11 @@ BDEPEND="
)
"
+PATCHES=(
+ # upstream git backports
+ "${FILESDIR}"/${P}-test.patch
+)
+
distutils_enable_tests unittest
python_test() {
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
new file mode 100644
index 000000000000..00c89672687d
--- /dev/null
+++ b/dev-python/python-markdown-math/python-markdown-math-0.8-r1.ebuild
@@ -0,0 +1,26 @@
+# 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="Math extension for Python-Markdown"
+HOMEPAGE="
+ https://github.com/mitya57/python-markdown-math/
+ https://pypi.org/project/python-markdown-math/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/markdown-3.3.7[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/python-markdown-math/python-markdown-math-0.8.ebuild b/dev-python/python-markdown-math/python-markdown-math-0.8.ebuild
deleted file mode 100644
index 465d18b449e4..000000000000
--- a/dev-python/python-markdown-math/python-markdown-math-0.8.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="Math extension for Python-Markdown"
-HOMEPAGE="https://github.com/mitya57/python-markdown-math"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/markdown-3.0.1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests setup.py
diff --git a/dev-python/python-memcached/Manifest b/dev-python/python-memcached/Manifest
index ad992bd85f4b..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/metadata.xml b/dev-python/python-memcached/metadata.xml
index febb3b815864..71b2011b44aa 100644
--- a/dev-python/python-memcached/metadata.xml
+++ b/dev-python/python-memcached/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">
- <email>robbat2@gentoo.org</email>
- <name>Robin H. Johnson</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
- <longdescription lang="en">
- This is a Python based API (implemented in 100% python) for communicating with
- the memcached distributed memory object cache daemon.
- </longdescription>
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">python-memcached</remote-id>
diff --git a/dev-python/python-memcached/python-memcached-1.59-r1.ebuild b/dev-python/python-memcached/python-memcached-1.59-r1.ebuild
deleted file mode 100644
index b925997aac3d..000000000000
--- a/dev-python/python-memcached/python-memcached-1.59-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=7
-
-PYTHON_COMPAT=( pypy3 python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure python memcached client"
-HOMEPAGE="
- https://www.tummy.com/Community/software/python-memcached/
- https://pypi.org/project/python-memcached/
-"
-# PyPI tarballs don't contain tests
-SRC_URI="https://github.com/linsomniac/python-memcached/archive/${PV}.tar.gz -> ${P}-gh.tar.gz"
-
-LICENSE="OSL-2.0"
-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 nose
-
-python_test() {
- local pidfile="${TMPDIR}/memcached.pid"
-
- memcached -d -P "$pidfile" || die "failed to start memcached"
-
- nosetests -v || 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
- let elapsed++
- 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..528ace0c5f5b
--- /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..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"
+
+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/metadata.xml b/dev-python/python-mimeparse/metadata.xml
index f4b6842a05c0..d65d103cbf95 100644
--- a/dev-python/python-mimeparse/metadata.xml
+++ b/dev-python/python-mimeparse/metadata.xml
@@ -8,6 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">python-mimeparse</remote-id>
- <remote-id type="github">dbtsai/python-mimeparse</remote-id>
+ <remote-id type="github">falconry/python-mimeparse</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/python-mimeparse/python-mimeparse-1.6.0-r3.ebuild b/dev-python/python-mimeparse/python-mimeparse-1.6.0-r3.ebuild
deleted file mode 100644
index 1b62c0932a42..000000000000
--- a/dev-python/python-mimeparse/python-mimeparse-1.6.0-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=7
-
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Basic functions for handling mime-types in python"
-HOMEPAGE="https://github.com/dbtsai/python-mimeparse"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~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-r4.ebuild b/dev-python/python-mimeparse/python-mimeparse-1.6.0-r4.ebuild
new file mode 100644
index 000000000000..72a6b947fe2d
--- /dev/null
+++ b/dev-python/python-mimeparse/python-mimeparse-1.6.0-r4.ebuild
@@ -0,0 +1,24 @@
+# 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-miniupnpc/Manifest b/dev-python/python-miniupnpc/Manifest
deleted file mode 100644
index 6f8bb1688fd0..000000000000
--- a/dev-python/python-miniupnpc/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-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
diff --git a/dev-python/python-miniupnpc/python-miniupnpc-2.2.4.ebuild b/dev-python/python-miniupnpc/python-miniupnpc-2.2.4.ebuild
deleted file mode 100644
index 658898254b2d..000000000000
--- a/dev-python/python-miniupnpc/python-miniupnpc-2.2.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_{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=${BROOT}/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/python-mpd/Manifest b/dev-python/python-mpd/Manifest
deleted file mode 100644
index 6628cba6a65b..000000000000
--- a/dev-python/python-mpd/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-mpd2-3.0.5.tar.gz 67224 BLAKE2B a0c78e3a2624247a7ed4228725dcc09457804636b01b09006bcd61800deefac8887fc9f76b9d7bb21c973e2dd9558e934f3864b2f8f5c041a94633a29f9a781e SHA512 521345b905113eaa56e6ec983e4d968d77dca30f839ab52a00e146f311269828ed383bce460ba1daf61b7f98c63ae3b7a3cbcb55cf917b1c5a5a11cf62b6a7d5
diff --git a/dev-python/python-mpd/python-mpd-3.0.5.ebuild b/dev-python/python-mpd/python-mpd-3.0.5.ebuild
deleted file mode 100644
index 0c5c8ec31333..000000000000
--- a/dev-python/python-mpd/python-mpd-3.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_{9..10} )
-inherit distutils-r1
-
-MY_P=python-mpd2-${PV}
-DESCRIPTION="Python MPD client library"
-HOMEPAGE="
- https://github.com/Mic92/python-mpd2/
- https://pypi.org/project/python-mpd2/"
-SRC_URI="
- https://github.com/Mic92/python-mpd2/archive/v${PV}.tar.gz
- -> ${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="LGPL-3+"
-KEYWORDS="amd64 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/Manifest b/dev-python/python-mpd2/Manifest
new file mode 100644
index 000000000000..0c23aff9c345
--- /dev/null
+++ b/dev-python/python-mpd2/Manifest
@@ -0,0 +1 @@
+DIST python-mpd2-3.1.1.gh.tar.gz 69613 BLAKE2B 4769799edb7a5fa8d772e95fdda362845d97ff2e17bc5eed7ec057c0e17389e8ad3b5d1ecd3b169ddea9d33fdfc52d46b86b8e1abc89489cf04f53aa803219d0 SHA512 abd882bc0652ed4a8ee2f4abf0a039e7c62e77b35d278c5fc99bb032c220caac831cc483445516044964f2ea078d2134af61c64d55cb20770b4d32a5aa1ce5e2
diff --git a/dev-python/python-mpd/metadata.xml b/dev-python/python-mpd2/metadata.xml
index ea0f1ffd8944..ea0f1ffd8944 100644
--- a/dev-python/python-mpd/metadata.xml
+++ b/dev-python/python-mpd2/metadata.xml
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..35d052a97346
--- /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..12} )
+
+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/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 3fb93cebd68d..033afa103a47 100644
--- a/dev-python/python-mpv/Manifest
+++ b/dev-python/python-mpv/Manifest
@@ -1 +1 @@
-DIST python-mpv-1.0.1.tar.gz 210008 BLAKE2B 3ba95ac4d3219615c80ea475c1f6dc3acd608a8ded919eea55efac8bb44a8946c959a2b39473e6c9e80fa1a4e52f525d6ef9871e3eb4b2664aeb1460208bc677 SHA512 16a6e93b63f30e535c1e3bd77702d7c703dd9c0a6a689f09e689663cac04e587bdc2135612062d791ffb38c709bc289d0297ebf9f1ddaf9b1771f25eae225f1b
+DIST python-mpv-1.0.5.gh.tar.gz 211622 BLAKE2B eeda4e61c8e2728898ddae7c2cd9e92a7cf718b22aefd8104edf361b7d7feab7655561019cbed35045cbdc4faac96e0d85c77d053bfae61e05052a981bd00342 SHA512 cefc0b38146d707a06e2b9e58951675be8d236c95e24de7665085641b24f7d7d5303130ebdb4c97f4f4c79b6de393c30656d9fc0dabf6760156d4aca8207d77c
diff --git a/dev-python/python-mpv/python-mpv-1.0.1.ebuild b/dev-python/python-mpv/python-mpv-1.0.1.ebuild
deleted file mode 100644
index 2331dba32cba..000000000000
--- a/dev-python/python-mpv/python-mpv-1.0.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_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Python interface to the mpv media player"
-HOMEPAGE="https://github.com/jaseg/python-mpv"
-SRC_URI="https://github.com/jaseg/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="AGPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- media-video/mpv[libmpv]
- dev-python/pillow[${PYTHON_USEDEP}]
-"
-
-BDEPEND="test? ( dev-python/xvfbwrapper[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests pytest
-
-python_test() {
- # https://github.com/jaseg/python-mpv/issues/209
- EPYTEST_DESELECT=(
- tests/test_mpv.py::TestLifecycle::test_wait_for_property_negative
- tests/test_mpv.py::TestLifecycle::test_wait_for_property_positive
- tests/test_mpv.py::TestLifecycle::test_wait_for_property_shutdown
- tests/test_mpv.py::TestLifecycle::test_wait_for_prooperty_event_overflow
- tests/test_mpv.py::TestLifecycle::test_event_callback
- )
- 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
new file mode 100644
index 000000000000..68c92177161a
--- /dev/null
+++ b/dev-python/python-mpv/python-mpv-1.0.5.ebuild
@@ -0,0 +1,46 @@
+# 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-multipart/Manifest b/dev-python/python-multipart/Manifest
index cdb993e00fa1..6c3ba688e6d9 100644
--- a/dev-python/python-multipart/Manifest
+++ b/dev-python/python-multipart/Manifest
@@ -1 +1 @@
-DIST python-multipart-0.0.5.gh.tar.gz 48018 BLAKE2B cfff5c1c57ada3ba3d50da71273435781d62d3907ca1b7e6180cd319f2680258b3e1e278dff760106e7ca9c116f4c5c7adf957601d6d8465bf300e6211b83773 SHA512 c2fabeb77a25119c4bbb71c3faa6de58e27ac2f0c768298eac62b519fc51e5d95fdea05c4f3846ed47205f297802982a001577a73b2feec2d9f585c784d6c3d7
+DIST python-multipart-0.0.9.gh.tar.gz 49448 BLAKE2B 9ab4026dd4f45e60fd3bd781b178258edc9841e2a999ba6d0e918e37da106d7e9fb5816fa3e2fccb9eb3139c06c83dc892fe3e38b98bc6289dccaee4cdc64260 SHA512 6e41be080e079b1e9730e61d72b5b339fbb447bfb2b171a617c17025c5ad69924ca3c24f39e160f7b1cc495cea0999e72e6674e5631ce88a48240ecc229d0343
diff --git a/dev-python/python-multipart/files/python-multipart-0.0.5-pyyaml.patch b/dev-python/python-multipart/files/python-multipart-0.0.5-pyyaml.patch
deleted file mode 100644
index 5d189dd5f225..000000000000
--- a/dev-python/python-multipart/files/python-multipart-0.0.5-pyyaml.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 4831a3f9b5007145f2cb9e3020e83581523d4079 Mon Sep 17 00:00:00 2001
-From: Carl George <carl@george.computer>
-Date: Tue, 19 Apr 2022 20:20:49 -0500
-Subject: [PATCH] Use yaml.safe_load instead of yaml.load (#46)
-
-yaml.load in PyYAML 6 requires a Loader argument. PyYAML recommends
-using SafeLoader, which is implied if you call yaml.safe_load instead.
-
-https://github.com/yaml/pyyaml/pull/561
-https://msg.pyyaml.org/load
-
-Fixes #41
----
- multipart/tests/test_multipart.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/multipart/tests/test_multipart.py b/multipart/tests/test_multipart.py
-index 0e38c9c..ab33e7c 100644
---- a/multipart/tests/test_multipart.py
-+++ b/multipart/tests/test_multipart.py
-@@ -716,7 +716,7 @@ def test_not_aligned(self):
- test_data = f.read()
-
- with open(yaml_file, 'rb') as f:
-- yaml_data = yaml.load(f)
-+ yaml_data = yaml.safe_load(f)
-
- http_tests.append({
- 'name': fname,
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.5.ebuild b/dev-python/python-multipart/python-multipart-0.0.5.ebuild
deleted file mode 100644
index 092b3e031474..000000000000
--- a/dev-python/python-multipart/python-multipart-0.0.5.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..11} )
-
-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 arm64 ~loong ppc ppc64 ~riscv x86"
-
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${P}-pyyaml.patch
-)
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..965765174868
--- /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..12} )
+
+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-musicbrainzngs/Manifest b/dev-python/python-musicbrainzngs/Manifest
deleted file mode 100644
index d822a2016c42..000000000000
--- a/dev-python/python-musicbrainzngs/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-musicbrainzngs-0.7.1.tar.gz 112302 BLAKE2B 1c0696c72b8ea78d182300c76c0040117e1448a7955fa9aed8e42d1ebf9aa1b43359cee1158920fa31d3fb7536796130b54d0d45f351ddb5449d8f022a55f552 SHA512 a674c38b5084d1ae554dd03d1b3e613b48f8f3f3ada67f8d608130cebd35f0640ca65f8b4d224c1e660975274b0b077ffae29739ac2dc5a7078ca87eb8ccadd9
diff --git a/dev-python/python-musicbrainzngs/python-musicbrainzngs-0.7.1.ebuild b/dev-python/python-musicbrainzngs/python-musicbrainzngs-0.7.1.ebuild
deleted file mode 100644
index f7f209e80346..000000000000
--- a/dev-python/python-musicbrainzngs/python-musicbrainzngs-0.7.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for the MusicBrainz NGS and the Cover Art Archive webservices"
-HOMEPAGE="https://github.com/alastair/python-musicbrainzngs"
-SRC_URI="
- https://github.com/alastair/python-musicbrainzngs/archive/v${PV}.tar.gz
- -> ${P}.tar.gz"
-
-LICENSE="BSD-2 ISC"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="examples"
-
-distutils_enable_sphinx docs
-distutils_enable_tests setup.py
-
-python_prepare_all() {
- # Prevent un-needed d'loading
- sed -e "s/^ *'sphinx.ext.intersphinx'//" -i docs/conf.py || die
- distutils-r1_python_prepare_all
-}
-
-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/python-nbxmpp/Manifest b/dev-python/python-nbxmpp/Manifest
deleted file mode 100644
index 79cd37f0e08b..000000000000
--- a/dev-python/python-nbxmpp/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST python-nbxmpp-3.2.5.tar.bz2 132029 BLAKE2B 846f3b47c3a9a95cf1fa1b557a007fd4901fb4acaa3160ea4b9b1cdff1e9d2c3e64bc5251b739d816f3f1c449c350d1ac44c14cbef87d14fe5a6450418451007 SHA512 577f8c7b0f5a7c69b4d980bff93f0a208ab0a660d731eb95ec63b76583194b94bd9d9f6b10fcac3951a6e6afb5d0c4da2140cbc17ef653f19ec6957b5d2e5f04
-DIST python-nbxmpp-4.0.0.tar.bz2 133902 BLAKE2B 8b86f58f5a21a5e4f473528fe61f0f7db8d3cdeb4bad5f5c98d6acafbc3ef30794431cd2bb437754549b3bee21252cbdbf37e69c20461a5facc0b455f631edaa SHA512 3eb9433529d2971f495bf683d586bca63c238eef96f5f6c6082d02a8fb0d11374302ddc0f718a7ff73db624d3aa3a8325d157b80679c165077dbb9d4dc490e3a
-DIST python-nbxmpp-4.0.1.tar.bz2 133863 BLAKE2B 83fbe4b84b47fd4215e5041d28c24fbf230f56f6bf097e83983dc5c48b92f520a36d02636cb0a76eb5a97f04df7c0869c4a59b124354b484697b78aafbc45a8d SHA512 eb9907d5d985ed72a0b4d004e3f2e607e4786a826fc2b5a612a695af3f4d3ca5e4edb127e9bf14edf2f52e7902a80f5c9958bf3cc6ade4446d2aa117b4422aee
-DIST python-nbxmpp-4.1.0.tar.bz2 132973 BLAKE2B b28b7e24debecd5088234d8eb862aebdbd461511c02f0bf8b45429c3b1964706046fdc773d654b4dce7a6ec62cc1f58e5caf9f9ef2cc0c58603129232e658325 SHA512 fd977ba9e4795abec8e1367462e7ae8c38671deea1e40849e84350bdab8281595f839848a8dff6fa730f65c5b60d82826b4d660ca2f14519ce2db0bd5f092782
diff --git a/dev-python/python-nbxmpp/metadata.xml b/dev-python/python-nbxmpp/metadata.xml
deleted file mode 100644
index e43d3f1339a6..000000000000
--- a/dev-python/python-nbxmpp/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>
- <name>Python</name>
- </maintainer>
- <maintainer type="person">
- <email>hanno@gentoo.org</email>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">nbxmpp</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/python-nbxmpp/python-nbxmpp-3.2.5-r1.ebuild b/dev-python/python-nbxmpp/python-nbxmpp-3.2.5-r1.ebuild
deleted file mode 100644
index 3bbf41814a17..000000000000
--- a/dev-python/python-nbxmpp/python-nbxmpp-3.2.5-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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}/${P}.tar.bz2
-"
-
-SLOT="0"
-LICENSE="GPL-3"
-KEYWORDS="amd64 ~arm64 ~riscv x86"
-
-RDEPEND="
- dev-libs/gobject-introspection
- net-libs/libsoup:2.4[introspection]
- dev-python/idna[${PYTHON_USEDEP}]
- dev-python/precis-i18n[${PYTHON_USEDEP}]
- dev-python/pygobject[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/python-nbxmpp/python-nbxmpp-4.0.0-r1.ebuild b/dev-python/python-nbxmpp/python-nbxmpp-4.0.0-r1.ebuild
deleted file mode 100644
index 42ace81c1333..000000000000
--- a/dev-python/python-nbxmpp/python-nbxmpp-4.0.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-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}/${P}.tar.bz2
-"
-
-SLOT="0"
-LICENSE="GPL-3"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
-
-RDEPEND="
- dev-libs/gobject-introspection
- net-libs/libsoup:3.0[introspection]
- dev-python/idna[${PYTHON_USEDEP}]
- dev-python/precis-i18n[${PYTHON_USEDEP}]
- dev-python/pygobject[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/python-nbxmpp/python-nbxmpp-4.0.1.ebuild b/dev-python/python-nbxmpp/python-nbxmpp-4.0.1.ebuild
deleted file mode 100644
index 42ace81c1333..000000000000
--- a/dev-python/python-nbxmpp/python-nbxmpp-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=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-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}/${P}.tar.bz2
-"
-
-SLOT="0"
-LICENSE="GPL-3"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
-
-RDEPEND="
- dev-libs/gobject-introspection
- net-libs/libsoup:3.0[introspection]
- dev-python/idna[${PYTHON_USEDEP}]
- dev-python/precis-i18n[${PYTHON_USEDEP}]
- dev-python/pygobject[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/python-nbxmpp/python-nbxmpp-4.1.0.ebuild b/dev-python/python-nbxmpp/python-nbxmpp-4.1.0.ebuild
deleted file mode 100644
index 9c623ff343b7..000000000000
--- a/dev-python/python-nbxmpp/python-nbxmpp-4.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
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-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}/${P}.tar.bz2
-"
-
-SLOT="0"
-LICENSE="GPL-3"
-KEYWORDS="~amd64 ~arm64 ~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[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/python-netlink/Manifest b/dev-python/python-netlink/Manifest
index 7dcc123b3c55..7c709d85bfe2 100644
--- a/dev-python/python-netlink/Manifest
+++ b/dev-python/python-netlink/Manifest
@@ -1 +1 @@
-DIST python-netlink-0.1.tar.gz 21664 BLAKE2B 09a920256adeebee6762fc8ee7dcdabb38fe7e603d196b8b0cb8210023ee297eec26ed94b5171db2b180b7496c4c8f98aaaf7e3ad55c965051aa73f8709fe0c6 SHA512 ae4a55f7a12b4eab48d4696e41a90a47b4f3a298bee953d5234b47b4889fee61190a6cf30f4ed529f378f05231584116fbd85ebc0aeaf1e14307316edf16043a
+DIST NetLink-0.1.tar.gz 21664 BLAKE2B 09a920256adeebee6762fc8ee7dcdabb38fe7e603d196b8b0cb8210023ee297eec26ed94b5171db2b180b7496c4c8f98aaaf7e3ad55c965051aa73f8709fe0c6 SHA512 ae4a55f7a12b4eab48d4696e41a90a47b4f3a298bee953d5234b47b4889fee61190a6cf30f4ed529f378f05231584116fbd85ebc0aeaf1e14307316edf16043a
diff --git a/dev-python/python-netlink/python-netlink-0.1.ebuild b/dev-python/python-netlink/python-netlink-0.1.ebuild
index eb5b6090ea1c..986639b51678 100644
--- a/dev-python/python-netlink/python-netlink-0.1.ebuild
+++ b/dev-python/python-netlink/python-netlink-0.1.ebuild
@@ -1,22 +1,23 @@
-# 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..10} )
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="NetLink"
-MY_P="NetLink-${PV}"
+inherit distutils-r1 pypi
DESCRIPTION="Pure-Python client for the Linux NetLink interface"
HOMEPAGE="https://pypi.org/project/NetLink/ https://xmine128.tk/Software/Python/netlink/docs/"
-SRC_URI="mirror://pypi/${MY_P:0:1}/NetLink/${MY_P}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
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 a59e9140f423..bfc724299a4d 100644
--- a/dev-python/python-neutronclient/Manifest
+++ b/dev-python/python-neutronclient/Manifest
@@ -1,2 +1 @@
-DIST python-neutronclient-8.2.0.tar.gz 305020 BLAKE2B dd09015fcc91028300c4185f208a7d532734c3b4ce1a616855eda6a25afb73be620548301ba7e42144a9ce33983c7966818f43f5cbbfbb8695b61c837d89831f SHA512 b8ff0b143bd4f8d99c5e8778e6669a80231f81dc353674a1d9964df53db9b49a0347d613f9d9c13b8e8ac355d2b50795cc27712cab2d798963ae0e8d5e4a5564
-DIST python-neutronclient-8.2.1.tar.gz 305119 BLAKE2B 75c75594a9050f7d78921eb72a85ab216862c2c00ce622c5392cc089b9611aa7ce48650eabfe71ea14a8329c10cc4922b8de982e79f238663d8f315c7b0e99cb SHA512 dc5e0e0a0d16ece56993b316db5fe93c8c5c9c50407229900fb4f21cd049e1d7d7ddd01f04b5a7b2e9d0c4623c94079a7fa8568068b30768ac3e2a51464a20a5
+DIST python-neutronclient-11.2.0.tar.gz 211150 BLAKE2B 3384e75eedf0f81ce1d056c1e58c8ecf4ee94041f54225b4435dbc3f8d01cbb709428e7e42bf312b7734b276dae959c3014dae66696bd9019a120ccf8805029e SHA512 47d0bdd9765c727cf3b9fba44269853652bb0d9ba84a25123402262b8381ae3f3d9f9e98916f0ff770b6a3c92699d5d2e3140ad19cdb9b17c94fed3185d7fca0
diff --git a/dev-python/python-neutronclient/metadata.xml b/dev-python/python-neutronclient/metadata.xml
index 55d3f4d2d0e9..4c106dc7c1eb 100644
--- a/dev-python/python-neutronclient/metadata.xml
+++ b/dev-python/python-neutronclient/metadata.xml
@@ -16,6 +16,7 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">python-neutronclient</remote-id>
+ <remote-id type="github">openstack/python-neutronclient</remote-id>
<remote-id type="launchpad">neutron</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/python-neutronclient/python-neutronclient-11.2.0.ebuild b/dev-python/python-neutronclient/python-neutronclient-11.2.0.ebuild
new file mode 100644
index 000000000000..0e2c4bf571ea
--- /dev/null
+++ b/dev-python/python-neutronclient/python-neutronclient-11.2.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 ~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-8.2.0.ebuild b/dev-python/python-neutronclient/python-neutronclient-8.2.0.ebuild
deleted file mode 100644
index 5e1bedd26bde..000000000000
--- a/dev-python/python-neutronclient/python-neutronclient-8.2.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_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="A client for the OpenStack Quantum API"
-HOMEPAGE="https://launchpad.net/neutron"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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/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/keystoneauth-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-8.2.1.ebuild b/dev-python/python-neutronclient/python-neutronclient-8.2.1.ebuild
deleted file mode 100644
index c830ff68ac4e..000000000000
--- a/dev-python/python-neutronclient/python-neutronclient-8.2.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=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="A client for the OpenStack Quantum API"
-HOMEPAGE="https://launchpad.net/neutron"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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/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/keystoneauth-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-novaclient/Manifest b/dev-python/python-novaclient/Manifest
index aaee4fa22d81..362d9a04b26e 100644
--- a/dev-python/python-novaclient/Manifest
+++ b/dev-python/python-novaclient/Manifest
@@ -1 +1 @@
-DIST python-novaclient-18.2.0.tar.gz 337940 BLAKE2B 8b019d55089688030696a3407cbc33df09b9857fc63173a4ed4983374a35593612e43e99b0b840e239fccb42b31d97d16502d0284734789acb7b647b001b17a1 SHA512 3321449f143c253a494477296e2b4ccb20ffba877f0257b4f5e39c977946748275018c8b4094b370d2d4727325c9292a5f2c6f3f11478bd13469174de9d19390
+DIST python-novaclient-18.6.0.tar.gz 339868 BLAKE2B 069d7b213c8dc8b8061cc70ea49f9f7f7599aab1daead5b7e54423133f0765df32924ce05f1d2c00833e5ea177f6ffa9311055328246137bc134f3a162ef9fa4 SHA512 a2f93f063bc22b12294664edd37187a0edc80e01b62802d59a5603c11cba8154300e5206c9f835a0a0b6a00adb2b281271b6f8a1f50379668d88f4c5222d55b9
diff --git a/dev-python/python-novaclient/python-novaclient-18.2.0.ebuild b/dev-python/python-novaclient/python-novaclient-18.2.0.ebuild
deleted file mode 100644
index 91d286659160..000000000000
--- a/dev-python/python-novaclient/python-novaclient-18.2.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A client for the OpenStack Nova API"
-HOMEPAGE="https://opendev.org/openstack/python-novaclient"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-RDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/keystoneauth-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}]
-"
-# Tests fail with dev-python/prettytable-3.4.0
-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}]
- <dev-python/prettytable-3.4.0[${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..891bf2a3418f
--- /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 ~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="
+ 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 f9fe5e9f4ce1..ac034b7a1d13 100644
--- a/dev-python/python-openstackclient/Manifest
+++ b/dev-python/python-openstackclient/Manifest
@@ -1 +1 @@
-DIST python-openstackclient-6.0.0.tar.gz 838447 BLAKE2B c6b213b022e8c75d3a94752b29cebda4d9ca1d329dc1cb0b470f6e787dd930b379d16bec6c4a0047e63110e01dbf48bee72ed6ccbf54036fa3d1d5de55487e8b SHA512 20bd8da025ee3c69a5e491089edcb42f961c5109563718198ddd22fab8d6928fa08afd6a7db608c70386bd2b61c571c2fadb1c76f84c3d7f1a60c65d4520dfa6
+DIST python-openstackclient-6.6.0.tar.gz 917251 BLAKE2B 9f11b357bdeede556e106a21b2c7bbd86804251612cd676525a8817b693733dfe72388213cfa16517b3b75725702090fa3e728ec6986dcda196aa1e8aac9fd0a SHA512 7b073263fe9d905b3c10b2a4dcfa7156c9cd5ae453d792e1dcf3be278de0abc25c931388c8cabff6b11b61174acf79c87951028626af1e1b9f0dd09f38b7900a
diff --git a/dev-python/python-openstackclient/python-openstackclient-6.0.0.ebuild b/dev-python/python-openstackclient/python-openstackclient-6.0.0.ebuild
deleted file mode 100644
index e14693d16693..000000000000
--- a/dev-python/python-openstackclient/python-openstackclient-6.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
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A client for the OpenStack APIs"
-HOMEPAGE="https://github.com/openstack/python-openstackclient"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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/openstacksdk-0.56.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-17.0.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..6d25ac57fcbd
--- /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 ~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-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 2da896e883b3..5128788119df 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
@@ -4,7 +4,8 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
+
inherit distutils-r1
DESCRIPTION="Python PAM module"
@@ -19,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv x86"
RDEPEND="
dev-python/six[${PYTHON_USEDEP}]
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 46afb94249a4..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,27 +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} )
+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/metadata.xml b/dev-python/python-ptrace/metadata.xml
index 3fd2e60636ec..66c0372c347e 100644
--- a/dev-python/python-ptrace/metadata.xml
+++ b/dev-python/python-ptrace/metadata.xml
@@ -15,6 +15,6 @@
</longdescription>
<upstream>
<remote-id type="github">vstinner/python-ptrace</remote-id>
- <remote-id type="pypi">pefile</remote-id>
+ <remote-id type="pypi">python-ptrace</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/python-ptrace/python-ptrace-0.9.8.ebuild b/dev-python/python-ptrace/python-ptrace-0.9.8.ebuild
deleted file mode 100644
index 46d75cda355d..000000000000
--- a/dev-python/python-ptrace/python-ptrace-0.9.8.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 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}]"
-
-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..282eaa40632d
--- /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..12} )
+
+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..7ec5c32d8f28 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..12} )
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-recurring-ical-events/Manifest b/dev-python/python-recurring-ical-events/Manifest
deleted file mode 100644
index a2c17c918b30..000000000000
--- a/dev-python/python-recurring-ical-events/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-recurring-ical-events-2.0.0.gh.tar.gz 325608 BLAKE2B 386ab8a54343fb02c15938801c15b31c8c8ba6bd0888a677268625fcba5571724d53c42f9d093ea8590d6e3557c151b73f9fb532a1bea194bc6d7032e04946e9 SHA512 676bc074a4d9ddb2bf0aefe8e118eab6e80479bb0d585b9f4c50f4bd49c7adf03e484b34bdf01596bb012c903a8017644ff74026d333f13f5c7df2c4326ab18c
diff --git a/dev-python/python-recurring-ical-events/python-recurring-ical-events-2.0.0.ebuild b/dev-python/python-recurring-ical-events/python-recurring-ical-events-2.0.0.ebuild
deleted file mode 100644
index 389ec3ca2aff..000000000000
--- a/dev-python/python-recurring-ical-events/python-recurring-ical-events-2.0.0.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~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/python-redmine/Manifest b/dev-python/python-redmine/Manifest
index e754b6d19e35..1b7da8ce29ba 100644
--- a/dev-python/python-redmine/Manifest
+++ b/dev-python/python-redmine/Manifest
@@ -1 +1,2 @@
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
index b2161c074c88..ab566a510d5b 100644
--- a/dev-python/python-redmine/python-redmine-2.4.0.ebuild
+++ b/dev-python/python-redmine/python-redmine-2.4.0.ebuild
@@ -4,20 +4,20 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+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/
"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
>=dev-python/requests-2.28.2[${PYTHON_USEDEP}]
@@ -25,6 +25,12 @@ RDEPEND="
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..8219293367ea
--- /dev/null
+++ b/dev-python/python-redmine/python-redmine-2.5.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
+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-rtmidi/Manifest b/dev-python/python-rtmidi/Manifest
index 0cb23d6df4d8..193f9f36e877 100644
--- a/dev-python/python-rtmidi/Manifest
+++ b/dev-python/python-rtmidi/Manifest
@@ -1 +1 @@
-DIST python-rtmidi-1.4.9.tar.gz 251238 BLAKE2B dda4052e893839f88a6756306f8ff4e89ee66ad9716d374efbb7b92a8e9074e98c8d5df0cc82aa3c6e0c77a78fe9b997079623a5147c03eeea9128dfb7605215 SHA512 91c5a0f807549fbe9d87df6e40b8c3db0f9be753616ba51804900195d02120cd972e39c69dd99e60e4ea1b1d9831d0b956b64ce71b2fe03422efc57bccf5cb70
+DIST python_rtmidi-1.5.8.tar.gz 368130 BLAKE2B 99fecb8cd003431b5fca31f436a77f27a50076a02ea7f92019800d0816c968f032bd31d236a13d67b2ee9ebdc341d16955675867a8dd345e76282131b781ef13 SHA512 0f2b949a2a53f813a891bc391ce0369fbbec0d6e898a9ace2925adc5714d791ce1f4df133edf34c87b3336cb3ab4ad70851a42124241ec1707f32f66a778dc18
diff --git a/dev-python/python-rtmidi/files/python-rtmidi-1.4.9-unbundle_rtmidi.patch b/dev-python/python-rtmidi/files/python-rtmidi-1.4.9-unbundle_rtmidi.patch
deleted file mode 100644
index 45cece4b2eb9..000000000000
--- a/dev-python/python-rtmidi/files/python-rtmidi-1.4.9-unbundle_rtmidi.patch
+++ /dev/null
@@ -1,59 +0,0 @@
---- a/setup.py
-+++ b/setup.py
-@@ -102,7 +102,7 @@
-
- # Set up options for compiling the _rtmidi Extension
- if cythonize:
-- sources = [join(SRC_DIR, "_rtmidi.pyx"), join(SRC_DIR, "rtmidi", "RtMidi.cpp")]
-+ sources = [join(SRC_DIR, "_rtmidi.pyx")]
- elif exists(join(SRC_DIR, "_rtmidi.cpp")):
- cythonize = lambda x: x # noqa
- sources = [join(SRC_DIR, "_rtmidi.cpp"), join(SRC_DIR, "rtmidi", "RtMidi.cpp")]
-@@ -145,18 +145,13 @@
-
-
- if sys.platform.startswith('linux'):
-- if alsa and find_library('asound'):
-- define_macros.append(("__LINUX_ALSA__", None))
-- libraries.append('asound')
-+ if not find_library('rtmidi'):
-+ sys.exit("Failed to find librtmidi")
-
-- if jack:
-- check_for_jack(define_macros, libraries)
--
-- if not find_library('pthread'):
-- sys.exit("The 'pthread' library is required to build python-rtmidi on"
-- "Linux. Please install the libc6 development package.")
--
-- libraries.append("pthread")
-+ res = subprocess.check_output(['pkg-config', '--variable', 'includedir', 'rtmidi'])
-+ rtmidi_include_dir = res.decode().strip()
-+ include_dirs.append(rtmidi_include_dir)
-+ libraries.append('rtmidi')
- elif sys.platform.startswith('darwin'):
- if jack:
- check_for_jack(define_macros, libraries)
-@@ -197,7 +192,7 @@
- # Finally, set up our distribution
- setup(
- packages=['rtmidi'],
-- ext_modules=cythonize(extensions),
-+ ext_modules=cythonize(extensions, include_path=[ rtmidi_include_dir ]),
- tests_require=[], # Test dependencies are handled by tox
- # On systems without a RTC (e.g. Raspberry Pi), system time will be the
- # Unix epoch when booted without network connection, which makes zip fail,
---- a/tests/test_rtmidi.py
-+++ b/tests/test_rtmidi.py
-@@ -54,11 +54,6 @@
- else:
- self.assertEqual(res, rtmidi.API_UNSPECIFIED)
-
-- def test_get_rtmidi_version(self):
-- version = rtmidi.get_rtmidi_version()
-- self.assertTrue(isinstance(version, string_types))
-- self.assertEqual(version, '4.0.0')
--
-
- class BaseTests:
- NOTE_ON = [0x90, 48, 100]
diff --git a/dev-python/python-rtmidi/files/python-rtmidi-1.5.1-unbundle_rtmidi.patch b/dev-python/python-rtmidi/files/python-rtmidi-1.5.1-unbundle_rtmidi.patch
new file mode 100644
index 000000000000..1501a46738d4
--- /dev/null
+++ b/dev-python/python-rtmidi/files/python-rtmidi-1.5.1-unbundle_rtmidi.patch
@@ -0,0 +1,55 @@
+--- a/meson.build
++++ b/meson.build
+@@ -11,6 +11,8 @@
+
+ cpp = meson.get_compiler('cpp')
+
++rtmidi_dep = dependency('rtmidi')
++
+ # Jack API (portable)
+ jack2_dep = dependency('jack', version: '>=1.9.11', required: false)
+ jack1_dep = dependency('jack', version: ['>=0.125.0', '<1.0'], required: false)
+--- a/rtmidi/meson.build
++++ b/rtmidi/meson.build
+@@ -1,7 +1,7 @@
+ # https://mesonbuild.com/Python-module.html
+
+ defines = []
+-dependencies = [python.dependency()]
++dependencies = [python.dependency(), rtmidi_dep]
+ link_args = []
+
+ if host_machine.system() == 'darwin' and coremidi_dep.found() and get_option('coremidi')
+@@ -47,11 +47,10 @@
+ # Build and install the extension module
+ module = python.extension_module(
+ '_rtmidi',
+- [rtmidi_cython, rtmidi_sources],
++ [rtmidi_cython],
+ dependencies: dependencies,
+ cpp_args: defines,
+ link_args: link_args,
+- include_directories: rtmidi_inc,
+ install: true,
+ subdir: 'rtmidi',
+ )
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -1,9 +1,5 @@
+ fs = import('fs')
+
+-rtmidi_sources = files([
+- 'rtmidi/RtMidi.cpp',
+-])
+-rtmidi_inc = include_directories('.', 'rtmidi')
+ rtmidi_mod_pyx = '_rtmidi.pyx'
+ rtmidi_mod_cpp = '_rtmidi.cpp'
+
+@@ -16,7 +12,6 @@
+ 'rtmidi_cython',
+ output: rtmidi_mod_cpp,
+ input: rtmidi_mod_pyx,
+- depend_files: [rtmidi_sources],
+ command: [cython, '-3', '--cplus', '-o', '@OUTPUT@', '@INPUT@'],
+ )
+ else
diff --git a/dev-python/python-rtmidi/python-rtmidi-1.4.9.ebuild b/dev-python/python-rtmidi/python-rtmidi-1.4.9.ebuild
deleted file mode 100644
index 41fb9716efa1..000000000000
--- a/dev-python/python-rtmidi/python-rtmidi-1.4.9.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for media-libs/rtmidi implemented using Cython"
-HOMEPAGE="
- https://pypi.org/project/python-rtmidi/
- https://spotlightkid.github.io/python-rtmidi/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="+alsa jack"
-
-# Most of these tests do not play nicely with the sandbox, some only
-# work with exactly the same version of rtmidi as the bundled one, and
-# several fail even with disabled sandbox unless there are actual MIDI
-# I/O devices present.
-RESTRICT="test"
-
-DEPEND="media-libs/rtmidi[alsa?,jack?]"
-RDEPEND="${DEPEND}"
-BDEPEND="dev-python/cython[${PYTHON_USEDEP}]
- virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.4.9-unbundle_rtmidi.patch
-)
-
-distutils_enable_sphinx docs
-distutils_enable_tests unittest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # Just in case
- rm -r src/rtmidi || die
- rm src/_rtmidi.cpp || die
-}
-
-python_test() {
- cd "${T}" || die
- eunittest "${S}"/tests
-}
diff --git a/dev-python/python-rtmidi/python-rtmidi-1.5.8.ebuild b/dev-python/python-rtmidi/python-rtmidi-1.5.8.ebuild
new file mode 100644
index 000000000000..a1779b717ea1
--- /dev/null
+++ b/dev-python/python-rtmidi/python-rtmidi-1.5.8.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DOCS_BUILDER="sphinx"
+DOCS_DEPEND="dev-python/myst-parser"
+DOCS_DIR="docs"
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+
+inherit distutils-r1 docs pypi
+
+DESCRIPTION="Python bindings for media-libs/rtmidi implemented using Cython"
+HOMEPAGE="
+ https://pypi.org/project/python-rtmidi/
+ https://spotlightkid.github.io/python-rtmidi/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+alsa jack"
+
+# Most of these tests do not play nicely with the sandbox, some only
+# work with exactly the same version of rtmidi as the bundled one, and
+# several fail even with disabled sandbox unless there are actual MIDI
+# I/O devices present.
+RESTRICT="test"
+
+DEPEND="media-libs/rtmidi[alsa?,jack?]"
+RDEPEND="${DEPEND}"
+BDEPEND="dev-python/cython[${PYTHON_USEDEP}]
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.5.1-unbundle_rtmidi.patch
+)
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # Just in case
+ rm -r src/rtmidi || die
+ rm src/_rtmidi.cpp || die
+
+ # Needed by USE=doc because documentation generation happens in ${S}
+ # but the version.py generated by Meson end up in respective ${BUILD_DIR}s.
+ # The version put in ${S} should be ignored by everything except Sphinx but
+ # just in case, be consistent and generate it unconditionally.
+ sed -e "s|@VERSION@|${PV}|" < rtmidi/version.py.in > rtmidi/version.py || die
+}
+
+python_test() {
+ cd "${T}" || die
+ eunittest "${S}"/tests
+}
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 2290c21d4f46..af80a0330af7 100644
--- a/dev-python/python-slugify/Manifest
+++ b/dev-python/python-slugify/Manifest
@@ -1 +1 @@
-DIST python-slugify-7.0.0.gh.tar.gz 13257 BLAKE2B 6d50fd25ac89caed3a970f4cce786d9b61de68386fc183659c0d884877edc934e121ad07316259af08deb61a30ac33f0076a90b2d5a650dfb113e6b6416addfe SHA512 c22743a28ffb273546541eaf59d2a7beb9070a7f81e504acaf73d220c2be83a87d02012b5841076539ba6bae5778dd47309ee7ceef9f8479c993dda6b3e09837
+DIST python-slugify-8.0.4.gh.tar.gz 14098 BLAKE2B 684061ef5f1ee96d727caeb123957709ed391c4a746ef8a40945294ae9278947c18bd8be3d51fd2d9466b420f27ce833a54b84882375617004f9909a683090a9 SHA512 b401e574f23fa77152f8c64f15263766ed7d081759e93c28fce5fa32495eb4921701030b395ca1c738ca46a509e54bc987d81ff07fa602dd42bfa630a49aa4a0
diff --git a/dev-python/python-slugify/python-slugify-7.0.0.ebuild b/dev-python/python-slugify/python-slugify-7.0.0.ebuild
deleted file mode 100644
index f808e43dda0d..000000000000
--- a/dev-python/python-slugify/python-slugify-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=( python3_{9..11} )
-
-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 ~ppc64 ~riscv x86"
-
-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..2be111746570
--- /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..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-snappy/Manifest b/dev-python/python-snappy/Manifest
new file mode 100644
index 000000000000..bfc66478f799
--- /dev/null
+++ b/dev-python/python-snappy/Manifest
@@ -0,0 +1,2 @@
+DIST python-snappy-0.6.1.tar.gz 24110 BLAKE2B 66ba24aa1768084c87188dde6eb6c98daf90da39e49902bbc283226aaf28b8d267bbc69f3cb9f30d9aaf64b3e25cc0fae47113bcc65f18dbec2128294c0dbe4b SHA512 43301f568633068bbdcb3dc318f37efcabbb5bd3f61a06b3a3a476006c3cbc1dfddea4ac2de0876bb127b354aa81ccc55dc44631dc8fba06036a0b6c7dfbdb9b
+DIST python-snappy-0.7.1.tar.gz 8832 BLAKE2B 5968b146fa637b4c6785a74b17cca1539599235c44a45350e8c5ee9c1fed27eeea1818428045acb2ce7492aa22363407f79f8ccb66d04e5f6eab36fbbdfff5eb SHA512 f820131f817cb4fc963b6baa8e3854970d3e9947154c4810e0f8f268363ada6b380ca725be463a5967ef00447fd8e30a344c91e4d4dfd75ecdc8f17afda41c75
diff --git a/dev-python/python-snappy/metadata.xml b/dev-python/python-snappy/metadata.xml
new file mode 100644
index 000000000000..bc644dd69735
--- /dev/null
+++ b/dev-python/python-snappy/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="pypi">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
new file mode 100644
index 000000000000..93660c3dcdea
--- /dev/null
+++ b/dev-python/python-snappy/python-snappy-0.6.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_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+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.1.ebuild b/dev-python/python-snappy/python-snappy-0.7.1.ebuild
new file mode 100644
index 000000000000..f6f62bb9b5d0
--- /dev/null
+++ b/dev-python/python-snappy/python-snappy-0.7.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=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+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 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 b40774a02960..786c6eabf23a 100644
--- a/dev-python/python-socks/Manifest
+++ b/dev-python/python-socks/Manifest
@@ -1,3 +1 @@
-DIST python-socks-2.0.3.gh.tar.gz 40697 BLAKE2B c1e6f72763d1bd767af78ea1188e411814a6d41f703488dd67165d5a9b9ce1e2f9070b35a46cd72859b65c10519cdb02c91d1702a97c2d82cb5891b46187d02a SHA512 9d51e61d03b4a46e94a66fc037ac759715db2e2c5d631aaf6088a0363ad13140c00da44a513088a40c0f149b9d4ee2bb4165f59f76c3956f0aede8104772fc5d
-DIST python-socks-2.1.0.gh.tar.gz 31251 BLAKE2B b32b35c746066c10fa1e52677e42058e6196eb1c19cfc120a670e86daf8f920a4d6be3d1d92f984b68d635496da992b33f196277a1b22b254fe045988a15d2f1 SHA512 66da2da1d8103570e44d0a2ace03c24695b7319c562d7f96242c713b9d03ea693a2ece3cf6869cea686c330a9fb05aa35a443bad5a638d843b4fc7b24a8e6a82
-DIST python-socks-2.1.1.gh.tar.gz 31306 BLAKE2B f42f88089b0438722b076bcbbbe194b6ed621dec34f850861d791418ff453e6f97aa4e2f2ccf69024c5c562f7d1c8e1110e9930360252556bc77dd44b9a20fc0 SHA512 d68c5d0b0975283a8a86f701db5a8037beb9368edef591876abba2524593114fdcc933fa3dc5eca8123afcc6fc0eb3eacfbbf40e54acb87e973fc7b49ed3c8dc
+DIST python-socks-2.4.4.gh.tar.gz 31998 BLAKE2B c3aa137ff679790420ded9644987eed23695c82a5621c420350ad52ca8121215326575f4c389912fb646151fc84187bfab38674ff6dc2a2f3587c4662f51c0f6 SHA512 a357fbd16cf653555bb624103732041efa80b1ae21a6347fdcb609de3cc58227ac053d21b62124fd77b21a16b19a2786bc1a8c33cc3b50dcffb3023bd6704f57
diff --git a/dev-python/python-socks/python-socks-2.0.3.ebuild b/dev-python/python-socks/python-socks-2.0.3.ebuild
deleted file mode 100644
index 53d769be9c0a..000000000000
--- a/dev-python/python-socks/python-socks-2.0.3.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="SOCKS4, SOCKS5, HTTP tunneling functionality for Python"
-HOMEPAGE="
- https://pypi.org/project/python-socks/
- https://github.com/romis2012/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? (
- $(python_gen_cond_dep '
- >=dev-python/anyio-3.4.0[${PYTHON_USEDEP}]
- dev-python/trio[${PYTHON_USEDEP}]
- ' 'python*')
- dev-python/async-timeout[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/yarl[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
-
-python_test() {
- # can be removed on next version bump
- epytest --asyncio-mode=strict
-}
diff --git a/dev-python/python-socks/python-socks-2.1.0.ebuild b/dev-python/python-socks/python-socks-2.1.0.ebuild
deleted file mode 100644
index 7f96e8ab5be3..000000000000
--- a/dev-python/python-socks/python-socks-2.1.0.ebuild
+++ /dev/null
@@ -1,45 +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} 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 ~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}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/python-socks/python-socks-2.1.1.ebuild b/dev-python/python-socks/python-socks-2.1.1.ebuild
deleted file mode 100644
index bb514f6d3a04..000000000000
--- a/dev-python/python-socks/python-socks-2.1.1.ebuild
+++ /dev/null
@@ -1,45 +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} 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 arm64 ~loong ppc ppc64 ~riscv 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}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/python-socks/python-socks-2.4.4.ebuild b/dev-python/python-socks/python-socks-2.4.4.ebuild
new file mode 100644
index 000000000000..1ce8d7e61fe4
--- /dev/null
+++ b/dev-python/python-socks/python-socks-2.4.4.ebuild
@@ -0,0 +1,46 @@
+# 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-sshpubkeys/Manifest b/dev-python/python-sshpubkeys/Manifest
deleted file mode 100644
index bf8fe2530112..000000000000
--- a/dev-python/python-sshpubkeys/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-sshpubkeys-3.3.1.tar.gz 57896 BLAKE2B 3212ea0c38377255258a831cc942f71c0b0efb040ba8ca3283200b638dcae7a31ad5763ae0de4f51a7ae0c3f0a1b83ca6db96f00384ecd1e1e3a369028e4ed41 SHA512 8a59e73eddd795a71b64fc7433292ca03a9f447a13c8ef40d68fc599776c37f5e4a1fdbbf2f2ab00b0091a513e2412f213f6a21474ae0784af2df9a7107a2ed6
diff --git a/dev-python/python-sshpubkeys/python-sshpubkeys-3.3.1.ebuild b/dev-python/python-sshpubkeys/python-sshpubkeys-3.3.1.ebuild
deleted file mode 100644
index e79ee9beb377..000000000000
--- a/dev-python/python-sshpubkeys/python-sshpubkeys-3.3.1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2020-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="OpenSSH public key parser for Python"
-HOMEPAGE="
- https://pypi.org/project/sshpubkeys/
- https://github.com/ojarva/python-sshpubkeys"
-SRC_URI="
- https://github.com/ojarva/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/ecdsa[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/python-stdnum/Manifest b/dev-python/python-stdnum/Manifest
index 7ed21d6899d9..88b7fb3e802f 100644
--- a/dev-python/python-stdnum/Manifest
+++ b/dev-python/python-stdnum/Manifest
@@ -1 +1 @@
-DIST python-stdnum-1.18.tar.gz 1138676 BLAKE2B 724afd5d015090023582bc078f278d4107a12d4f126a61eb026b69040654d0890dc0eb0aa197565e844c34f0426f7f0072dac2b8191ba3a15bc87ae7c0b73536 SHA512 ca211fa3f7a0c0a913c5b0c6e32cb477025e203eb4c0a648e47bf95cb361d800d620dc4ebcb3007eefbb5595098486963ffee71ea2c37f84d86443d01131db7c
+DIST python-stdnum-1.20.tar.gz 1191978 BLAKE2B 8395106d155c1f4642a74691d219230b42e81b521db41c57d5e978eb8e1769ca51598a1ad061356a1997fac5a60ca21796d1e8f79fa7d737e70fbbfe78dbfcc6 SHA512 92ec9fcb3bf71405569e93668ab1d089225da74a33095e63ee8f0116c868a4b937d093ba98e29085889d1745cc55eab13936d6ed9ceb24beecbc193c722a515e
diff --git a/dev-python/python-stdnum/python-stdnum-1.18.ebuild b/dev-python/python-stdnum/python-stdnum-1.18.ebuild
deleted file mode 100644
index 8a77ad404db3..000000000000
--- a/dev-python/python-stdnum/python-stdnum-1.18.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..10} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 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..d0533fafb7e5
--- /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..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-swiftclient/Manifest b/dev-python/python-swiftclient/Manifest
index 04f659fc643f..641c75d11ca6 100644
--- a/dev-python/python-swiftclient/Manifest
+++ b/dev-python/python-swiftclient/Manifest
@@ -1 +1 @@
-DIST python-swiftclient-4.1.0.tar.gz 201954 BLAKE2B f81368dae2d0e56b178c00c9d4b0989fa9629fd909b8413a262103109a092bd8134679be41f8f8176d638f215d9e03b2e60013deed9f0b72d7ae4be181a1b4e0 SHA512 85b4ff0a49d149e6b42b257d8f815de48a549d377d7db807751f485d8a9636e4d4208c99cbd1cda3d9195c45d416911a4e8b65fc373e93d722cade0968515524
+DIST python-swiftclient-4.5.0.tar.gz 207642 BLAKE2B 0b15e5f110143ae7306a0c89a6d1e61907fc00a8dbb5aaaa9dddb5237f756727f114ee7036cf294126b331fd738b67119ea3c4cd68ec8bef8cf19e77a5ba0461 SHA512 95305f09cf4a00c4c0239719b2e6a54ec408bc4b12af9e6e13fb352e313aff65bd865927d4e525fe899ca730a2baf5b4c7827f6f2713d34dc135bf10eaebb6c6
diff --git a/dev-python/python-swiftclient/metadata.xml b/dev-python/python-swiftclient/metadata.xml
index 1ea027c4474c..7c961104c615 100644
--- a/dev-python/python-swiftclient/metadata.xml
+++ b/dev-python/python-swiftclient/metadata.xml
@@ -1,20 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>prometheanfire@gentoo.org</email>
- </maintainer>
- <maintainer type="project">
- <email>openstack@gentoo.org</email>
- <name>Openstack</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">python-swiftclient</remote-id>
- <remote-id type="launchpad">python-swiftclient</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">openstack/python-swiftclient</remote-id>
+ <remote-id type="launchpad">python-swiftclient</remote-id>
+ <remote-id type="pypi">python-swiftclient</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-python/python-swiftclient/python-swiftclient-4.1.0.ebuild b/dev-python/python-swiftclient/python-swiftclient-4.1.0.ebuild
deleted file mode 100644
index 2fd844eb28e1..000000000000
--- a/dev-python/python-swiftclient/python-swiftclient-4.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings to the OpenStack Object Storage API"
-HOMEPAGE="https://launchpad.net/python-swiftclient"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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/keystoneauth-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.5.0.ebuild b/dev-python/python-swiftclient/python-swiftclient-4.5.0.ebuild
new file mode 100644
index 000000000000..8f3388397400
--- /dev/null
+++ b/dev-python/python-swiftclient/python-swiftclient-4.5.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..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/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 2d5ccf8cc74c..170980c64f32 100644
--- a/dev-python/python-systemd/python-systemd-235.ebuild
+++ b/dev-python/python-systemd/python-systemd-235.ebuild
@@ -3,8 +3,9 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -14,7 +15,7 @@ SRC_URI="https://github.com/systemd/python-systemd/archive/v${PV}.tar.gz -> ${P}
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ppc ppc64 ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
DEPEND="sys-apps/systemd:="
RDEPEND="${DEPEND}
diff --git a/dev-python/python-utils/Manifest b/dev-python/python-utils/Manifest
index 973d9d99c9d9..02716de34825 100644
--- a/dev-python/python-utils/Manifest
+++ b/dev-python/python-utils/Manifest
@@ -1 +1 @@
-DIST python-utils-3.4.5.tar.gz 28608 BLAKE2B c933bf358ad61563fc35bc87329367946a64216afaddb3cd5bff861e0e1fadcc4d18c7a8ff7820bfee5938bc7ede3cea9d450ecc5b7c0825f917c59576d7195c SHA512 35b4b49dfce56e9e530fe979c070889296079d3a1fd548186bf6dbd6fdbce5363818b52a5d7559b7af3bd32561d87639565298386883351168a267fa88e1ff7f
+DIST python-utils-3.8.2.tar.gz 30431 BLAKE2B 3c53c02729f601b30e68a26cd4b61e49c29f036a1327c43124e326dae173d1b528035bb0952c349ec43f3cd6e159c2e0d5e82c8c46efd12c95f445dbb20751c0 SHA512 e0de794abe95f3e205fcbde0fd52615f44128ffb702a406ff0d3f7ce2640ff60ac3cc508829245bce750ed191c9d3ae563b8f0619af4c2c43cacde6a1aa0fde4
diff --git a/dev-python/python-utils/metadata.xml b/dev-python/python-utils/metadata.xml
index b417f7302667..66715ce0b930 100644
--- a/dev-python/python-utils/metadata.xml
+++ b/dev-python/python-utils/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">WoLpH/python-utils</remote-id>
<remote-id type="pypi">python-utils</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/python-utils/python-utils-3.4.5.ebuild b/dev-python/python-utils/python-utils-3.4.5.ebuild
deleted file mode 100644
index 3c96a18359fc..000000000000
--- a/dev-python/python-utils/python-utils-3.4.5.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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Collection of small Python functions & classes"
-HOMEPAGE="
- https://github.com/WoLpH/python-utils/
- https://pypi.org/project/python-utils/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-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..5df3557aa08a
--- /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..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
+)
+
+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-varlink/python-varlink-31.0.0.ebuild b/dev-python/python-varlink/python-varlink-31.0.0.ebuild
deleted file mode 100644
index 602064f238ed..000000000000
--- a/dev-python/python-varlink/python-varlink-31.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python implementation of the Varlink protocol"
-HOMEPAGE="
- https://github.com/varlink/python/
- https://pypi.org/project/varlink/
-"
-SRC_URI="
- https://github.com/varlink/python/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/python-${PV}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/python-vlc/Manifest b/dev-python/python-vlc/Manifest
index eb9f687df331..7eb48ac6de4e 100644
--- a/dev-python/python-vlc/Manifest
+++ b/dev-python/python-vlc/Manifest
@@ -1 +1 @@
-DIST python-vlc-3.0.18121.tar.gz 152638 BLAKE2B 4b6fb51809bb1ee79cb4e1a5ccbd3db330c5d443b14171b75b6c762b59a62816a87a6b8d6fe5c47641c2b72d875fece41adc257c41ee9bf484b3a5df36dfa939 SHA512 3b5d44142c073dc5a98b6c62bbd4f675434aef9a5eb24f0c80ab19bc29a63877b6c4ab5cf56233c5f2fa0a5b40cc9c48583a8868fea5c351a8d751e32f51d807
+DIST python-vlc-3.0.20123.tar.gz 159444 BLAKE2B 683433f2ab1f6b8a08971aac668c8dcbf98ecb9327a567be8be101b20be8157ca954da717f82dcec26310468254cf785d30a237560fd5da2b9799e4910cbceac SHA512 7268ef806b99fcfac552d7735dc0e3b07741aa1bc8b7dfacf53bcaa4e82d7af854f96f48198fd648a8fa78eb817643ac0f1939c3e370385f407ebe3c468e35d5
diff --git a/dev-python/python-vlc/metadata.xml b/dev-python/python-vlc/metadata.xml
index 05fe95904834..cf133fabb08d 100644
--- a/dev-python/python-vlc/metadata.xml
+++ b/dev-python/python-vlc/metadata.xml
@@ -9,5 +9,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">python-vlc</remote-id>
+ <remote-id type="github">oaubert/python-vlc</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/python-vlc/python-vlc-3.0.18121.ebuild b/dev-python/python-vlc/python-vlc-3.0.18121.ebuild
deleted file mode 100644
index 347b4b0f876e..000000000000
--- a/dev-python/python-vlc/python-vlc-3.0.18121.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_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Python ctypes-based bindings for libvlc"
-HOMEPAGE="https://github.com/oaubert/python-vlc
- https://wiki.videolan.org/Python_bindings/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- media-video/vlc
-"
diff --git a/dev-python/python-vlc/python-vlc-3.0.20123.ebuild b/dev-python/python-vlc/python-vlc-3.0.20123.ebuild
new file mode 100644
index 000000000000..439e4eb3f722
--- /dev/null
+++ b/dev-python/python-vlc/python-vlc-3.0.20123.ebuild
@@ -0,0 +1,21 @@
+# 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/Manifest b/dev-python/python-xlib/Manifest
index 2a42cde9567d..80930e7f24ed 100644
--- a/dev-python/python-xlib/Manifest
+++ b/dev-python/python-xlib/Manifest
@@ -1,2 +1 @@
-DIST python-xlib-0.32.tar.bz2 213554 BLAKE2B cf24645529c6ca67a4825419837f312fa4ae0902bd2fb8f2eade7cc1645a3f79201b43c7ddca0cdcf8b21f623583acee1252cbe83d3700ab08979b8f0723b0a4 SHA512 9fecb77fa5d7ffba4c8031c0738147b7581dee9aed1a812254d22d78b6021cfc08743edb76829a3e5ba31f9a42648ea501b50ddcf5652ec3114a367c5e83d465
DIST python-xlib-0.33.tar.bz2 213763 BLAKE2B 53486ec938bc00306658f3151556f1353fe5881ab942d06493f6f78d33b4cff8aab6e6aa5ad7e9124824d61549545719375c84f7b9376518e2328fa2e65df553 SHA512 3b7b4fea5cd69544d2227806853bdfdd04447089e182ca0f199e18e8bd43375d9bf03c819fd6a055ad4ad274594651e05db82585ab40d0fcf225ce36b553c991
diff --git a/dev-python/python-xlib/files/python-xlib-0.32-drop-unused-tkinter-import.patch b/dev-python/python-xlib/files/python-xlib-0.32-drop-unused-tkinter-import.patch
deleted file mode 100644
index 5a0272a867b9..000000000000
--- a/dev-python/python-xlib/files/python-xlib-0.32-drop-unused-tkinter-import.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-https://bugs.gentoo.org/881851
-https://github.com/python-xlib/python-xlib/issues/240
-https://github.com/python-xlib/python-xlib/pull/238
---- a/Xlib/ext/randr.py
-+++ b/Xlib/ext/randr.py
-@@ -36,3 +36,2 @@
-
--from tkinter import W
- from Xlib import X
diff --git a/dev-python/python-xlib/python-xlib-0.32-r1.ebuild b/dev-python/python-xlib/python-xlib-0.32-r1.ebuild
deleted file mode 100644
index c7dd75f90ded..000000000000
--- a/dev-python/python-xlib/python-xlib-0.32-r1.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 virtualx
-
-DESCRIPTION="A fully functional X client library for Python, written in Python"
-HOMEPAGE="
- https://github.com/python-xlib/python-xlib/
- https://pypi.org/project/python-xlib/
-"
-SRC_URI="
- https://github.com/python-xlib/python-xlib/releases/download/${PV}/${P}.tar.bz2
-"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 ~riscv x86"
-IUSE="doc"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- doc? ( sys-apps/texinfo )
- test? ( dev-python/mock[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_tests unittest
-
-PATCHES=(
- "${FILESDIR}"/${P}-drop-unused-tkinter-import.patch
-)
-
-python_compile_all() {
- use doc && emake -C doc/info
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_install_all() {
- use doc && doinfo doc/info/*.info
- distutils-r1_python_install_all
-}
diff --git a/dev-python/python-xlib/python-xlib-0.33.ebuild b/dev-python/python-xlib/python-xlib-0.33.ebuild
index d1dcbc57eedf..de00bd38d19e 100644
--- a/dev-python/python-xlib/python-xlib-0.33.ebuild
+++ b/dev-python/python-xlib/python-xlib-0.33.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
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="
@@ -27,7 +27,7 @@ RDEPEND="
"
BDEPEND="
${RDEPEND}
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
doc? ( sys-apps/texinfo )
test? ( dev-python/mock[${PYTHON_USEDEP}] )
"
diff --git a/dev-python/python-xmlsec/Manifest b/dev-python/python-xmlsec/Manifest
deleted file mode 100644
index 741cd6ebaccf..000000000000
--- a/dev-python/python-xmlsec/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-xmlsec-1.3.12.tar.gz 77722 BLAKE2B b5ecece8063b823cdbe4d58967d10026bdc6f3774954021a3739d579ba3c5a08130af1792921c7892e6bc3d00f88ac83ab30e862775e419e0dad40b990b10cbe SHA512 19c5e3bf58b4b0f8a1cca3e60c08348b02ae298620f8c02b8cfb325aecf0313cb2bd1af89507b754ebe4c35af3b031e232d15ddcd42deae0821c9c0d7571aa7c
diff --git a/dev-python/python-xmlsec/metadata.xml b/dev-python/python-xmlsec/metadata.xml
deleted file mode 100644
index deb1f9ad929a..000000000000
--- a/dev-python/python-xmlsec/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>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="pypi">xmlsec</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/python-xmlsec/python-xmlsec-1.3.12-r1.ebuild b/dev-python/python-xmlsec/python-xmlsec-1.3.12-r1.ebuild
deleted file mode 100644
index eba0c418d064..000000000000
--- a/dev-python/python-xmlsec/python-xmlsec-1.3.12-r1.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_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for the XML Security Library"
-HOMEPAGE="https://github.com/mehcode/python-xmlsec"
-SRC_URI="https://github.com/mehcode/python-xmlsec/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 x86"
-
-RDEPEND="
- dev-libs/xmlsec:=
- 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
-)
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/python-xmp-toolkit/Manifest b/dev-python/python-xmp-toolkit/Manifest
index e0364abfab3b..f3ef34bae3cf 100644
--- a/dev-python/python-xmp-toolkit/Manifest
+++ b/dev-python/python-xmp-toolkit/Manifest
@@ -1 +1,2 @@
-DIST python-xmp-toolkit-2.0.1.tar.gz 3576384 BLAKE2B cbe73d08d101d0d44c368fd1f1c6f1c8308ece5ca26f164f78312d901fb5d0387a5d2a6519d527b3625d11e338df5c366bed8a7361ac822ac887ef8be3a74948 SHA512 46f83b03574b2d742f6c6efb5b94a549068557ad6338e74fc62368c265d05f0b66a4dd36b17cd51b39f7b6cfbfb1210d54cc44c69e9a9e3da3392ee5f11de3bd
+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/files/python-xmp-toolkit-2.0.1-test.patch b/dev-python/python-xmp-toolkit/files/python-xmp-toolkit-2.0.1-test.patch
index 7679542cf535..e2adc3c05403 100644
--- a/dev-python/python-xmp-toolkit/files/python-xmp-toolkit-2.0.1-test.patch
+++ b/dev-python/python-xmp-toolkit/files/python-xmp-toolkit-2.0.1-test.patch
@@ -1,7 +1,67 @@
-diff -r -U1 python-xmp-toolkit-2.0.1.orig/test/test_exempi.py python-xmp-toolkit-2.0.1/test/test_exempi.py
---- python-xmp-toolkit-2.0.1.orig/test/test_exempi.py 2014-03-09 19:42:07.000000000 +0700
-+++ python-xmp-toolkit-2.0.1/test/test_exempi.py 2020-01-21 18:16:13.470778818 +0700
-@@ -539,2 +539,3 @@
+Squashed patches of the following:
+
+- https://github.com/exmakhina/python-xmp-toolkit/commit/3f7546173980610e0687f4eae4eb28aa026e4674
+ gentoo commit 14321e655b7b3f6e531c0a079cb131dbd767e1be
+
+- https://github.com/exmakhina/python-xmp-toolkit/commit/1459510907764746534ce41afa85a3bedd7029b9
+ test: disable tests involving BlueSquare.gif
+
+- https://github.com/exmakhina/python-xmp-toolkit/commit/bd8a0babef830e9a2c06150f6277ba0ddb1220bd
+ libxmp: exempi: exempi returns char-sized bool, not int
+
+diff --git a/libxmp/exempi.py b/libxmp/exempi.py
+index 683e240..cddc038 100644
+--- a/libxmp/exempi.py
++++ b/libxmp/exempi.py
+@@ -1693,6 +1693,7 @@ def check_error(success):
+ Return value from library function indicating success or failure.
+ """
+
++ success = success & 0xff
+ # Unfortunately the success parameter does not seem to always be reliable
+ # so we supplement it by explicitly checking the error code.
+ ecode = EXEMPI.xmp_get_error()
+diff --git a/test/common_fixtures.py b/test/common_fixtures.py
+index 135a795..363246c 100644
+--- a/test/common_fixtures.py
++++ b/test/common_fixtures.py
+@@ -44,7 +44,6 @@ samplefiles = {
+ 'BlueSquare.ai' : libxmp.consts.XMP_FT_ILLUSTRATOR,
+ 'BlueSquare.avi' : libxmp.consts.XMP_FT_AVI,
+ 'BlueSquare.eps' : libxmp.consts.XMP_FT_EPS,
+- 'BlueSquare.gif' : libxmp.consts.XMP_FT_GIF,
+ 'BlueSquare.indd' : libxmp.consts.XMP_FT_INDESIGN,
+ 'BlueSquare.jpg' : libxmp.consts.XMP_FT_JPEG,
+ 'BlueSquare.mov' : libxmp.consts.XMP_FT_MOV,
+diff --git a/test/samples.py b/test/samples.py
+index 4a97203..a7e0412 100644
+--- a/test/samples.py
++++ b/test/samples.py
+@@ -65,7 +65,6 @@ samplefiles = {
+ 'BlueSquare.ai' : libxmp.consts.XMP_FT_ILLUSTRATOR,
+ 'BlueSquare.avi' : libxmp.consts.XMP_FT_AVI,
+ 'BlueSquare.eps' : libxmp.consts.XMP_FT_EPS,
+- 'BlueSquare.gif' : libxmp.consts.XMP_FT_GIF,
+ 'BlueSquare.indd' : libxmp.consts.XMP_FT_INDESIGN,
+ 'BlueSquare.jpg' : libxmp.consts.XMP_FT_JPEG,
+ 'BlueSquare.mov' : libxmp.consts.XMP_FT_MOV,
+diff --git a/test/test_exempi.py b/test/test_exempi.py
+index 690ce15..54065e2 100644
+--- a/test/test_exempi.py
++++ b/test/test_exempi.py
+@@ -422,7 +422,6 @@ class TestExempi(unittest.TestCase):
+ """Verify that check_file_format function works as expected."""
+ pairs = { 'avi': libxmp.consts.XMP_FT_AVI,
+ 'eps': libxmp.consts.XMP_FT_EPS,
+- 'gif': libxmp.consts.XMP_FT_GIF,
+ 'indd': libxmp.consts.XMP_FT_INDESIGN,
+ 'jpg': libxmp.consts.XMP_FT_JPEG,
+ 'mov': libxmp.consts.XMP_FT_MOV,
+@@ -540,6 +539,7 @@ class TestIteration(unittest.TestCase):
+ self.assertEqual(props, ["2006, Hubert Figuiere"])
+
+ @unittest.skip("Issue x1")
def test_single_namespace_single_path_leaf_names(self):
+ """Get just leaf names from a single path, single namespace."""
+ # TODO: why?
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
index a7b06b8f81b0..f7dd1001fd8a 100644
--- 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
@@ -4,23 +4,23 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
-if [[ ${PV} == "9999" ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/python-xmp-toolkit/${PN}.git"
-else
- SRC_URI="https://github.com/python-xmp-toolkit/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc ~x86"
-fi
-
DESCRIPTION="Library for working with XMP metadata"
-HOMEPAGE="https://github.com/python-xmp-toolkit/python-xmp-toolkit/ https://pypi.org/project/python-xmp-toolkit/"
+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 )
@@ -29,7 +29,9 @@ RDEPEND="
dev-python/pytz[${PYTHON_USEDEP}]
"
-PATCHES=( "${FILESDIR}"/${P}-test.patch )
+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.ebuild b/dev-python/python-xmp-toolkit/python-xmp-toolkit-2.0.2.ebuild
new file mode 100644
index 000000000000..4e6a1e186b3a
--- /dev/null
+++ b/dev-python/python-xmp-toolkit/python-xmp-toolkit-2.0.2.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} 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}"/${PN}-2.0.1-test.patch
+)
+
+distutils_enable_sphinx docs
+distutils_enable_tests unittest
diff --git a/dev-python/python-zeroconf/Manifest b/dev-python/python-zeroconf/Manifest
deleted file mode 100644
index b8f61864260f..000000000000
--- a/dev-python/python-zeroconf/Manifest
+++ /dev/null
@@ -1,5 +0,0 @@
-DIST python-zeroconf-0.39.4.gh.tar.gz 137174 BLAKE2B 9e7d66bec5ebb52754c5a45fd584229db2f20f37cc43830b31c903a6267aadc3a45a3f8c35fd329586aa81f083dc823f0e6d6fad3dc2b6cc5ada17a2eb4a2208 SHA512 0e69a31dd31111f95eda0a44ee7d00484d8b909448eef4ef41bef6e170a410ecdae02e01cc944ad7534634aa26ef0c95b465c784ee67de1c2cd0ec4ab040d445
-DIST python-zeroconf-0.44.0.gh.tar.gz 149523 BLAKE2B 544187ad7baff6ea7a13b3ee3a51e6c19d872f006df3727900cad588febab0b86218c31c689203d3b674eed8ca67f0c9b39f83efec255696fa8405a00551edc8 SHA512 4190ca1d892dcbe5e5020c15a18cf1db80e7623798b64ba45b18dbfb5dd624e7851026f99aec14547b037927c06b7d9186e44cb4790e47613cb16c0cde3c067d
-DIST python-zeroconf-0.45.0.gh.tar.gz 150493 BLAKE2B 63cbeba55c67ac9d7c7b24257da7814b13e6d23f4fc195b755e7bbdf0d624ccaa1da6214abb0715ceb3949794bcac60d43b5c5dfe7da020d62baf870d6af0a07 SHA512 06a0cdc8b3038b0cff9f2d43592ded6df46c79c6fe2669eede052ed1f280b3a3c85db2e97109e619c5d1d4641792d4e3e4b7e0f1d28886e743f2c776c23c0a64
-DIST python-zeroconf-0.47.0.gh.tar.gz 151011 BLAKE2B ec80dd708671fb90df119cfaf6c7a73bd1ae826ec305659df810c2960b961a1f8350f0c529017bebbb43c19bb2a81bee8fcecfc01e7323a9508d95ae36979347 SHA512 b1f56fb7474ea8b394f91e1bbef5dc2606ef8e59d4a1d15b4ff5c5152909b12a29b52352729a26641accc6fe033ecade2a0881ac7b0944852439659ed50adead
-DIST python-zeroconf-0.47.1.gh.tar.gz 151191 BLAKE2B 30cbda51b533519b9affe52d73c96fb60d6eb4d882791729a021b41e48974ac14bac46c1ea9030d792587eb09104670b38f1000192aa202ec7e793a5f79b08cc SHA512 abb74fa3e05b962b6b93ff9df58f2bb3e029d74ca03aaebd38ee716b204ec8b8af665c97f7b9fbbf998767c9308ab7d900f39a92fae4224d5689ecbe229c01d5
diff --git a/dev-python/python-zeroconf/python-zeroconf-0.39.4.ebuild b/dev-python/python-zeroconf/python-zeroconf-0.39.4.ebuild
deleted file mode 100644
index 232f9b9569c4..000000000000
--- a/dev-python/python-zeroconf/python-zeroconf-0.39.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)"
-HOMEPAGE="
- https://github.com/jstasiak/python-zeroconf/
- https://pypi.org/project/zeroconf/
-"
-SRC_URI="
- https://github.com/jstasiak/python-zeroconf/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}]
- >=dev-python/async-timeout-4.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-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
- tests/test_core.py::Framework::test_launch_and_close_v4_v6
- tests/test_core.py::Framework::test_launch_and_close_v6_only
- tests/services/test_types.py::ServiceTypesQuery::test_integration_with_listener_ipv6
-
- # fragile to timeouts (?)
- tests/services/test_browser.py::test_service_browser_expire_callbacks
- tests/utils/test_asyncio.py::test_run_coro_with_timeout
-)
diff --git a/dev-python/python-zeroconf/python-zeroconf-0.44.0.ebuild b/dev-python/python-zeroconf/python-zeroconf-0.44.0.ebuild
deleted file mode 100644
index 37d55e82c63c..000000000000
--- a/dev-python/python-zeroconf/python-zeroconf-0.44.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=poetry
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)"
-HOMEPAGE="
- https://github.com/python-zeroconf/python-zeroconf/
- https://pypi.org/project/zeroconf/
-"
-SRC_URI="
- https://github.com/python-zeroconf/python-zeroconf/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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.{8..10})
-"
-# the build system uses custom build script that uses distutils to build
-# C extensions, sigh
-BDEPEND="
- >=dev-python/cython-0.29.32[${PYTHON_USEDEP}]
- >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- 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
- tests/test_core.py::Framework::test_launch_and_close_v4_v6
- tests/test_core.py::Framework::test_launch_and_close_v6_only
- tests/services/test_types.py::ServiceTypesQuery::test_integration_with_listener_ipv6
-
- # 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/python-zeroconf/python-zeroconf-0.45.0.ebuild b/dev-python/python-zeroconf/python-zeroconf-0.45.0.ebuild
deleted file mode 100644
index 37d55e82c63c..000000000000
--- a/dev-python/python-zeroconf/python-zeroconf-0.45.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=poetry
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)"
-HOMEPAGE="
- https://github.com/python-zeroconf/python-zeroconf/
- https://pypi.org/project/zeroconf/
-"
-SRC_URI="
- https://github.com/python-zeroconf/python-zeroconf/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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.{8..10})
-"
-# the build system uses custom build script that uses distutils to build
-# C extensions, sigh
-BDEPEND="
- >=dev-python/cython-0.29.32[${PYTHON_USEDEP}]
- >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- 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
- tests/test_core.py::Framework::test_launch_and_close_v4_v6
- tests/test_core.py::Framework::test_launch_and_close_v6_only
- tests/services/test_types.py::ServiceTypesQuery::test_integration_with_listener_ipv6
-
- # 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/python-zeroconf/python-zeroconf-0.47.0.ebuild b/dev-python/python-zeroconf/python-zeroconf-0.47.0.ebuild
deleted file mode 100644
index 37d55e82c63c..000000000000
--- a/dev-python/python-zeroconf/python-zeroconf-0.47.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=poetry
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)"
-HOMEPAGE="
- https://github.com/python-zeroconf/python-zeroconf/
- https://pypi.org/project/zeroconf/
-"
-SRC_URI="
- https://github.com/python-zeroconf/python-zeroconf/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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.{8..10})
-"
-# the build system uses custom build script that uses distutils to build
-# C extensions, sigh
-BDEPEND="
- >=dev-python/cython-0.29.32[${PYTHON_USEDEP}]
- >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- 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
- tests/test_core.py::Framework::test_launch_and_close_v4_v6
- tests/test_core.py::Framework::test_launch_and_close_v6_only
- tests/services/test_types.py::ServiceTypesQuery::test_integration_with_listener_ipv6
-
- # 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/python-zeroconf/python-zeroconf-0.47.1.ebuild b/dev-python/python-zeroconf/python-zeroconf-0.47.1.ebuild
deleted file mode 100644
index 37d55e82c63c..000000000000
--- a/dev-python/python-zeroconf/python-zeroconf-0.47.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=poetry
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)"
-HOMEPAGE="
- https://github.com/python-zeroconf/python-zeroconf/
- https://pypi.org/project/zeroconf/
-"
-SRC_URI="
- https://github.com/python-zeroconf/python-zeroconf/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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.{8..10})
-"
-# the build system uses custom build script that uses distutils to build
-# C extensions, sigh
-BDEPEND="
- >=dev-python/cython-0.29.32[${PYTHON_USEDEP}]
- >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- 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
- tests/test_core.py::Framework::test_launch_and_close_v4_v6
- tests/test_core.py::Framework::test_launch_and_close_v6_only
- tests/services/test_types.py::ServiceTypesQuery::test_integration_with_listener_ipv6
-
- # 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/python-zstandard/Manifest b/dev-python/python-zstandard/Manifest
deleted file mode 100644
index eca36ccda64c..000000000000
--- a/dev-python/python-zstandard/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-zstandard-0.19.0.gh.tar.gz 683942 BLAKE2B 5b28fb6360147f87fb658d28652e5e43b0e41ff3cc31e46d91b1dcdd5334869f9a10a598f3d1d15a8c0f02afc59d009a8088ba3e81066f1a5f1ad9c05ebd4a1d SHA512 56e7b43161940f182ff5a0745bb6bdb2710c9a61140c4a84b690e0abd18c8b862211ab2b1ba36cfd99fe75bb0ae00af7de798b010b2bd4c5a44d691d4fa0c63d
diff --git a/dev-python/python-zstandard/python-zstandard-0.19.0.ebuild b/dev-python/python-zstandard/python-zstandard-0.19.0.ebuild
deleted file mode 100644
index 2430a90b2dce..000000000000
--- a/dev-python/python-zstandard/python-zstandard-0.19.0.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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
- -> ${P}.gh.tar.gz
-"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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 unittest
-
-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
- # unreliable, fails on x86
- sed -e 's:test_estimated_compression_context_size:_&:' \
- -i tests/test_data_structures.py || die
- # unbundle zstd
- : > zstd/zstdlib.c || die
- # it does random preprocessing on that, so we can't use #include
- cp "${ESYSROOT}/usr/include/zstd.h" zstd/zstd.h || die
- sed -i -e '/include_dirs/a libraries=["zstd"],' make_cffi.py || die
-
- distutils-r1_src_prepare
-
- DISTUTILS_ARGS=(
- --no-c-backend
- )
-}
-
-src_test() {
- rm -r zstandard || die
- distutils-r1_src_test
-}
diff --git a/dev-python/python3-discogs-client/Manifest b/dev-python/python3-discogs-client/Manifest
new file mode 100644
index 000000000000..e6152af550ab
--- /dev/null
+++ b/dev-python/python3-discogs-client/Manifest
@@ -0,0 +1 @@
+DIST python3-discogs-client-2.7.tar.gz 36551 BLAKE2B f27fbf17afd7c0f6bb3619a4d0a7922f0a2192b34cddf72cb82f5580d81512d6450aa2464ab5e3746262ccdf66bf3411bd63ed121f69021bed06319bcc171de3 SHA512 7bb43429d6ceb3bbf892b6a65d4d93f0a9ec1bb3535b62169d7e1e4ff0e5032963b2ad5753e381745559efd21ed9e875bfbe3f5260e26f7df5f4a344bedded4a
diff --git a/dev-python/discogs-client/metadata.xml b/dev-python/python3-discogs-client/metadata.xml
index d0e42c50c28e..d0e42c50c28e 100644
--- a/dev-python/discogs-client/metadata.xml
+++ b/dev-python/python3-discogs-client/metadata.xml
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
new file mode 100644
index 000000000000..5e2a9ac6cd6b
--- /dev/null
+++ b/dev-python/python3-discogs-client/python3-discogs-client-2.7.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
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/joalla/discogs_client.git"
+ inherit git-r3
+else
+ inherit pypi
+ KEYWORDS="amd64 arm64 ~x86"
+fi
+
+DESCRIPTION="Continuation of the official Python API client for Discogs"
+HOMEPAGE="
+ https://github.com/joalla/discogs_client/
+ https://pypi.org/project/python3-discogs-client/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/oauthlib[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/python3-discogs-client/python3-discogs-client-9999.ebuild b/dev-python/python3-discogs-client/python3-discogs-client-9999.ebuild
new file mode 100644
index 000000000000..6c4aa64a3c5d
--- /dev/null
+++ b/dev-python/python3-discogs-client/python3-discogs-client-9999.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
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/joalla/discogs_client.git"
+ inherit git-r3
+else
+ inherit pypi
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Continuation of the official Python API client for Discogs"
+HOMEPAGE="
+ https://github.com/joalla/discogs_client/
+ https://pypi.org/project/python3-discogs-client/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/oauthlib[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/python3-lxc/python3-lxc-3.0.4-r1.ebuild b/dev-python/python3-lxc/python3-lxc-3.0.4-r1.ebuild
new file mode 100644
index 000000000000..d5a62ad7cd95
--- /dev/null
+++ b/dev-python/python3-lxc/python3-lxc-3.0.4-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 verify-sig
+
+DESCRIPTION="Python bindings for LXC"
+HOMEPAGE="https://linuxcontainers.org/lxc/"
+SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz
+ verify-sig? ( https://linuxcontainers.org/downloads/lxc/${P}.tar.gz.asc )"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
+IUSE="verify-sig"
+
+RDEPEND="app-containers/lxc"
+BDEPEND="virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc
diff --git a/dev-python/python3-lxc/python3-lxc-3.0.4.ebuild b/dev-python/python3-lxc/python3-lxc-3.0.4.ebuild
deleted file mode 100644
index 6150bfc558ad..000000000000
--- a/dev-python/python3-lxc/python3-lxc-3.0.4.ebuild
+++ /dev/null
@@ -1,24 +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 verify-sig
-
-DESCRIPTION="Python bindings for LXC"
-HOMEPAGE="https://linuxcontainers.org/lxc/"
-SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz
- verify-sig? ( https://linuxcontainers.org/downloads/lxc/${P}.tar.gz.asc )"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-IUSE="verify-sig"
-
-RDEPEND="app-containers/lxc"
-BDEPEND="virtual/pkgconfig
- verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc
diff --git a/dev-python/python3-saml/Manifest b/dev-python/python3-saml/Manifest
index d0f41245fdee..b6371b767e0f 100644
--- a/dev-python/python3-saml/Manifest
+++ b/dev-python/python3-saml/Manifest
@@ -1 +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 4ccb4653fef7..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..10} )
-
-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/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-saml/python3-saml-1.16.0.ebuild b/dev-python/python3-saml/python3-saml-1.16.0.ebuild
new file mode 100644
index 000000000000..c8c1ac7470e4
--- /dev/null
+++ b/dev-python/python3-saml/python3-saml-1.16.0.ebuild
@@ -0,0 +1,49 @@
+# 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_{10..12} )
+
+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 pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/src/OneLogin/saml2_tests/idp_metadata_parser_test.py::OneLogin_Saml2_IdPMetadataParser_Test::testGetMetadataWithHeaders
+ tests/src/OneLogin/saml2_tests/idp_metadata_parser_test.py::OneLogin_Saml2_IdPMetadataParser_Test::testParseRemoteWithHeaders
+ )
+
+ # The tests are horribly fragile to paths.
+ local -x PYTHONPATH=src
+ epytest -o 'python_files=*_test.py'
+}
diff --git a/dev-python/python3-xapp/Manifest b/dev-python/python3-xapp/Manifest
index 00b10334e409..af943fdc5846 100644
--- a/dev-python/python3-xapp/Manifest
+++ b/dev-python/python3-xapp/Manifest
@@ -1,2 +1 @@
-DIST python3-xapp-2.2.2.tar.gz 20872 BLAKE2B 72bfd020477382480a5cf007107a197a86bd96c886b54440bee5eb0cf124294feac01c04dee24525d892cc5e701abf4e64753f2bff09d417e9e18ee314eb57a4 SHA512 d4aac6949bfe4adfe5fdb08edb80e622ccf04c2d571760aec280b43ff26b246c0d8f09eda6d7281381bf3a367002a7cce780664eb1f9933db6e9f63084d99def
-DIST python3-xapp-2.4.0.tar.gz 20787 BLAKE2B e225ad100119f90813b0f7657832bb186675542b3476beec639ff4e0771f4c00629c5d297a2ca0392fbd630066ba0a95a6f8553bd01a9f2df18752536a513127 SHA512 7c9afabbc810ffe878e831f7e1ff585ce49abc6d1db3d4ea70deb6630e2bb18f61ded31ae0e075cccae2283cac50b3440204a586f844ba9ee9cfbcb572bf7573
+DIST python3-xapp-2.4.1.tar.gz 21181 BLAKE2B 460aba09d147d64c8102f66d059c6ab1f7c39893ce98844e59ab5954b690d81ab4b253cb6a17f9b3c781dfb5e965d1a4de859aaeff5ef65ab3f67a86a4c6e6c2 SHA512 97045061aa5965adcfe7301774dbd35a226fa9b846e31a7c097229cc417ff4008e518ebd5b600d4ce6a46daa39d51de70d391b6b0a7c78490419d3a96daca6a9
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.2.2.ebuild b/dev-python/python3-xapp/python3-xapp-2.2.2.ebuild
deleted file mode 100644
index 9a2826c2d5d6..000000000000
--- a/dev-python/python3-xapp/python3-xapp-2.2.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=7
-
-PYTHON_COMPAT=( python3_{9,10} )
-
-inherit distutils-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 ~ppc64 ~riscv x86"
-IUSE=""
-
-DEPEND="
- >=x11-libs/xapp-2.2.0[introspection]
-"
-RDEPEND="
- ${DEPEND}
- dev-python/psutil[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/python3-xapp/python3-xapp-2.4.0-r1.ebuild b/dev-python/python3-xapp/python3-xapp-2.4.0-r1.ebuild
deleted file mode 100644
index 6fd591cd4289..000000000000
--- a/dev-python/python3-xapp/python3-xapp-2.4.0-r1.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 ~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/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/pythondialog/metadata.xml b/dev-python/pythondialog/metadata.xml
index d5787ba0cdcc..3514071c2f3d 100644
--- a/dev-python/pythondialog/metadata.xml
+++ b/dev-python/pythondialog/metadata.xml
@@ -10,6 +10,6 @@
</maintainer>
<upstream>
<remote-id type="sourceforge">pythondialog</remote-id>
- <remote-id type="pypi">python2-pythondialog</remote-id>
+ <remote-id type="pypi">pythondialog</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pythondialog/pythondialog-3.5.3.ebuild b/dev-python/pythondialog/pythondialog-3.5.3.ebuild
index 54dd915159aa..694085c05663 100644
--- a/dev-python/pythondialog/pythondialog-3.5.3.ebuild
+++ b/dev-python/pythondialog/pythondialog-3.5.3.ebuild
@@ -4,13 +4,13 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} pypy3 )
+PYTHON_COMPAT=( python3_{9..11} pypy3 )
inherit distutils-r1
DESCRIPTION="A Python module for making simple text/console-mode user interfaces"
-HOMEPAGE="http://pythondialog.sourceforge.net/"
-SRC_URI="mirror://sourceforge/pythondialog/${PV}/python3-${P}.tar.bz2"
+HOMEPAGE="https://pythondialog.sourceforge.io/"
+SRC_URI="mirror://sourceforge/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
new file mode 100644
index 000000000000..ceaa7d12fb6d
--- /dev/null
+++ b/dev-python/pythonfinder/Manifest
@@ -0,0 +1 @@
+DIST pythonfinder-2.1.0.tar.gz 717240 BLAKE2B 73e748c1c8d3b38270d9d73861c296eb96685f2bf1318344f7f6214b948381e464a90422451a49c32b4e6117c5a75ba8af0cffc75405a65e28c5f3e14f8c834a SHA512 ddba8fe6fbd986c48be941b1bd76f8ca1f11985cadbce55a51e1fd110c2a8bc99c7536c288f2e16d0204bd854ee46db1761c12bca336d74764e99ab424210555
diff --git a/dev-python/pythonfinder/metadata.xml b/dev-python/pythonfinder/metadata.xml
new file mode 100644
index 000000000000..a9367d2f4b85
--- /dev/null
+++ b/dev-python/pythonfinder/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" proxied="yes">
+ <email>oz.tiram@gmail.com</email>
+ <name>Oz Tiram</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">sarugaku/pythonfinder</remote-id>
+ <remote-id type="pypi">pythonfinder</remote-id>
+ </upstream>
+</pkgmetadata>
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..f68a9f5ef322
--- /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..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"
+
+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..7aafb07a2236
--- /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 f24fa715283b..0fa5dbdcbe7c 100644
--- a/dev-python/pythran/Manifest
+++ b/dev-python/pythran/Manifest
@@ -1,3 +1,3 @@
-DIST pythran-0.11.0.gh.tar.gz 3582011 BLAKE2B 532afe9edd84d2699254bcad330dc03fcda4defce73997ec9feecf1a9e0c8f4fd407a5c4ebae7e10f96463a43453137953dc3e4df010ae7fb63d540d41b79f53 SHA512 bd703148f26a0511f5a21e691e62f4e9b7bf5a92548f8ac837b2d24135917b71b052941180c9801f29c457018eb57e5f5107a509d6815d8dd8ddab1b8626b1a1
-DIST pythran-0.12.0.gh.tar.gz 3589256 BLAKE2B 5eeba4b7d73e56cc2b696098edb085e11d406485960614b50426e3df7c425ad22537ae72a2931a9ec318ab23153660da543ec1890f03379981eee10a34b82cea SHA512 8f698cb2efc8e53005a6a18b81b9119796d56e638c4634d3a9268bc8d4ac340c7ff1a26212f17210ad7200eb8a3e0f9dd20702d9d9c51f24a76dadc7d0877693
-DIST pythran-0.12.1.gh.tar.gz 3631063 BLAKE2B c680639a88cd63398f88ee6f5325da288c06549bfef2ee649e27dd92114a2690f54fb3da730c4eb30ff9b7ef297c219bafa5f7f7153b7710d348859a04716e84 SHA512 05c4e1d03de3eebccbb915e13c70a36de293152aece58066f2d91d483d3ac920d61c7a76adcb2337f60e637734451775f0fc61341b0ef9fc4f074a752e39de9d
+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.15.0.gh.tar.gz 3676474 BLAKE2B 2b9c08d773f7848cf43c804ffa9a84eb19d20dbc40668657daea9698fb468e62ec86226f39aa3b8ff07b48a3120604b44a9d6a6c9e7f2b5f0f41ba2e9a201231 SHA512 2abba0ab5328e60d622512aa6c5442fcc28edb4da4209db50ede64961b58c91c2109b7bb90e5872c5c0d487542f669dc2ca3e721c28229e283f6e0130f95aee0
diff --git a/dev-python/pythran/files/pythran-0.10.0-tests-werror.patch b/dev-python/pythran/files/pythran-0.10.0-tests-werror.patch
deleted file mode 100644
index 17c0630a5d1e..000000000000
--- a/dev-python/pythran/files/pythran-0.10.0-tests-werror.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/pythran/tests/__init__.py
-+++ b/pythran/tests/__init__.py
-@@ -71,7 +71,7 @@ class TestEnv(unittest.TestCase):
-
- module = pytest.mark.module
- # default options used for the c++ compiler
-- PYTHRAN_CXX_FLAGS = ['-O0', '-Wall', '-Werror', '-UNDEBUG',
-+ PYTHRAN_CXX_FLAGS = ['-O0', '-Wall', '-UNDEBUG',
- '-Wno-unused-function',
- '-Wno-int-in-bool-context',
- '-Wno-unknown-warning-option',
diff --git a/dev-python/pythran/files/pythran-0.12.0-gcc13.patch b/dev-python/pythran/files/pythran-0.12.0-gcc13.patch
deleted file mode 100644
index d7b9f28f0f45..000000000000
--- a/dev-python/pythran/files/pythran-0.12.0-gcc13.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-https://github.com/serge-sans-paille/pythran/pull/2029
-
-From 13a89edad477077331ae8071eadf239e88adea0c Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Fri, 28 Oct 2022 12:47:35 +0100
-Subject: [PATCH] Fix build with GCC 13 (missing <cstdint> include)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-When building scipy, one gets:
-```
-/usr/lib/python3.10/site-packages/pythran/pythonic/include/types/combined.hpp:304:17: error: ‘uint8_t’ was not declared in this scope
- 304 | SCALAR_COMBINER(uint8_t)
- | ^~~~~~~
-/usr/lib/python3.10/site-packages/pythran/pythonic/include/types/combined.hpp:300:21: note: in definition of macro ‘SCALAR_COMBINER’
- 300 | struct __combined<Type, Type> { \
- | ^~~~
-/usr/lib/python3.10/site-packages/pythran/pythonic/include/types/combined.hpp:5:1: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
- 4 | #include "pythonic/include/types/traits.hpp"
- +++ |+#include <cstdint>
-```
-
-Bug: https://bugs.gentoo.org/878527
---- a/pythran/pythonic/include/types/combined.hpp
-+++ b/pythran/pythonic/include/types/combined.hpp
-@@ -1,6 +1,8 @@
- #ifndef PYTHONIC_INCLUDE_TYPES_COMBINED_HPP
- #define PYTHONIC_INCLUDE_TYPES_COMBINED_HPP
-
-+#include <cstdint>
-+
- #include "pythonic/include/types/traits.hpp"
- PYTHONIC_NS_BEGIN
- namespace types
-
diff --git a/dev-python/pythran/pythran-0.11.0.ebuild b/dev-python/pythran/pythran-0.11.0.ebuild
deleted file mode 100644
index 05448449ad1d..000000000000
--- a/dev-python/pythran/pythran-0.11.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2021-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
-
-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 ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- =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? (
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- virtual/cblas
- )"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.10.0-tests-werror.patch
-)
-
-src_prepare() {
- sed -i -e '/pytest-runner/d' setup.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x COLUMNS=80
- epytest -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
-}
diff --git a/dev-python/pythran/pythran-0.12.0-r2.ebuild b/dev-python/pythran/pythran-0.12.0-r2.ebuild
deleted file mode 100644
index 9f44a7f1d5d7..000000000000
--- a/dev-python/pythran/pythran-0.12.0-r2.ebuild
+++ /dev/null
@@ -1,66 +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..10} )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_11 )
-
-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"
-
-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
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.10.0-tests-werror.patch
- "${FILESDIR}"/${PN}-0.12.0-gcc13.patch
-)
-
-src_configure() {
- # TODO: package xsimd then set no_xsimd = True
- cat >> setup.cfg <<-EOF
- [build_py]
- no_boost = True
- EOF
-}
-
-python_test() {
- local -x COLUMNS=80
- epytest -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/pythran/pythran-0.12.0.ebuild b/dev-python/pythran/pythran-0.12.0.ebuild
deleted file mode 100644
index 665ac52518ad..000000000000
--- a/dev-python/pythran/pythran-0.12.0.ebuild
+++ /dev/null
@@ -1,53 +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..10} )
-
-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 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- =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? (
- dev-python/ipython[${PYTHON_USEDEP}]
- 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
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.10.0-tests-werror.patch
-)
-
-python_test() {
- local -x COLUMNS=80
- epytest -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/pythran/pythran-0.12.1.ebuild b/dev-python/pythran/pythran-0.12.1.ebuild
deleted file mode 100644
index dc2e38c346cc..000000000000
--- a/dev-python/pythran/pythran-0.12.1.ebuild
+++ /dev/null
@@ -1,67 +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"
-
-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
- )
-
- local -x COLUMNS=80
- epytest -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/pythran/pythran-0.13.1.ebuild b/dev-python/pythran/pythran-0.13.1.ebuild
new file mode 100644
index 000000000000..e708ee962064
--- /dev/null
+++ b/dev-python/pythran/pythran-0.13.1.ebuild
@@ -0,0 +1,70 @@
+# 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_{10..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 ~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
new file mode 100644
index 000000000000..65b83cd659c5
--- /dev/null
+++ b/dev-python/pythran/pythran-0.14.0.ebuild
@@ -0,0 +1,91 @@
+# Copyright 2021-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..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 ~s390 ~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.15.0-r1.ebuild b/dev-python/pythran/pythran-0.15.0-r1.ebuild
new file mode 100644
index 000000000000..dabf2bf2232e
--- /dev/null
+++ b/dev-python/pythran/pythran-0.15.0-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 2021-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..12} )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+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 ~ppc 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? (
+ $(python_gen_cond_dep '
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ 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
+ epytest
+}
diff --git a/dev-python/pytidylib/pytidylib-0.3.2-r2.ebuild b/dev-python/pytidylib/pytidylib-0.3.2-r2.ebuild
index 4646cb60b028..9677945b3efb 100644
--- a/dev-python/pytidylib/pytidylib-0.3.2-r2.ebuild
+++ b/dev-python/pytidylib/pytidylib-0.3.2-r2.ebuild
@@ -4,13 +4,12 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Python wrapper for HTML Tidy (tidylib)"
HOMEPAGE="http://countergram.com/open-source/pytidylib https://github.com/countergram/pytidylib"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="MIT"
diff --git a/dev-python/pytimeparse/pytimeparse-1.1.8-r1.ebuild b/dev-python/pytimeparse/pytimeparse-1.1.8-r1.ebuild
index 93573615f7c1..bada4b1ee5d1 100644
--- a/dev-python/pytimeparse/pytimeparse-1.1.8-r1.ebuild
+++ b/dev-python/pytimeparse/pytimeparse-1.1.8-r1.ebuild
@@ -4,15 +4,18 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
DESCRIPTION="A small Python module to parse various kinds of time expressions"
-HOMEPAGE="https://github.com/wroberts/pytimeparse https://pypi.org/project/pytimeparse/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/wroberts/pytimeparse/
+ https://pypi.org/project/pytimeparse/
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~riscv"
+KEYWORDS="~amd64 ~riscv ~arm64-macos ~x64-macos"
distutils_enable_tests unittest
diff --git a/dev-python/pytoolconfig/Manifest b/dev-python/pytoolconfig/Manifest
index c383ac34138e..b6bd46bf314e 100644
--- a/dev-python/pytoolconfig/Manifest
+++ b/dev-python/pytoolconfig/Manifest
@@ -1,2 +1 @@
-DIST pytoolconfig-1.2.2.tar.gz 16195 BLAKE2B 02434bf9bc815fe1beeb13496427d6735fd0eebca66371eaa1a8df5d318879584b9e27d7b2272535e41af91b46544264d570b2727e524e6ba52c4e4be475ad84 SHA512 5bcbf7f2fc7941e128b3e717ff213e1e43be417ca3b906fa75a40f822815a4ea79b55cbb3e297caa3abf9032fedda1a791165491f52d4bbce5f4d29eea3c3599
-DIST pytoolconfig-1.2.4.tar.gz 15910 BLAKE2B 53ab143179dc59d3d1bcf6debb16280d60b3d877514dff78389c413e9d73cb56fb6feaa76abffa53afba44a57eccb387b19b5ab4d621fff3dd49836d42e5ba43 SHA512 bcf78054419ea4f783f79716724032f3f34072b10543dd7939418086095f37cf1a7c1df2c89dfca20096e99768ce8d5f74ef3bb7dd4919735bd85e332342e106
+DIST pytoolconfig-1.3.1.tar.gz 16655 BLAKE2B 8a35f6e1751b99e7bccb81f173ee56dfc94b586237e28e8ddcc859befb6ff502469fd70f02521216585367bc87c85ac81503055f055cf355be12476bc3efe608 SHA512 c8321a5e46593044828d737532926a2df0341f563bd15ee7ffa39ebba8ab2ddcf8a56d6c099d3b8801cb65bbe7e688fddd916fc9f2babc862d00f0a925837a12
diff --git a/dev-python/pytoolconfig/files/pytoolconfig-1.2.2-fix-licence.patch b/dev-python/pytoolconfig/files/pytoolconfig-1.2.2-fix-licence.patch
deleted file mode 100644
index 47c222fba143..000000000000
--- a/dev-python/pytoolconfig/files/pytoolconfig-1.2.2-fix-licence.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-https://github.com/bagel897/pytoolconfig/commit/7fbd830f1c302ed8151ecc2bd52c40cf70b1a580
-https://bugs.gentoo.org/878189
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -2,7 +2,7 @@
- name = "pytoolconfig"
- version = "1.2.2"
- description = "Python tool configuration"
--license-expression = "LGPL-3.0-or-later"
-+license = "LGPL-3.0-or-later"
- dependencies = [
- "tomli>=2.0; python_version < \"3.11\"",
- "packaging>=21.3",
-@@ -70,6 +70,6 @@ strict = true
-
- [build-system]
- requires = [
-- "pdm-pep517>=1.0.0",
-+ "pdm-pep517>=1.0.5",
- ]
- build-backend = "pdm.pep517.api"
diff --git a/dev-python/pytoolconfig/pytoolconfig-1.2.2-r1.ebuild b/dev-python/pytoolconfig/pytoolconfig-1.2.2-r1.ebuild
deleted file mode 100644
index 418b7a031114..000000000000
--- a/dev-python/pytoolconfig/pytoolconfig-1.2.2-r1.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=pdm
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python tool configuration"
-HOMEPAGE="
- https://pypi.org/project/pytoolconfig/
- https://github.com/bageljrkhanofemus/pytoolconfig/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{8..10} )
-"
-BDEPEND="
- >=dev-python/pdm-pep517-1.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/sphinx-4.5.0[${PYTHON_USEDEP}]
- >=dev-python/tabulate-0.8.9[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-fix-licence.patch
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytoolconfig/pytoolconfig-1.2.4-r2.ebuild b/dev-python/pytoolconfig/pytoolconfig-1.2.4-r2.ebuild
deleted file mode 100644
index 3adcb1e54a9b..000000000000
--- a/dev-python/pytoolconfig/pytoolconfig-1.2.4-r2.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python tool configuration"
-HOMEPAGE="
- https://pypi.org/project/pytoolconfig/
- https://github.com/bagel897/pytoolconfig/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/platformdirs[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{8..10} )
-"
-BDEPEND="
- >=dev-python/pdm-pep517-1.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/sphinx-4.5.0[${PYTHON_USEDEP}]
- >=dev-python/tabulate-0.8.9[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # remove overstrict dep
- sed -i -e '/packaging/s:>=22.0::' pyproject.toml || die
- distutils-r1_src_prepare
-}
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..22933c834819
--- /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..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-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 2cfb122e37ba..92ee770eb359 100644
--- a/dev-python/pytools/Manifest
+++ b/dev-python/pytools/Manifest
@@ -1,2 +1 @@
-DIST pytools-2022.1.13.tar.gz 71650 BLAKE2B d12a1081ae2dd063ff4bf04a8e364dc35730b89a1e937ff9a470d2c3a9a1f53f5eaa5eb328831f659f1db1f4e03d2522ad8a4126da67cc5b4ef3798589b4a309 SHA512 305c78659b2a32a3d64dbecd4ca2f860554690ec74455c3dfaf3c5434a3e37dfa9dd733d2e5a14736ef5a09bb2c923e7eedde6851e99472f87c849d005fd2e78
-DIST pytools-2022.1.14.tar.gz 74636 BLAKE2B 5f3014c0adef3571c22b93c1dec1e4b49d48a0a0b9d320e7fa8f9712aaad04383222814770ab324b7d6e028d4b2a94698e6ea1f2f7fb89a654d7c8b371634dc7 SHA512 3e733d54176b135b69ac9c76ac7816463c5c874f3e1cede522ab2901250822c821fd325d0d2e5f2b124aeabb93386d8c68e3c6e1b11f6119bed7953ec80f9d4d
+DIST pytools-2024.1.1.tar.gz 77122 BLAKE2B 38b46a6363c707da90670a28d63dbaf1b77f739a4f7473bda11fa671ad267ee33c48312e3813e05888d3cd48efc60ec3006d57a316053ff2d0160d0b284bca9d SHA512 3b47764ac6f1ea0938c32e42092c0acfe81b2f22eb15c3ded589c5022c8a07ff89420f30ec78779ccb9f07d8611fa9c447539859371d8aade603f302b747cf97
diff --git a/dev-python/pytools/pytools-2022.1.13.ebuild b/dev-python/pytools/pytools-2022.1.13.ebuild
deleted file mode 100644
index 1e06694cfde7..000000000000
--- a/dev-python/pytools/pytools-2022.1.13.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} )
-PYTHON_REQ_USE='sqlite'
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64"
-
-# 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.8 3.9 3.10)
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytools/pytools-2022.1.14.ebuild b/dev-python/pytools/pytools-2022.1.14.ebuild
deleted file mode 100644
index aac142b535c8..000000000000
--- a/dev-python/pytools/pytools-2022.1.14.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} )
-PYTHON_REQ_USE='sqlite'
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64"
-
-# 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.8 3.9 3.10)
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytools/pytools-2024.1.1.ebuild b/dev-python/pytools/pytools-2024.1.1.ebuild
new file mode 100644
index 000000000000..01f5df21d875
--- /dev/null
+++ b/dev-python/pytools/pytools-2024.1.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..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/pytrie/Manifest b/dev-python/pytrie/Manifest
index c59a83811750..693b96c68c71 100644
--- a/dev-python/pytrie/Manifest
+++ b/dev-python/pytrie/Manifest
@@ -1 +1 @@
-DIST pytrie-0.4.0.tar.gz 95139 BLAKE2B de57b4c36429c3e2d9ec7cb89e6515fd0a131e890bbfec17797a9a03b932ca2370cf283c67b4a99bb742b275c6f005789af410b875e857d30e6ba9e959403899 SHA512 c951568774c1e35d2b2bd5a52e5368da5ef2ffc83476d60882aa842debcd53c5eb0ed19f497a09f78c6a736ffba57702eda3aa0f3afa74dd0d1e770c17885c74
+DIST PyTrie-0.4.0.tar.gz 95139 BLAKE2B de57b4c36429c3e2d9ec7cb89e6515fd0a131e890bbfec17797a9a03b932ca2370cf283c67b4a99bb742b275c6f005789af410b875e857d30e6ba9e959403899 SHA512 c951568774c1e35d2b2bd5a52e5368da5ef2ffc83476d60882aa842debcd53c5eb0ed19f497a09f78c6a736ffba57702eda3aa0f3afa74dd0d1e770c17885c74
diff --git a/dev-python/pytrie/pytrie-0.4.0-r1.ebuild b/dev-python/pytrie/pytrie-0.4.0-r1.ebuild
index ba95d92c75c1..226d234bb8a8 100644
--- a/dev-python/pytrie/pytrie-0.4.0-r1.ebuild
+++ b/dev-python/pytrie/pytrie-0.4.0-r1.ebuild
@@ -4,23 +4,21 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYPI_NO_NORMALIZE=1
+PYPI_PN="PyTrie"
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_PN="PyTrie"
-MY_P="${MY_PN}-${PV}"
DESCRIPTION="A pure Python implementation of the trie data structure"
HOMEPAGE="
https://github.com/gsakkis/pytrie/
https://pypi.org/project/PyTrie/
"
-SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~riscv x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="
dev-python/sortedcontainers[${PYTHON_USEDEP}]
diff --git a/dev-python/pytz/Manifest b/dev-python/pytz/Manifest
index 52556eb9a102..6bc7f0a173bf 100644
--- a/dev-python/pytz/Manifest
+++ b/dev-python/pytz/Manifest
@@ -1,3 +1 @@
-DIST pytz-2022.6.tar.gz 313766 BLAKE2B db52c5dab06c90f6cacda590682a8011e59a2f1155edb1147a656561b29098bcaa34e2140f260b314b360efa879e822ca76e14e637f5cb5581b43d93c12958b3 SHA512 ea0343453d011e252fba64502984e2a43ea7c7437a211025ca68a4a45178c8aaef4c2b65261434289b21166a99a1941ec9e2d9d26bb3d22a76cbaa421250131d
-DIST pytz-2022.7.1.tar.gz 313522 BLAKE2B f0e787438f56bb33e0681f28392ddcb8dde41e51437caf34de8c9891af468a1b60f845d393d300c408af598aa93463f2a66848a8d20754bd7980d44cac0f4216 SHA512 c70b9ef9c6e6a7dd50fc80a58bf068af33dbcdc83c3f2f44b0726e696927e17d843f2f0438392b6f34738a63aa51c5025e6aa4bcbb9e43400b9d68334ff05c18
-DIST pytz-2022.7.tar.gz 313499 BLAKE2B 357ef0107856e02e6c7cf028661d23a36cf3997dd5399f5a89e850b1b2e5330da08c60e10c8a7126d47d1d7e52e95bd29a8d63cdefaf4fced1332602ce0bd0d0 SHA512 48bad8a88e124c0935bf307713659228100c5c38230b3ee7f0aa92e46a1a305c4cebef388208dc7090ba59f51c4816f78789a091d69541615e885a9ad61c475b
+DIST pytz-2024.1.tar.gz 316214 BLAKE2B 1047e11c41d3abeb10cdf55021c8702fbbb0c0dbcafc63c8c044ecf73dda2ac9344fc66e0a239302a0fd12856bbb3a7d49745eae671fac35db9c83fa502e7cf8 SHA512 cc1e4c9b34c62791cea277a0ce188d975e62135cb15bccfb49dc1a9366c7697ead9c67956846699f18b90db4c66e6c5fe1a91a524d01ae821c0eaa613550ea74
diff --git a/dev-python/pytz/files/pytz-2023.2-system-tzinfo.patch b/dev-python/pytz/files/pytz-2023.2-system-tzinfo.patch
new file mode 100644
index 000000000000..85b639f0e615
--- /dev/null
+++ b/dev-python/pytz/files/pytz-2023.2-system-tzinfo.patch
@@ -0,0 +1,52 @@
+Inspired by the Fedora patch:
+https://src.fedoraproject.org/rpms/pytz/blob/rawhide/f/pytz-zoneinfo.patch
+
+_allzones() is based on code in gen_tzinfo.py in upstream repo.
+
+diff --git a/pytz/__init__.py b/pytz/__init__.py
+index f89d0eb..d00f3bb 100644
+--- a/pytz/__init__.py
++++ b/pytz/__init__.py
+@@ -75,6 +75,21 @@ else: # Python 2.x
+ return s.encode('ASCII')
+
+
++def _allzones():
++ for dirpath, dirnames, filenames in os.walk(_PYTZ_TZDATADIR):
++ for f in filenames:
++ p = os.path.join(dirpath, f)
++ with open(p, 'rb') as tzfile:
++ if tzfile.read(4) == b'TZif':
++ yield os.path.relpath(p, _PYTZ_TZDATADIR)
++
++
++_PYTZ_TZDATADIR = os.environ.get('PYTZ_TZDATADIR', '/usr/share/zoneinfo')
++_all_timezones_unchecked = LazyList(x for x in _allzones())
++all_timezones = _all_timezones_unchecked
++all_timezones_set = LazySet(all_timezones)
++
++
+ def open_resource(name):
+ """Open a resource from the zoneinfo subdir for reading.
+
+@@ -88,7 +102,7 @@ def open_resource(name):
+ for part in name_parts:
+ if part == os.path.pardir or os.sep in part:
+ raise ValueError('Bad path segment: %r' % part)
+- zoneinfo_dir = os.environ.get('PYTZ_TZDATADIR', None)
++ zoneinfo_dir = _PYTZ_TZDATADIR
+ if zoneinfo_dir is not None:
+ filename = os.path.join(zoneinfo_dir, *name_parts)
+ else:
+diff --git a/setup.py b/setup.py
+index 24f7f37..b03592c 100644
+--- a/setup.py
++++ b/setup.py
+@@ -21,7 +21,6 @@ for dirpath, dirnames, filenames in os.walk(os.path.join('pytz', 'zoneinfo')):
+ resources.extend([os.path.join(basepath, filename) for filename in filenames])
+ package_data = {'pytz': resources}
+
+-assert len(resources) > 10, 'zoneinfo files not found!'
+
+ setup(
+ name='pytz',
diff --git a/dev-python/pytz/metadata.xml b/dev-python/pytz/metadata.xml
index 5e6047818028..59ff8007ca82 100644
--- a/dev-python/pytz/metadata.xml
+++ b/dev-python/pytz/metadata.xml
@@ -15,7 +15,7 @@
</longdescription>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">stub42/pytz</remote-id>
<remote-id type="pypi">pytz</remote-id>
- <remote-id type="launchpad">pytz</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pytz/pytz-2022.6.ebuild b/dev-python/pytz/pytz-2022.6.ebuild
deleted file mode 100644
index 90addad6269b..000000000000
--- a/dev-python/pytz/pytz-2022.6.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_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="World timezone definitions for Python"
-HOMEPAGE="
- https://pythonhosted.org/pytz/
- https://launchpad.net/pytz/
- https://pypi.org/project/pytz/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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"
-
-DEPEND="
- || (
- >=sys-libs/timezone-data-2017a
- sys-libs/glibc[vanilla]
- )
-"
-RDEPEND="${DEPEND}"
-
-python_test() {
- "${EPYTHON}" pytz/tests/test_tzinfo.py -v ||
- die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/pytz/pytz-2022.7.1.ebuild b/dev-python/pytz/pytz-2022.7.1.ebuild
deleted file mode 100644
index cc252ff26618..000000000000
--- a/dev-python/pytz/pytz-2022.7.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_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="World timezone definitions for Python"
-HOMEPAGE="
- https://pythonhosted.org/pytz/
- https://launchpad.net/pytz/
- https://pypi.org/project/pytz/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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"
-
-DEPEND="
- || (
- >=sys-libs/timezone-data-2017a
- sys-libs/glibc[vanilla]
- )
-"
-RDEPEND="${DEPEND}"
-
-python_test() {
- "${EPYTHON}" pytz/tests/test_tzinfo.py -v ||
- die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/pytz/pytz-2022.7.ebuild b/dev-python/pytz/pytz-2022.7.ebuild
deleted file mode 100644
index cc252ff26618..000000000000
--- a/dev-python/pytz/pytz-2022.7.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_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="World timezone definitions for Python"
-HOMEPAGE="
- https://pythonhosted.org/pytz/
- https://launchpad.net/pytz/
- https://pypi.org/project/pytz/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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"
-
-DEPEND="
- || (
- >=sys-libs/timezone-data-2017a
- sys-libs/glibc[vanilla]
- )
-"
-RDEPEND="${DEPEND}"
-
-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..c376c74dbab9
--- /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..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_deprecation_shim/Manifest b/dev-python/pytz_deprecation_shim/Manifest
deleted file mode 100644
index 6d44d53e6408..000000000000
--- a/dev-python/pytz_deprecation_shim/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pytz_deprecation_shim-0.1.0.post0.tar.gz 60190 BLAKE2B a6d186ca6fff17a3fb787ad6164fcf45fbac272e6123491a6822699cf54a115c9941f2b1ee3d227f531a0ab1d11846300dc24974611cc1671c77405606704754 SHA512 201eea777f4da9def1b060911da5eaa89652f6716d5608278fdc94a2f67af5ea23a8b667cb181e03d5edd7f0a07f4954047621668f4c2e7bb325dd07f454d0b6
diff --git a/dev-python/pytz_deprecation_shim/metadata.xml b/dev-python/pytz_deprecation_shim/metadata.xml
deleted file mode 100644
index 12126b02ffe2..000000000000
--- a/dev-python/pytz_deprecation_shim/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">pytz-deprecation-shim</remote-id>
- <remote-id type="github">pganssle/pytz-deprecation-shim</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pytz_deprecation_shim/pytz_deprecation_shim-0.1.0_p0-r2.ebuild b/dev-python/pytz_deprecation_shim/pytz_deprecation_shim-0.1.0_p0-r2.ebuild
deleted file mode 100644
index c5aba1a194c7..000000000000
--- a/dev-python/pytz_deprecation_shim/pytz_deprecation_shim-0.1.0_p0-r2.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/_p/.post}
-
-DESCRIPTION="Shims to make deprecation of pytz easier"
-HOMEPAGE="
- https://github.com/pganssle/pytz-deprecation-shim/
- https://pypi.org/project/pytz-deprecation-shim/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/backports-zoneinfo[${PYTHON_USEDEP}]
- ' 3.8)
- sys-libs/timezone-data
-"
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/sphinx_rtd_theme
-
-src_prepare() {
- # apparently used only as a fallback
- sed -i -e '/tzdata/d' setup.cfg || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pytzdata/pytzdata-2020.1-r2.ebuild b/dev-python/pytzdata/pytzdata-2020.1-r2.ebuild
index 0be5020358a0..54007f31b6f2 100644
--- a/dev-python/pytzdata/pytzdata-2020.1-r2.ebuild
+++ b/dev-python/pytzdata/pytzdata-2020.1-r2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
dev-python/cleo[${PYTHON_USEDEP}]
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 18e244148235..9c1929203e47 100644
--- a/dev-python/pyu2f/pyu2f-0.1.5-r1.ebuild
+++ b/dev-python/pyu2f/pyu2f-0.1.5-r1.ebuild
@@ -1,20 +1,26 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 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 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"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
RDEPEND="
dev-python/six[${PYTHON_USEDEP}]
@@ -39,5 +45,9 @@ python_prepare_all() {
-e "s:RemoveObject:remove_object:" \
-e "s:SetContents:set_contents:" \
-i pyu2f/tests/hid/linux_test.py || die
+ 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/Manifest b/dev-python/pyuca/Manifest
new file mode 100644
index 000000000000..66c81e907e29
--- /dev/null
+++ b/dev-python/pyuca/Manifest
@@ -0,0 +1 @@
+DIST pyuca-1.2.gh.tar.gz 20114014 BLAKE2B cb52b23b367a3e2148442c78138a05112543ef40b44a83a5242d566fdce99a9ccd9f004d34b48f05be7d44417a168598c69c073c3fa6551e4cbb4d1e3a5d1e42 SHA512 dd3cc69271bb2c662beee4585ee3374a0d6e99e14688da3805f1278aa231c71577e2738b5c41c0d8fd562abbba618651214ac4c88299ead0c61cb8a4460c9063
diff --git a/dev-python/pyuca/metadata.xml b/dev-python/pyuca/metadata.xml
new file mode 100644
index 000000000000..a4391aaa364e
--- /dev/null
+++ b/dev-python/pyuca/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">pyuca</remote-id>
+ <remote-id type="github">jtauber/pyuca</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyuca/pyuca-1.2.ebuild b/dev-python/pyuca/pyuca-1.2.ebuild
new file mode 100644
index 000000000000..a19f3c52227c
--- /dev/null
+++ b/dev-python/pyuca/pyuca-1.2.ebuild
@@ -0,0 +1,25 @@
+# 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="Python implementation of the Unicode Collation Algorithm"
+HOMEPAGE="
+ https://github.com/jtauber/pyuca
+ https://pypi.org/project/pyuca/
+"
+SRC_URI="
+ https://github.com/jtauber/pyuca/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pyudev/Manifest b/dev-python/pyudev/Manifest
index 5c7dc36e748b..b2322adc55a9 100644
--- a/dev-python/pyudev/Manifest
+++ b/dev-python/pyudev/Manifest
@@ -1 +1 @@
-DIST pyudev-0.24.0.tar.gz 85887 BLAKE2B 82f23a1bbcd8ce5dd9e6f0551d967e7209067541185410668944734a5f0e17a907d6143cee81decb868d64cf8a0fe642dba7dc600f5ae3f03d9487f882d0aef3 SHA512 c711053a58cd857aff9e1df116ff11cfc17426d9f5a092810403150bec36239213a87b428bc31ec862b75b64a027f2d21081e15f76d914b67a9ddf39b0b73379
+DIST pyudev-0.24.1.tar.gz 85963 BLAKE2B 86c6d04691c99671735915564f58b4ef892e45925047487500bc7005343db7145941dde270f4ce9279881bd9bbf203965082d54b34b396febff52f387a1c26ac SHA512 10e32d9a74884000fbf8b86bee60530f6e7b936b990e7ae3b76099ace71834602de404721101c1076ef57365622a9a8f4819d57f58508ced09a21b7d50326886
diff --git a/dev-python/pyudev/pyudev-0.24.0.ebuild b/dev-python/pyudev/pyudev-0.24.0.ebuild
deleted file mode 100644
index e7e594b43a02..000000000000
--- a/dev-python/pyudev/pyudev-0.24.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_{9..11} )
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Python binding to libudev"
-HOMEPAGE="https://pyudev.readthedocs.io/en/latest/ https://github.com/pyudev/pyudev"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
-IUSE="qt5"
-
-# Known to fail on test system that aren't exactly the same devices as on CI
-RESTRICT="test"
-
-RDEPEND="virtual/udev"
-BDEPEND="
- test? (
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( CHANGES.rst README.rst )
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- if use test; then
- ewarn "If your PORTAGE_TMPDIR is longer in length then '/var/tmp/',"
- ewarn "change it to /var/tmp to ensure tests will pass."
- fi
-
- # tests are known to pass then fail on alternate runs
- # tests: fix run_path
- sed -e "s|== \('/run/udev'\)|in (\1,'/dev/.udev')|g" \
- -i tests/test_core.py || die
-
- # disable usage of hypothesis timeouts (too short)
- sed -e '/@settings/s/(/(deadline=None,/' -i tests{,/_device_tests}/*.py || die
-
- distutils-r1_python_prepare_all
-}
-
-pkg_postinst() {
- optfeature "PyQt5 bindings" "dev-python/PyQt5"
-}
diff --git a/dev-python/pyudev/pyudev-0.24.1.ebuild b/dev-python/pyudev/pyudev-0.24.1.ebuild
new file mode 100644
index 000000000000..ff7981c2c97a
--- /dev/null
+++ b/dev-python/pyudev/pyudev-0.24.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_{9..12} )
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python binding to libudev"
+HOMEPAGE="https://pyudev.readthedocs.io/en/latest/ https://github.com/pyudev/pyudev"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="qt5"
+
+# Known to fail on test system that aren't exactly the same devices as on CI
+RESTRICT="test"
+
+RDEPEND="virtual/udev"
+BDEPEND="
+ test? (
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( CHANGES.rst README.rst )
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ if use test; then
+ ewarn "If your PORTAGE_TMPDIR is longer in length then '/var/tmp/',"
+ ewarn "change it to /var/tmp to ensure tests will pass."
+ fi
+
+ # tests are known to pass then fail on alternate runs
+ # tests: fix run_path
+ sed -e "s|== \('/run/udev'\)|in (\1,'/dev/.udev')|g" \
+ -i tests/test_core.py || die
+
+ # disable usage of hypothesis timeouts (too short)
+ sed -e '/@settings/s/(/(deadline=None,/' -i tests{,/_device_tests}/*.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+pkg_postinst() {
+ optfeature "PyQt5 bindings" "dev-python/PyQt5"
+}
diff --git a/dev-python/pyupgrade/Manifest b/dev-python/pyupgrade/Manifest
index a71a06294e2b..c051fd276089 100644
--- a/dev-python/pyupgrade/Manifest
+++ b/dev-python/pyupgrade/Manifest
@@ -1 +1,2 @@
-DIST pyupgrade-3.3.1.gh.tar.gz 62720 BLAKE2B e1b1d899bb46871f0a28ac3423efbcbd91e0bbdac2ab3054fc19434c67a8702e4967d3cd7674284022e7b7847dc947c8d1736eeee78d8a9416de2b7c25eae715 SHA512 1f062a884061e77ec11e6dd1cc1bedd2680b443b1268b30a9f6bfa2954ef3ff8a6dd1108abdb3a9b0acc937456fe6621a5ad3b9e9ad5c1696e95d0903859ff5f
+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
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.3.1.ebuild b/dev-python/pyupgrade/pyupgrade-3.3.1.ebuild
deleted file mode 100644
index 5afda3851ff0..000000000000
--- a/dev-python/pyupgrade/pyupgrade-3.3.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-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/
-"
-SRC_URI="
- https://github.com/asottile/pyupgrade/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/tokenize-rt[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyusb/files/pyusb-1.2.1-setuptools.patch b/dev-python/pyusb/files/pyusb-1.2.1-setuptools.patch
new file mode 100644
index 000000000000..26b5e204d648
--- /dev/null
+++ b/dev-python/pyusb/files/pyusb-1.2.1-setuptools.patch
@@ -0,0 +1,37 @@
+https://github.com/pyusb/pyusb/commit/777dea9d718e70d7323c821d4497c706b35742da
+
+From 777dea9d718e70d7323c821d4497c706b35742da Mon Sep 17 00:00:00 2001
+From: Jonas Malaco <jonas@protocubo.io>
+Date: Tue, 12 Jul 2022 03:12:50 -0300
+Subject: [PATCH] version: handle when patch component is missing
+
+actions/checkout@v3 (by default) no longer fetches the tags while
+checking out the repository. This, combined with our use of
+setuptools_scm post-release scheme, results in tox trying to run the
+tests with version strings that look something like
+
+ pyusb-0.0.post1+g3678fc1.zip
+
+and breaking _get_extended_version_info().
+
+Make _get_extended_version_info() robust against this case. This is
+preferable to configuring actions/checkout@v3 to fetch the tags as,
+being related shallow clones, it might also happen in other contexts.
+
+Fixes: 678fc1867f4 ("github: update to actions/checkout@v3")
+--- a/usb/__init__.py
++++ b/usb/__init__.py
+@@ -55,9 +55,9 @@
+
+ def _get_extended_version_info(version):
+ import re
+- m = re.match(r'(\d+)\.(\d+)\.(\d+)[.-]?(.*)', version)
+- major, minor, patch, suffix = m.groups()
+- return int(major), int(minor), int(patch), suffix
++ m = re.match(r'(\d+)\.(\d+)(\.(\d+))?[.-]?(.*)', version)
++ major, minor, _, patch, suffix = m.groups()
++ return int(major), int(minor), int(patch or "0"), suffix
+
+ extended_version_info = _get_extended_version_info(__version__)
+ version_info = extended_version_info[:3]
+
diff --git a/dev-python/pyusb/pyusb-1.2.1-r1.ebuild b/dev-python/pyusb/pyusb-1.2.1-r1.ebuild
new file mode 100644
index 000000000000..0af103cb0940
--- /dev/null
+++ b/dev-python/pyusb/pyusb-1.2.1-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=( python3_{10..12} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="USB support for Python"
+HOMEPAGE="https://pyusb.github.io/pyusb/ https://pypi.org/project/pyusb/"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~riscv x86"
+
+### This version is compatible with both 0.X and 1.X versions of libusb
+DEPEND="virtual/libusb:="
+RDEPEND="${DEPEND}"
+
+DOCS=( README.rst docs/tutorial.rst )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-setuptools.patch
+)
+
+python_test() {
+ cd tests || die
+ "${EPYTHON}" testall.py || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/pyusb/pyusb-1.2.1.ebuild b/dev-python/pyusb/pyusb-1.2.1.ebuild
deleted file mode 100644
index 900eb0c4252d..000000000000
--- a/dev-python/pyusb/pyusb-1.2.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="USB support for Python"
-HOMEPAGE="https://pyusb.github.io/pyusb/ https://pypi.org/project/pyusb/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~riscv x86"
-
-### This version is compatible with both 0.X and 1.X versions of libusb
-DEPEND="virtual/libusb:="
-RDEPEND="${DEPEND}"
-
-DOCS=( README.rst docs/tutorial.rst )
-
-python_test() {
- cd tests || die
- "${EPYTHON}" testall.py || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/pyvirtualdisplay/Manifest b/dev-python/pyvirtualdisplay/Manifest
index 5bf127b59df2..0516d44761ae 100644
--- a/dev-python/pyvirtualdisplay/Manifest
+++ b/dev-python/pyvirtualdisplay/Manifest
@@ -1 +1 @@
-DIST PyVirtualDisplay-3.0.tar.gz 41134 BLAKE2B f80faa66b6b55ac1c48a2e249e48e52f63327a1acac2020d157d0e6b1e8ff3d46ebe027ff59a3356321688a2c815e2e34552aa9de2355e9e427cd82032eb348a SHA512 2ccce9ca6f36dddb15a992f2d4961f203d755ac4df1944f67bfab906061ae30c78db5d1cb050feddb45e28bbe874b250ce7ef1886cc52239fc0a784dc3be1198
+DIST PyVirtualDisplay-3.0.gh.tar.gz 41134 BLAKE2B f80faa66b6b55ac1c48a2e249e48e52f63327a1acac2020d157d0e6b1e8ff3d46ebe027ff59a3356321688a2c815e2e34552aa9de2355e9e427cd82032eb348a SHA512 2ccce9ca6f36dddb15a992f2d4961f203d755ac4df1944f67bfab906061ae30c78db5d1cb050feddb45e28bbe874b250ce7ef1886cc52239fc0a784dc3be1198
diff --git a/dev-python/pyvirtualdisplay/metadata.xml b/dev-python/pyvirtualdisplay/metadata.xml
index 3bf06c9b674b..b48fa1e2ae60 100644
--- a/dev-python/pyvirtualdisplay/metadata.xml
+++ b/dev-python/pyvirtualdisplay/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>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/pyvirtualdisplay/pyvirtualdisplay-3.0.ebuild b/dev-python/pyvirtualdisplay/pyvirtualdisplay-3.0.ebuild
index 1dabfe0a517c..d2c954674162 100644
--- a/dev-python/pyvirtualdisplay/pyvirtualdisplay-3.0.ebuild
+++ b/dev-python/pyvirtualdisplay/pyvirtualdisplay-3.0.ebuild
@@ -4,37 +4,42 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
MY_P=PyVirtualDisplay-${PV}
DESCRIPTION="Python wrapper for Xvfb, Xephyr and Xvnc"
-HOMEPAGE="https://github.com/ponty/PyVirtualDisplay"
+HOMEPAGE="
+ https://github.com/ponty/PyVirtualDisplay/
+ https://pypi.org/project/PyVirtualDisplay/
+"
SRC_URI="
https://github.com/ponty/PyVirtualDisplay/archive/${PV}.tar.gz
- -> ${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
BDEPEND="
test? (
- $(python_gen_cond_dep '
- dev-python/backports-tempfile[${PYTHON_USEDEP}]
- ' 3.8)
dev-python/easyprocess[${PYTHON_USEDEP}]
dev-python/entrypoint2[${PYTHON_USEDEP}]
dev-python/path[${PYTHON_USEDEP}]
dev-python/pillow[xcb,${PYTHON_USEDEP}]
dev-python/psutil[${PYTHON_USEDEP}]
dev-python/pyscreenshot[${PYTHON_USEDEP}]
- ~dev-python/vncdotool-0.13.0[${PYTHON_USEDEP}]
x11-apps/xmessage
x11-base/xorg-server[xvfb,xephyr]
- x11-misc/x11vnc
- )"
+ )
+"
distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # require old vncdotool
+ tests/test_xvnc.py
+)
diff --git a/dev-python/pywavelets/Manifest b/dev-python/pywavelets/Manifest
index 10996e0bb0ab..2339ca655489 100644
--- a/dev-python/pywavelets/Manifest
+++ b/dev-python/pywavelets/Manifest
@@ -1 +1,2 @@
-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 3b8256a5274e..000000000000
--- a/dev-python/pywavelets/pywavelets-1.4.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-MY_PN="${PN/pyw/PyW}"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Discrete Wavelet Transforms in Python"
-HOMEPAGE="
- https://pywavelets.readthedocs.io/en/latest/
- https://github.com/PyWavelets/pywt/
-"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~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
new file mode 100644
index 000000000000..a1d0d8775cd4
--- /dev/null
+++ b/dev-python/pywavelets/pywavelets-1.5.0.ebuild
@@ -0,0 +1,49 @@
+# 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/
+ 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-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..c5177771516c
--- /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..12} )
+
+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/Manifest b/dev-python/pywayland/Manifest
index 979b3c791fb9..52f42aeeed4d 100644
--- a/dev-python/pywayland/Manifest
+++ b/dev-python/pywayland/Manifest
@@ -1 +1 @@
-DIST pywayland-0.4.15.gh.tar.gz 61084 BLAKE2B 2417aa57942f5a7810db3525d16070ed81613bd1ab8f864a95e9f1835f9793348ad1afd2dbaeed2bb08f5bcb58777ab545f8ef7cb70903703c89998095724f8c SHA512 c45d2a24c487cf1785b7bc488808157e2dcae630438c289864df615c98278e7c03de21431fa622e0917713130f5583ff5cb3181c0a7f595cebba2cdeec36a7cf
+DIST pywayland-0.4.17.gh.tar.gz 61171 BLAKE2B f190107ab361ec9c0a568d22a104fa06a7e52a348a6226c30c2ae542b77e5b21b4a389ad745efb864b58cff9e77cb22ff43fd6614859cb138d398a84b99614a5 SHA512 9ca1e30b56f6d1447744451d15d84041d5ce6ce64811ca0e395822731f0c7cd1d8571f640b89771d8f5e9da1d82385734974e10e68ccecffc0f9600a83d2478b
diff --git a/dev-python/pywayland/pywayland-0.4.15.ebuild b/dev-python/pywayland/pywayland-0.4.15.ebuild
deleted file mode 100644
index c1721c9e0303..000000000000
--- a/dev-python/pywayland/pywayland-0.4.15.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_{9..11} pypy3 )
-inherit distutils-r1 xdg-utils
-
-DESCRIPTION="Python bindings for the libwayland library"
-HOMEPAGE="
- https://pywayland.readthedocs.io/en/latest/
- https://github.com/flacjacket/pywayland
- https://pypi.org/project/pywayland/
-"
-SRC_URI="
- https://github.com/flacjacket/pywayland/archive/refs/tags/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
-
-RDEPEND="
- dev-libs/wayland
- virtual/python-cffi[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-BDEPEND="dev-libs/wayland-protocols
- dev-util/wayland-scanner"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Needed for tests (XDG_RUNTIME_DIR)
- xdg_environment_reset
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- # No die deliberately as sometimes it doesn't exist
- rm -r pywayland
-
- epytest
-}
diff --git a/dev-python/pywayland/pywayland-0.4.17.ebuild b/dev-python/pywayland/pywayland-0.4.17.ebuild
new file mode 100644
index 000000000000..b4fdba82692d
--- /dev/null
+++ b/dev-python/pywayland/pywayland-0.4.17.ebuild
@@ -0,0 +1,55 @@
+# 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 xdg-utils
+
+DESCRIPTION="Python bindings for the libwayland library"
+HOMEPAGE="
+ https://pywayland.readthedocs.io/en/latest/
+ https://github.com/flacjacket/pywayland
+ https://pypi.org/project/pywayland/
+"
+SRC_URI="
+ https://github.com/flacjacket/pywayland/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~riscv ~x86"
+
+RDEPEND="
+ dev-libs/wayland
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+DEPEND="
+ ${RDEPEND}
+ dev-libs/wayland-protocols
+"
+BDEPEND="
+ dev-util/wayland-scanner
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Needed for tests (XDG_RUNTIME_DIR)
+ xdg_environment_reset
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # No die deliberately as sometimes it doesn't exist
+ rm -rf pywayland || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/pywinrm/pywinrm-0.4.3.ebuild b/dev-python/pywinrm/pywinrm-0.4.3.ebuild
index 80227febbf16..18eabe625b95 100644
--- a/dev-python/pywinrm/pywinrm-0.4.3.ebuild
+++ b/dev-python/pywinrm/pywinrm-0.4.3.ebuild
@@ -4,17 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Python client for the Windows Remote Management (WinRM) service"
-HOMEPAGE="https://github.com/diyan/pywinrm/"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/diyan/pywinrm/
+ https://pypi.org/project/pywinrm/
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~riscv"
+KEYWORDS="amd64 arm64 ~riscv"
IUSE="kerberos"
RDEPEND="
@@ -23,7 +25,7 @@ RDEPEND="
dev-python/six[${PYTHON_USEDEP}]
dev-python/xmltodict[${PYTHON_USEDEP}]
kerberos? (
- <dev-python/pykerberos-2.0.0[${PYTHON_USEDEP}]
+ <dev-python/kerberos-2.0.0[${PYTHON_USEDEP}]
dev-python/requests-credssp[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/pywlroots/Manifest b/dev-python/pywlroots/Manifest
index 42da54f56046..419d901880f2 100644
--- a/dev-python/pywlroots/Manifest
+++ b/dev-python/pywlroots/Manifest
@@ -1 +1,3 @@
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.16.7.tar.gz 98542 BLAKE2B bcc20d31e4423c6f486f6bcbfecb1db1995cc3d58e98205f63468b4b93b3f386f67ff22e8a99cd419b7b31f7c0287a61f8c4e1fed6e7af525244e94895ba55d6 SHA512 05e75f70ca6e9fcf7cfd18fb55411fbf3ef9d0b95d11afdab0ad95f2016623ac4e097b600e3d7a6f880be0edc6a1ccfaa48364ec02bd3c46c44f7c0de3fe96ac
diff --git a/dev-python/pywlroots/pywlroots-0.15.24-r2.ebuild b/dev-python/pywlroots/pywlroots-0.15.24-r2.ebuild
new file mode 100644
index 000000000000..6c3c93aba474
--- /dev/null
+++ b/dev-python/pywlroots/pywlroots-0.15.24-r2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-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 binding to the wlroots library using cffi"
+HOMEPAGE="
+ https://github.com/flacjacket/pywlroots
+ https://pypi.org/project/pywlroots/
+"
+SRC_URI="
+ https://github.com/flacjacket/pywlroots/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~riscv ~x86"
+
+# See README for wlroots dep
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
+ >=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
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.15.24-no-import-version-check.patch
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ # No die deliberately as sometimes it doesn't exist
+ rm -r wlroots
+
+ epytest
+}
diff --git a/dev-python/pywlroots/pywlroots-0.15.24.ebuild b/dev-python/pywlroots/pywlroots-0.15.24.ebuild
deleted file mode 100644
index bdc4eb178000..000000000000
--- a/dev-python/pywlroots/pywlroots-0.15.24.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="Python binding to the wlroots library using cffi"
-HOMEPAGE="
- https://github.com/flacjacket/pywlroots
- https://pypi.org/project/pywlroots/
-"
-SRC_URI="
- https://github.com/flacjacket/pywlroots/archive/refs/tags/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
-
-# See README for wlroots dep
-RDEPEND="
- >=dev-python/pywayland-0.4.14[${PYTHON_USEDEP}]
- >=dev-python/xkbcommon-0.2[${PYTHON_USEDEP}]
- =gui-libs/wlroots-$(ver_cut 1-2)*:=
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.15.24-no-import-version-check.patch
-)
-
-distutils_enable_tests pytest
-
-python_test() {
- # No die deliberately as sometimes it doesn't exist
- rm -r wlroots
-
- epytest
-}
diff --git a/dev-python/pywlroots/pywlroots-0.16.6-r2.ebuild b/dev-python/pywlroots/pywlroots-0.16.6-r2.ebuild
new file mode 100644
index 000000000000..bc058a1c6aff
--- /dev/null
+++ b/dev-python/pywlroots/pywlroots-0.16.6-r2.ebuild
@@ -0,0 +1,55 @@
+# 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"
+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/pywlroots/pywlroots-0.16.7.ebuild b/dev-python/pywlroots/pywlroots-0.16.7.ebuild
new file mode 100644
index 000000000000..9a4044ba719c
--- /dev/null
+++ b/dev-python/pywlroots/pywlroots-0.16.7.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..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"
+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/Manifest b/dev-python/pyx/Manifest
index 8bd5de6708f1..0af7a58528ac 100644
--- a/dev-python/pyx/Manifest
+++ b/dev-python/pyx/Manifest
@@ -1,2 +1 @@
-DIST W3C_SVG_11_TestSuite.tar.gz 14651624 BLAKE2B 680059d8b20775725cebb3aed4444acbc3222fde880ba93ee5186c99fc12afa8df2c790bdacbcd6e5ff4ab00e697d8317a9a6ae3039b8b2f02cf7774a18ca533 SHA512 e28e3996284c3f3e423e2b6957cddea71980bcb781d4180894e08f37a7ecce9c6021917329d6d433dcba792cbabb15c7cd503076e616ba5189193a5c554374ca
-DIST pyx-0.15_p1.tar.bz2 746171 BLAKE2B 5b2325c7bb279e4f6425f0ba7f3808b7e540c7455738c617efdf1ad9d383a466d1b67b90e20e0bdbfa7d2fc56f1c80a4ae2badc5ef78f63ec410370d516f4ab3 SHA512 97809a38029011735d2cdea8f7e8326890d748d4159f44379f89c396b7ea4d2a026ca3370bb069974b07215da91a47b9334d8dd1f7db954c2dd272122bde8ff0
+DIST pyx-0.16.gh.tar.gz 626703 BLAKE2B fa1f1a54e958fa4c1c3efd1df4cf744a1d591ac17671a6da4b2d2f15ae5f2a6cb6260bd1c5f189c60b0683e4f54545f5d3c0ed0c7698f14fa390396c18bf4ebd SHA512 613212a7a7d983432aab574bdccd402132da2b1ae563cb672e2766dbcda3ce91977780ab5e4097de77e6499d36537b54089327e448cf4e7855889087c3b9a9f8
diff --git a/dev-python/pyx/pyx-0.15_p1.ebuild b/dev-python/pyx/pyx-0.15_p1.ebuild
deleted file mode 100644
index 2199a00d3da3..000000000000
--- a/dev-python/pyx/pyx-0.15_p1.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
-#DISTUTILS_USE_SETUPTOOLS=no
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python package for the generation of encapsulated PostScript figures"
-HOMEPAGE="
- https://github.com/pyx-project/pyx
- https://pyx-project.org/
- https://pypi.org/project/PyX/"
-# git 0f28343
-SRC_URI="https://dev.gentoo.org/~grozin/${P}.tar.bz2
- test? ( https://www.w3.org/Graphics/SVG/Test/20110816/archives/W3C_SVG_11_TestSuite.tar.gz )"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-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}]
- ')
- )
- test? (
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx_selective_exclude[${PYTHON_USEDEP}]
- dev-python/testfixtures[${PYTHON_USEDEP}]
- )"
-
-PATCHES=( "${FILESDIR}"/pyx-0.14.1-unicode-latex.patch )
-
-python_check_deps() {
- use doc || return 0
- python_has_version "dev-python/sphinx[latex,${PYTHON_USEDEP}]" \
- "dev-python/sphinx_selective_exclude[${PYTHON_USEDEP}]"
-}
-
-src_unpack() {
- unpack "${P}.tar.bz2"
-
- if use test; then
- mkdir "${S}"/test/svg/suite || die
- cd "${S}"/test/svg/suite || die
- unpack W3C_SVG_11_TestSuite.tar.gz
- fi
-}
-
-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"
- # stop test suite from downloading files
- sed -i \
- -e '/suite:/,$d' test/svg/Makefile || die
- 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_test() {
- emake -C test
-}
-
-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/pyx/pyx-0.16-r1.ebuild b/dev-python/pyx/pyx-0.16-r1.ebuild
new file mode 100644
index 000000000000..f5fdbc8ddfb9
--- /dev/null
+++ b/dev-python/pyx/pyx-0.16-r1.ebuild
@@ -0,0 +1,68 @@
+# 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..12} )
+
+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/metadata.xml b/dev-python/pyxDamerauLevenshtein/metadata.xml
index 053dcd413581..dc344125bd85 100644
--- a/dev-python/pyxDamerauLevenshtein/metadata.xml
+++ b/dev-python/pyxDamerauLevenshtein/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>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.7.1.ebuild b/dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.7.1.ebuild
index 77c0d0c29f9a..1b2e371e0d5d 100644
--- a/dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.7.1.ebuild
+++ b/dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.7.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10,11,12,12} )
inherit distutils-r1
diff --git a/dev-python/pyxattr/Manifest b/dev-python/pyxattr/Manifest
index 198aa8cf3450..ae1905c8549a 100644
--- a/dev-python/pyxattr/Manifest
+++ b/dev-python/pyxattr/Manifest
@@ -1 +1 @@
-DIST pyxattr-0.8.0.tar.gz 35720 BLAKE2B 776cacc68a2dc3e9d60b026d9d0dd3b3ff362445c8f9eb205d1799378b1cb1ab0e6af5fe9bc4f295e428195d0431287f62f6fb735a37831e3b36b7f53f5535a6 SHA512 921af6341cdfdfccea0c46e02742d051de00c7eca75c52f9fcc1618217c41869da957dd6ce03fa7d1367b86b44b49b5263ba65de277bf2453807c6f69a67141b
+DIST pyxattr-0.8.1.tar.gz 38443 BLAKE2B 2b044f5774c4b1e95a711e3bdad0c2f604d330865155360b8b6e08377c78d058e17a7d3f4792d6ef932b81f92b1671277663a36652d60a25aaa658a2e545f8a6 SHA512 98ba196b29b431ecacf0257712aa219175ba030e1c62fb388b4f3109d2d6b14ef09ed38f85177bd2991d3109c0af4cd2a108d17886dd51549e817727714f72f1
diff --git a/dev-python/pyxattr/pyxattr-0.8.0.ebuild b/dev-python/pyxattr/pyxattr-0.8.0.ebuild
deleted file mode 100644
index a79f981c4b44..000000000000
--- a/dev-python/pyxattr/pyxattr-0.8.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python interface to xattr"
-HOMEPAGE="
- https://pyxattr.k1024.org/
- https://github.com/iustin/pyxattr/
- https://pypi.org/project/pyxattr/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-DEPEND="
- sys-apps/attr:=
-"
-RDEPEND="
- ${DEPEND}
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc dev-python/recommonmark
-
-python_prepare_all() {
- sed -i -e 's:, "-Werror"::' setup.py || die
- # Bug 548486
- sed -e "s:html_theme = 'default':html_theme = 'classic':" \
- -i doc/conf.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/pyxattr/pyxattr-0.8.1.ebuild b/dev-python/pyxattr/pyxattr-0.8.1.ebuild
new file mode 100644
index 000000000000..53996437155c
--- /dev/null
+++ b/dev-python/pyxattr/pyxattr-0.8.1.ebuild
@@ -0,0 +1,40 @@
+# 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 interface to xattr"
+HOMEPAGE="
+ https://pyxattr.k1024.org/
+ https://github.com/iustin/pyxattr/
+ https://pypi.org/project/pyxattr/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ sys-apps/attr:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx doc dev-python/recommonmark
+
+python_prepare_all() {
+ sed -i -e 's:, "-Werror"::' setup.py || die
+ # Bug 548486
+ sed -e "s:html_theme = 'default':html_theme = 'classic':" \
+ -i doc/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/pyxdg/files/pyxdg-0.28-py3.12.patch b/dev-python/pyxdg/files/pyxdg-0.28-py3.12.patch
new file mode 100644
index 000000000000..20b7a5b514bc
--- /dev/null
+++ b/dev-python/pyxdg/files/pyxdg-0.28-py3.12.patch
@@ -0,0 +1,12 @@
+diff -r -U3 pyxdg-rel-0.28.orig/test/test_basedirectory.py pyxdg-rel-0.28/test/test_basedirectory.py
+--- pyxdg-rel-0.28.orig/test/test_basedirectory.py 2022-06-05 18:34:18.000000000 +0700
++++ pyxdg-rel-0.28/test/test_basedirectory.py 2023-10-28 22:41:56.975921683 +0700
+@@ -9,7 +9,7 @@
+ try:
+ reload
+ except NameError:
+- from imp import reload
++ from importlib import reload
+
+ class BaseDirectoryTest(unittest.TestCase):
+ def setUp(self):
diff --git a/dev-python/pyxdg/pyxdg-0.28-r1.ebuild b/dev-python/pyxdg/pyxdg-0.28-r1.ebuild
new file mode 100644
index 000000000000..2849938767ca
--- /dev/null
+++ b/dev-python/pyxdg/pyxdg-0.28-r1.ebuild
@@ -0,0 +1,29 @@
+# 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
+
+MY_P="${PN}-rel-${PV}"
+DESCRIPTION="A Python module to deal with freedesktop.org specifications"
+HOMEPAGE="
+ https://freedesktop.org/wiki/Software/pyxdg/
+ https://pypi.org/project/pyxdg/
+"
+SRC_URI="
+ https://github.com/takluyver/pyxdg/archive/rel-${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+
+PATCHES=( "${FILESDIR}"/${P}-py3.12.patch )
+
+distutils_enable_tests pytest
diff --git a/dev-python/pyxdg/pyxdg-0.28.ebuild b/dev-python/pyxdg/pyxdg-0.28.ebuild
deleted file mode 100644
index 8805770dd480..000000000000
--- a/dev-python/pyxdg/pyxdg-0.28.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..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-MY_P="${PN}-rel-${PV}"
-DESCRIPTION="A Python module to deal with freedesktop.org specifications"
-HOMEPAGE="
- https://freedesktop.org/wiki/Software/pyxdg/
- https://pypi.org/project/pyxdg/
-"
-SRC_URI="
- https://github.com/takluyver/pyxdg/archive/rel-${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyyaml/Manifest b/dev-python/pyyaml/Manifest
index a415685ef288..afe749130ef2 100644
--- a/dev-python/pyyaml/Manifest
+++ b/dev-python/pyyaml/Manifest
@@ -1 +1 @@
-DIST pyyaml-6.0.gh.tar.gz 119855 BLAKE2B 286678ac81f2e6c252d285d2f98dab98894787e3aa164a29a697986f56200c7b71b0a768edf6d50e61065efcd054078673270872162a4975409928d7dd67aacc SHA512 cbcacc3560a035e2082867e93a9733f8660ea4c7f60573d07642f33a5453dcdc88d67299c3bcb97c27b843202a45d40de7444eb5e815bd4955129c9fc8ae04ad
+DIST pyyaml-6.0.1.gh.tar.gz 120376 BLAKE2B c34f2169f6eb6aa718aeb53dbfaf02590e11e504d16cc85a802e1a1191f296ef9aa2501db683e1a48173ce6adeaeca09f2ab989581dcf1c1ba4004831bb4cf47 SHA512 1c74a92a4ad7d47854dc7bcb2e89b3c8e0b14fa815c7dbfbc22b24480dbba6c81e971c77ee384c494a960914b95f06edf943d7431925a5ed674a0ba830d258e0
diff --git a/dev-python/pyyaml/files/pyyaml-6.0.1-cython3.patch b/dev-python/pyyaml/files/pyyaml-6.0.1-cython3.patch
new file mode 100644
index 000000000000..346339916f17
--- /dev/null
+++ b/dev-python/pyyaml/files/pyyaml-6.0.1-cython3.patch
@@ -0,0 +1,36 @@
+https://bugs.gentoo.org/898680
+https://github.com/yaml/pyyaml/pull/731
+
+From 17dc5b6cd96dcfe64fd71789c771ca9b96d260e5 Mon Sep 17 00:00:00 2001
+From: "Andrew J. Hesford" <ajh@sideband.org>
+Date: Fri, 21 Jul 2023 09:50:00 -0400
+Subject: [PATCH] Fix builds with Cython 3
+
+This is a *de minimis* fix for building with Cython 3. Recent Cython<3
+releases provided `Cython.Distutils.build_ext` as an alias to
+`Cython.Distutils.old_build_ext.old_build_ext`; Cython 3 drops this
+alias and instead uses a wholly new `Cython.Distutils.build_ext` that
+does not provide the `cython_sources` function used in `setup.py`.
+
+Explicitly importing `old_build_ext` preserves the existing behavior for
+recent Cython<3 and uses the correct behavior for Cython 3. Should the
+import fail (*e.g.*, because the version of Cython available predates
+the availability of `old_build_ext`), the import falls back to just
+`Cython.Distutils.build_ext`.
+
+Signed-off-by: Andrew J. Hesford <ajh@sideband.org>
+--- a/setup.py
++++ b/setup.py
+@@ -82,7 +82,11 @@
+ with_cython = True
+ try:
+ from Cython.Distutils.extension import Extension as _Extension
+- from Cython.Distutils import build_ext as _build_ext
++ try:
++ from Cython.Distutils.old_build_ext import old_build_ext as _build_ext
++ except ImportError:
++ from Cython.Distutils import build_ext as _build_ext
++
+ with_cython = True
+ except ImportError:
+ if with_cython:
diff --git a/dev-python/pyyaml/pyyaml-6.0-r1.ebuild b/dev-python/pyyaml/pyyaml-6.0-r1.ebuild
deleted file mode 100644
index 5af6e132dc36..000000000000
--- a/dev-python/pyyaml/pyyaml-6.0-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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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
- -> ${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-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
-IUSE="examples"
-
-DEPEND="
- dev-libs/libyaml:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests setup.py
-
-src_configure() {
- export PYYAML_FORCE_CYTHON=1
-}
-
-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/pyyaml-6.0.1-r1.ebuild b/dev-python/pyyaml/pyyaml-6.0.1-r1.ebuild
new file mode 100644
index 000000000000..e99a4b526dcc
--- /dev/null
+++ b/dev-python/pyyaml/pyyaml-6.0.1-r1.ebuild
@@ -0,0 +1,54 @@
+# 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="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
+ -> ${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"
+IUSE="examples"
+
+DEPEND="
+ dev-libs/libyaml:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.0.1-cython3.patch
+)
+
+distutils_enable_tests setup.py
+
+src_configure() {
+ export PYYAML_FORCE_CYTHON=1
+}
+
+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
index 7118a34e03c8..2e0286c1bbab 100644
--- 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
@@ -4,17 +4,16 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A custom YAML tag for referencing environment variables in YAML files"
HOMEPAGE="https://github.com/waylan/pyyaml-env-tag"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~ppc ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
RDEPEND="
dev-python/pyyaml[${PYTHON_USEDEP}]
diff --git a/dev-python/pyzbar/Manifest b/dev-python/pyzbar/Manifest
index 3f1c3a60d96a..a7889000dae9 100644
--- a/dev-python/pyzbar/Manifest
+++ b/dev-python/pyzbar/Manifest
@@ -1 +1 @@
-DIST pyzbar-0.1.9.tar.gz 45793 BLAKE2B 205c4cdabecb0c59c78bd3e901bd8348a8648c6c6b48afed5f71883c8ec438047843752269f273ca277ce87f3831e1873f859501df7bdc24834fe2b667922fed SHA512 f9fe774400ed6428bc78a428bd1b7847d5c6d557ea8637125348708f0641b36eceabe69362302c3d8658cf2186ee836c3bfc207fa800a6d03581375c251227e8
+DIST pyzbar-0.1.9.gh.tar.gz 45793 BLAKE2B 205c4cdabecb0c59c78bd3e901bd8348a8648c6c6b48afed5f71883c8ec438047843752269f273ca277ce87f3831e1873f859501df7bdc24834fe2b667922fed SHA512 f9fe774400ed6428bc78a428bd1b7847d5c6d557ea8637125348708f0641b36eceabe69362302c3d8658cf2186ee836c3bfc207fa800a6d03581375c251227e8
diff --git a/dev-python/pyzbar/pyzbar-0.1.9.ebuild b/dev-python/pyzbar/pyzbar-0.1.9.ebuild
index 95eb89759142..82d10d03fa72 100644
--- a/dev-python/pyzbar/pyzbar-0.1.9.ebuild
+++ b/dev-python/pyzbar/pyzbar-0.1.9.ebuild
@@ -4,17 +4,23 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
DESCRIPTION="Read one-dimensional barcodes and QR codes from Python"
-HOMEPAGE="https://github.com/NaturalHistoryMuseum/pyzbar/"
-SRC_URI="https://github.com/NaturalHistoryMuseum/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/NaturalHistoryMuseum/pyzbar/
+ https://pypi.org/project/pyzbar/
+"
+SRC_URI="
+ https://github.com/NaturalHistoryMuseum/pyzbar/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
dev-python/pillow[${PYTHON_USEDEP}]
diff --git a/dev-python/pyzmq/Manifest b/dev-python/pyzmq/Manifest
index 9f8bb2a33acd..d00fdbd0256b 100644
--- a/dev-python/pyzmq/Manifest
+++ b/dev-python/pyzmq/Manifest
@@ -1 +1,2 @@
-DIST pyzmq-24.0.1.gh.tar.gz 404000 BLAKE2B 01928ba3c64a5afce8e7a97821658da2067a5f6c36c0173ab2f818e83a729939f346ef67bb9a39251abf365f5772abdf7e9e62afb4cc434b5603f474485a7427 SHA512 d4b6346e780f356941a624321f1619771fb2f0ef9f65a3c0a03e837ef081ece7ed59c03f57e8647ab1cd38cfc7404d597dd294768f9e9b890115b9eebc085484
+DIST pyzmq-25.1.2.gh.tar.gz 391272 BLAKE2B 80814704e7ea08d407859c1d71338f6ea283efcd1f3994155334aa5b60c4b6cd89167de8c78d19f8efdbeb5f4071f7b5954ea911eb6e7fbb48a0087b86579cab SHA512 b146a6dbce7cbbe2eb1da7ebd64e463067354f1566cdb4ff634b59bbb6d65e16263b6acb2d101a4ea53f870be5c753c9a12f9cc37bc5a81236681ea4fda6c56b
+DIST pyzmq-26.0.0.gh.tar.gz 267825 BLAKE2B 4a9c85ffded107f4a24f49dcecfd00f0a902021f1921cdd81bf98269ecb19cdd6e4718c6b68ebb9c6d94eb6ba1a2878ea953063b076093b2094849b59977fa44 SHA512 b9ac2a8520bab63035b36ed7e8759d459ad933eb1316a6278b29f413e5655afcca9282bc8ebcfa0f02b893daf344b5b5b5b704cd3089614fd3bdc13ff735db02
diff --git a/dev-python/pyzmq/metadata.xml b/dev-python/pyzmq/metadata.xml
index f3cb0b82106a..57b1357207bb 100644
--- a/dev-python/pyzmq/metadata.xml
+++ b/dev-python/pyzmq/metadata.xml
@@ -14,6 +14,6 @@
<remote-id type="github">zeromq/pyzmq</remote-id>
</upstream>
<use>
- <flag name="draft">Enable draft API support</flag>
+ <flag name="drafts">Enable draft API support</flag>
</use>
</pkgmetadata>
diff --git a/dev-python/pyzmq/pyzmq-24.0.1.ebuild b/dev-python/pyzmq/pyzmq-24.0.1.ebuild
deleted file mode 100644
index b7d376cc808e..000000000000
--- a/dev-python/pyzmq/pyzmq-24.0.1.ebuild
+++ /dev/null
@@ -1,81 +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} )
-# TODO: Find out exactly where this error comes from
-# error: '<' not supported between instances of 'str' and 'int'
-#DISTUTILS_USE_PEP517=setuptools
-PYTHON_REQ_USE="threads(+)"
-
-inherit flag-o-matic distutils-r1 toolchain-funcs
-
-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="amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="+draft"
-
-DEPEND="
- >=net-libs/zeromq-4.2.2-r2:=[drafts]
-"
-# it uses cffi backend for pypy, cython backend for cpython
-RDEPEND="${DEPEND}
- $(python_gen_cond_dep '
- dev-python/py[${PYTHON_USEDEP}]
- dev-python/cffi:=[${PYTHON_USEDEP}]
- ' pypy3)
-"
-BDEPEND="
- $(python_gen_cond_dep '
- dev-python/cython[${PYTHON_USEDEP}]
- ' 'python*')
- test? (
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- >=dev-python/tornado-5.0.2[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-23.2.0-libdir.patch
-)
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- "dev-python/numpydoc"
-
-python_configure_all() {
- tc-export CC
- append-cppflags -DZMQ_BUILD_DRAFT_API=$(usex draft '1' '0')
-}
-
-python_compile() {
- esetup.py cython --force
- ZMQ_PREFIX="${EPREFIX}/usr" distutils-r1_python_compile
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- zmq/tests/test_constants.py::TestConstants::test_draft
- zmq/tests/test_cython.py::test_cython
-
- # hangs often
- zmq/tests/test_log.py::TestPubLog::test_blank_root_topic
- )
- local EPYTEST_IGNORE=(
- zmq/tests/test_mypy.py
- )
-
- cd "${BUILD_DIR}/lib" || die
- epytest -p no:flaky
-}
diff --git a/dev-python/pyzmq/pyzmq-25.1.2.ebuild b/dev-python/pyzmq/pyzmq-25.1.2.ebuild
new file mode 100644
index 000000000000..7a6aa2779167
--- /dev/null
+++ b/dev-python/pyzmq/pyzmq-25.1.2.ebuild
@@ -0,0 +1,92 @@
+# 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="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="
+ $(python_gen_cond_dep '
+ dev-python/cython[${PYTHON_USEDEP}]
+ ' 'python*')
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=dev-python/tornado-5.0.2[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-23.2.0-libdir.patch
+)
+
+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
+
+python_prepare_all() {
+ export ZMQ_DRAFT_API=$(usex drafts '1' '0')
+ export ZMQ_PREFIX="${EPREFIX}/usr"
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ zmq/tests/test_auth.py
+ zmq/tests/test_cython.py
+ zmq/tests/test_zmqstream.py
+
+ # swap thrashing on low-mem hosts, per Debian:
+ # https://salsa.debian.org/python-team/packages/pyzmq/-/blob/master/debian/patches/skip_large_send
+ zmq/tests/test_socket.py::TestSocket::test_large_send
+ )
+ local EPYTEST_IGNORE=(
+ # Avoid dependency on mypy
+ zmq/tests/test_mypy.py
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # not implemented in cffi variant?
+ zmq/tests/test_draft.py::TestDraftSockets
+ )
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ epytest -p asyncio -p rerunfailures
+}
diff --git a/dev-python/pyzmq/pyzmq-26.0.0.ebuild b/dev-python/pyzmq/pyzmq-26.0.0.ebuild
new file mode 100644
index 000000000000..e360778f49ba
--- /dev/null
+++ b/dev-python/pyzmq/pyzmq-26.0.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_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 ~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() {
+ export ZMQ_DRAFT_API=$(usex drafts '1' '0')
+
+ # TODO: remove this when we update the eclass
+ export SKBUILD_INSTALL_STRIP=false
+}
+
+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 76796cf8e752..dca07ac3c047 100644
--- a/dev-python/pyzotero/Manifest
+++ b/dev-python/pyzotero/Manifest
@@ -1 +1 @@
-DIST pyzotero-1.5.5.tar.gz 525725 BLAKE2B ec1c200811697b5830f757e527ad3f21abea62c680e32b2132d616b4e07c919a3e692a98cb726f43b9c456a23c375f962847fbd61a466f476545d491b7ed0576 SHA512 88db72c834e084f025eafb6c85d1e7cb4c4f6f73eb518bfe4ac008f51fc752fc7e74be2c0e48a0e8a9bc2acefb78a48ff907ee2e0e26c58f25e853f923848fea
+DIST pyzotero-1.5.18.tar.gz 527435 BLAKE2B 27ab1ccf32c260098a684ce4ee05c9acdedec787ec268ebe994d4e9904b9aae73c4a48bb169ec84d727d780c2168e177bcb47209d0f09dc661dd990f1a4075db SHA512 c45e18de0ed479b0ce03cc69ec7a2b060370d6c26e57fa707d2230078e87cdb9eb70f341bac8533a9fa6f4101f29aeca8767befa1e275c0dbd7e778e9c227c21
diff --git a/dev-python/pyzotero/pyzotero-1.5.18.ebuild b/dev-python/pyzotero/pyzotero-1.5.18.ebuild
new file mode 100644
index 000000000000..f3a14dc2a090
--- /dev/null
+++ b/dev-python/pyzotero/pyzotero-1.5.18.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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.5.ebuild b/dev-python/pyzotero/pyzotero-1.5.5.ebuild
deleted file mode 100644
index 779fa8ded72c..000000000000
--- a/dev-python/pyzotero/pyzotero-1.5.5.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} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python client for the Zotero API"
-HOMEPAGE="
- https://github.com/urschrei/pyzotero/
- https://pypi.org/project/pyzotero/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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 abae82f8b4ee..bf4e488071e5 100644
--- a/dev-python/qdarkstyle/Manifest
+++ b/dev-python/qdarkstyle/Manifest
@@ -1,2 +1 @@
-DIST QDarkStyle-3.0.3.tar.gz 431182 BLAKE2B 3c9406aca5d01c3682123e044d2e5417b300b724c6366a411a00211b482582b26c687128f6c32e7a95a29fb70c3a322fd525483c48120e5671ddff713e4e0035 SHA512 2c44a4469971b127f7fb8c9a5bce452c98653aaf29dcdb7e0df2da7557d6730d64ebf6a649f8516fb13a2d4e77d0fdadc293457d94406d8e7491be3fd52a9313
-DIST QDarkStyle-3.1.tar.gz 698602 BLAKE2B 8c96b2dd5532c9db0c1d813fe0cf049b7cf55ef6469d2ebb21b5ea85fe6ecd23e8a247c45f45cfa674f8012a4a03ea377df8cb7efac8f13c079e2512091ecdc7 SHA512 275fe333bcf2502f8f1ef61eca3f82d8909e760e8f88a1605157c5043cb1e4cad97bbb8ddb0464ef2125c1b70f318bfa8f0106d2721d6b9862c162b5f716aa4b
+DIST QDarkStyle-3.2.3.tar.gz 700957 BLAKE2B be58444ad99dc4814b722aa9ef2b7cf30d8ce92926db60d063cfa3d6ee923de922db2752182ccbf5d6de0f0cf4a29b1fe4085822910e7ddc4ad44e91ec6b5d13 SHA512 185d04c89d002da67f63c71b7da1cb13fa941bf75271b089d3d67bcc33011e5c5dcdac6a51854d99711070230596f2cd5c40f7ed2ff99b3ae1fde62fbe260edf
diff --git a/dev-python/qdarkstyle/metadata.xml b/dev-python/qdarkstyle/metadata.xml
index 73eb8f7380ec..c46f6065da11 100644
--- a/dev-python/qdarkstyle/metadata.xml
+++ b/dev-python/qdarkstyle/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<upstream>
<remote-id type="pypi">QDarkStyle</remote-id>
+ <remote-id type="github">ColinDuquesnoy/QDarkStyleSheet</remote-id>
</upstream>
<stabilize-allarches/>
</pkgmetadata>
diff --git a/dev-python/qdarkstyle/qdarkstyle-3.0.3.ebuild b/dev-python/qdarkstyle/qdarkstyle-3.0.3.ebuild
deleted file mode 100644
index 3d6f3a8361b9..000000000000
--- a/dev-python/qdarkstyle/qdarkstyle-3.0.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_{9..10} )
-
-inherit distutils-r1 optfeature
-
-MY_PN="QDarkStyle"
-
-DESCRIPTION="A dark style sheet for QtWidgets application"
-HOMEPAGE="https://github.com/ColinDuquesnoy/QDarkStyleSheet"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-# TODO: Figure out how to get this to work
-# Please pass a palette class in order to create its qrc file
-# This appears to be fundamentally broken: test calls create_qss() without
-# argument and that function does sys.exit(1) if the argument is None.
-RESTRICT="test"
-
-RDEPEND=">=dev-python/QtPy-1.7[gui,${PYTHON_USEDEP}]"
-
-DEPEND="test? (
- dev-python/qtsass[${PYTHON_USEDEP}]
- dev-python/watchdog[${PYTHON_USEDEP}]
- >=dev-python/QtPy-1.7[gui,testlib,${PYTHON_USEDEP}]
-)"
-
-distutils_enable_tests pytest
-
-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.1.ebuild b/dev-python/qdarkstyle/qdarkstyle-3.1.ebuild
deleted file mode 100644
index 110ffd4f257d..000000000000
--- a/dev-python/qdarkstyle/qdarkstyle-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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1 optfeature
-
-MY_PN="QDarkStyle"
-
-DESCRIPTION="A dark style sheet for QtWidgets application"
-HOMEPAGE="https://github.com/ColinDuquesnoy/QDarkStyleSheet"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-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
-
-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
new file mode 100644
index 000000000000..a459b1e527d1
--- /dev/null
+++ b/dev-python/qdarkstyle/qdarkstyle-3.2.3.ebuild
@@ -0,0 +1,44 @@
+# 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/qiskit-aer/Manifest b/dev-python/qiskit-aer/Manifest
index 03578ff2dbf0..286bb67e6236 100644
--- a/dev-python/qiskit-aer/Manifest
+++ b/dev-python/qiskit-aer/Manifest
@@ -1 +1,2 @@
-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.3.gh.tar.gz 6982603 BLAKE2B 0ecc1929b0fec476b8e80012d78d9a65fcd8994f7c0fd66880e31c44bc3fa3d050774d696a9b5726f18cd401113dc8068e4391002743936baa09c283e06ba9bf SHA512 53d8741ed025ca3155931be6c66bc10618efc7beda69f0d3a2ba9ce8fea5beedfb6384761b64494e92be34ce64391b0f5f08c52945123431ea583d79fa0083e7
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.12.0-remove-cmake-dependency.patch b/dev-python/qiskit-aer/files/qiskit-aer-0.12.0-remove-cmake-dependency.patch
new file mode 100644
index 000000000000..d54e1993a7ea
--- /dev/null
+++ b/dev-python/qiskit-aer/files/qiskit-aer-0.12.0-remove-cmake-dependency.patch
@@ -0,0 +1,13 @@
+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 f9de54e64534..000000000000
--- a/dev-python/qiskit-aer/qiskit-aer-0.11.2-r1.ebuild
+++ /dev/null
@@ -1,104 +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..10} )
-
-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).
-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]
-"
-
-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}]
- )
-"
-
-RDEPEND="
- ${DEPEND}
- >=dev-python/qiskit-terra-0.21.0[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-# Remove cmake dependency from setup.py because of
-# invalid dependency description. We put this dependency check in BDEPEND.
-PATCHES=( "${FILESDIR}/qiskit-aer-0.10.3-remove-cmake-dependency.patch" )
-
-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_number_to_latex_terms
- )
-
- rm -rf qiskit_aer || die
- epytest -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
new file mode 100644
index 000000000000..c4d33f2a130b
--- /dev/null
+++ b/dev-python/qiskit-aer/qiskit-aer-0.12.2.ebuild
@@ -0,0 +1,128 @@
+# 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..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-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}]
+ 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.3.ebuild b/dev-python/qiskit-aer/qiskit-aer-0.13.3.ebuild
new file mode 100644
index 000000000000..d4258a30ae9e
--- /dev/null
+++ b/dev-python/qiskit-aer/qiskit-aer-0.13.3.ebuild
@@ -0,0 +1,126 @@
+# 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..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.45.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}]
+ 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-terra/Manifest b/dev-python/qiskit-terra/Manifest
index 3874ca212c89..674fc138295c 100644
--- a/dev-python/qiskit-terra/Manifest
+++ b/dev-python/qiskit-terra/Manifest
@@ -1,87 +1,72 @@
-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.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.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-epoch-0.9.13.crate 48313 BLAKE2B 6e548cd39fb400732dc179c5b7185555bdb8a367b5d3a27dcabe9ad36db6e9858604dee210fe487de8f9127fd6d0db1ef1fd04a1cc8cdcf34bedcf980c048555 SHA512 a4578e0e535f301b73f0332778e79b327bafea6afa43284317fccc49b410118360866a2dea8ac22f2977f309d07c663e5d95fbfa852ab795d414c170ee4e06bf
-DIST crossbeam-utils-0.8.12.crate 41785 BLAKE2B 486aaa80eb0fff5740690d8a63c7b41dd06c19cd141f4e12c8f133f5ffa93a121d4e24e19390851051ef07ba63480d9ce3bf751621ada3a420ab6982a0445e28 SHA512 0e1f17887615b1883c3a0c4f0fb908999d550bd0041e8333eebbe43a964838d948fc1e5892e4ebd31e59ad53e5fbb5ebf6741dc1dd8b61907429f691c84de2d2
-DIST crossbeam-utils-0.8.14.crate 42127 BLAKE2B 3e31e6371e46aba6697501a34e1b737680dcb692c0d1ba7cc1ce7025ec70ee69f7595e3abd90fb52c11e42cb43fa5fae6103f97add35cf87b0a68ea83213d0d0 SHA512 fa00a57c41c9daa152f8a6c6f4d3c77986de1aa21585984adf577e244c2f121db014ba2beb92241590e1cf78710e77d9a703ce4a4d44d8854bc3e60690151393
-DIST either-1.8.0.crate 15992 BLAKE2B 5b9254d54ced1f23447cc78fca74f12085c37e3c2da441b30521819025ebb808e8cbd9cbcec811f8b3951030914c1736b8bda61744d1323af8c5b8b0a3ef3ee9 SHA512 5089b218af067b51ee39c085568a1a6f542e8f68b362207bd7126cbcd2b76783cd21cc1517a1d088ce4dad1714be03a3660f50e9498a0bb43a8676cd7ec490d2
+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 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 hashbrown-0.11.2.crate 85713 BLAKE2B 402f9f1bdcb92631206f9b72923ee35e28db8623e87469c0f1496664bc7185077013ab3c8aea68268241e5b2504f10cddc613a350abd4291050deda6c112e559 SHA512 c21ca68fd49bbb741901f59fed04cc124b8da99e2a4dfc26e2e5e1140637872b344612a01691bd30cc771575c571be15f756c84dde225441699cd2322af2ad6c
+DIST getrandom-0.2.10.crate 34955 BLAKE2B 8e7b8554ae360484ceca2a05f834c2664b08f41cbc6c955663e1f8f22fb5750481518bf1c7b49f49223a99a66914ef013347b9186acc97a20249f3222a13f9d4 SHA512 82af9e0417bff9272ed0478be4ac90426405ce210014b21899c6b95fde1b16893bf46295388ff5f13fa712a04c99c46b770fab83f41a1343af1590a86ca8da3b
DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76
-DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a
-DIST indexmap-1.7.0.crate 50363 BLAKE2B b45318ae2a6e1f008494db77a3159eea3fed4f77eb04ae65599be9392d6ef78d4677b65d04fefab8f917f6808fee821a33bcf53a50b88785fae5ef6848e3a08a SHA512 9b882b4a7068a686acaee0a08bd4f3b35b58d36e786358cf14a3436eb61339649e64f1757331cc7833a2fa364c76eb6b75cf0c732afaeb202113de1e66b72ab9
-DIST indexmap-1.9.2.crate 54627 BLAKE2B dbfa551d33305db06b59d07c1b4bf8d4596a67ff1caa03062d07f6d78b4604ac0533d1c1fe3c371702dd7e65a012bfb960d79c76db37e264d0b44be576969285 SHA512 946c54881a347892dfcb55648a2b881d3a4d113424b8c76d8957980a834895318d11336dc438a04601916cca787420708ad7e271f965c38bfeae511ec1dedf85
-DIST indoc-1.0.7.crate 13716 BLAKE2B fe515fcf534a552feba188aea5d5da0febc123db24485eb887a3431592780fd468f6409167457c68a7ef6368fcad71c14fcd7922bf2de29794a341d7d4cbbf0b SHA512 b60e534953d600bc2de3d6951f9da67ca3ab3c78fdce3e9c5f91e544ca848aef0c22c35a26fe7a39c07bd916a79fdf496269fecfa5491a58e178f37b2965b348
-DIST libc-0.2.137.crate 606185 BLAKE2B 6724b7ddc2460fef1d0f20efee8726162d904b92987f9de2d3dda06c9cd49124c9fa43a9b39e84d78c03d217ed8ffd30e0dc55a4eb31970413d56fd58ea00adb SHA512 1ef979dc59a7ec4aad7229ec5b40be0ec9a8496c7a2177d325db62f3eab00d72c8d2277d517c0093e0750de12fbb4e45b67133604afeef9153b8e1d4aa0baac4
-DIST libm-0.2.5.crate 113322 BLAKE2B 1893273dda30ca8eb6f614992069893dca39288fd4a2f3c49827dd3ffc64030f1729a9761f01f5fe649db64c6ed15a8ba47d93ed9484de1c19bd3de57700f567 SHA512 4d56501fdc86011f1b707b349c409564c85c2484b185adf9dc5d5a8a8fcca8c0e172c95ee5dbfb428b7b13d8cfb1e23c596d3ae3bfa878f2019fabd3258c7863
-DIST libm-0.2.6.crate 113690 BLAKE2B 5828bf7a14fc62b28da148284988292646909bba60b2d82bbc6ee482fe0791576133d9666edb1b57bd5208469c78f2b2560223631fad4dc74b7e0d42627ca5d2 SHA512 6ba263c95f1c555e66fbc5a5f7d0f2aca4e20f6aaeca27c3baa4d17aa00b88830334736fc58d268d98e50bcab65220507b0d8e7973fcdbf14600ab3f20c34a56
-DIST lock_api-0.4.9.crate 25685 BLAKE2B 8adf5c3cccebdf6aff6ec977f230cd2a208b0b188ef57deacbbc6019431f0ede1a760b2384ba3cb49c96b8a589dc56c0f46a6359b3e62277e7ae1a1c3f586fa3 SHA512 9215381d9bb6b80d217c73a900db43df043b3e939b5bd7a292a02e9ab911cf0eacd8f883d35bdf72b3a0e78df8f1bc3e843ca4c775294c7a7a03091dc1a74990
-DIST matrixmultiply-0.3.2.crate 49247 BLAKE2B 7f7eff4e0c7b71d942319caab54df7b75e3bb6e6fc7c224312da0a607c78894010b870a5649b7ce20767f622b64141752c55d3ab77cb0a394295041cb2e2a73a SHA512 9a6203c0f604474007b2d28b4db5b83282315de39c775cedefe1c1793ed8b48e83ad01c21669076a77bc28a75eeb847defbcd662239854e8e32acf71bbc800bc
-DIST memoffset-0.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009 SHA512 11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f
-DIST memoffset-0.7.1.crate 8556 BLAKE2B 1ef270f1c8dba32e66cf47a1835f10c342024762c0e56953f16e82d575250028154054d4c42b1324c60f955a40fad3bbb1c5fced147c11c9a4ad62f6f0e948c3 SHA512 40ca3c4b1fb929bec75bfcde0135037f81a6c5aa80181bc7dd7bbcd9c0946288eea8d23fca95e296567ccb02155ed0f66c7c23644b5cb3e6d3932be9f9742157
-DIST memoffset-0.8.0.crate 8912 BLAKE2B 19ad3abed21fc39461b0382b15a8cc312378aba36f042b1e5335012115d31b350a4e3bc720f1eea300d7d19b9b317f75a28d4ccd78ff3b31defd9e4b3147899c SHA512 47adcae0848ff967035e10543ea599c7af9c5bad387023eb4dc77c9e8d875994ec8139b9941b3ecc4fc17214d80944a47a3be174a45b334661914a5a7382dfbe
+DIST hashbrown-0.14.0.crate 116103 BLAKE2B 24bab03e8a8cb7623b92282c83bf8acaf0752c696ee1c010249e3ebb3646e7549d8d6d798b02c9d5b621afbebba7320f8a859d9a1af1523dbd46377b857dbb5f SHA512 f0fbdf81517f59a0b67f792a4097f1131d346b2b4cbda93590749cef7f9f1c9029e0e182f58c23b74d3028f7502c30b9593c1eb4da37f95388d74b14582b8959
+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.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 matrixmultiply-0.3.7.crate 57046 BLAKE2B 7ba1abb8602370e8780c8401a4197653998af1d0aa0976a6710fd316cc057b4d6ef71d009ce71da85ebb2d2867c597e02ca2df721bcb28ab1c175ea4b7ac48b9 SHA512 40d68362bfe3ada4b8674bde0f5b0bc34e88590b8a0bb442cf1dd55de1d6dc696533221cf373da898bbf5aee83a12eac564e7fb8b2bd451e62c827b7fbc81c21
+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-complex-0.4.2.crate 29341 BLAKE2B 8fbf8f22b0a59c794b7657693dbdad7384a56c2b74e9d54992f15bdb19231ebca08f16a282f0a97280cd94d3ff728bd3358a50f8c22bbe0a3f51c7c2b499c851 SHA512 b073ac863d4a389468ed4e0a3d71c453c25dcb535a9e98e38d236b60ab0950ab5be512b1f427f5f74a20b6bc24398f864d9a1e0ab717a84a01b7b89ac3517048
+DIST num-bigint-0.4.4.crate 99369 BLAKE2B 09a44754e3a3d4f949b3714d96ddd7f3915164d611036675e3df421d6c0863e368eb0180978a4ec27fbfff529b4999d2593e411903516670c24c08fbed6a79de SHA512 0dcef3344a933509fdfe87d6adb0bb1bf67af3c692ccaeec5663a8f18ad0a251199ef9c7a24c25b95d1b255b413947e70f0a205669d549b13e54b6f4864ab3b5
+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_cpus-1.13.1.crate 14752 BLAKE2B 27490aeee349d944c29e50b44e9a84371030459353a9316ffaa0245ce499df4424e39c25a81be59cd0f9a19c3214c78bdc7a84b632059282be476d8f918c44d6 SHA512 91ffe0ec792228621d6c2d5cc544ef4744203d19fc9c86e0aad2610038c43aca0448b6c27d82979417a0f6c939ea73523303a44c28df0d1c1b8d09814d5306d9
-DIST num_cpus-1.14.0.crate 15673 BLAKE2B cc706b01681898799a5388fba863d2e8d13eb09644ecb92cb93a3f1c8b24527ad259c455cf56fe06d8ed6193ac1e8968d62a50824e4906e2ab66fc53e6e654be SHA512 c3b19f7cad14947c9860ed81617e2f7492f69248c8436ce83429cae9fe09d7be04c813233b54ca216e7dc2e03b76f46c5659154f89bb804e702f23b78feb3507
-DIST numpy-0.17.2.crate 66754 BLAKE2B 5ac3de861fa36e0d27eb117faf2be1e9a872fd507ad847d8fe193f56e309dfbae1fa4a1a77300ae88eecd695ba4578f4dfbe70940cedfb4f332ecf8930862b39 SHA512 b428d290ebf023676af5f7d0f2578e69f195f35213cf4b30c0ab6692428e907dd91afeaf6ced7e89ad46005f99c9653cce362684560f7208aa646243a0b67534
-DIST numpy-0.18.0.crate 65263 BLAKE2B 51cc77d4566c99bded9438980fa1f19a71cd7d668df040857b507b048fb2e628b06ebfc07dc2d0daa26fd556d4170efe82cc34bf5324b5f07362ee65ffcffc6e SHA512 00b21d6a7b6235fcd6f640ecb911b960d5d1d74655e3ac15b7d9069b17f5ff2c12e2d5cfe1bcde99cd02d989d0bdec86da52f34fa12804e931dab797519277fc
-DIST once_cell-1.16.0.crate 32120 BLAKE2B 59bfc8a44f1fec72442e3d34bf4be3a5af073f854f07b3618b2857c759dca4a0fa6ba358514ae28c25d745b01bb7b390ffe9ed6e296d163fd3dd67e49092b87a SHA512 bc199570ee43bde9245a2c4637ae738e370ce9988635c8342349ceb6fb158f376247b69f9ec4ea0e6d76b934decdc77a524299ebde96c0a2c2d29d9501b9a568
+DIST num-traits-0.2.16.crate 50130 BLAKE2B 1101d28cb4dce477657684a068792b94c7008a965e655edbabfeff51cbe6f008450dc6d7e4fc5dc4fe9c3ee8623ed77a7bde83ce2f68e75d618295fe6cebe0a8 SHA512 2ef65e2f6275b1000f611cc4d019b2f4846a8964b54d9b96462da10e3ac9edbf3d1de82e40094c76f7f5205740361b0eb0ced414bcddbaba5955144f728c6f94
+DIST numpy-0.19.0.crate 66304 BLAKE2B 1ea519b4a34e184b49f2c08388ef4d47a0b081bf199eaea0de3e9daaa3d89f0584a4005f7ee9a0a85b5fcc1b16f1271cf779bc1492173907c2069c2c891e8ff4 SHA512 fe6d1ec55c5e88afa82407351502558a516c7e12bd799001a7f0624a385f6ee4d109d7688df30e8502240d22a75eb9976aaa3ecd209209d04a6960f3481441a6
+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.4.crate 32359 BLAKE2B 98629cee7346434103d0e9776d89d1c875c023c3fe91d47beae2f3029fe8bdcbe7dedadd262012ad9d1a1e624ffbebe6d3a9165623e40077ab9d0fa4b768cea7 SHA512 6dae00356b759ad1dd08c1edbcc3ffcc86ad412af98a5e4cdf4fc622d0feb79bdb3900c4f72e76cce803c667a6d8581b44264980816ebdc85d59ddaa881a2990
-DIST petgraph-0.6.2.crate 182513 BLAKE2B 553dc5c95ad38c52a014b20b10b7138f6eb105f11772c4852cafc9930dcdb159847c87202211a780888d81997efc38e18255c784a71f3fefe5c1177461df1c74 SHA512 6a4ad4bc630e486ac2db107a9ee3e0d6116e76788d2d182a086649eb00321cedbb7c9165012a3957aa276c0eb29e0b2b25210311ea3c662f2467d3ef1afb3fd9
-DIST ppv-lite86-0.2.16.crate 22245 BLAKE2B 03cba61af42dc3a78ab8f6b03d833c028b7ed737e101b1952467a1e19706bdce6c758eca4ec7d575b2f61daa47cb25fa1d74039b2adb0dbf949b66b7aff3f10a SHA512 264b916f7d1bb6f1c0c0d3cc45f40b72b638abc7174416b49241c3663fe500409509ef6c8241a24515a21a20288c2ba508035b6b37972e4ae7ad02ad19118b74
+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.2.0.crate 32057 BLAKE2B b858eac5ca05efcd0d630b0e4ac5a4de60f9fb08a44705e681d045e1cc367b6a08a89cd4178f997f9d9aea7ea2eab6e3422c94f1ee8b951f3256fb4a42fc3394 SHA512 62c84d0f2b81243aa71a631a35cf20b905e130a54da5b29c193afab249a00933d6b63203b81747b6d2007c7b6707cb9039cdb1d356e87b2d551899b5bf3cdf2e
-DIST proc-macro2-1.0.47.crate 41955 BLAKE2B dbfc20b61443225130d08b05deeba56e63e76921e56359c9b0531798b18778d6ddcb56c3372fb6ccc68586a6c1dc725054f0e83f93e8623cb5ff6a7a2ed3dc83 SHA512 60c5d0dcbdee7ddab40664882d3cf5a868f7ea5b49ebab3b4419c3f325582b816625e73e0d1737bbd46bd7d765ece6c81c2ff4be894555d4b255f5cb9255e931
-DIST pyo3-0.17.3.crate 408939 BLAKE2B e67ce34c626dbede3c76abf66ba5078827e8a75644ff9fbd83eccf3d53096a3c2e0991da8b3489ea9984c665751308bcf4aa9c3d31dd62c72127694156a7a0a9 SHA512 5c83ea76202edce13c370d023562a9009382e36fdf3fcd7c4dea844ab8e5e048db4cc79a9c0ea98fb7017a83da16924ba0981ad98bd83e75e2fac434738e9740
-DIST pyo3-0.18.0.crate 410258 BLAKE2B 02d7906839107a1c6d9ce9ab247d28984e6482143d1d86328889eb8d32537df6a316bf9e51fd95883856e92a68560c9a9fd4dd5c5ca8e1bdb4e1b55fbeaa4035 SHA512 8eca3313ce9574aa2bf92a55f597261e7883607d85cca22c43689a657a087ae9a8dd8b6ffe9961f438c6a3328719236135a0e90ab8461dc84999de66457d8f7e
-DIST pyo3-build-config-0.17.3.crate 29230 BLAKE2B 193df0c15a2150505c823338e76f4d75e2f28158626edf332da2b10b6a81bfaf7f95a3a32c9f218717504b2f0dd80d3fb61c78ab3df9cb9024c3686f8ca002b0 SHA512 92652ffdfb3f6c3c8a1c2f97f5e2ed19175ba6bad5cd0f0c113b569369193aa18d95adc780bbdb8202d815a1ec0b6aeaf40d93d64faab42f4e8b452c806906a2
-DIST pyo3-build-config-0.18.0.crate 28756 BLAKE2B e64bcf3231338d4877c9a2dcf2aab59aa4bce9951ca39f9c7a7377e669ebd1ff0d45c025394e2d1a0b6fcde1fd19f100ea555f18a62869d4f7c5cd656740a9ea SHA512 1e49ee06e2308394572aba0905830f2e978782b81c0c09290b8fa2a30950dfb3ec7f1c04eff5dbeafd658d2155290cfa74307d80fd5064aa92af66de42b38501
-DIST pyo3-ffi-0.17.3.crate 62854 BLAKE2B 3f1c519b210de0aee19b832845c1d44237f780f18173ddc1b1cef5eac1060fab40fd8dbec067a49e4d28fc7edcd0bd751f54438ad42a8b98641de0517052c64b SHA512 c08481d1530207fee544a5dde14253415e5451c1c013b86ac1f0e9bcb3c1df7866764cd11bad523105b6821725560329b89ff689b3aa2f0698cdab148d0fc12e
-DIST pyo3-ffi-0.18.0.crate 62767 BLAKE2B a56d139a8639c5483086fa206518ceb5c2720afd36081e02b5ecf4f1c45c1133592165e8168905fc5bd6bf8fd8f1d729fec89da9a17f979e0af2bdf64b32d254 SHA512 d55792933ebecf0119a3591a1ed76334915bec5273d47c1f1b60ccb8959d4b0072952ed7da1838640b0882b7b6ba01bcf0f4758467e07c9b5d823d68098aedda
-DIST pyo3-macros-0.17.3.crate 7257 BLAKE2B 4c5e166a37c31f2cc21b7dce9b46dcdaeea0f12299c421430efe72b47ac954f10680bf6ecb28a5f0058abaf22519f6ce05d21e5de534e362ceb9847049601f4f SHA512 f99d38ea69b1d46599d203908d12eb3fe4869a48b21b3eaba0c9c8e52b9f2b3c5ea72505dcb9b3330450dd724eeba859eef724fe9624ebbd8bd3cbcff7372df1
-DIST pyo3-macros-0.18.0.crate 7078 BLAKE2B 399a018a38ff60ab5f608063d4ed4a3243af437aab6314742689907eece14af982626307810cab97112fd16f0d3b4b6f7eb2fc1349577e66436d74727b16bf43 SHA512 336ea59c648b9310ecca4f3878ce609076b79d5b40201c8e8ccf565deb348d222229da793ed6394509d9020d75c1b489f96dbc3dedad6ca2b3dae25818502440
-DIST pyo3-macros-backend-0.17.3.crate 49992 BLAKE2B a922c3c2c1f494002fa8592704c43ddbb4d9bf650187adcfc94f82c1275bcb69d444ede404d1b40bdf1e199427e8de880464b76c7385c2f96633544ad021c4b4 SHA512 b4dbddc3ac7ae542560459376127cabdbb4de83c04d70a4efe0976fa94e6ce94a7a62723f689a8fbb1d795fc235b1ac3611f8b4985ae2af0db4a9dc08de48927
-DIST pyo3-macros-backend-0.18.0.crate 48261 BLAKE2B a95dee8233a7fed386860f052202348753823091cce26fa0a41c659da7a62cb0c20ff9a540c33366ce57a90aa953699c9b555dab817d43855f0911ca7cec2ff3 SHA512 051c5bdcdeb60d3a19ecd12099d5906eb7fa4624005e3207b1a225fc6b9cd6606e9b9f9f4f145f934ac88e1915e587ed760734e738a752df72cb20d9550a78d4
-DIST qiskit-terra-0.22.3.gh.tar.gz 9258519 BLAKE2B 5046390a9ecec5508d558e2d4609b0308d37367cf82ffb677d0e540e8213f9fb82e8774c4c128072b6c89fef190764c41e6f9de3ab754ba1a5884d21002f930a SHA512 787e0a3ad95974f3fc8300937569704da4db7b2681f985ba359a30170516587f4be9523e7c9892dc0e2ccf0faf2bdf6e9905bb5988dc1022467ac313ec7f0bc4
-DIST qiskit-terra-0.23.0.gh.tar.gz 9524936 BLAKE2B 409e9de2012bc10394669499a4b0f0c9eb5ca730b859ebd04bc620354b86a295610433e3a49e6300904b3927309d7fa52149de16a1083f89667928cb016448e5 SHA512 cc6fc9d7b794c00a4fad549c8be2d52021470c4d8d39a51de8c312c0096e6fc2af27e9234d0dfbcf96a8620e28ba9a075ccdd939d59e72f66078cd671f92b37f
-DIST quote-1.0.21.crate 28030 BLAKE2B 547344ba9272874f5fbb4bd27a69ef5be99823e10e1318afe71971b18f37e9c73d54168f16efb82c53a332e4874c80a82ea951fb2c85fad50cdfe783622b79fc SHA512 0728eb4df7e1f7c4d32ab08c901c2c969db8eb46b03bcec3e4956a4f6b360939d32abc6b6ebd7a31058e8e9b69c3d995a24cb484f93656f05b4ee963be1c74fc
+DIST priority-queue-1.3.2.crate 33905 BLAKE2B 2bd083a8ef4e6025fcd2de360a29442da3190d642a176cfec240743e060fb4c54dbc4c1e86fd10259296dbdf69accb802033594bd8aee9c664d684f6f983188c SHA512 8f0b05aabad32201b69e1c7d410df43d38ebece63c2b7c0510ae41733547f3df71cc93d100d2241453e0caa490a0b6e5f66d67a6fc05dd0463227cf8b364c7f4
+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-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 qiskit-0.46.0.gh.tar.gz 10949616 BLAKE2B 35bb88f5d43582145a72945b0633665fb962ab27bde35ec7e290823cef41ae93bb4e0155728186d3eb9dfdb419efe014c127fcef12b69d93d259cba83ed3e57f SHA512 d9d6f485dc47301b045b9e9932d17f23306724cfd6fd32b730fba9f7366297dfd9151b9e80e634a8f641d0bea99c94b9e3e8e2ce9563fd82bd18b6bcf74d49d8
+DIST qiskit-0.46.1.gh.tar.gz 10952767 BLAKE2B 96143144de33d967fa91bc0fd21ef291c68ea4155ee0d6498d55597c5c2c00d9a53131c73b2b0c3c74594d631bc780c5d82fda1492ea9e025a96c1b6967031b1 SHA512 4fcca5c4d8e9c464e2164c315c80c4ba1e6f1a2d364dfd58b6354bd6a040f21d0cff31a67a5be27dcd4900ec136628ab679dd6e1e630534245441bd8c0587a07
+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.6.0.crate 166335 BLAKE2B c6e7af33a464a34a85f69a42139a355c4461e1303454dbf08ac3355ccf88ddff6c127d151cf52225cfbbbca3dbad99c70164a29602f5497089a6d3634953a4d7 SHA512 aa167f3d24dea8136bdc7a432434995cc2e5d79373b6c7b1cc363e3e56c8cc1335df665df907a32d9553211886c30c7237a072d2ce0fbdd568353ee06d3c702f
-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 retworkx-core-0.11.0.crate 33658 BLAKE2B a742f0d310eb45bc9ade507f9bd7c1b75c879b67515176f5c944ca95c51ec664af2d08f0f708441c6f652df9443c4d44f66873c24b1c64208b3839652f187861 SHA512 8ed81f6373496d5e668025b63bf3446653111ed6d65ea2fcc17a5d232cb14820b8ac3f4a9059ffce2b0f9d8508e0a7409f87915ab22457113281569e9ee4f8f4
+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.12.0.crate 70081 BLAKE2B ef1bb1d430776b0ad49aa523cfe83bb0aa3a381b2e571db74cb8de04bbff884b8c269de31d7afbfd609118c445bf079afd2d4920842c8a8b312d329e4675cfc0 SHA512 588fa479c499e1620e25c5818996f0376d3bf526272af6c50a17ca0ccf0f8f67b03a3a665938575a86a8edc1f101a37ab01133b27f904eb5c291bbfc581135b2
+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.12.1.crate 50409 BLAKE2B d66e057a56828adcb55b6f073674c1fd5558c48b59db47282ec74ab3c3ccfb1cd8b3e2c597e2fda06070c89e365da37a6be85d35b005222f33f535dd34cd242e SHA512 a30d27208ecde459eea080718f485118ff6860ee677ace55ce66063e7bdc8de7322f92da39fd1f8beb2363edbb2f0ba4b674e5b1baec638727c21ccdbe24c98f
-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.103.crate 236495 BLAKE2B fd139b1a8b4449e9be6eddf0036c19b93b876182a03f36954f79eaf79abd5e53667a8a9fcb5c872c96639779307fa293f597831ff838a41d90e1ea201f8a4797 SHA512 3dc0f564ac1a4ce85060926c0897158da0baa127a46bb318506f4fdc79e53d9439295e8ed6a2d5ffcf15d9f6651081b7602cc2a091538e8df061b545f7e3bfe7
-DIST target-lexicon-0.12.4.crate 23020 BLAKE2B ad9780b9478b00b4fdcb07bd016d83216695413090ac29cca06388c3790e2832c978b1c7e69f6d34bb6fc9adc39c0a0b6b6636e50a9715a9f5f16445dba22d19 SHA512 194fe1946ad8d9fdb383bf8a65374e24d216382c1ed5379dabc98d58842512624c32838b8d6d0658d866f6559d37f1343a30c5809e8914dd85790399252b3e06
-DIST target-lexicon-0.12.5.crate 23224 BLAKE2B b1d31ec4ca5a529882b76a6a6bc8bbf978cfe8d7c9da0227879898ce1f2180e4d43225360bb4b4a7e9f3229ad1f4297b57c77d285c471c9c724759b0e987f6f0 SHA512 6df675ab1ebab2ff2844c3dfdaf58de3c340868ad9cd7b8c0d63d4fc9fa25e78027643d34c19b4634913c5294de7b330fb5a100984df58e4c943b3ab21ebfaca
-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-core-0.13.2.crate 77333 BLAKE2B f55adb31177f4484b16900a7155710436ad47635c0c260d9babb7e2f52de0dce2ab24a633d8ead832f14fc5fd6a3dd4f50440f975ab4c9aca8770eb4d9744504 SHA512 4eafb29f02e7b60f41c5c574e8a376331fd4d9aeac866ef37c227c6d2b92e6564c1adb0b0fa6dc70151a73329a30b11fd796510a6c13b2a24e9d54347191342c
+DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
+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 unicode-ident-1.0.11.crate 42067 BLAKE2B 3c7cac3d2bf1cbf1cf04716a482f130123e8e6940f7a90a17bc62fca44ac0069688165538f5329b95a72f735b594cfb85e3250738393ffd1b53cb0cd95077d89 SHA512 9682bbee339fb987c9d0bb6a54406d37b28b5c3587372d406402e4341900fec97e3234cd03b5c98b90b6378fd533dc452cac3de90d3ade19c4b09657e4abf6df
+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.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.2.crate 6902 BLAKE2B 0b8f31d714e473e212949e1d4612ab914ef1e5e0496883e95c1c339d9c23a81a6cd26b30285e50fa1d8f534d8557f1a5e678222fb6c421fa6d9b10965e9cf3e8 SHA512 0cdb8b4937e85e765505964fd9dd7896168f1dc7cf5e0d3dbef8fdca39c7f0e1928063e542eb714cc4d52d674aa117ac49da58774b9ba9ad88240e00f0a615c5
+DIST windows_aarch64_gnullvm-0.48.2.crate 418490 BLAKE2B cba4b824e24de57d628e2158d1440aeda851a1b04bb5c3d8fdcf17b10d0fba71a62c5a39cfda47a97118bda2c1c80d74f1483467854018d4318ee767b846dc40 SHA512 fc5c3d08ea91e831b9a30fe9c9bf94b5b0e7fcad7a70bca4ca18dfac1b2be0fd7418c2cf2e1bfdd5bc58441e3138f39af951a0b3098d8eef9e8d0f77add4127d
+DIST windows_aarch64_msvc-0.48.2.crate 798478 BLAKE2B 1b76087e8ba8f392fca64bc7da6bdb1c1c9229ecc50823eed3736ce8f722538b4877e64fc485740b3debb4baf0061053b5a129685bd0ddbc4555cbf2db5ef2e4 SHA512 6831644f41b86cc6827d6c9827b8787768a5961a723003fe4950bf7b47bef79562095682d688d9a6184d39f305da6477b6666229b9434e9f60093cf79d0925e8
+DIST windows_i686_gnu-0.48.2.crate 844890 BLAKE2B aa39109e2ecf796bba3f7e2e72ad27698778e0d05066c0bb05a43f6c579c527a14d1f339cfca1a77d50ad3cbd5b1bcd4e482fab7054e33759cce1e0a0dd53d97 SHA512 196a918a631e56eba0b1775ca4bea4cf95a86251e5211650a0ab9aa87194b2a7aaf10270f1b7d4d204e2dfd27611df4eab7ccc34234adc2298fa808c09c4820e
+DIST windows_i686_msvc-0.48.2.crate 864299 BLAKE2B 1d2e1932c582015267e416cb5631f204b09aeec312add1b3c2c44c9696d35605fba1ade92d4e8941723107da75556b4a05f0369dc1ac9e6e8e06ddb75d1d780d SHA512 eeb55369bcde8ec90f16632ae352ade618a5a1a828637ef1630a5d6f6c72ea9f984331974e69ad5ecb123326ebe9b0eb9d1e4eccedc25f2174a7ddfb2308f3c0
+DIST windows_x86_64_gnu-0.48.2.crate 801615 BLAKE2B 72529734ea7c0019025d6de7a083b3161d39725cce2994e5c16a9c5a0fde7b3a4667cb1a3a32ca86698c03fac5b535c5c2eb1dfc27b8385372731906c1c3eef9 SHA512 80975d01da78b45a44837d302e7110419a112088a8966648b8feba2a8450d753ba5e1daa5795374ddf4f5f9a3367482ed03a83f82221fa9177c47a35f5cbffb7
+DIST windows_x86_64_gnullvm-0.48.2.crate 418482 BLAKE2B d51b983aa23ce467001493d909751866c5f6e4f3241f578a79aba56f6700cf210a0328a0b9bafaffbc331cbd1b843704a96610adae18b290f317ca351de684ee SHA512 10dc93b706b5c295e5fe54ad30277699b4491751baec30d9f57618eb083b850cddac4fd871bc4519aef74942127a4bbd637d6abcb16249ff8658dcd2c87dbd5d
+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
index 00a7898cedbf..424533a2d207 100644
--- a/dev-python/qiskit-terra/metadata.xml
+++ b/dev-python/qiskit-terra/metadata.xml
@@ -22,7 +22,7 @@
<flag name="visualization">Enable visualization modules</flag>
</use>
<upstream>
- <remote-id type="github">Qiskit/qiskit-terra</remote-id>
+ <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.22.3-r1.ebuild b/dev-python/qiskit-terra/qiskit-terra-0.22.3-r1.ebuild
deleted file mode 100644
index 13ee4c5dd459..000000000000
--- a/dev-python/qiskit-terra/qiskit-terra-0.22.3-r1.ebuild
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES="
- ahash-0.7.6
- ahash-0.8.0
- 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.13
- crossbeam-utils-0.8.14
- either-1.8.0
- fixedbitset-0.4.2
- getrandom-0.2.8
- hashbrown-0.11.2
- hashbrown-0.12.3
- hermit-abi-0.1.19
- indexmap-1.9.2
- indoc-1.0.7
- libc-0.2.137
- libm-0.2.6
- lock_api-0.4.9
- matrixmultiply-0.3.2
- memoffset-0.6.5
- memoffset-0.7.1
- ndarray-0.15.6
- num-bigint-0.4.3
- num-complex-0.4.2
- num-integer-0.1.45
- num-traits-0.2.15
- num_cpus-1.14.0
- numpy-0.17.2
- once_cell-1.16.0
- parking_lot-0.12.1
- parking_lot_core-0.9.4
- petgraph-0.6.2
- ppv-lite86-0.2.17
- proc-macro2-1.0.47
- pyo3-0.17.3
- pyo3-build-config-0.17.3
- pyo3-ffi-0.17.3
- pyo3-macros-0.17.3
- pyo3-macros-backend-0.17.3
- quote-1.0.21
- 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-1.6.0
- rayon-core-1.10.1
- redox_syscall-0.2.16
- retworkx-core-0.11.0
- scopeguard-1.1.0
- smallvec-1.10.0
- syn-1.0.103
- target-lexicon-0.12.5
- 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
-"
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit cargo distutils-r1 multiprocessing
-
-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
-"
-SLOT="0"
-IUSE="+visualization"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/rustworkx-0.10.1[${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.8[${PYTHON_USEDEP}]
- >=dev-python/tweedledum-1.1[${PYTHON_USEDEP}]
- 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"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- find '(' -name '*.py' -o -name 'requirements.txt' ')' \
- -exec sed -i -e 's:retworkx:rustworkx:' {} + || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- test/python/transpiler/test_unitary_synthesis_plugin.py::TestUnitarySynthesisPlugin
- test/python/transpiler/test_unitary_synthesis.py::TestUnitarySynthesis::test_two_qubit_synthesis_not_pulse_optimal
- )
- local EPYTEST_IGNORE=(
- # TODO, also apparently slow
- test/randomized/test_transpiler_equivalence.py
- )
-
- rm -rf qiskit || die
- epytest -p xdist -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/qiskit-terra/qiskit-terra-0.23.0.ebuild b/dev-python/qiskit-terra/qiskit-terra-0.23.0.ebuild
deleted file mode 100644
index 3fcd499d482c..000000000000
--- a/dev-python/qiskit-terra/qiskit-terra-0.23.0.ebuild
+++ /dev/null
@@ -1,160 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES="
- ahash-0.7.6
- ahash-0.8.0
- 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.11.2
- hashbrown-0.12.3
- hermit-abi-0.1.19
- indexmap-1.7.0
- indoc-1.0.7
- libc-0.2.137
- libm-0.2.5
- lock_api-0.4.9
- matrixmultiply-0.3.2
- memoffset-0.6.5
- memoffset-0.8.0
- ndarray-0.15.6
- num-bigint-0.4.3
- num-complex-0.4.2
- num-integer-0.1.45
- num-traits-0.2.15
- num_cpus-1.13.1
- numpy-0.18.0
- once_cell-1.16.0
- parking_lot-0.12.1
- parking_lot_core-0.9.4
- petgraph-0.6.2
- ppv-lite86-0.2.16
- priority-queue-1.2.0
- proc-macro2-1.0.47
- pyo3-0.18.0
- pyo3-build-config-0.18.0
- pyo3-ffi-0.18.0
- pyo3-macros-0.18.0
- pyo3-macros-backend-0.18.0
- quote-1.0.21
- 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-1.6.0
- rayon-core-1.10.1
- redox_syscall-0.2.16
- rustc-hash-1.1.0
- rustworkx-core-0.12.1
- scopeguard-1.1.0
- smallvec-1.10.0
- syn-1.0.103
- 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
-"
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit cargo distutils-r1 multiprocessing
-
-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=""
-
-RDEPEND="
- >=dev-python/rustworkx-0.12.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.8[${PYTHON_USEDEP}]
- >=dev-python/tweedledum-1.1[${PYTHON_USEDEP}]
- 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"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- test/python/transpiler/test_unitary_synthesis_plugin.py::TestUnitarySynthesisPlugin
- test/python/transpiler/test_unitary_synthesis.py::TestUnitarySynthesis::test_two_qubit_synthesis_not_pulse_optimal
- )
- local EPYTEST_IGNORE=(
- # TODO, also apparently slow
- test/randomized/test_transpiler_equivalence.py
- )
-
- rm -rf qiskit || die
- epytest -p xdist -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/qiskit-terra/qiskit-terra-0.46.0.ebuild b/dev-python/qiskit-terra/qiskit-terra-0.46.0.ebuild
new file mode 100644
index 000000000000..136069e07dbe
--- /dev/null
+++ b/dev-python/qiskit-terra/qiskit-terra-0.46.0.ebuild
@@ -0,0 +1,188 @@
+# 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..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}]
+ >=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
+"
+
+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
+ # sigh
+ find -name 'test_*.py' -exec sed -i -e \
+ 's:assertRaises(DeprecationWarning):assertWarns(DeprecationWarning):' \
+ {} + || 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.
+ # 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.46.1.ebuild b/dev-python/qiskit-terra/qiskit-terra-0.46.1.ebuild
new file mode 100644
index 000000000000..db3f4620e6b2
--- /dev/null
+++ b/dev-python/qiskit-terra/qiskit-terra-0.46.1.ebuild
@@ -0,0 +1,188 @@
+# 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..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"
+KEYWORDS="~amd64"
+IUSE="+visualization"
+
+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}]
+ >=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
+"
+
+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
+ # sigh
+ find -name 'test_*.py' -exec sed -i -e \
+ 's:assertRaises(DeprecationWarning):assertWarns(DeprecationWarning):' \
+ {} + || 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.
+ # 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/qpageview/qpageview-0.6.2.ebuild b/dev-python/qpageview/qpageview-0.6.2.ebuild
index 572ce1c72822..6e8fcf632c7e 100644
--- a/dev-python/qpageview/qpageview-0.6.2.ebuild
+++ b/dev-python/qpageview/qpageview-0.6.2.ebuild
@@ -1,9 +1,10 @@
# 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..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1 optfeature
DESCRIPTION="Page-based viewer widget for Qt5/PyQt5"
@@ -16,8 +17,10 @@ LICENSE="GPL-2+ GPL-3+"
SLOT="0"
KEYWORDS="amd64 x86"
-RDEPEND="dev-python/PyQt5[gui,printsupport,svg,widgets,${PYTHON_USEDEP}]
- dev-python/python-poppler-qt5[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/PyQt5[gui,printsupport,svg,widgets,${PYTHON_USEDEP}]
+ dev-python/python-poppler-qt5[${PYTHON_USEDEP}]
+"
pkg_postinst() {
optfeature "Printing support" dev-python/pycups
diff --git a/dev-python/qrcode/Manifest b/dev-python/qrcode/Manifest
index 33f6d84d96dc..012928d2ee48 100644
--- a/dev-python/qrcode/Manifest
+++ b/dev-python/qrcode/Manifest
@@ -1 +1 @@
-DIST qrcode-7.3.1.tar.gz 43495 BLAKE2B 9986ee77752625e127008038c6c044b5adeb3bd526c27a55b23915190c3c9069adf1c6df1ce5f76cd0255f45319ecb66ebf226932666ea6c89872a46e13c1cd9 SHA512 9e0e508418164926a074d8c6d85419b39a36c01ac6d92415a15ce43d4aea79fa2a8d0167982f832970d2a68ec18d2b729f09e15d80b4f4c33b992999527d39f9
+DIST qrcode-7.4.2.tar.gz 535974 BLAKE2B 250290bfd31079d91133f669138d7172529e99c381836a74c853061c01666df09fb99c445d705d5f0c02a975810bfc4853c2ec616974849b1834b0ade3917c48 SHA512 a8642845990341034e39c43ef674f5b4ce8d3175a44d6062f711af2c24ffd45bda5f3ecf8a7825b7ebafe734b6396d52a37bb59177c544f921e43eaa9f1f5405
diff --git a/dev-python/qrcode/metadata.xml b/dev-python/qrcode/metadata.xml
index 83e3161435b0..c10791fdd473 100644
--- a/dev-python/qrcode/metadata.xml
+++ b/dev-python/qrcode/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">lincolnloop/python-qrcode</remote-id>
<remote-id type="pypi">qrcode</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/qrcode/qrcode-7.3.1-r1.ebuild b/dev-python/qrcode/qrcode-7.3.1-r1.ebuild
deleted file mode 100644
index 599b0478f1ff..000000000000
--- a/dev-python/qrcode/qrcode-7.3.1-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="QR Code generator on top of PIL"
-HOMEPAGE="
- https://github.com/lincolnloop/python-qrcode/
- https://pypi.org/project/qrcode/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-# optional deps:
-# - pillow and lxml for svg backend, set as hard deps
-RDEPEND="
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # TODO
- qrcode/tests/test_script.py::ScriptTest::test_factory
-)
-
-src_install() {
- distutils-r1_src_install
- doman doc/qr.1
-}
diff --git a/dev-python/qrcode/qrcode-7.4.2.ebuild b/dev-python/qrcode/qrcode-7.4.2.ebuild
new file mode 100644
index 000000000000..3630698dcec6
--- /dev/null
+++ b/dev-python/qrcode/qrcode-7.4.2.ebuild
@@ -0,0 +1,42 @@
+# 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="QR Code generator on top of PIL"
+HOMEPAGE="
+ https://github.com/lincolnloop/python-qrcode/
+ https://pypi.org/project/qrcode/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86"
+
+# optional deps:
+# - pillow and lxml for svg backend, set as hard deps
+RDEPEND="
+ dev-python/lxml[${PYTHON_USEDEP}]
+ >=dev-python/pillow-9.1.0[${PYTHON_USEDEP}]
+ dev-python/pypng[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # TODO
+ qrcode/tests/test_script.py::ScriptTest::test_factory
+ # release process-specific tests, broken on py3.12
+ qrcode/tests/test_release.py
+)
+
+src_install() {
+ distutils-r1_src_install
+ doman doc/qr.1
+}
diff --git a/dev-python/qscintilla-python/Manifest b/dev-python/qscintilla-python/Manifest
index e3f543929391..3ff66b83fdc4 100644
--- a/dev-python/qscintilla-python/Manifest
+++ b/dev-python/qscintilla-python/Manifest
@@ -1 +1,2 @@
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/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..23fc7f5155df
--- /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
new file mode 100644
index 000000000000..2a2e748056e9
--- /dev/null
+++ b/dev-python/qscintilla-python/qscintilla-python-2.14.1.ebuild
@@ -0,0 +1,80 @@
+# 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..56222e11ee52 100644
--- a/dev-python/qstylizer/Manifest
+++ b/dev-python/qstylizer/Manifest
@@ -1 +1,2 @@
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/metadata.xml b/dev-python/qstylizer/metadata.xml
index 23e6ac5d4bb5..0b45c41cc38c 100644
--- a/dev-python/qstylizer/metadata.xml
+++ b/dev-python/qstylizer/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">blambright/qstylizer</remote-id>
<remote-id type="pypi">qstylizer</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/qstylizer/qstylizer-0.2.2.ebuild b/dev-python/qstylizer/qstylizer-0.2.2.ebuild
index bf9a573576ab..3f24d1fa7d5b 100644
--- a/dev-python/qstylizer/qstylizer-0.2.2.ebuild
+++ b/dev-python/qstylizer/qstylizer-0.2.2.ebuild
@@ -3,17 +3,24 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
inherit distutils-r1
DESCRIPTION="Stylesheet Generator for PyQt5/PySide2"
-HOMEPAGE="https://github.com/blambright/qstylizer"
-SRC_URI="https://github.com/blambright/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+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 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
>=dev-python/tinycss2-0.5[${PYTHON_USEDEP}]
@@ -24,7 +31,6 @@ RDEPEND="
BDEPEND="
dev-python/pbr[${PYTHON_USEDEP}]
- dev-vcs/git
test? (
dev-python/pytest-mock[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
@@ -32,21 +38,17 @@ BDEPEND="
"
distutils_enable_tests pytest
-distutils_enable_sphinx doc dev-python/sphinx_rtd_theme dev-python/sphinxcontrib-autoprogram
+distutils_enable_sphinx doc \
+ dev-python/sphinx-rtd-theme \
+ dev-python/sphinxcontrib-autoprogram
python_prepare_all() {
- # Exception: Versioning for this project requires either an sdist tarball, or access to an
- # upstream git repository. It's also possible that there is a mismatch between the package
- # name in setup.cfg and the argument given to pbr.version.VersionInfo. Project name qstylizer
- # was given, but was not able to be found.
- #
- # There are no tarballs on PyPI, so we do this as a workaround
- git init -q || die
- git config user.email "larry@gentoo.org" || die
- git config user.name "Larry the Cow" || die
- git add . || die
- git commit -m "init" || die
- git tag -a "${PV}" -m "${PV}" || die
+ # 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..c33b9390d668
--- /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..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
+
+export PBR_VERSION=${PV}
diff --git a/dev-python/qtawesome/Manifest b/dev-python/qtawesome/Manifest
index d72c250c4fd3..e60247f3fd04 100644
--- a/dev-python/qtawesome/Manifest
+++ b/dev-python/qtawesome/Manifest
@@ -1,2 +1 @@
-DIST QtAwesome-1.2.1.tar.gz 2280937 BLAKE2B 4d54e8d9fabd833ca4a430ed9573da4feb6aeaae9090fbdf7874d68214de0c0548be18b2f5d2c643add754c748f6af97eaa821aa3d341ed6dd563b8769c1a5c7 SHA512 dd4ef533c5a7bc5fc7eba549c166653efb2352e12412d5678e30cc8865fe44684ca6e070ca61801910c3eefd5673325cb87555e0fb30007b5fd0b53d04dc1c44
-DIST QtAwesome-1.2.2.tar.gz 2281303 BLAKE2B 8766f06feb4cbcab213d537e2c6b5fcaa952d2e06cfa2c4ecdbcdd1b2e900b715632ac7280a5b65e8085643267d048a519805ad2d9da57ee1be1b4c311951ff7 SHA512 9117798041b9593f3db9c8e379f2fa38e1d6d73a4d6b370f73a4ca0bcd69af78989ab0e9a9e2aa9ec20e2637ed1123237f6e8da2be383c09d51921d52052498f
+DIST QtAwesome-1.3.1.tar.gz 2372190 BLAKE2B d7a0a0d5ac1ff8e60e14ce407a2220ef9bc5463304274df7d04a00178b3021dd4f5e35c028a4038f53adf04c85eabd8e33b10c59d57804733265ee17d5875563 SHA512 6b50a4fce231331ec05497905f4fb1e7d91d5bbc9dfd963f3b2dd649d3d28f20436d1c3aed574457ff4afaf277d0e53b371ead7e0ddfb208ab8a4b5ddd4bc2f1
diff --git a/dev-python/qtawesome/qtawesome-1.2.1.ebuild b/dev-python/qtawesome/qtawesome-1.2.1.ebuild
deleted file mode 100644
index 22fac404c825..000000000000
--- a/dev-python/qtawesome/qtawesome-1.2.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1 virtualx
-
-MY_PN="QtAwesome"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Enables iconic fonts such as Font Awesome in PyQt"
-HOMEPAGE="https://github.com/spyder-ide/qtawesome/ https://pypi.org/project/QtAwesome/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}"/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- media-fonts/fontawesome
- dev-python/QtPy[pyqt5(+),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() {
- # Tests fail with pyside2, so depend on QtPy[pyqt5] and explicitly run
- # the tests with pyqt5
- PYTEST_QT_API="pyqt5" epytest || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/qtawesome/qtawesome-1.2.2.ebuild b/dev-python/qtawesome/qtawesome-1.2.2.ebuild
deleted file mode 100644
index 05da07f01244..000000000000
--- a/dev-python/qtawesome/qtawesome-1.2.2.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..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 virtualx
-
-MY_PN="QtAwesome"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Enables iconic fonts such as Font Awesome in PyQt"
-HOMEPAGE="
- https://github.com/spyder-ide/qtawesome/
- https://pypi.org/project/QtAwesome/
-"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- media-fonts/fontawesome
- dev-python/QtPy[pyqt5(+),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() {
- # Tests fail with pyside2, so depend on QtPy[pyqt5] and explicitly run
- # the tests with pyqt5
- PYTEST_QT_API="pyqt5" epytest || die "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..f2c0e6668930
--- /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..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 \
+ 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 ecd47d50d20c..13a064a241d9 100644
--- a/dev-python/qtconsole/Manifest
+++ b/dev-python/qtconsole/Manifest
@@ -1,2 +1,4 @@
-DIST qtconsole-5.3.2.tar.gz 430792 BLAKE2B 246dadaab92851f8da65dfa4c7e80390defeb0855fdb3ea5ef6aab96bf56b28597dc65d7cb4fc95f0f795a19f4b826d0ec1e1e0b025f4fa49d4d5a78473a2b29 SHA512 715e7e4b185a656f395a30c575e8996271cea4672871d9471c74a13364be1ef0fe0e63951e8f52f10b9c887592dc899c399ae82e09f9934492d13119b1154796
-DIST qtconsole-5.4.0.tar.gz 431119 BLAKE2B 48348b400a9b594bd028d3905719f2d67f6c9281df99863f3d0d87cf83162c91ede3e65529a8efd3bff62ad3ea343cc4ee7ea028913cd5bf7e48d0c493930445 SHA512 c25a381d8494c64d63e379c1dd5a44c1945e773b87b9a27f8494905e7eca24c6381ec5b9792d9a57ac41b14137ce238795a5ff8d83d1b6ddaa62603e7d9ab165
+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
diff --git a/dev-python/qtconsole/qtconsole-5.3.2.ebuild b/dev-python/qtconsole/qtconsole-5.3.2.ebuild
deleted file mode 100644
index 66ab3fbf3bae..000000000000
--- a/dev-python/qtconsole/qtconsole-5.3.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..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm 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/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]
-"
-# The test suite tests both against pyqt5 *and* pyside2
-BDEPEND="
- test? (
- dev-python/QtPy[pyqt5,pyside2,${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)
- EPYTEST_IGNORE=(
- qtconsole/tests/test_00_console_widget.py
- qtconsole/tests/test_jupyter_widget.py
- )
- epytest
-}
diff --git a/dev-python/qtconsole/qtconsole-5.4.0.ebuild b/dev-python/qtconsole/qtconsole-5.4.0.ebuild
deleted file mode 100644
index c0a5a9924fb7..000000000000
--- a/dev-python/qtconsole/qtconsole-5.4.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_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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/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]
-"
-# The test suite tests both against pyqt5 *and* pyside2
-BDEPEND="
- test? (
- dev-python/QtPy[pyqt5,pyside2,${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)
- EPYTEST_IGNORE=(
- qtconsole/tests/test_00_console_widget.py
- qtconsole/tests/test_jupyter_widget.py
- )
- epytest
-}
diff --git a/dev-python/qtconsole/qtconsole-5.4.3-r1.ebuild b/dev-python/qtconsole/qtconsole-5.4.3-r1.ebuild
new file mode 100644
index 000000000000..2dd67dae4c33
--- /dev/null
+++ b/dev-python/qtconsole/qtconsole-5.4.3-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-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
new file mode 100644
index 000000000000..3cd57fe34ba3
--- /dev/null
+++ b/dev-python/qtconsole/qtconsole-5.4.3.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-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
new file mode 100644
index 000000000000..f0dd3d6b58b3
--- /dev/null
+++ b/dev-python/qtconsole/qtconsole-5.4.4.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2023 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
new file mode 100644
index 000000000000..5ceced5c22c0
--- /dev/null
+++ b/dev-python/qtconsole/qtconsole-5.5.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2023 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
new file mode 100644
index 000000000000..c2409609f635
--- /dev/null
+++ b/dev-python/qtconsole/qtconsole-5.5.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..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 ~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/Manifest b/dev-python/qtsass/Manifest
index b88c7ba74e5b..97a81980ef7c 100644
--- a/dev-python/qtsass/Manifest
+++ b/dev-python/qtsass/Manifest
@@ -1 +1 @@
-DIST qtsass-0.3.2.gh.tar.gz 28601 BLAKE2B a02a21fb80d977cff09d3af74f50b68f341163997b68bb0eddf8aa5011b523992ef33f8d7afb8ee8361261c9ae7c45c5a141cfc957fdd3e10dc07ceafac06101 SHA512 2939ac9b2536148541abda4f3ea2750e814054c70a96614880453bf1443643e463fda9d2d308b3051461f88b4cf53046fc2ea057b62a2190b70a4b3f6daf033b
+DIST qtsass-0.4.0.gh.tar.gz 29466 BLAKE2B 954016c3a7a1ced59a28a50284f284f6138caf6c97cabb2854c56a3c499741060d4de7717ec39733fc41dc221d11f16118380dfc252ee1f169466bacc7ba6ad9 SHA512 58b5b70c5f1c102817d6024acb0d72f496f55217950e5a52422965215b8dc8debf4c7c6d4724efb5609b75b675d81e99dccc9211c0804c75063d33127f25353e
diff --git a/dev-python/qtsass/metadata.xml b/dev-python/qtsass/metadata.xml
index 1769fd3b8b81..bf0a7bb0ee0a 100644
--- a/dev-python/qtsass/metadata.xml
+++ b/dev-python/qtsass/metadata.xml
@@ -6,6 +6,7 @@
<name>Andrew Ammerlaan</name>
</maintainer>
<upstream>
+ <remote-id type="github">spyder-ide/qtsass</remote-id>
<remote-id type="pypi">qtsass</remote-id>
</upstream>
<stabilize-allarches/>
diff --git a/dev-python/qtsass/qtsass-0.3.2.ebuild b/dev-python/qtsass/qtsass-0.3.2.ebuild
deleted file mode 100644
index 0dfd11270ff8..000000000000
--- a/dev-python/qtsass/qtsass-0.3.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="Compile SASS files to Qt stylesheets"
-HOMEPAGE="https://github.com/spyder-ide/qtsass"
-SRC_URI="https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- dev-python/libsass-python[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/qtsass/qtsass-0.4.0.ebuild b/dev-python/qtsass/qtsass-0.4.0.ebuild
new file mode 100644
index 000000000000..9f2bb3025f6b
--- /dev/null
+++ b/dev-python/qtsass/qtsass-0.4.0.ebuild
@@ -0,0 +1,35 @@
+# 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="Compile SASS files to Qt stylesheets"
+HOMEPAGE="
+ https://github.com/spyder-ide/qtsass/
+ https://pypi.org/project/qtsass/
+"
+SRC_URI="
+ https://github.com/spyder-ide/qtsass/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ >=dev-python/libsass-0.22.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/quantities/Manifest b/dev-python/quantities/Manifest
index b251a9fd4e51..4a036d67ff41 100644
--- a/dev-python/quantities/Manifest
+++ b/dev-python/quantities/Manifest
@@ -1 +1 @@
-DIST python-quantities-0.13.0.gh.tar.gz 107178 BLAKE2B f5fe69ed1d82bc90620a1cabf4c68f676330a2b09e8590bedf48ee8c46e3176d57e0dc6374d1112377056cd1138553d92f0bcaf0a68e2600e3631226e2262afc SHA512 d108b0f5bd834aeb7443693175d54b2b01fa9110cc57f0356681374ce95b5f57e39253d9c8166365aabc379f2f26bba3a827689ceb6c45595345e140b4cd7ad3
+DIST python-quantities-0.15.0.gh.tar.gz 91327 BLAKE2B b75371e99b0f270d97cf6e9b80df1e7a0afa8ae8eb5d18750196e9b874737d58d3e3189ef9fdca4b312d24a19b406fe21f7eb304f0c1f11987873528190ca2e4 SHA512 987fb30d25a7b14e681d6eb963fc2cc68f954d017eca256739e897062249fce606adcb3224e3c8f0d371e49904caef7171a9a8ba4a7e60baa2fe063004846439
diff --git a/dev-python/quantities/files/quantities-0.13.0-numpy.patch b/dev-python/quantities/files/quantities-0.13.0-numpy.patch
deleted file mode 100644
index 940bc846d687..000000000000
--- a/dev-python/quantities/files/quantities-0.13.0-numpy.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 29852b895d5d39006d1f129397cffae3578a694e Mon Sep 17 00:00:00 2001
-From: Andrew Davison <andrew.davison@cnrs.fr>
-Date: Thu, 7 Jul 2022 10:03:32 +0200
-Subject: [PATCH] fix failure to handle units with floordiv
-
-fixes #205
----
- quantities/dimensionality.py | 2 +-
- quantities/tests/test_arithmetic.py | 16 +++++++++++++++-
- 2 files changed, 16 insertions(+), 2 deletions(-)
-
-diff --git a/quantities/dimensionality.py b/quantities/dimensionality.py
-index cea68ca..d54f96f 100644
---- a/quantities/dimensionality.py
-+++ b/quantities/dimensionality.py
-@@ -238,6 +238,7 @@ def _d_divide(q1, q2, out=None):
- return q2.dimensionality**-1
- p_dict[np.divide] = _d_divide
- p_dict[np.true_divide] = _d_divide
-+p_dict[np.floor_divide] = _d_divide
-
- def _d_check_uniform(q1, q2, out=None):
- try:
-@@ -273,7 +274,6 @@ p_dict[np.subtract] = _d_check_uniform
- p_dict[np.mod] = _d_check_uniform
- p_dict[np.fmod] = _d_check_uniform
- p_dict[np.remainder] = _d_check_uniform
--p_dict[np.floor_divide] = _d_check_uniform
- p_dict[np.hypot] = _d_check_uniform
- p_dict[np.equal] = _d_check_uniform
- p_dict[np.not_equal] = _d_check_uniform
-diff --git a/quantities/tests/test_arithmetic.py b/quantities/tests/test_arithmetic.py
-index fe5670e..534702c 100644
---- a/quantities/tests/test_arithmetic.py
-+++ b/quantities/tests/test_arithmetic.py
-@@ -52,7 +52,7 @@ class iter_dtypes:
-
- def __init__(self):
- self._i = 1
-- self._typeDict = np.typeDict.copy()
-+ self._typeDict = np.sctypeDict.copy()
- self._typeDict[17] = int
- self._typeDict[18] = long
- self._typeDict[19] = float
-@@ -132,6 +132,20 @@ class TestDTypes(TestCase):
- self.check_rmul(x, y)
- dtypes.pop(0)
-
-+ def test_truediv(self):
-+ q = Quantity([44, 40, 36, 32], units=pq.ms)
-+ self.assertQuantityEqual(
-+ q/(4 * pq.ms),
-+ Quantity([11, 10, 9, 8], units=pq.dimensionless)
-+ )
-+
-+ def test_floordiv(self):
-+ q = Quantity([45, 43, 39, 32], units=pq.ms)
-+ self.assertQuantityEqual(
-+ q//(4 * pq.ms),
-+ Quantity([11, 10, 9, 8], units=pq.dimensionless)
-+ )
-+
- def test_mixed_addition(self):
- self.assertQuantityEqual(1*pq.ft + 1*pq.m, 4.280839895 * pq.ft)
- self.assertQuantityEqual(1*pq.ft + pq.m, 4.280839895 * pq.ft)
---
-2.39.0
-
diff --git a/dev-python/quantities/quantities-0.13.0-r2.ebuild b/dev-python/quantities/quantities-0.13.0-r2.ebuild
deleted file mode 100644
index f5bb3ce8d977..000000000000
--- a/dev-python/quantities/quantities-0.13.0-r2.ebuild
+++ /dev/null
@@ -1,35 +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
-
-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 x86"
-
-RDEPEND="
- >=dev-python/numpy-1.16[$PYTHON_USEDEP]
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${P}-numpy.patch
-)
diff --git a/dev-python/quantities/quantities-0.15.0.ebuild b/dev-python/quantities/quantities-0.15.0.ebuild
new file mode 100644
index 000000000000..ae62dc2986da
--- /dev/null
+++ b/dev-python/quantities/quantities-0.15.0.ebuild
@@ -0,0 +1,40 @@
+# 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.20[$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/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..9549dd2cafac
--- /dev/null
+++ b/dev-python/quart-trio/quart-trio-0.11.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+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 ppc ppc64 ~riscv 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
+
+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..0fbb8ac1aff4
--- /dev/null
+++ b/dev-python/quart/Manifest
@@ -0,0 +1,2 @@
+DIST quart-0.19.4.gh.tar.gz 493787 BLAKE2B 8a754687cc2e8321ed6b2243cfe519d95e955869a1a12c89a22aa3e304466a4a496531e7ca8e819c0daee88a6b077e7b54dbef02de84abd6f6dbf7b8988e139f SHA512 d6673a43733b8f1caa2180c545cea99eb9670d802b29f123e6c499345bc33cc5f36c9146757e0eea9def811043a9b0e7d59e5e7012ee965b425ec32620cd383a
+DIST quart-0.19.5.gh.tar.gz 494282 BLAKE2B d908638a00d67798dc71bb84ab51b2b35ee55c1b16ba88781642a1b64b70e0206e33c4e61cb397451969d0edde593ac2639ce8000838750e312b1ef47b8b154a SHA512 a764f50b19c84f7b4cf368488a703c726b2e98785cc7e0c15de0c3293f764658bb6e1489be53bb03ca135ccd847383424fdba8706383a45f406c39fdceb26d71
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.4.ebuild b/dev-python/quart/quart-0.19.4.ebuild
new file mode 100644
index 000000000000..8f88cb4d2002
--- /dev/null
+++ b/dev-python/quart/quart-0.19.4.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..12} )
+
+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 ppc ppc64 ~riscv 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/quart/quart-0.19.5.ebuild b/dev-python/quart/quart-0.19.5.ebuild
new file mode 100644
index 000000000000..b761ac8f5a60
--- /dev/null
+++ b/dev-python/quart/quart-0.19.5.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..12} )
+
+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 ~ppc ~ppc64 ~riscv ~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/quex/Manifest b/dev-python/quex/Manifest
deleted file mode 100644
index 1357b40e79d3..000000000000
--- a/dev-python/quex/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST quex-0.71.2.zip 4466070 BLAKE2B 3c9db64174c9a56a8b07b64b7140e8d65b2352f93f6eb67e2ee34b595db05ffe1b73d0668d668268423d457e15bb365509de9abc0335af7d017496b814ca9cae SHA512 5065495ba568e38f384447cdbd7ef02f8d38cf5cd9425a9ec523e8e72d4ed52f3a02dec945961e568a4d759ab1e45d717cbc55a3b38a9e4dde9eb75524a1eb5b
diff --git a/dev-python/quex/files/quex-0.71.0-gentoo.patch b/dev-python/quex/files/quex-0.71.0-gentoo.patch
deleted file mode 100644
index 80eb411f5a0e..000000000000
--- a/dev-python/quex/files/quex-0.71.0-gentoo.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/quex/DEFINITIONS.py 2017-12-13 21:48:52.887765325 +0100
-+++ b/quex/DEFINITIONS.py 2017-12-13 21:52:29.805877359 +0100
-@@ -57,7 +57,7 @@
- global QUEX_INSTALLATION_DIR
-
- # -- Try to acces the file 'quex-exe.py' in order to verify
-- if os.access(QUEX_INSTALLATION_DIR + "/quex-exe.py", os.F_OK) == False:
-+ if False:
- print("error: Environment variable 'QUEX_PATH' does not point to")
- print("error: a valid installation directory of quex.")
- print("error: current setting of 'QUEX_PATH':")
diff --git a/dev-python/quex/files/quex.sh b/dev-python/quex/files/quex.sh
deleted file mode 100644
index 26bd161e969c..000000000000
--- a/dev-python/quex/files/quex.sh
+++ /dev/null
@@ -1 +0,0 @@
-export QUEX_PATH=/usr/share
diff --git a/dev-python/quex/metadata.xml b/dev-python/quex/metadata.xml
deleted file mode 100644
index dd296dbb9124..000000000000
--- a/dev-python/quex/metadata.xml
+++ /dev/null
@@ -1,27 +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>
- <maintainer type="person">
- <email>tupone@gentoo.org</email>
- <name>Tupone Alfredo</name>
- </maintainer>
- <longdescription lang="en">
- It is:
- a tool to generate lexical analyzers. A lexical analyzer is a program
- that transforms a stream of characters into a stream of
- 'atomic chunks of meaning', so called tokens.
-
- It does:
- generate directly coded lexical analyzers, rather than table based
- engines.
- respond to queries on Unicode properties and regular expressions on the
- command line.
- generate state transition graphs of the generated engines.
- </longdescription>
- <upstream>
- <remote-id type="sourceforge">quex</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/quex/quex-0.71.2.ebuild b/dev-python/quex/quex-0.71.2.ebuild
deleted file mode 100644
index edb29663196e..000000000000
--- a/dev-python/quex/quex-0.71.2.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9,10} )
-
-inherit python-single-r1
-
-DESCRIPTION="Mode Oriented Directly Coded Lexical Analyser Generator"
-HOMEPAGE="http://quex.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.zip"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}"
-BDEPEND="${RDEPEND}
- app-arch/unzip"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.71.0-gentoo.patch
-)
-
-src_prepare() {
- default
- sed -i \
- -e "s:@PYTHON_SITEDIR@:$(python_get_sitedir):g" \
- quex/DEFINITIONS.py || die
- mkdir -p engine/codec_db/unicode || die
- mv quex/engine/codec_db/database engine/codec_db/ || die
- mv quex/engine/codec_db/unicode/database engine/codec_db/unicode/ || die
- mv quex/code_base . || die
-}
-
-src_install() {
- default
- insinto /usr/share/quex/
- doins -r engine
- doins -r code_base
-
- python_domodule quex
- python_newscript quex-exe.py quex
- doman manpage/quex.1
- dodoc -r demo
- insinto /etc/profile.d/
- doins "${FILESDIR}"/quex.sh
-}
diff --git a/dev-python/radon/Manifest b/dev-python/radon/Manifest
index 3495a408c7fd..17159d6aa96b 100644
--- a/dev-python/radon/Manifest
+++ b/dev-python/radon/Manifest
@@ -1 +1 @@
-DIST radon-5.1.0.tar.gz 1873643 BLAKE2B 475c140fa3f9350b2376a66d3cf0dddd7f0ab1b3a4f397e82b65d175dc20ece38da1cdc7a83ef2f9e65d7d735dd589fa7ccbb5d966ca07cc7950430dd33642b9 SHA512 98e1c3dbf419ff0a791f01ea5376177c5be47c9cf1afdd9ae53014e8869dd10c7a7661a69bace48adb880173a8a176d4a13534711fcf53408b3f495f4579f7c5
+DIST radon-6.0.1.tar.gz 1874992 BLAKE2B a70926fc7acc4212d65dc9b6fc843b8fc32ca55aa836464240cf1fd6065ac9d5a28b8a2facdde5287bfd119a388db5ce1a530c5c84aebcbbe414ca1c336451b8 SHA512 91bd091610568dacb95491ba314b68dfb33ee397b043ae96badc7c134a841122d90394a36b1d665c9cabf273c0e6128217ebfc459c36020c12dcab647dd5df53
diff --git a/dev-python/radon/radon-5.1.0-r2.ebuild b/dev-python/radon/radon-5.1.0-r2.ebuild
deleted file mode 100644
index 24af49e56dc2..000000000000
--- a/dev-python/radon/radon-5.1.0-r2.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="Code Metrics in Python"
-HOMEPAGE="
- https://radon.readthedocs.io/
- https://github.com/rubik/radon/
- https://pypi.org/project/radon/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/colorama[${PYTHON_USEDEP}]
- dev-python/flake8[${PYTHON_USEDEP}]
- dev-python/mando[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin the dep
- sed -i -e '/mando/s:,<0.7::' setup.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/radon/radon-6.0.1.ebuild b/dev-python/radon/radon-6.0.1.ebuild
new file mode 100644
index 000000000000..be3e9f7dcf95
--- /dev/null
+++ b/dev-python/radon/radon-6.0.1.ebuild
@@ -0,0 +1,34 @@
+# 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="Code Metrics in Python"
+HOMEPAGE="
+ https://radon.readthedocs.io/
+ https://github.com/rubik/radon/
+ https://pypi.org/project/radon/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/colorama-0.4.1[${PYTHON_USEDEP}]
+ dev-python/flake8[${PYTHON_USEDEP}]
+ <dev-python/mando-0.8[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
diff --git a/dev-python/raet/raet-0.6.8-r4.ebuild b/dev-python/raet/raet-0.6.8-r4.ebuild
deleted file mode 100644
index 58055133eba3..000000000000
--- a/dev-python/raet/raet-0.6.8-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
-
-PYTHON_COMPAT=( python3_10 )
-inherit distutils-r1
-
-DESCRIPTION="Reliable Asynchronous Event Transport Protocol"
-HOMEPAGE="https://github.com/RaetProtocol/raet"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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="${RDEPEND}
- 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}"/lib || die
- ${EPYTHON} ${PN}/test/__init__.py || die "tests failed for ${EPYTHON}"
- popd || die
-}
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 b7e06f096120..000000000000
--- a/dev-python/random2/random2-1.0.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python-2.7 random module ported to python-3"
-HOMEPAGE="https://pypi.org/project/random2/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
-
-LICENSE="PSF-2"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~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..d6a815ba8d9f
--- /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..12} )
+
+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
index 2b991b1ac19f..2b991b1ac19f 100644
--- a/dev-python/rapidfuzz_capi/Manifest
+++ b/dev-python/rapidfuzz-capi/Manifest
diff --git a/dev-python/rapidfuzz_capi/metadata.xml b/dev-python/rapidfuzz-capi/metadata.xml
index 43ddd18c41eb..43ddd18c41eb 100644
--- a/dev-python/rapidfuzz_capi/metadata.xml
+++ b/dev-python/rapidfuzz-capi/metadata.xml
diff --git a/dev-python/rapidfuzz-capi/rapidfuzz-capi-1.0.5.ebuild b/dev-python/rapidfuzz-capi/rapidfuzz-capi-1.0.5.ebuild
new file mode 100644
index 000000000000..25a7cc31b8c8
--- /dev/null
+++ b/dev-python/rapidfuzz-capi/rapidfuzz-capi-1.0.5.ebuild
@@ -0,0 +1,25 @@
+# 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 79faf3e738be..9558e9af3312 100644
--- a/dev-python/rapidfuzz/Manifest
+++ b/dev-python/rapidfuzz/Manifest
@@ -1,5 +1,2 @@
-DIST rapidfuzz-2.13.2.tar.gz 842042 BLAKE2B 35f3554a3a3cf3d02fc9e96b68e4e54bfd17d4df14befc9c17a3e3c3e078f41106bae2bdf5844ac8658af57dfcf6de90c9ccbadb45cb086a297b75d8c0de50fc SHA512 9cbc436f9259008dd911aac0884c222e444145554a6d8eab4761cff701397d62de26e1ac47393c3273fe99b0ee0a92b80cbc5d6683fe3aedd8582e8afc5d7828
-DIST rapidfuzz-2.13.3.tar.gz 840669 BLAKE2B 8589b8ccb6584a38a2580a8063de04bc8eaddec40fd07a6ad483bc794ee643c6223bca9225020090cb9e3bae0766f48b395c1fdd92a45f97b62a43082e1a20e6 SHA512 c390d33d9f44c7a9a2211dee1bda4abfd14959797d4b299905ed41ed1bc7991f9122e0f6d74cef42ad9d747bb5a32752516b58387c3fd8b66fcb05bdd245f8d9
-DIST rapidfuzz-2.13.4.tar.gz 843410 BLAKE2B 91a072f5697bf2e01db71725e94c4fa5c81877d2be5a2b39a57040c5412480e0c568818445f4f4ca13c02a57d8e20483041d177b18d78884a6084c0d2eb4772e SHA512 3ecf50403625a7a07a27631aea4dd3800dc936327e129414dd6cf3d7559aaf08222640ccf19ab5e02c667109e59c829b7b1ccbaa9d3cf5802203ea6d8bc2a738
-DIST rapidfuzz-2.13.6.tar.gz 999974 BLAKE2B c73510461faf8ba0d725b95a751afe69b42dfb3543cf8b02689573f71eee252192ee5f94388255a13e87434d4a36626d484ed9ca5ae66f05bc5f1a0eeb75bbfe SHA512 3255d92a5eccf15577572a0da9075f092a3a33a2d37d84da27389914cdec4e97b3314d9dc8d373b265824e33c0e3522f8ac8888eef6b36b3cab55d41e11708b2
-DIST rapidfuzz-2.13.7.tar.gz 999972 BLAKE2B 1120a8fb91b03bc3d9bf6a04291f188df06d7ff37911ae8459b4a082d949bcad21598513416aa4ccfb268ba16dbe4faa574015d5730a729950c2713ae15b0be1 SHA512 5d2c4620c09b44fc8bd48e236b46af6e28ef3b86f32e0697408bd77230af46d711bfc28eb7fcfc8b1403a84b51235fc39b9a1d2fedb6421918bcb700b2b88f9c
+DIST rapidfuzz-3.7.0.tar.gz 1569549 BLAKE2B fca22e86c002eeef7763487168d072941bbaefc7fa9cb9d5ae3d3f49e3a4487d69917da6663436cfc73ca38c67f2fc3a985e82dd64fe430aabc3708efada8513 SHA512 058fee9dc4d6934bf7b0e10eb8cc39303b6b4b67562c3b2244ec9035b1d5c3301aaf1570aa26099a6f3a6c0e7b52c387a01fcd62be28f55ab755377d053eb7f5
+DIST rapidfuzz-3.8.1.tar.gz 1592462 BLAKE2B 79062be1bdd2e5aa1c364f2426a8b3cb4fc03e44b7548e475abd60827821414ce4ebcbe90377c0d19eb2c8c741e2e171c73e4672fd8126bf99856ea095e9b85b SHA512 fbebdf804220841257075af51186cde5cf8b0ea71bc4ce208bc64853fd1b1aebf97bfb86d1db058c3fb72a60268e5297fe3691b042d52263c66f8da6ae37f90a
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-2.13.2.ebuild b/dev-python/rapidfuzz/rapidfuzz-2.13.2.ebuild
deleted file mode 100644
index 3b7d7955ca05..000000000000
--- a/dev-python/rapidfuzz/rapidfuzz-2.13.2.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
-
-# custom wrapper over setuptools
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Rapid fuzzy string matching in Python using various string metrics"
-HOMEPAGE="
- https://github.com/maxbachmann/RapidFuzz/
- https://pypi.org/project/rapidfuzz/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-# all these are header-only libraries
-DEPEND="
- >=dev-cpp/taskflow-3.0.0
- >=dev-cpp/rapidfuzz-cpp-1.10.0
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-BDEPEND="
- 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}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # sterilize build flags
- sed -i -e '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die
-
- distutils-r1_src_prepare
-
- export RAPIDFUZZ_BUILD_EXTENSION=1
-}
diff --git a/dev-python/rapidfuzz/rapidfuzz-2.13.3.ebuild b/dev-python/rapidfuzz/rapidfuzz-2.13.3.ebuild
deleted file mode 100644
index 3b7d7955ca05..000000000000
--- a/dev-python/rapidfuzz/rapidfuzz-2.13.3.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
-
-# custom wrapper over setuptools
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Rapid fuzzy string matching in Python using various string metrics"
-HOMEPAGE="
- https://github.com/maxbachmann/RapidFuzz/
- https://pypi.org/project/rapidfuzz/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-# all these are header-only libraries
-DEPEND="
- >=dev-cpp/taskflow-3.0.0
- >=dev-cpp/rapidfuzz-cpp-1.10.0
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-BDEPEND="
- 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}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # sterilize build flags
- sed -i -e '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die
-
- distutils-r1_src_prepare
-
- export RAPIDFUZZ_BUILD_EXTENSION=1
-}
diff --git a/dev-python/rapidfuzz/rapidfuzz-2.13.4.ebuild b/dev-python/rapidfuzz/rapidfuzz-2.13.4.ebuild
deleted file mode 100644
index 3b7d7955ca05..000000000000
--- a/dev-python/rapidfuzz/rapidfuzz-2.13.4.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
-
-# custom wrapper over setuptools
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Rapid fuzzy string matching in Python using various string metrics"
-HOMEPAGE="
- https://github.com/maxbachmann/RapidFuzz/
- https://pypi.org/project/rapidfuzz/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-# all these are header-only libraries
-DEPEND="
- >=dev-cpp/taskflow-3.0.0
- >=dev-cpp/rapidfuzz-cpp-1.10.0
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-BDEPEND="
- 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}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # sterilize build flags
- sed -i -e '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die
-
- distutils-r1_src_prepare
-
- export RAPIDFUZZ_BUILD_EXTENSION=1
-}
diff --git a/dev-python/rapidfuzz/rapidfuzz-2.13.6.ebuild b/dev-python/rapidfuzz/rapidfuzz-2.13.6.ebuild
deleted file mode 100644
index 3b7d7955ca05..000000000000
--- a/dev-python/rapidfuzz/rapidfuzz-2.13.6.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
-
-# custom wrapper over setuptools
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Rapid fuzzy string matching in Python using various string metrics"
-HOMEPAGE="
- https://github.com/maxbachmann/RapidFuzz/
- https://pypi.org/project/rapidfuzz/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-# all these are header-only libraries
-DEPEND="
- >=dev-cpp/taskflow-3.0.0
- >=dev-cpp/rapidfuzz-cpp-1.10.0
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-BDEPEND="
- 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}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # sterilize build flags
- sed -i -e '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die
-
- distutils-r1_src_prepare
-
- export RAPIDFUZZ_BUILD_EXTENSION=1
-}
diff --git a/dev-python/rapidfuzz/rapidfuzz-2.13.7.ebuild b/dev-python/rapidfuzz/rapidfuzz-2.13.7.ebuild
deleted file mode 100644
index ceb47b2e62b3..000000000000
--- a/dev-python/rapidfuzz/rapidfuzz-2.13.7.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
-
-# custom wrapper over setuptools
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Rapid fuzzy string matching in Python using various string metrics"
-HOMEPAGE="
- https://github.com/maxbachmann/RapidFuzz/
- https://pypi.org/project/rapidfuzz/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
-
-# all these are header-only libraries
-DEPEND="
- >=dev-cpp/taskflow-3.0.0
- >=dev-cpp/rapidfuzz-cpp-1.10.0
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-BDEPEND="
- 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}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # sterilize build flags
- sed -i -e '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die
-
- distutils-r1_src_prepare
-
- export RAPIDFUZZ_BUILD_EXTENSION=1
-}
diff --git a/dev-python/rapidfuzz/rapidfuzz-3.7.0.ebuild b/dev-python/rapidfuzz/rapidfuzz-3.7.0.ebuild
new file mode 100644
index 000000000000..57edbabee975
--- /dev/null
+++ b/dev-python/rapidfuzz/rapidfuzz-3.7.0.ebuild
@@ -0,0 +1,66 @@
+# 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..12} )
+
+inherit distutils-r1 multiprocessing 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.2
+ 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_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 -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
diff --git a/dev-python/rapidfuzz/rapidfuzz-3.8.1.ebuild b/dev-python/rapidfuzz/rapidfuzz-3.8.1.ebuild
new file mode 100644
index 000000000000..9bf96f9f14b7
--- /dev/null
+++ b/dev-python/rapidfuzz/rapidfuzz-3.8.1.ebuild
@@ -0,0 +1,66 @@
+# 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..12} )
+
+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.4
+ 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}]
+ )
+"
+
+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
+
+ 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/rapidfuzz_capi/rapidfuzz_capi-1.0.5.ebuild b/dev-python/rapidfuzz_capi/rapidfuzz_capi-1.0.5.ebuild
deleted file mode 100644
index c335537a6db5..000000000000
--- a/dev-python/rapidfuzz_capi/rapidfuzz_capi-1.0.5.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="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
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
diff --git a/dev-python/rarfile/Manifest b/dev-python/rarfile/Manifest
index a37f413492e3..21c648b3aeb9 100644
--- a/dev-python/rarfile/Manifest
+++ b/dev-python/rarfile/Manifest
@@ -1 +1,2 @@
-DIST rarfile-4.0.tar.gz 148026 BLAKE2B 331548d54dcc3d81c690cc383e36e3f00515999c72abb54060e0dbb34691bb7e06736318a33ec349492e27e561ed2f4ff4446cc5254e9f341f4633adaab878aa SHA512 05e15acd749564288d4f069970ac196344c33fd2710e918b84afe4c388aa364a17c63f86577037524336e3a022f6db2c8619f9b526f89e00753a8ab0d89263d4
+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/files/rarfile-4.0.patch b/dev-python/rarfile/files/rarfile-4.0.patch
deleted file mode 100644
index e9d3251b6da2..000000000000
--- a/dev-python/rarfile/files/rarfile-4.0.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -r -U2 rarfile-4.0.orig/test/test_tool.py rarfile-4.0/test/test_tool.py
---- rarfile-4.0.orig/test/test_tool.py 2020-08-01 01:25:50.000000000 +0700
-+++ rarfile-4.0/test/test_tool.py 2021-10-03 22:35:22.329537879 +0700
-@@ -33,5 +33,5 @@
-
-
--@pytest.mark.skipif(sys.platform == "win32", reason="unar not available on Windows")
-+@pytest.mark.skip()
- def test_unar_tool():
- install_unar_tool()
-@@ -43,4 +43,5 @@
-
-
-+@pytest.mark.skip()
- def test_bsdtar_tool():
- install_bsdtar_tool()
-@@ -114,4 +115,5 @@
-
-
-+@pytest.mark.skip()
- def test_cli_help(capsys):
- assert cli("--help") == 0
diff --git a/dev-python/rarfile/rarfile-4.0-r1.ebuild b/dev-python/rarfile/rarfile-4.0-r1.ebuild
deleted file mode 100644
index e7359028d806..000000000000
--- a/dev-python/rarfile/rarfile-4.0-r1.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
-
-DISTUTLS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="Module for RAR archive reading"
-HOMEPAGE="https://github.com/markokr/rarfile"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-IUSE="+compressed test"
-REQUIRED_USE="test? ( compressed )"
-
-RDEPEND="compressed? ( app-arch/unrar )"
-
-PATCHES=( "${FILESDIR}"/${P}.patch )
-
-distutils_enable_tests pytest
diff --git a/dev-python/rarfile/rarfile-4.1.ebuild b/dev-python/rarfile/rarfile-4.1.ebuild
new file mode 100644
index 000000000000..6a7b0c10755a
--- /dev/null
+++ b/dev-python/rarfile/rarfile-4.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 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..e2083fd03329
--- /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..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/ratelimit/ratelimit-2.2.1-r1.ebuild b/dev-python/ratelimit/ratelimit-2.2.1-r1.ebuild
index 6517b1536f87..829c2b5a7c9d 100644
--- a/dev-python/ratelimit/ratelimit-2.2.1-r1.ebuild
+++ b/dev-python/ratelimit/ratelimit-2.2.1-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="An API rate limit decorator for Python"
@@ -16,7 +16,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
distutils_enable_tests pytest
diff --git a/dev-python/rdflib/Manifest b/dev-python/rdflib/Manifest
index 2e463c1f67d3..9d949ab73ce4 100644
--- a/dev-python/rdflib/Manifest
+++ b/dev-python/rdflib/Manifest
@@ -1 +1 @@
-DIST rdflib-6.2.0.gh.tar.gz 4886953 BLAKE2B 74044b0cbaf6c1ba6f2a43347112118dcf92b5237afdd49782ca6d637df092379ff2d81eaec254ad0bf25057f8c0cd44c82a35a89d4ce7b21c8e222de9aef16a SHA512 8177c50e9c2d48859a061dfee24c3560b8f979bc306b3d940a9251ec130e3a324bbad474f4fa7ced5e11522d3bd4e13931461bf106f31177fd972806968d8245
+DIST rdflib-7.0.0.tar.gz 4765796 BLAKE2B 60ca36160f4f6588892853adde9dd4b795e549cc7fd52127cf1e50de3853b25b3a333cabd584ccf22827cb6f89d215d225c4ba767d0775feeefb481e4b1ed93b SHA512 56d110ab24c74c6ddb2e75320f60a82b4945e6ea1ce9d10ad4ae53d44c679b35826e3d7406e7d0e321ef9b042d32d2ba327a6dbd5c2c1780f552131d80c09445
diff --git a/dev-python/rdflib/rdflib-6.2.0.ebuild b/dev-python/rdflib/rdflib-6.2.0.ebuild
deleted file mode 100644
index d8d353fbbb99..000000000000
--- a/dev-python/rdflib/rdflib-6.2.0.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 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} )
-PYTHON_REQ_USE="sqlite?,threads(+)"
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="RDF library containing a triple store and parser/serializer"
-HOMEPAGE="
- https://github.com/RDFLib/rdflib/
- https://pypi.org/project/rdflib/
-"
-SRC_URI="
- https://github.com/RDFLib/rdflib/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
-IUSE="examples sqlite"
-
-RDEPEND="
- dev-python/isodate[${PYTHON_USEDEP}]
- dev-python/html5lib[${PYTHON_USEDEP}]
- dev-python/pyparsing[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/berkeleydb[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # doctests require internet
- sed -i -e '/doctest-modules/d' pyproject.toml || die
-
- # we disable pytest-cov
- sed -i -e 's@, no_cover: None@@' test/test_misc/test_plugins.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # some of them fail with encoding problems (bad code most likely)
- # but too many to list them one by one
- test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11
- "test/test_sparql/test_result.py::test_select_result_serialize_parse[xml-TEXT_IO-utf-8]"
- "test/test_sparql/test_result.py::test_select_result_serialize_parse[xml-STR_PATH-utf-8]"
- "test/test_sparql/test_result.py::test_select_result_serialize_parse[xml-BINARY_IO-utf-8]"
- "test/test_sparql/test_result.py::test_select_result_serialize_parse[xml-None-utf-8]"
- "test/test_sparql/test_result.py::test_select_result_parse_serialized[xml-TEXT_IO-utf-8]"
-
- # Internet
- test/test_sparql/test_service.py
- "test/jsonld/test_onedotone.py::test_suite[https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tc034-do_test_parser-https://w3c.github.io/json-ld-api/tests/-toRdf-c034-toRdf/c034-in.jsonld-toRdf/c034-out.nq-False-options66]"
- "test/jsonld/test_onedotone.py::test_suite[https://w3c.github.io/json-ld-api/tests/toRdf-manifest#te126-do_test_parser-https://w3c.github.io/json-ld-api/tests/-toRdf-e126-toRdf/e126-in.jsonld-toRdf/e126-out.nq-False-options167]"
- "test/jsonld/test_onedotone.py::test_suite[https://w3c.github.io/json-ld-api/tests/toRdf-manifest#te127-do_test_parser-https://w3c.github.io/json-ld-api/tests/-toRdf-e127-toRdf/e127-in.jsonld-toRdf/e127-out.nq-False-options168]"
- "test/jsonld/test_onedotone.py::test_suite[https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tso05-do_test_parser-https://w3c.github.io/json-ld-api/tests/-toRdf-so05-toRdf/so05-in.jsonld-toRdf/so05-out.nq-False-options253]"
- "test/jsonld/test_onedotone.py::test_suite[https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tso08-do_test_parser-https://w3c.github.io/json-ld-api/tests/-toRdf-so08-toRdf/so08-in.jsonld-toRdf/so08-out.nq-False-options254]"
- "test/jsonld/test_onedotone.py::test_suite[https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tso09-do_test_parser-https://w3c.github.io/json-ld-api/tests/-toRdf-so09-toRdf/so09-in.jsonld-toRdf/so09-out.nq-False-options255]"
- "test/jsonld/test_onedotone.py::test_suite[https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tso11-do_test_parser-https://w3c.github.io/json-ld-api/tests/-toRdf-so11-toRdf/so11-in.jsonld-toRdf/so11-out.nq-False-options256]"
- test/test_extras/test_infixowl/test_basic.py::test_infix_owl_example1
- test/test_extras/test_infixowl/test_context.py::test_context
- test/test_graph/test_graph.py::test_guess_format_for_parse
- )
- local EPYTEST_IGNORE=(
- # Uses network
- test/test_so_69984830.py
- )
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-
- epytest
-}
-
-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 "support for sys-libs/db (Berkeley DB for MySQL)" dev-python/berkeleydb
-}
diff --git a/dev-python/rdflib/rdflib-7.0.0.ebuild b/dev-python/rdflib/rdflib-7.0.0.ebuild
new file mode 100644
index 000000000000..081f621671d3
--- /dev/null
+++ b/dev-python/rdflib/rdflib-7.0.0.ebuild
@@ -0,0 +1,60 @@
+# 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?,threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="RDF library containing a triple store and parser/serializer"
+HOMEPAGE="
+ https://github.com/RDFLib/rdflib/
+ https://pypi.org/project/rdflib/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="examples sqlite"
+
+RDEPEND="
+ <dev-python/isodate-1[${PYTHON_USEDEP}]
+ >=dev-python/isodate-0.6.0[${PYTHON_USEDEP}]
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ <dev-python/pyparsing-4[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/requests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # doctests require internet
+ sed -i -e '/doctest-modules/d' pyproject.toml || die
+
+ # we disable pytest-cov
+ sed -i -e 's@, no_cover: None@@' test/test_misc/test_plugins.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -m "not webtest"
+}
+
+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/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 b0fd9888aba0..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_{9..11} 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..aa581e4d4ddd
--- /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..12} )
+
+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="
+ $(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
new file mode 100644
index 000000000000..bfb4ffb1b55b
--- /dev/null
+++ b/dev-python/readme-renderer/Manifest
@@ -0,0 +1 @@
+DIST readme_renderer-43.0.tar.gz 31768 BLAKE2B 0f0c3fbac8a1358d5271ee6805e051225bee53a33098d60f8fb54b2bed04de77dc5986759669bf3e14d5fac449b5f6c712aca66400320666958533a406b1ae3b SHA512 505cca08179c0eb35a7248d6bcfea24a968ad749365bec6bb65bbe4ba64ac78ef971ee63422796fdcc462210b199c9df126c8424bfc078ed1a9d1149b2d874e2
diff --git a/dev-python/readme_renderer/metadata.xml b/dev-python/readme-renderer/metadata.xml
index 681b5c1c0d94..681b5c1c0d94 100644
--- a/dev-python/readme_renderer/metadata.xml
+++ b/dev-python/readme-renderer/metadata.xml
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/Manifest b/dev-python/readme_renderer/Manifest
deleted file mode 100644
index 15684b72ac1b..000000000000
--- a/dev-python/readme_renderer/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST readme_renderer-37.3.tar.gz 29718 BLAKE2B f0fdf0689f74b444ca1ae84c4e43f3bff5b5725052a3d83ad001d19b8a4180f6de95f41dc5cbaa6c7fd93bef6b593f1107674fce10f60148cdaa703cc480b789 SHA512 e4c060074cae3d23a10ef46f64d1426dab73e1618fe0920758d701d7ec4ced8120d4791ab29691306d0ab36f45447b4dc42be20d086b2f514111ef091204491c
diff --git a/dev-python/readme_renderer/readme_renderer-37.3.ebuild b/dev-python/readme_renderer/readme_renderer-37.3.ebuild
deleted file mode 100644
index 2e54cb81be62..000000000000
--- a/dev-python/readme_renderer/readme_renderer-37.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A library for rendering 'readme' descriptions for Warehouse"
-HOMEPAGE="
- https://github.com/pypa/readme_renderer/
- https://pypi.org/project/readme-renderer/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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/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/readthedocs-sphinx-ext/Manifest b/dev-python/readthedocs-sphinx-ext/Manifest
index 6668a7cd5ea7..689c6ba442cf 100644
--- a/dev-python/readthedocs-sphinx-ext/Manifest
+++ b/dev-python/readthedocs-sphinx-ext/Manifest
@@ -1 +1 @@
-DIST readthedocs-sphinx-ext-2.2.0.tar.gz 12721 BLAKE2B 3ac02a96a059e6d6b94af4318a5e816f8664e1164edb315d7540d1bfcce3b0edbbe9d567b0dc2931179cb309714175c64a3684b9d568551cc240ccbefc77a10a SHA512 8f7009a0716751de2fe2fed726aa08bb382d15ef6c4fb66e6c29537f985a92ab7cc137f81a4f6200e794cb7f495ebf561356194f57c694509b67e7686bef52c5
+DIST readthedocs-sphinx-ext-2.2.5.tar.gz 12303 BLAKE2B 55e67a96b8e5c4fef9d0768a4e514da924969628349d210b1cba6d8167c288bb4b6792486a80176fb01df7f8889b3f7b59ff30cb4ea487943e4bfe0d6942488f SHA512 d096803bb3d065236502d790ddd9efbf281854177dee7043f8bf2292cb124aea636b0d036e23ea3f23643484faaf2fd5e1b8636a2ed7973674cf5d5584f39bf3
diff --git a/dev-python/readthedocs-sphinx-ext/metadata.xml b/dev-python/readthedocs-sphinx-ext/metadata.xml
index ec2b7f9df3b9..bcc8b262b840 100644
--- a/dev-python/readthedocs-sphinx-ext/metadata.xml
+++ b/dev-python/readthedocs-sphinx-ext/metadata.xml
@@ -8,5 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">readthedocs-sphinx-ext</remote-id>
+ <remote-id type="github">readthedocs/readthedocs-sphinx-ext</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/readthedocs-sphinx-ext/readthedocs-sphinx-ext-2.2.0.ebuild b/dev-python/readthedocs-sphinx-ext/readthedocs-sphinx-ext-2.2.0.ebuild
deleted file mode 100644
index 7e463831724d..000000000000
--- a/dev-python/readthedocs-sphinx-ext/readthedocs-sphinx-ext-2.2.0.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Code specific for Read the Docs and Sphinx"
-HOMEPAGE="
- https://github.com/readthedocs/readthedocs-sphinx-ext/
- https://pypi.org/project/readthedocs-sphinx-ext/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.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/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..1435fe7ebcc2
--- /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..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/readtime/Manifest b/dev-python/readtime/Manifest
new file mode 100644
index 000000000000..61841a40173c
--- /dev/null
+++ b/dev-python/readtime/Manifest
@@ -0,0 +1 @@
+DIST readtime-3.0.0.gh.tar.gz 10836 BLAKE2B 84a94833b45b5b9e208717bff58f2585f1b3c01bc1fb085e81e787aab3b7c6da2f6b043eb710aa5a97f548331f2c996e5bb236759a30bbcde710a66e702e7ae0 SHA512 b92fc74249b31c97a2f94e617bf5cb31900172a4816c6029c5966a37073f32f4fa033f39ad0494eb01b17775be37aa09867d0e459f71de51387b88d612bbb66e
diff --git a/dev-python/readtime/metadata.xml b/dev-python/readtime/metadata.xml
new file mode 100644
index 000000000000..b5676911c8fd
--- /dev/null
+++ b/dev-python/readtime/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">alanhamlett/readtime</remote-id>
+ <remote-id type="pypi">readtime</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/readtime/readtime-3.0.0.ebuild b/dev-python/readtime/readtime-3.0.0.ebuild
new file mode 100644
index 000000000000..df106e3853a7
--- /dev/null
+++ b/dev-python/readtime/readtime-3.0.0.ebuild
@@ -0,0 +1,31 @@
+# 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="Calculates the time some text takes the average human to read"
+HOMEPAGE="
+ https://github.com/alanhamlett/readtime/
+ https://pypi.org/project/readtime/
+"
+SRC_URI="
+ https://github.com/alanhamlett/readtime/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/beautifulsoup4-4.0.1[${PYTHON_USEDEP}]
+ >=dev-python/markdown2-2.4.3[${PYTHON_USEDEP}]
+ >=dev-python/pyquery-1.2[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/rebulk/Manifest b/dev-python/rebulk/Manifest
index 069eda8d1fc1..8cefaeb936ce 100644
--- a/dev-python/rebulk/Manifest
+++ b/dev-python/rebulk/Manifest
@@ -1 +1 @@
-DIST rebulk-3.1.0.gh.tar.gz 252775 BLAKE2B 9624a02f8df950e3efa77c0fe7c3dfa083c255b10c118a571aa4f4fb8ee95f663f7ba45e66e77ec4c3fb801a6a1e8e369b04a6ec1323aeed6c8b13deb286614c SHA512 591bbfeef1d472722d6250cd35f308c0ac9c5f2dee77f4702f1d9fa1e41bb1a16bbf7c4aa634d0b4f43d7f9093bc1e2faa38edb0170212fea2502ff6a284fcab
+DIST rebulk-3.2.0.gh.tar.gz 254923 BLAKE2B ea9501aa70d7842fecab8621ca7c58aed76dba419c46f92e0fc7fa7e300f0ac9d7a457fc3b6bd14d02296449e15c918d63be8060ab1df4a51fe77e383daf6c33 SHA512 17928a0fcf1a78a592289bb9c7c0ea48e8b4d93ccd77793065a51a54258c2af857e9da6955cad552fa53caf76a95ee002a789c35fe248a909971c8afc7b6dfa5
diff --git a/dev-python/rebulk/rebulk-3.1.0-r1.ebuild b/dev-python/rebulk/rebulk-3.1.0-r1.ebuild
deleted file mode 100644
index fdf9eb3b75f7..000000000000
--- a/dev-python/rebulk/rebulk-3.1.0-r1.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python library that performs advanced searches in strings"
-HOMEPAGE="
- https://github.com/Toilal/rebulk/
- https://pypi.org/project/rebulk/
-"
-SRC_URI="
- https://github.com/Toilal/rebulk/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Remove base64-encoded zip archive with pytest.
- rm runtests.py || die
-
- # Disable unconditional dependency on dev-python/pytest-runner.
- sed -i -e "s|'pytest-runner'||g" setup.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/rebulk/rebulk-3.2.0.ebuild b/dev-python/rebulk/rebulk-3.2.0.ebuild
new file mode 100644
index 000000000000..12a6b132057a
--- /dev/null
+++ b/dev-python/rebulk/rebulk-3.2.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 that performs advanced searches in strings"
+HOMEPAGE="
+ https://github.com/Toilal/rebulk/
+ https://pypi.org/project/rebulk/
+"
+SRC_URI="
+ https://github.com/Toilal/rebulk/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Remove base64-encoded zip archive with pytest.
+ rm runtests.py || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/recommonmark/Manifest b/dev-python/recommonmark/Manifest
index 83874646d3ec..27dca1e32fbe 100644
--- a/dev-python/recommonmark/Manifest
+++ b/dev-python/recommonmark/Manifest
@@ -1 +1 @@
-DIST recommonmark-0.7.1.tar.gz 24720 BLAKE2B 6543a23bd262be0ff6847fc1eb1bd3dad433606aa1adb52162cab2e0c4dd2265ac41b3816bbe1994c4f6ca732105712dbc9cd295d5cfd93061ad83520b8f449c SHA512 3e03440d606ea6247df9bd122a6fa2dccf01c0c315eeace046d5cd336657e26bbd1c6b7ad4ba46f344215905128b72508c036cc57bbe4b5e27df50c55371fe01
+DIST recommonmark-0.7.1.gh.tar.gz 24720 BLAKE2B 6543a23bd262be0ff6847fc1eb1bd3dad433606aa1adb52162cab2e0c4dd2265ac41b3816bbe1994c4f6ca732105712dbc9cd295d5cfd93061ad83520b8f449c SHA512 3e03440d606ea6247df9bd122a6fa2dccf01c0c315eeace046d5cd336657e26bbd1c6b7ad4ba46f344215905128b72508c036cc57bbe4b5e27df50c55371fe01
diff --git a/dev-python/recommonmark/recommonmark-0.7.1-r1.ebuild b/dev-python/recommonmark/recommonmark-0.7.1-r1.ebuild
index 9761a3e670ef..66b02242eff9 100644
--- a/dev-python/recommonmark/recommonmark-0.7.1-r1.ebuild
+++ b/dev-python/recommonmark/recommonmark-0.7.1-r1.ebuild
@@ -4,16 +4,23 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="Python docutils-compatibility bridge to CommonMark"
-HOMEPAGE="https://recommonmark.readthedocs.io/"
-SRC_URI="https://github.com/rtfd/recommonmark/archive/${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="
+ https://recommonmark.readthedocs.io/
+ https://github.com/readthedocs/recommonmark/
+ https://pypi.org/project/recommonmark/
+"
+SRC_URI="
+ https://github.com/readthedocs/recommonmark/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 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="
>=dev-python/commonmark-0.8.1[${PYTHON_USEDEP}]
@@ -26,4 +33,12 @@ PATCHES=(
"${FILESDIR}/${PN}-0.6.0-sphinx3-2.patch"
)
+# These tests are sensitive to Sphinx formatting changes and they will never
+# get fixed because upstream has archived the project in favor of myst_parser.
+# Bug #866009
+EPYTEST_DESELECT=(
+ "tests/test_sphinx.py::GenericTests::test_headings"
+ "tests/test_sphinx.py::CustomExtensionTests::test_integration"
+)
+
distutils_enable_tests pytest
diff --git a/dev-python/recurring-ical-events/Manifest b/dev-python/recurring-ical-events/Manifest
new file mode 100644
index 000000000000..5a81b40fea3c
--- /dev/null
+++ b/dev-python/recurring-ical-events/Manifest
@@ -0,0 +1,3 @@
+DIST python-recurring-ical-events-2.1.3.gh.tar.gz 329303 BLAKE2B c034fa558629bb8b3c6a901278d14a91826c3dfc805f6960936cd6dc1b219aff027615b05501c85767ab554112f6edf2a2467ced220bd92a7ac493673ca02ffe SHA512 1852b5ed09d1c531ac969aac338893e0409a54d6b0d59e15dbdcbe2a5f97f111c1c01272fa5df640d26c1a12fbc5f284e35c3e10aed0f16a842fe8a6a54462a7
+DIST python-recurring-ical-events-2.2.0.gh.tar.gz 332176 BLAKE2B 85eb127e4c8e505f21c135e9241353aee33ae9a5087fb0fb2c2bf9b6a0e913f36a5077569c76c3b92d196e506d8c2be83806a2f8e8554b957a7ee84a1145f316 SHA512 ba5a3b22728d73a392e071d0b1b5363ebf94f25dbe00728fe944d1c7dbb2998b90550756b3ac5e8c51ef310ee269b90f1345ac8380ab8a89bfb7b24f5797ae4c
+DIST python-recurring-ical-events-2.2.1.gh.tar.gz 332458 BLAKE2B 337823e2a98c43015ffd7e848ab4fe43429f787ceb8ff262dca9d73668a785d6245f9e64779c900f1a84a2d7713832621d42044309f38c44bba79fc2853d066f SHA512 1bd6337b5b8670b2c587d54eae26291c381adba76c38e21a937db8a16480d9b4c6eaddda6660fd0c345f67e38ed4f7cfe9e528ecce3686bce9659f4ef30d278c
diff --git a/dev-python/python-recurring-ical-events/metadata.xml b/dev-python/recurring-ical-events/metadata.xml
index 3c5c8d8ba58d..3c5c8d8ba58d 100644
--- a/dev-python/python-recurring-ical-events/metadata.xml
+++ b/dev-python/recurring-ical-events/metadata.xml
diff --git a/dev-python/recurring-ical-events/recurring-ical-events-2.1.3.ebuild b/dev-python/recurring-ical-events/recurring-ical-events-2.1.3.ebuild
new file mode 100644
index 000000000000..b1d8fa71740b
--- /dev/null
+++ b/dev-python/recurring-ical-events/recurring-ical-events-2.1.3.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..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.0.ebuild b/dev-python/recurring-ical-events/recurring-ical-events-2.2.0.ebuild
new file mode 100644
index 000000000000..b1d8fa71740b
--- /dev/null
+++ b/dev-python/recurring-ical-events/recurring-ical-events-2.2.0.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..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..b1d8fa71740b
--- /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..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/redis-py/Manifest b/dev-python/redis-py/Manifest
deleted file mode 100644
index 0177b85b54b4..000000000000
--- a/dev-python/redis-py/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST redis-py-4.4.0.gh.tar.gz 4637656 BLAKE2B 40b0909c27cefb399353cc2d1d82d7ad3d64e4b3e5ae001ffef9c198d0e65d906f5772a0ac33b599c7fb6ffc5dfad461bb4b9042c5c4fb23dfbfceb0a7facbc0 SHA512 8992f160de7817c48893f3a8588d5c0398dcfb91830a61b4218206adc88185acb102b072507d3064b4a7aade5c957267e5d0e6912510bb106eea834cf9250fab
-DIST redis-py-4.4.1.gh.tar.gz 4733306 BLAKE2B b04a5925f87d8c1dbb06b30382f739d6bc39456b6b49be34701afcc1fecfca4783e60a451ddccdaff31f28c38b626e19607a57ebd600f7e28c63a4b62894f397 SHA512 0cec4b518bb56acee6a24ca62e7fdce054b4be764fcfaa860257d8de9f306d9d0f15a662354d7414a4a552475e2b49d97d97de05059310eead068a6269bc3038
-DIST redis-py-4.4.2.gh.tar.gz 4734100 BLAKE2B 8e23c9b81a19cbbead7d6dab682fc4efc75f0c29adb4df6b9bf17f6842b2823249036c67c133039a850504870a0f884275eb65f4e517f84211b51767d7a2ae15 SHA512 3303e87ccc9d4ea3afbb93bcc5e4dcc5bbb3a406878b07c5b8755f28f87cb7a0f9a0db989ec294c2cf42c4ec62f546b5d919a3cb3f11b4ba030e41d13ed2cfc8
diff --git a/dev-python/redis-py/redis-py-4.4.0.ebuild b/dev-python/redis-py/redis-py-4.4.0.ebuild
deleted file mode 100644
index 2cf773cca08d..000000000000
--- a/dev-python/redis-py/redis-py-4.4.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv sparc x86"
-
-RDEPEND="
- >=dev-python/async-timeout-4.0.2[${PYTHON_USEDEP}]
-"
-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
- # TODO
- tests/test_commands.py::TestRedisCommands::test_acl_list
- # redis-7 different return
- tests/test_commands.py::TestRedisCommands::test_xautoclaim
- )
-
- # 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-py/redis-py-4.4.1.ebuild b/dev-python/redis-py/redis-py-4.4.1.ebuild
deleted file mode 100644
index b3867b0adbd2..000000000000
--- a/dev-python/redis-py/redis-py-4.4.1.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/async-timeout-4.0.2[${PYTHON_USEDEP}]
-"
-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
- # TODO
- tests/test_commands.py::TestRedisCommands::test_acl_list
- # redis-7 different return
- tests/test_commands.py::TestRedisCommands::test_xautoclaim
- )
-
- # 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-py/redis-py-4.4.2.ebuild b/dev-python/redis-py/redis-py-4.4.2.ebuild
deleted file mode 100644
index b3867b0adbd2..000000000000
--- a/dev-python/redis-py/redis-py-4.4.2.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/async-timeout-4.0.2[${PYTHON_USEDEP}]
-"
-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
- # TODO
- tests/test_commands.py::TestRedisCommands::test_acl_list
- # redis-7 different return
- tests/test_commands.py::TestRedisCommands::test_xautoclaim
- )
-
- # 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/Manifest b/dev-python/redis/Manifest
new file mode 100644
index 000000000000..b8f7d7635546
--- /dev/null
+++ b/dev-python/redis/Manifest
@@ -0,0 +1 @@
+DIST redis-py-5.0.3.gh.tar.gz 4774007 BLAKE2B f1b53319f76fd15af28941d643a333e7556f4701b46d218872a17200a867ba71c5fe72a092e00ac68ca811f41409a1e2eef05a235d2fcb6ba455cef225cd47c5 SHA512 be7158062e905ff3f61fc2b311b1288e53f494de1734dd5a58a34250754de635b9bf125900621b7b6ad8c67d8020b88ca3ae07af2626459acaf77db5f228222c
diff --git a/dev-python/redis-py/metadata.xml b/dev-python/redis/metadata.xml
index 998ac9ce8e08..998ac9ce8e08 100644
--- a/dev-python/redis-py/metadata.xml
+++ b/dev-python/redis/metadata.xml
diff --git a/dev-python/redis/redis-5.0.3.ebuild b/dev-python/redis/redis-5.0.3.ebuild
new file mode 100644
index 000000000000..023d2a7d8947
--- /dev/null
+++ b/dev-python/redis/redis-5.0.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_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.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/Manifest b/dev-python/reedsolo/Manifest
new file mode 100644
index 000000000000..5281e036e03d
--- /dev/null
+++ b/dev-python/reedsolo/Manifest
@@ -0,0 +1 @@
+DIST reedsolo-2.1.1b1.tar.gz 380948 BLAKE2B 342c2ce63490a8e699dfb584a01b1533bd742693d335c2216426bf3f1b8d82e4dc52a7d9d9dda58fcdc73a7a28687f08235b67b942e1d98e2e0e069eda824d90 SHA512 841766296db6cad2f5d71c9378830d95ec974ae5e7de4624772c92a08739fa9bb94dfc8762c45e2508c53cb603b2a13e0ce64b060021d93c10de94cb2a325aa5
diff --git a/dev-python/reedsolo/metadata.xml b/dev-python/reedsolo/metadata.xml
new file mode 100644
index 000000000000..e5b66b4a2002
--- /dev/null
+++ b/dev-python/reedsolo/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>martin.dummer@gmx.net</email>
+ <name>Martin Dummer</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>
+ <upstream>
+ <remote-id type="github">tomerfiliba-org/reedsolomon</remote-id>
+ <remote-id type="pypi">reedsolo</remote-id>
+ </upstream>
+ <use>
+ <flag name="native-extensions">Compile native C extensions.</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/reedsolo/reedsolo-2.1.1_beta1-r2.ebuild b/dev-python/reedsolo/reedsolo-2.1.1_beta1-r2.ebuild
new file mode 100644
index 000000000000..d88408f4e74a
--- /dev/null
+++ b/dev-python/reedsolo/reedsolo-2.1.1_beta1-r2.ebuild
@@ -0,0 +1,43 @@
+# 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 pypi
+
+DESCRIPTION="Python Reed Solomon encoder/decoder"
+HOMEPAGE="
+ https://github.com/tomerfiliba-org/reedsolomon/
+ https://pypi.org/project/reedsolo/
+"
+
+LICENSE="|| ( Unlicense MIT-0 )"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ >=dev-python/cython-3[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/pytest-cov/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ local DISTUTILS_ARGS=()
+ if use native-extensions && [[ ${EPYTHON} != pypy3 ]] ; then
+ DISTUTILS_ARGS+=(
+ # TODO: switch to --cythonize once we're on cython-3
+ --cythonize
+ )
+ fi
+ distutils-r1_python_compile
+}
diff --git a/dev-python/reedsolomon/Manifest b/dev-python/reedsolomon/Manifest
deleted file mode 100644
index 472243e1b411..000000000000
--- a/dev-python/reedsolomon/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST reedsolomon-1.6.0.gh.tar.gz 62527 BLAKE2B 100e0152ca8d05605f961dbddcc41552941356a72b488375cb1237cf45938382abf6bfd439b572a9aed11a12068258027fae0bc867e7577280829779d21f53a3 SHA512 ddf73b0bdc78856d9aa76e7bf3fcb9715b9b7f922c2d72dc4bd13a4d5a233844757e2946ef96c545ab7979bc6b62a1f33286711f927871a6689a269d20a81b44
-DIST reedsolomon-1.6.1.gh.tar.gz 63944 BLAKE2B 58845e726fdf2096af280bf14feb981d883b2368a47904d33a2386db0fb5d94091ecdc22e48bfa415e2abd9c4b3c99446b3b51bca9cce510961172697a273a0d SHA512 323f91e3e43847023f23087e1038ae240572b87c29ee26be1a05a6ee49824aa86cb706d1856b27e28841fbb14efaf897d1b8e0cb626529fe7cdeaa7fbda6ce27
-DIST reedsolomon-1.7.0.gh.tar.gz 64279 BLAKE2B 304abdf3709dff52c4c515598c511b8e3080475c0755ab68eb9468652f12d2cdb2763bdf88f5fe5e69813928646a8b8378fee9cb2b24d54ce9a6f2b5fb985ac9 SHA512 c7d2ae8444c9e3d6646587f85fe0085a7579cc58d2f4bca3fb89632df4873e2664c81f06ee2e75e928248bb558a7fd8d101a043187ce05e70a079b031981c374
diff --git a/dev-python/reedsolomon/metadata.xml b/dev-python/reedsolomon/metadata.xml
deleted file mode 100644
index f6dd8837456f..000000000000
--- a/dev-python/reedsolomon/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" proxied="yes">
- <email>martin.dummer@gmx.net</email>
- <name>Martin Dummer</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <upstream>
- <remote-id type="github">tomerfiliba/reedsolomon</remote-id>
- <remote-id type="pypi">reedsolo</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/reedsolomon/reedsolomon-1.6.0.ebuild b/dev-python/reedsolomon/reedsolomon-1.6.0.ebuild
deleted file mode 100644
index f47e9661b9e1..000000000000
--- a/dev-python/reedsolomon/reedsolomon-1.6.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python Reed Solomon encoder/decoder"
-HOMEPAGE="
- https://github.com/tomerfiliba/reedsolomon/
- https://pypi.org/project/reedsolo/
-"
-SRC_URI="
- https://github.com/tomerfiliba/reedsolomon/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-python_test() {
- "${EPYTHON}" tests/test_creedsolo.py || die "creedsolo test failed with ${EPYTHON}"
- "${EPYTHON}" tests/test_reedsolo.py || die "reedsolo test failed with ${EPYTHON}"
-}
diff --git a/dev-python/reedsolomon/reedsolomon-1.6.1.ebuild b/dev-python/reedsolomon/reedsolomon-1.6.1.ebuild
deleted file mode 100644
index 9c603f62875f..000000000000
--- a/dev-python/reedsolomon/reedsolomon-1.6.1.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python Reed Solomon encoder/decoder"
-HOMEPAGE="
- https://github.com/tomerfiliba/reedsolomon/
- https://pypi.org/project/reedsolo/
-"
-SRC_URI="
- https://github.com/tomerfiliba/reedsolomon/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="|| ( Unlicense MIT-0 )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-python_test() {
- "${EPYTHON}" tests/test_creedsolo.py || die "creedsolo test failed with ${EPYTHON}"
- "${EPYTHON}" tests/test_reedsolo.py || die "reedsolo test failed with ${EPYTHON}"
-}
diff --git a/dev-python/reedsolomon/reedsolomon-1.7.0.ebuild b/dev-python/reedsolomon/reedsolomon-1.7.0.ebuild
deleted file mode 100644
index 06ae21367731..000000000000
--- a/dev-python/reedsolomon/reedsolomon-1.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python Reed Solomon encoder/decoder"
-HOMEPAGE="
- https://github.com/tomerfiliba/reedsolomon/
- https://pypi.org/project/reedsolo/
-"
-SRC_URI="
- https://github.com/tomerfiliba/reedsolomon/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="|| ( Unlicense MIT-0 )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-src_configure() {
- DISTUTILS_ARGS=( --cythonize )
-}
-
-python_test() {
- "${EPYTHON}" tests/test_creedsolo.py || die "creedsolo test failed with ${EPYTHON}"
- "${EPYTHON}" tests/test_reedsolo.py || die "reedsolo test failed with ${EPYTHON}"
-}
diff --git a/dev-python/referencing/Manifest b/dev-python/referencing/Manifest
new file mode 100644
index 000000000000..e17c2a288a46
--- /dev/null
+++ b/dev-python/referencing/Manifest
@@ -0,0 +1 @@
+DIST referencing-0.34.0.tar.gz 62624 BLAKE2B c5e8a5d19121f2d09ea443248690e2fa9069140b027b6fa2f741d5133c931da12ae87d8ac7923bfc52ca3d93c966399cf48c1f31d6f4066b6a44488ec50b5d24 SHA512 97e4cfe0fb306068abfd6c0348d12483cbd3705c0b4c8852c0f0209c4d05be08bf77fa3ec56af77a2815a4ff3294ff06d3f09f213a165ae17bdcab246e47c178
diff --git a/dev-python/referencing/metadata.xml b/dev-python/referencing/metadata.xml
new file mode 100644
index 000000000000..74e528f33147
--- /dev/null
+++ b/dev-python/referencing/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="github">python-jsonschema/referencing</remote-id>
+ <remote-id type="pypi">referencing</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/referencing/referencing-0.34.0.ebuild b/dev-python/referencing/referencing-0.34.0.ebuild
new file mode 100644
index 000000000000..005414ac76f4
--- /dev/null
+++ b/dev-python/referencing/referencing-0.34.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=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/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 4779601343e7..000000000000
--- a/dev-python/reflink/reflink-0.2.1-r3.ebuild
+++ /dev/null
@@ -1,47 +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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python wrapper around the reflink system calls"
-HOMEPAGE="https://gitlab.com/rubdos/pyreflink"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~x86"
-
-RDEPEND="virtual/python-cffi[${PYTHON_USEDEP}]"
-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..d58080acda05
--- /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..12} )
+
+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 6168d3c751b5..e9f2167eb3fd 100644
--- a/dev-python/regex/Manifest
+++ b/dev-python/regex/Manifest
@@ -1 +1,2 @@
-DIST regex-2022.10.31.tar.gz 391554 BLAKE2B 060822767ab28e26d000faa198f4226ba1e4600141a7b3e0f656df8d004b5007a0a7934057e608d524f6a21421573fbeb8a1be208ce69ba2d912a55d19fb3f22 SHA512 d461cddea75f2a8ceb749d7e1a54f3543fe4cb3418976ded26101cb53c333f0e2eabaa824239c89c50c94c6736409566215cb7b6c6c3a0544678d10b6af76cc5
+DIST regex-2023.12.25.tar.gz 394706 BLAKE2B 742abe3a3515b527465d81df8fd9404aaa6aa1545e3e6a8c4a87d72d41138caf7f63bceae8bf06b3576656a6b5577bfec51629a60fe837ad2f3a4cd60a08ac06 SHA512 ecc5916633e2acb8d8a0c5ccfdc1c612f673546c42271d5627aa92a163fa6c8fd5a30ed734a02c23fa64807aaf2f883fa51175b7f482888631f699e77d1c0e15
+DIST regex-2024.4.16.tar.gz 394724 BLAKE2B 75df2f861116ebf37845abdb0883774ac53d7d61e4cdf18128c74b4c1d5a55b86bfd447616cdb8fc14239c0a5aeaa2c7e59cb0b2b365b57185d785a3728e6dce SHA512 15da80751f1a4b000e4ea59887963aec939fc6431a672391a7f882e05ff15934b89e191d19fd388b9dd6032d2ea44f8511c0ce238e5f1d8db102a89d1866f456
diff --git a/dev-python/regex/metadata.xml b/dev-python/regex/metadata.xml
index 893a439fec97..0b274b4ed200 100644
--- a/dev-python/regex/metadata.xml
+++ b/dev-python/regex/metadata.xml
@@ -8,5 +8,6 @@
<upstream>
<remote-id type="pypi">regex</remote-id>
<remote-id type="bitbucket">mrabarnett/mrab-regex</remote-id>
+ <remote-id type="github">mrabarnett/mrab-regex</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/regex/regex-2022.10.31.ebuild b/dev-python/regex/regex-2022.10.31.ebuild
deleted file mode 100644
index c6a41a6d8d59..000000000000
--- a/dev-python/regex/regex-2022.10.31.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Alternative regular expression module to replace re"
-HOMEPAGE="
- https://bitbucket.org/mrabarnett/mrab-regex/
- https://pypi.org/project/regex/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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"
-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-2023.12.25.ebuild b/dev-python/regex/regex-2023.12.25.ebuild
new file mode 100644
index 000000000000..2e070fd4b84d
--- /dev/null
+++ b/dev-python/regex/regex-2023.12.25.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
+# 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..12} )
+
+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.4.16.ebuild b/dev-python/regex/regex-2024.4.16.ebuild
new file mode 100644
index 000000000000..af00003fff6e
--- /dev/null
+++ b/dev-python/regex/regex-2024.4.16.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
+# 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..12} )
+
+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/rencode/Manifest b/dev-python/rencode/Manifest
index ae583634e3d7..8bb5414afd6f 100644
--- a/dev-python/rencode/Manifest
+++ b/dev-python/rencode/Manifest
@@ -1 +1 @@
-DIST rencode-1.0.6.tar.gz 25455 BLAKE2B def013a569a53e2b2d96b3430c13676810bc5879e565f091dbc44f1ae950b8ec7ca0fa5e35a974432fd71a1bcca5a3f1f18bb2a9f042480167ab50e4f0aba8c3 SHA512 f04de4d3a83aed916bdc4b7a8ca772655e9324d0531ee882cb7d2a1e92b397bdcec8497bf02939e0a806886ecc62ed2e7319dfee054dad1b69052157f0959e8f
+DIST rencode-1.0.6.gh.tar.gz 25455 BLAKE2B def013a569a53e2b2d96b3430c13676810bc5879e565f091dbc44f1ae950b8ec7ca0fa5e35a974432fd71a1bcca5a3f1f18bb2a9f042480167ab50e4f0aba8c3 SHA512 f04de4d3a83aed916bdc4b7a8ca772655e9324d0531ee882cb7d2a1e92b397bdcec8497bf02939e0a806886ecc62ed2e7319dfee054dad1b69052157f0959e8f
diff --git a/dev-python/rencode/rencode-1.0.6-r3.ebuild b/dev-python/rencode/rencode-1.0.6-r3.ebuild
index 66a639cc8506..e2cc427220b3 100644
--- a/dev-python/rencode/rencode-1.0.6-r3.ebuild
+++ b/dev-python/rencode/rencode-1.0.6-r3.ebuild
@@ -3,20 +3,29 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="similar to bencode from the BitTorrent project"
-HOMEPAGE="https://github.com/aresch/rencode"
-SRC_URI="https://github.com/aresch/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/aresch/rencode/
+ https://pypi.org/project/rencode/
+"
+SRC_URI="
+ https://github.com/aresch/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~ppc ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
-BDEPEND="dev-python/cython[${PYTHON_USEDEP}]"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
distutils_enable_tests pytest
@@ -28,9 +37,6 @@ PATCHES=(
)
python_test() {
- # The C extension ("_rencode") can't be imported from "${S}/rencode"
- # so we need to cd somewhere else to make sure "rencode" is imported
- # from ${BUILD_DIR}/lib (thanks to PYTHONPATH).
- cd "${T}" || die
- epytest "${S}"
+ rm -rf rencode || die
+ epytest
}
diff --git a/dev-python/reno/Manifest b/dev-python/reno/Manifest
index 13eaa3737889..3d6854f9c66f 100644
--- a/dev-python/reno/Manifest
+++ b/dev-python/reno/Manifest
@@ -1 +1 @@
-DIST reno-3.5.0.tar.gz 83644 BLAKE2B 803d3d3c9ed572624b77d2851221edcd0a86241f86876970f1a64877d3083b39d8e574567f14dea52680538770a37bc70c55d74b66ddab6fda551209c32bb844 SHA512 4d48ec3faf26d046498edccc0dd6007dff36d8346395b5c62b2b85a8ff9bba5ac571cbdcb2aa8e522b6f4c155bd845a416cc715c30a29e8eae6d033ee1b52be7
+DIST reno-4.1.0.tar.gz 86657 BLAKE2B 001a2723f814b537926fd4cf6eb70acd28661affa4d3a6a20f35f2409e262e7a3431480d6cc8e95a87b2ab49399e02dba85e810155b0092f2fa5455e5842ad97 SHA512 b0db51f61bb5a1bef3b0149b1bd3c6cdb6c8189e4325d2acffc122e7960a4c3d1afa87318596ff3bef99ea06e911d3260c5207951cc6d6b036e49b07969243a4
diff --git a/dev-python/reno/reno-3.5.0.ebuild b/dev-python/reno/reno-3.5.0.ebuild
deleted file mode 100644
index 29246b1b609f..000000000000
--- a/dev-python/reno/reno-3.5.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Release notes manager, storing release notes in a git repo and building docs"
-HOMEPAGE="https://pypi.org/project/reno/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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..3ee68de57553
--- /dev/null
+++ b/dev-python/reno/reno-4.1.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Release notes manager, storing release notes in a git repo and building docs"
+HOMEPAGE="
+ https://opendev.org/openstack/reno/
+ https://github.com/openstack/reno/
+ https://pypi.org/project/reno/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc64 ~riscv ~s390 x86"
+
+RDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
+ >=dev-python/dulwich-0.15.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.4[${PYTHON_USEDEP}]
+ >=dev-python/docutils-0.11[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-2.1.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ >=dev-python/testtools-1.4.0[${PYTHON_USEDEP}]
+ )
+"
+
+# The doc needs to be built from a git repository
+distutils_enable_tests unittest
+
+python_prepare_all() {
+ # Some tests need to be run from a git repository
+ rm reno/tests/test_{cache,semver}.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/reportlab/Manifest b/dev-python/reportlab/Manifest
index 2b7b4e626192..91038c49c681 100644
--- a/dev-python/reportlab/Manifest
+++ b/dev-python/reportlab/Manifest
@@ -1,2 +1,3 @@
DIST pfbfer-20070710.zip 677333 BLAKE2B 100214476a361a5e5d1f3da0999591345f6e3a3f8c6bc3f6a3e9eca734190c6259758a43302c6e41254d33491fe535eb7d5dd07aa9727c912424bebc31fc18df SHA512 6fd4a5d955464b10d13a7b748703450c1fe120d5ed09e8cfa1b4dfa9c183c59fe001df29433af551796b0df62544b7ddc364f9bb1bdcc2cd300434340ffcc4f2
-DIST reportlab-3.6.12.tar.gz 4519536 BLAKE2B 106e0ede2b3c039152ae5a39e0aa5b3bf0239789ba08630f751260b75305973bff13730e3f7419340514a4f0174223dddf522cd9408b8dd04fbe39b84979b152 SHA512 99e6ab1cf27cc9e661b3bfd8c71290d94189db6de5e71b2429cccd48bfee5659d5fb46dfc5709e6616877b48bc17241c74282e0d2ecddda2ead16df4c1b6818f
+DIST reportlab-4.1.0.tar.gz 3146958 BLAKE2B fef5ed94514685e352d3aa2a76dac7d7f20699999f073e03839d18bce5f884c3d44c6ef635e7d77b2d32707c200f3f067ebea90312642db22488597c434e2eec SHA512 998f49cdbbea0e91bc0c61f877936b0eb62130723f565548aa5ab7a01adc59d688fcf7ce69783142fb4bbec4a97d91b8b1b2495701c6eba25b1e9878d15f6625
+DIST reportlab-4.2.0.tar.gz 3688649 BLAKE2B 83a35524fa82260ed6b4b6999d5b7903f54e0bdd7e008f3ed53200da8a43807c3d34920f9c7211c4277a560699e894fb12074a530c85adfba0538adaa5812294 SHA512 5dbab548dfa4b0eebb19c0702975b540244693ca30faf7a7bf88e7e596d2a9acd4047f0dddc5433da4da385282ab74f17b66a09394eefe07797c3d193ed38cb5
diff --git a/dev-python/reportlab/files/reportlab-3.6.11-correct-srclen-type-in-gstate__aapixbuf.patch b/dev-python/reportlab/files/reportlab-3.6.11-correct-srclen-type-in-gstate__aapixbuf.patch
deleted file mode 100644
index 20a57efcac66..000000000000
--- a/dev-python/reportlab/files/reportlab-3.6.11-correct-srclen-type-in-gstate__aapixbuf.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Note: Upstream development is done in HG, not git; this patch was
-generated using the git mirror at
-https://github.com/MrBitBucket/reportlab-mirror. Attempted to submit to
-reportlab-users mailing list but it rejected my mail server.
-
-From 9ba2380a68e891667a2659e16d0f04ebe0ecfd19 Mon Sep 17 00:00:00 2001
-From: matoro <matoro@users.noreply.github.com>
-Date: Mon, 4 Jul 2022 18:42:18 -0400
-Subject: [PATCH] correct srclen type in gstate__aapixbuf
-
-gstate__aapixbuf calls PyArg_ParseTuple with the format string
-"ddddy#ii|i". Specifically the key "y#" will try to read a bytes-like
-object and its size into two Python variables. The latter of these
-should be of type Py_ssize_t as specified by the C API, but here it is
-incorrectly declared as an int. This was pointed out to me by the
-cpython developers when I mistakenly identified it as a cpython bug and
-submitted a PR there: https://github.com/python/cpython/issues/94149
----
- src/rl_addons/renderPM/_renderPM.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/rl_addons/renderPM/_renderPM.c b/src/rl_addons/renderPM/_renderPM.c
-index c8415595..bc77d766 100644
---- a/src/rl_addons/renderPM/_renderPM.c
-+++ b/src/rl_addons/renderPM/_renderPM.c
-@@ -1319,7 +1319,7 @@ static void _reverse_rows_inplace( char *buf, int nrows, int stride)
-
- static PyObject* gstate__aapixbuf(gstateObject* self, PyObject* args)
- {
-- int srclen;
-+ Py_ssize_t srclen;
- double ctm[6], dstX, dstY, dstW, dstH;
- ArtPixBuf src;
-
---
-2.37.2
-
diff --git a/dev-python/reportlab/files/reportlab-3.6.9-paths.patch b/dev-python/reportlab/files/reportlab-3.6.9-paths.patch
deleted file mode 100644
index e5ed7c43478d..000000000000
--- a/dev-python/reportlab/files/reportlab-3.6.9-paths.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Disable broken logic for finding freetype2 that hits symlink loops.
-
-diff -dupr reportlab-3.6.9.orig/setup.py reportlab-3.6.9/setup.py
---- reportlab-3.6.9.orig/setup.py 2022-03-28 10:13:33.892516135 +0200
-+++ reportlab-3.6.9/setup.py 2022-03-28 10:49:11.048573739 +0200
-@@ -737,13 +737,10 @@ def main():
- else:
- FT_LIB=FT_LIB_DIR=FT_INC_DIR=FT_MACROS=[]
- else:
-- ftv, I, L = inc_lib_dirs('freetype')
- FT_LIB=['freetype']
-- FT_LIB_DIR=L
-- FT_INC_DIR=I
-+ FT_LIB_DIR=[]
-+ FT_INC_DIR=['/usr/include/freetype2']
- FT_MACROS = [('RENDERPM_FT',None)]
-- infoline('installing with freetype version %s' % ftv)
-- infoline('FT_LIB_DIR=%r FT_INC_DIR=%r' % (FT_LIB_DIR,FT_INC_DIR))
- if not FT_LIB:
- infoline('# installing without freetype no ttf, sorry!')
- infoline('# You need to install a static library version of the freetype2 software')
diff --git a/dev-python/reportlab/metadata.xml b/dev-python/reportlab/metadata.xml
index d64d785cee0f..9419ae6a16e9 100644
--- a/dev-python/reportlab/metadata.xml
+++ b/dev-python/reportlab/metadata.xml
@@ -33,7 +33,6 @@
</longdescription>
<upstream>
<bugs-to>mailto:reportlab-users@lists2.reportlab.com</bugs-to>
- <doc lang="en">https://www.reportlab.com/dev/docs/</doc>
<remote-id type="pypi">reportlab</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/reportlab/reportlab-3.6.12.ebuild b/dev-python/reportlab/reportlab-3.6.12.ebuild
deleted file mode 100644
index bc6c31b37a71..000000000000
--- a/dev-python/reportlab/reportlab-3.6.12.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} )
-
-inherit distutils-r1
-
-DESCRIPTION="Tools for generating printable PDF documents from any data source"
-HOMEPAGE="
- https://www.reportlab.com/
- https://pypi.org/project/reportlab/
-"
-SRC_URI="
- mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz
- 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"
-
-DEPEND="
- media-libs/freetype
- media-libs/libart_lgpl
- sys-libs/zlib:=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/pillow[tiff,truetype,jpeg(+),${PYTHON_USEDEP}]
-"
-BDEPEND="
- app-arch/unzip
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.6.9-paths.patch
- "${FILESDIR}"/${PN}-3.6.11-correct-srclen-type-in-gstate__aapixbuf.patch
-)
-
-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
- use-system-libart = 1
- EOF
-}
-
-python_test() {
- pushd tests >/dev/null || die
- "${EPYTHON}" runAll.py -v || die "Testing failed with ${EPYTHON}"
- popd >/dev/null || die
-}
diff --git a/dev-python/reportlab/reportlab-4.1.0.ebuild b/dev-python/reportlab/reportlab-4.1.0.ebuild
new file mode 100644
index 000000000000..eef8efaee265
--- /dev/null
+++ b/dev-python/reportlab/reportlab-4.1.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_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/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/reportlab/reportlab-4.2.0.ebuild b/dev-python/reportlab/reportlab-4.2.0.ebuild
new file mode 100644
index 000000000000..886e9d4f2537
--- /dev/null
+++ b/dev-python/reportlab/reportlab-4.2.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_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/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/metadata.xml b/dev-python/repoze-lru/metadata.xml
index 8f4b70bfc235..ba8fd2e54a87 100644
--- a/dev-python/repoze-lru/metadata.xml
+++ b/dev-python/repoze-lru/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="pypi">repoze.lru</remote-id>
+ <remote-id type="github">repoze/repoze.lru</remote-id>
</upstream>
</pkgmetadata>
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 02ba6f7206c7..9a0ee04c9318 100644
--- a/dev-python/repoze-lru/repoze-lru-0.7-r3.ebuild
+++ b/dev-python/repoze-lru/repoze-lru-0.7-r3.ebuild
@@ -4,7 +4,7 @@
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/requests-cache/Manifest b/dev-python/requests-cache/Manifest
index 9672af141860..0a170bdc4a9b 100644
--- a/dev-python/requests-cache/Manifest
+++ b/dev-python/requests-cache/Manifest
@@ -1,2 +1 @@
-DIST requests-cache-0.9.7.gh.tar.gz 1544100 BLAKE2B a255d3cce0345ff03e020327c10a1d8cc25e519069764b7e3e1a43a0e5cd899aec824e3c147561796cba1f269550505f881cf913d909ce7e6c52e8f76ad9688a SHA512 00b2c7080030ed07f5d896871a431aec2625dab6ab84f01f7e6fea9e81692f757304e25ee6addbe7695e93d0c1c04484c31b95a71d7c9e12f6c23a5b7747ae30
-DIST requests-cache-0.9.8.gh.tar.gz 1540296 BLAKE2B 8b2ab1227b28c3822cd9111375c8759f5d7099f2724680a6560e4e14cd16558a1dcb8dd98d043fdf2f9a3861d76dd0d2c2f84df059338e9fa28c1257e74e87b9 SHA512 f428a7b498d2ef2b6c23d3715bac2274c320b6f9d6f56017e69ab5fa6b8830242a2f335ed6c3758a741a51f108c6dacae1a447ff8f05ca5686303caf48a1dc59
+DIST requests-cache-1.2.0.gh.tar.gz 3057187 BLAKE2B 135d39d8fac1e123c71b07b30002b980b5fdcdb586cafb310f8f72e865cdc97f62b699cd981068207c6f020deef595469801d440cf5034566e9618385d569437 SHA512 b198d282cfd656c432d3a63f4d615191ac1ff97c9563e9bd6945e7a78444601108beb47a0f4a79740c7bd6942c3753f025cd52457e87ece7964229799bbb8fa1
diff --git a/dev-python/requests-cache/requests-cache-0.9.7.ebuild b/dev-python/requests-cache/requests-cache-0.9.7.ebuild
deleted file mode 100644
index 698cd213dcf6..000000000000
--- a/dev-python/requests-cache/requests-cache-0.9.7.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_{9..11} )
-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 x86"
-
-RDEPEND="
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/appdirs[${PYTHON_USEDEP}]
- >=dev-python/cattrs-22.2[${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/timeout-decorator[${PYTHON_USEDEP}]
- dev-python/ujson[${PYTHON_USEDEP}]
- )
-"
-
-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_compat.py::test_version_upgrade
- )
-
- local -x USE_PYTEST_HTTPBIN=true
- epytest
-}
-
-pkg_postinst() {
- optfeature "redis backend" "dev-python/redis-py"
- 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-0.9.8.ebuild b/dev-python/requests-cache/requests-cache-0.9.8.ebuild
deleted file mode 100644
index 3623435e40dd..000000000000
--- a/dev-python/requests-cache/requests-cache-0.9.8.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_{9..11} )
-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 ~x86"
-
-RDEPEND="
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/appdirs[${PYTHON_USEDEP}]
- >=dev-python/cattrs-22.2[${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/timeout-decorator[${PYTHON_USEDEP}]
- dev-python/ujson[${PYTHON_USEDEP}]
- )
-"
-
-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_compat.py::test_version_upgrade
- )
-
- local -x USE_PYTEST_HTTPBIN=true
- epytest
-}
-
-pkg_postinst() {
- optfeature "redis backend" "dev-python/redis-py"
- 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.0.ebuild b/dev-python/requests-cache/requests-cache-1.2.0.ebuild
new file mode 100644
index 000000000000..cd7fa8425059
--- /dev/null
+++ b/dev-python/requests-cache/requests-cache-1.2.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=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+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/requests-credssp-2.0.0.ebuild b/dev-python/requests-credssp/requests-credssp-2.0.0.ebuild
index 5d97978f47f1..5aec141b3f9b 100644
--- a/dev-python/requests-credssp/requests-credssp-2.0.0.ebuild
+++ b/dev-python/requests-credssp/requests-credssp-2.0.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~riscv"
+KEYWORDS="amd64 arm64 ~riscv"
RDEPEND="
dev-python/cryptography[${PYTHON_USEDEP}]
diff --git a/dev-python/requests-file/Manifest b/dev-python/requests-file/Manifest
index 7c5624459d5d..141f77dffa6e 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.0.0.tar.gz 6863 BLAKE2B 845c8b468131f5958c2e648553aaba5e2a9da9942b333dcf3eb9c70dad3941945f0d63d65747c6ec1bb9f2c3e7ce9665738665bf76a691b85048d998888ff9ef SHA512 d37a35d50a2d5f688e431c15c55bfd789c23e50445d94abedfbe75c9ccd825142850dc2ea7e9426c3fa1ca8e4aaaf0a230f5f6921d3c42d157ac95d7e7352b70
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 e6b38f87d007..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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="File transport adapter for Requests"
-HOMEPAGE="https://pypi.org/project/requests-file/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 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.0.0.ebuild b/dev-python/requests-file/requests-file-2.0.0.ebuild
new file mode 100644
index 000000000000..af2d9d305503
--- /dev/null
+++ b/dev-python/requests-file/requests-file-2.0.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..12} )
+
+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/Manifest b/dev-python/requests-futures/Manifest
index 2354038e6dd4..30382529900d 100644
--- a/dev-python/requests-futures/Manifest
+++ b/dev-python/requests-futures/Manifest
@@ -1 +1 @@
-DIST requests-futures-1.0.0.tar.gz 10897 BLAKE2B deccf99ffecf3dd04eaaa7692b93b046b027109346555ca9b4172f29600615fb78bd46528c2ae925587d06f24e5b52dc2f02f5d5da04eda18cd97037e1b28440 SHA512 64b39ed99712df8f1be74b2de97500d89711c0d5d3ba0f2b64e3bab755d0bf82029d7ced13b755ce12a2b86f3b673305b651ba6ff4cfb60aed40c8d5876f202c
+DIST requests-futures-1.0.1.tar.gz 9921 BLAKE2B f4b1ec5c473ebe5e2cd4ca7bf8da3c60b4a0304c6ee5940900fcbad1f8e3400facfc886e3ba318d30c597d2e212b29d6eed4dfe7e985c526309e0abb15ded6b4 SHA512 e95c2ae8a97f314a6f2ec02ab1d4b456cd673599dea9cf4abd9f2c601ea7ea4b48a6595d4b52bd5c717cfcbbb378be8789d6f63dfb58fb2aa4778db408521730
diff --git a/dev-python/requests-futures/metadata.xml b/dev-python/requests-futures/metadata.xml
index d8dd97f916d7..243ef93a6a2f 100644
--- a/dev-python/requests-futures/metadata.xml
+++ b/dev-python/requests-futures/metadata.xml
@@ -11,6 +11,7 @@
</longdescription>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">ross/requests-futures</remote-id>
<remote-id type="pypi">requests-futures</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/requests-futures/requests-futures-1.0.0-r1.ebuild b/dev-python/requests-futures/requests-futures-1.0.0-r1.ebuild
deleted file mode 100644
index b223c42c9f4a..000000000000
--- a/dev-python/requests-futures/requests-futures-1.0.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Asynchronous Python HTTP for Humans"
-HOMEPAGE="https://github.com/ross/requests-futures"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-RESTRICT="test"
-PROPERTIES="test_network"
-
-RDEPEND=">=dev-python/requests-1.2.0[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # known failures by upstream
- # https://github.com/ross/requests-futures/issues/94
- test_requests_futures.py::RequestsTestCase::test_redirect
- test_requests_futures.py::RequestsProcessPoolTestCase::test_futures_existing_session
- test_requests_futures.py::RequestsProcessPoolTestCase::test_futures_session
-)
diff --git a/dev-python/requests-futures/requests-futures-1.0.1.ebuild b/dev-python/requests-futures/requests-futures-1.0.1.ebuild
new file mode 100644
index 000000000000..0d242c6357f9
--- /dev/null
+++ b/dev-python/requests-futures/requests-futures-1.0.1.ebuild
@@ -0,0 +1,29 @@
+# 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 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Asynchronous Python HTTP for Humans"
+HOMEPAGE="
+ https://github.com/ross/requests-futures/
+ https://pypi.org/project/requests-futures/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+RDEPEND="
+ >=dev-python/requests-1.2.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
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
index f34aedf36e68..eb525d29942d 100644
--- a/dev-python/requests-kerberos/requests-kerberos-0.14.0-r1.ebuild
+++ b/dev-python/requests-kerberos/requests-kerberos-0.14.0-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/requests-mock/Manifest b/dev-python/requests-mock/Manifest
index 5bc4b0672627..d03e0f6492db 100644
--- a/dev-python/requests-mock/Manifest
+++ b/dev-python/requests-mock/Manifest
@@ -1 +1 @@
-DIST requests-mock-1.10.0.tar.gz 72627 BLAKE2B 4ce1838f03b732de4007c2e9b700876dcf8dba0f5eafef1292e0e40ae75e08f9b3bf74c3620d2d762944ccf9af248304929f57a337122b1a69d13355dc3f290e SHA512 873c9b219e2a2360872fac22c83371ce40f4dee45e6a0d40365f4f551271c2168a662dced6e8baad890b1dadfc03d21d4ce013f149d25a42d998af4f4fca2a79
+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.10.0.ebuild b/dev-python/requests-mock/requests-mock-1.10.0.ebuild
deleted file mode 100644
index 6efcf478a312..000000000000
--- a/dev-python/requests-mock/requests-mock-1.10.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
-
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="Mock out responses from the requests package"
-HOMEPAGE="https://github.com/jamielennox/requests-mock"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~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/mock[${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..705fb061e890
--- /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..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.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 61c7a4bc33ad..faa23a475d6b 100644
--- a/dev-python/requests-ntlm/Manifest
+++ b/dev-python/requests-ntlm/Manifest
@@ -1 +1 @@
-DIST requests_ntlm-1.1.0.tar.gz 5183 BLAKE2B 190a75d3f82ae2216e05295f855aa072f98908ef8a0d4dda68d6e39239655ccf175c707af137290cd78cf622c0a3d1741a0afbb1363f8b170f408c34a2682fa6 SHA512 9a74ecd6e4ed5c5e4381d2ee3fb9ff233352b49baa5fae4e0ecc30aaad12fc7a5c1b9dd936f35d4a3815ae7f6ec5bb8581e84128d63ff0e961181408daddb807
+DIST requests-ntlm-1.2.0.gh.tar.gz 14540 BLAKE2B 0b9dd72680c6e67dc6e4f0a3eef3b9fa0cc03c71010238a0e7ef8a48b59c57e12846040975f7eef7710113f372cd1e1628e5a9be0eca8e7a287a9cfd0765ebf0 SHA512 230eb6c8a90e8745a3c969114f81d2559aa0f411b79b54747d21c6c28572f7d61c024c47a831777c2d85fb8b09af7fee667d3a3abf318473c97e727c5f2d7943
diff --git a/dev-python/requests-ntlm/metadata.xml b/dev-python/requests-ntlm/metadata.xml
index cb401c68b149..7f4b01eebc5e 100644
--- a/dev-python/requests-ntlm/metadata.xml
+++ b/dev-python/requests-ntlm/metadata.xml
@@ -10,7 +10,7 @@
<name>Python</name>
</maintainer>
<upstream>
- <remote-id type="pypi">requests_ntlm</remote-id>
+ <remote-id type="pypi">requests-ntlm</remote-id>
<remote-id type="github">requests/requests-ntlm</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/requests-ntlm/requests-ntlm-1.1.0-r1.ebuild b/dev-python/requests-ntlm/requests-ntlm-1.1.0-r1.ebuild
deleted file mode 100644
index 2d38b1de135b..000000000000
--- a/dev-python/requests-ntlm/requests-ntlm-1.1.0-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=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-MY_PN="${PN/-/_}"
-
-DESCRIPTION="HTTP NTLM authentication using the requests library"
-HOMEPAGE="https://github.com/requests/requests-ntlm"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-
-SLOT="0"
-LICENSE="ISC"
-KEYWORDS="amd64 ~riscv ~x86"
-IUSE=""
-
-RDEPEND="
- >=dev-python/requests-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/ntlm-auth-1.0.2[${PYTHON_USEDEP}]"
-
-S=${WORKDIR}/${MY_PN}-${PV}
diff --git a/dev-python/requests-ntlm/requests-ntlm-1.2.0.ebuild b/dev-python/requests-ntlm/requests-ntlm-1.2.0.ebuild
new file mode 100644
index 000000000000..3371dfd99302
--- /dev/null
+++ b/dev-python/requests-ntlm/requests-ntlm-1.2.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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-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 8f5c2df85c3e..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_{9..11} )
-
-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 ~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..398dbff57fe0
--- /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..12} )
+
+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/Manifest b/dev-python/requests-toolbelt/Manifest
index 3bed56bb5352..394815825ec6 100644
--- a/dev-python/requests-toolbelt/Manifest
+++ b/dev-python/requests-toolbelt/Manifest
@@ -1 +1 @@
-DIST requests-toolbelt-0.10.1.gh.tar.gz 201504 BLAKE2B 48c5b9f46000d9809e482278626bbce805b93ed2a4a5d074bad4f7fbda75984dd55919eca31909c98c9a74ca7b323e73c90691dced0734964621d4ba5748d464 SHA512 ad6dfe3329c8be5a4521d223d25ec303201e706b34199c084efd0a30b8bc8cfb3382e80a502dc25bd5f7e5b2774a119d2255c49408979aaec45e221f412a7b52
+DIST requests-toolbelt-1.0.0.gh.tar.gz 199298 BLAKE2B c8a75005fd27bb725cabe7c6e4493b65bfc6914d7b22490c10869f0f35f6f08d0e829196e7de2e7ec07fed7ad52559f550bfbe072020ed8e782543273c903805 SHA512 1ee5d5dbb0d140796c81d42c051ccfab8810bf5ec511b32c9a54b4adccbab460f3108acdfe5a65b3cb68377586ff0f55206bf231e64651aaea077feda7984953
diff --git a/dev-python/requests-toolbelt/metadata.xml b/dev-python/requests-toolbelt/metadata.xml
index 850ca8492eb4..5bf67e348780 100644
--- a/dev-python/requests-toolbelt/metadata.xml
+++ b/dev-python/requests-toolbelt/metadata.xml
@@ -10,6 +10,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">requests/toolbelt</remote-id>
<remote-id type="pypi">requests-toolbelt</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/requests-toolbelt/requests-toolbelt-0.10.1.ebuild b/dev-python/requests-toolbelt/requests-toolbelt-0.10.1.ebuild
deleted file mode 100644
index bd7bc8c25d86..000000000000
--- a/dev-python/requests-toolbelt/requests-toolbelt-0.10.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A utility belt for advanced users of python-requests"
-HOMEPAGE="
- https://toolbelt.readthedocs.io/
- https://github.com/requests/toolbelt/
- https://pypi.org/project/requests-toolbelt/
-"
-SRC_URI="
- https://github.com/requests/toolbelt/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-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"
-
-RDEPEND="
- <dev-python/requests-3.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/betamax[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( AUTHORS.rst HISTORY.rst README.rst )
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Internet
- tests/test_multipart_encoder.py::TestFileFromURLWrapper::test_no_content_length_header
- tests/test_multipart_encoder.py::TestFileFromURLWrapper::test_read_file
- tests/test_multipart_encoder.py::TestMultipartEncoder::test_reads_file_from_url_wrapper
-)
-
-EPYTEST_IGNORE=(
- # certs have expired
- # (if you ever fix this, look into git history for proper
- # cryptography/pyopenssl logic)
- tests/test_x509_adapter.py
-)
diff --git a/dev-python/requests-toolbelt/requests-toolbelt-1.0.0.ebuild b/dev-python/requests-toolbelt/requests-toolbelt-1.0.0.ebuild
new file mode 100644
index 000000000000..5d60cbcca90d
--- /dev/null
+++ b/dev-python/requests-toolbelt/requests-toolbelt-1.0.0.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2023 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 utility belt for advanced users of python-requests"
+HOMEPAGE="
+ https://toolbelt.readthedocs.io/
+ https://github.com/requests/toolbelt/
+ https://pypi.org/project/requests-toolbelt/
+"
+SRC_URI="
+ https://github.com/requests/toolbelt/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+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"
+IUSE="test-rust"
+
+RDEPEND="
+ <dev-python/requests-3.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/betamax[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+DOCS=( AUTHORS.rst HISTORY.rst README.rst )
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_multipart_encoder.py::TestFileFromURLWrapper::test_no_content_length_header
+ tests/test_multipart_encoder.py::TestFileFromURLWrapper::test_read_file
+ tests/test_multipart_encoder.py::TestMultipartEncoder::test_reads_file_from_url_wrapper
+ # tests themself are broken with newer urllib3
+ tests/test_dump.py::TestDumpRealResponses::test_dump_{all,response}
+ tests/test_sessions.py::TestBasedSession::test_{prepared_,}request_{with,override}_base
+ )
+ local EPYTEST_IGNORE=()
+
+ if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]" ||
+ ! has_version "dev-python/pyopenssl[${PYTHON_USEDEP}]" ||
+ ! has_version "dev-python/trustme[${PYTHON_USEDEP}]"
+ then
+ EPYTEST_IGNORE+=(
+ tests/test_x509_adapter.py
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/requests-unixsocket/files/requests-unixsocket-0.3.0-urllib3-2.patch b/dev-python/requests-unixsocket/files/requests-unixsocket-0.3.0-urllib3-2.patch
new file mode 100644
index 000000000000..3cbcd2dd59d3
--- /dev/null
+++ b/dev-python/requests-unixsocket/files/requests-unixsocket-0.3.0-urllib3-2.patch
@@ -0,0 +1,45 @@
+From 5a614f60e7b3639758a6b77691b4e0c0d6827e94 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Martin=20Roukala=20=28n=C3=A9=20Peres=29?=
+ <martin.roukala@mupuf.org>
+Date: Fri, 5 May 2023 09:23:41 +0300
+Subject: [PATCH] Inherit HTTPConnection through urllib3.connection, not
+ httplib
+
+By inheriting from `urllib3.connection.HTTPConnection` (that inherits
+from `httplib.HTTPConnection` itself), we can adapt to the internal
+changes in urllib3 2.0 that added a `request()` method that is
+incompatible with httplib.HTTPConnection.request.
+
+This fixes the incompatibility between urllib3 2.0 and requests 1.26+,
+which was the first version that stopped vendoring urllib3.
+
+Reference: https://github.com/docker/docker-py/issues/3113#issuecomment-1531570788
+---
+ requests_unixsocket/adapters.py | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/requests_unixsocket/adapters.py b/requests_unixsocket/adapters.py
+index 83e1400..513c243 100644
+--- a/requests_unixsocket/adapters.py
++++ b/requests_unixsocket/adapters.py
+@@ -3,11 +3,6 @@
+ from requests.adapters import HTTPAdapter
+ from requests.compat import urlparse, unquote
+
+-try:
+- import http.client as httplib
+-except ImportError:
+- import httplib
+-
+ try:
+ from requests.packages import urllib3
+ except ImportError:
+@@ -16,7 +11,7 @@
+
+ # The following was adapted from some code from docker-py
+ # https://github.com/docker/docker-py/blob/master/docker/transport/unixconn.py
+-class UnixHTTPConnection(httplib.HTTPConnection, object):
++class UnixHTTPConnection(urllib3.connection.HTTPConnection, object):
+
+ def __init__(self, unix_socket_url, timeout=60):
+ """Create an HTTP connection to a unix domain socket
diff --git a/dev-python/requests-unixsocket/metadata.xml b/dev-python/requests-unixsocket/metadata.xml
index 6bec27a583fd..e8163f07c503 100644
--- a/dev-python/requests-unixsocket/metadata.xml
+++ b/dev-python/requests-unixsocket/metadata.xml
@@ -6,6 +6,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">msabramo/requests-unixsocket</remote-id>
<remote-id type="pypi">requests-unixsocket</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/requests-unixsocket/requests-unixsocket-0.3.0-r2.ebuild b/dev-python/requests-unixsocket/requests-unixsocket-0.3.0-r2.ebuild
deleted file mode 100644
index df49acd8fe6e..000000000000
--- a/dev-python/requests-unixsocket/requests-unixsocket-0.3.0-r2.ebuild
+++ /dev/null
@@ -1,32 +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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Use requests to talk HTTP via a UNIX domain socket"
-HOMEPAGE="
- https://github.com/msabramo/requests-unixsocket/
- https://pypi.org/project/requests-unixsocket/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/requests[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/pbr[${PYTHON_USEDEP}]
- test? (
- dev-python/waitress[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
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
new file mode 100644
index 000000000000..1af801834bff
--- /dev/null
+++ b/dev-python/requests-unixsocket/requests-unixsocket-0.3.0-r4.ebuild
@@ -0,0 +1,38 @@
+# 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="Use requests to talk HTTP via a UNIX domain socket"
+HOMEPAGE="
+ https://github.com/msabramo/requests-unixsocket/
+ https://pypi.org/project/requests-unixsocket/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ dev-python/waitress[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ # https://github.com/msabramo/requests-unixsocket/pull/69
+ "${FILESDIR}/${P}-urllib3-2.patch"
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/requests-wsgi-adapter/Manifest b/dev-python/requests-wsgi-adapter/Manifest
new file mode 100644
index 000000000000..f4e37643b490
--- /dev/null
+++ b/dev-python/requests-wsgi-adapter/Manifest
@@ -0,0 +1 @@
+DIST requests-wsgi-adapter-0.4.1.gh.tar.gz 5265 BLAKE2B 1ad1783e7bc7a37f749cd7d8e041b5e86f5039a54a735b1db9c54bd5b356b4a583b9af52a2838ba4441ca4c0a653abe06a685274e054678cb398d813ad8504c9 SHA512 f5f3572586f3a4cba98bcebfec2a77382e101fb799998007ad37f804ec721533ccb84bb7cc4f7ee8cf2fe9e61e75440b75003e88d384c44a6484acc65bfa3626
diff --git a/dev-python/requests-wsgi-adapter/metadata.xml b/dev-python/requests-wsgi-adapter/metadata.xml
new file mode 100644
index 000000000000..33942be1e8ac
--- /dev/null
+++ b/dev-python/requests-wsgi-adapter/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="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">requests-wsgi-adapter</remote-id>
+ <remote-id type="github">seanbrant/requests-wsgi-adapter</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..9f4b3da43524
--- /dev/null
+++ b/dev-python/requests-wsgi-adapter/requests-wsgi-adapter-0.4.1.ebuild
@@ -0,0 +1,38 @@
+# 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="WSGI Transport Adapter for Requests"
+HOMEPAGE="
+ https://pypi.org/project/requests-wsgi-adapter/
+"
+COMMIT_HASH="5b771effb5414096089375a3a36a3e7af1522ae0"
+SRC_URI="
+ https://github.com/seanbrant/requests-wsgi-adapter/archive/${COMMIT_HASH}.tar.gz -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${PN}-${COMMIT_HASH}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest tests.py
+}
diff --git a/dev-python/requests/Manifest b/dev-python/requests/Manifest
index 8c19f20cc4ad..0ff86da8cb06 100644
--- a/dev-python/requests/Manifest
+++ b/dev-python/requests/Manifest
@@ -1,2 +1 @@
-DIST requests-2.28.1.tar.gz 109805 BLAKE2B 2106be5f9e1d9f1a22de5522b5d72084f91c2849e60e33b89b2411b76cae9b1f7faac34947f69c49480d001e9b77e4dce723ee939d51591882854d510db49b59 SHA512 c123ec07171c2c7c34e4173b97750adfa313b4312d91c0d58e4eb8750361604017e5b370c23ec886d2cbf704f9074ec5ad0fa9c2cd8e6f9521532adafff39d41
-DIST requests-2.28.2.tar.gz 108206 BLAKE2B fe6c5d78e6abd36b7134c6e424b5a1c4052eba62b55a01b5842f289b94df3af039a5beba71374db563dd52ce42471d5e3650763b9324533ea6ab3bfd8013379b SHA512 3c4ba19a2bb6ba38a4118cf246db3855401869d54ee7ebd9bee40b435420381fb737d4c69768f2bd97914a30d66233c7058cec51aa629af0dff3b04e6f997a3d
+DIST requests-2.31.0.tar.gz 110794 BLAKE2B e4e2781b272ccd94230c5b8c1bea83901bc8c28a34880709dbb95b887417b47833512e25045dab6e4226295294e2bf56fc821b6f636ae28aefdeee6039f53d44 SHA512 ce50d64973752f4cf7f7c7c91401669854b55c66d7465bea3689772fae8a6b646cf6720d84a2984bbe6fd78fc8b9ce0aa377f291fb6d7c20c7c2a4be8193acdd
diff --git a/dev-python/requests/files/requests-2.28.1-fix-charsetnormalizer-assert.patch b/dev-python/requests/files/requests-2.28.1-fix-charsetnormalizer-assert.patch
deleted file mode 100644
index 9975072c0c06..000000000000
--- a/dev-python/requests/files/requests-2.28.1-fix-charsetnormalizer-assert.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 23977ed77a..b679181bda 100755
---- a/setup.py
-+++ b/setup.py
-@@ -59,7 +59,7 @@ def run_tests(self):
- sys.exit()
-
- requires = [
-- "charset_normalizer>=2,<3",
-+ "charset_normalizer>=2,<4",
- "idna>=2.5,<4",
- "urllib3>=1.21.1,<1.27",
- "certifi>=2017.4.17",
-diff --git a/setup.cfg b/setup.cfg
-index 33af66eb15..0c167eb8c9 100644
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -5,7 +5,7 @@ provides-extra =
- use_chardet_on_py3
- requires-dist =
- certifi>=2017.4.17
-- charset_normalizer>=2,<3
-+ charset_normalizer>=2,<4
- idna>=2.5,<4
- urllib3>=1.21.1,<1.27
-
-diff --git a/requests/__init__.py b/requests/__init__.py
-index 7ac8e297b8..5812c85d8a 100644
---- a/requests/__init__.py
-+++ b/requests/__init__.py
-@@ -80,8 +80,8 @@ def check_compatibility(urllib3_version, chardet_version, charset_normalizer_ver
- elif charset_normalizer_version:
- major, minor, patch = charset_normalizer_version.split(".")[:3]
- major, minor, patch = int(major), int(minor), int(patch)
-- # charset_normalizer >= 2.0.0 < 3.0.0
-- assert (2, 0, 0) <= (major, minor, patch) < (3, 0, 0)
-+ # charset_normalizer >= 2.0.0 < 4.0.0
-+ assert (2, 0, 0) <= (major, minor, patch) < (4, 0, 0)
- else:
- raise Exception("You need either charset_normalizer or chardet installed")
-
diff --git a/dev-python/requests/requests-2.28.1-r1.ebuild b/dev-python/requests/requests-2.28.1-r1.ebuild
deleted file mode 100644
index acd943c80725..000000000000
--- a/dev-python/requests/requests-2.28.1-r1.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_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="HTTP library for human beings"
-HOMEPAGE="
- https://requests.readthedocs.io/
- https://github.com/psf/requests/
- https://pypi.org/project/requests/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="socks5 test-rust"
-
-RDEPEND="
- >=dev-python/certifi-2017.4.17[${PYTHON_USEDEP}]
- dev-python/charset_normalizer[${PYTHON_USEDEP}]
- <dev-python/idna-4[${PYTHON_USEDEP}]
- <dev-python/urllib3-1.27[${PYTHON_USEDEP}]
- socks5? ( >=dev-python/PySocks-1.5.6[${PYTHON_USEDEP}] )
-"
-
-BDEPEND="
- test? (
- dev-python/pytest-httpbin[${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
- # https://github.com/psf/requests/pull/6261
- "${FILESDIR}"/${PN}-2.28.1-fix-charsetnormalizer-assert.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
- )
-
- 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.28.2.ebuild b/dev-python/requests/requests-2.28.2.ebuild
deleted file mode 100644
index 15a4f5e91d99..000000000000
--- a/dev-python/requests/requests-2.28.2.ebuild
+++ /dev/null
@@ -1,72 +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_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="HTTP library for human beings"
-HOMEPAGE="
- https://requests.readthedocs.io/
- https://github.com/psf/requests/
- https://pypi.org/project/requests/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-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-1.27[${PYTHON_USEDEP}]
- socks5? ( >=dev-python/PySocks-1.5.6[${PYTHON_USEDEP}] )
-"
-
-BDEPEND="
- test? (
- dev-python/pytest-httpbin[${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
- )
-
- 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.31.0.ebuild b/dev-python/requests/requests-2.31.0.ebuild
new file mode 100644
index 000000000000..84aead8c6d19
--- /dev/null
+++ b/dev-python/requests/requests-2.31.0.ebuild
@@ -0,0 +1,81 @@
+# 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/requestsexceptions/metadata.xml b/dev-python/requestsexceptions/metadata.xml
index a6ded9b673c1..46e1cacd3773 100644
--- a/dev-python/requestsexceptions/metadata.xml
+++ b/dev-python/requestsexceptions/metadata.xml
@@ -9,7 +9,7 @@
The python requests library bundles the urllib3 library, however, some software distributions modify requests to remove the bundled library. This makes some operations, such as supressing the "insecure platform warning" messages that urllib emits difficult. This is a simple library to find the correct path to exceptions in the requests library regardless of whether they are bundled.
</longdescription>
<upstream>
- <remote-id type="github">openstack-infra/requestsexceptions</remote-id>
+ <remote-id type="github">openstack/requestsexceptions</remote-id>
<remote-id type="pypi">requestsexceptions</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/requestsexceptions/requestsexceptions-1.4.0-r1.ebuild b/dev-python/requestsexceptions/requestsexceptions-1.4.0-r1.ebuild
index be8c20f41d99..dd554a99b8db 100644
--- a/dev-python/requestsexceptions/requestsexceptions-1.4.0-r1.ebuild
+++ b/dev-python/requestsexceptions/requestsexceptions-1.4.0-r1.ebuild
@@ -4,16 +4,24 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
DESCRIPTION="Finds the correct path to exceptions in the requests library"
-HOMEPAGE="https://github.com/openstack-infra/requestsexceptions"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://opendev.org/openstack/requestsexceptions/
+ https://github.com/openstack/requestsexceptions/
+ https://pypi.org/project/requestsexceptions/
+"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-RDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]"
-BDEPEND="${RDEPEND}"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+"
diff --git a/dev-python/resolvelib/Manifest b/dev-python/resolvelib/Manifest
index d168989f8552..32d6b9d48345 100644
--- a/dev-python/resolvelib/Manifest
+++ b/dev-python/resolvelib/Manifest
@@ -1,3 +1 @@
-DIST resolvelib-0.5.4.tar.gz 14474 BLAKE2B d1424bf6a019e16e9b662741b6c089258bfef26d5bffcfc9e0c8d9ba105b689654fdce7bf9068f71c49a2ce590f05c16b93c53bbe468fc1a339e7fa489adece2 SHA512 cb027c5478c217f6f8288b42a933665aaf6e59280e7aa88a25f6594e589e34ac2b75734764e331d0889ad9cf0c60b8cbdfa14b01dce023a76870bb21cfc4d926
-DIST resolvelib-0.8.1.gh.tar.gz 766632 BLAKE2B 59bb02a08cf0f9bc6070cd5c5109826a7cacc5bda07479358fd591ff018bad761b53ed48f0a330e5ef60b8fa8d5db14ef044b662423e372aad7fc477df5b97ef SHA512 bc99d0661f3605d97074066df3c57edec8db40f66111f0d7a23ad88097ba4a162368ab396ef75632d09cd8a76417fbee2554d0cdb2f797795c246d16e7e3b955
-DIST resolvelib-0.9.0.gh.tar.gz 768502 BLAKE2B a5f0ab89f8b44125da59bc93bbfd78e8f35c3af82459732317097a79db81d5366e9fdfdf75ed12d1726441d1d0275304a953c489e987832134be936b92766878 SHA512 cb263a60e958e190c92dc333afd61eba76e3f1b1cf8f825c39292ea37c90f440afaacfc2d574987e26f6bb1d3a155ea8d878dd29cf82e78d912df36f4a10eb7e
+DIST resolvelib-1.0.1.gh.tar.gz 769608 BLAKE2B 7715f61d262cb79ce08f0431650e6213def4582a0774cf36dab722d88013f7bc9c72a31a957d3782e35b315158982c3311fe3e06e26bbf9040fa96b239934661 SHA512 a35f7fdbc3aba5b44fdf6b9c55b082156ca641dfe5825611be6364622bcaaf45faafa2c45bdd13d1b5723a55732759a806905ab4b6f366fba0474d1f808d91bc
diff --git a/dev-python/resolvelib/resolvelib-0.5.4.ebuild b/dev-python/resolvelib/resolvelib-0.5.4.ebuild
deleted file mode 100644
index 21fbc15c9b0b..000000000000
--- a/dev-python/resolvelib/resolvelib-0.5.4.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-DISTUTILS_USE_SETUPTOOLS=bdepend
-inherit distutils-r1
-
-DESCRIPTION="provides a Resolver class that includes dependency resolution logic"
-HOMEPAGE="https://github.com/sarugaku/resolvelib"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~x64-macos"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-BDEPEND=""
diff --git a/dev-python/resolvelib/resolvelib-0.8.1.ebuild b/dev-python/resolvelib/resolvelib-0.8.1.ebuild
deleted file mode 100644
index 055cb8178ef2..000000000000
--- a/dev-python/resolvelib/resolvelib-0.8.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
-
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="provides a Resolver class that includes dependency resolution logic"
-HOMEPAGE="https://github.com/sarugaku/resolvelib/"
-SRC_URI="
- https://github.com/sarugaku/resolvelib/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-
-BDEPEND="
- test? (
- dev-python/commentjson[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
diff --git a/dev-python/resolvelib/resolvelib-0.9.0.ebuild b/dev-python/resolvelib/resolvelib-0.9.0.ebuild
deleted file mode 100644
index 8462c1a77bda..000000000000
--- a/dev-python/resolvelib/resolvelib-0.9.0.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Resolve abstract dependencies into concrete ones"
-HOMEPAGE="
- https://github.com/sarugaku/resolvelib/
- https://pypi.org/project/resolvelib/
-
-"
-SRC_URI="
- https://github.com/sarugaku/resolvelib/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-
-BDEPEND="
- test? (
- dev-python/commentjson[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/resolvelib/resolvelib-1.0.1.ebuild b/dev-python/resolvelib/resolvelib-1.0.1.ebuild
new file mode 100644
index 000000000000..091e5388976b
--- /dev/null
+++ b/dev-python/resolvelib/resolvelib-1.0.1.ebuild
@@ -0,0 +1,33 @@
+# 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="Resolve abstract dependencies into concrete ones"
+HOMEPAGE="
+ https://github.com/sarugaku/resolvelib/
+ https://pypi.org/project/resolvelib/
+
+"
+SRC_URI="
+ https://github.com/sarugaku/resolvelib/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+
+BDEPEND="
+ test? (
+ dev-python/commentjson[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/responses/Manifest b/dev-python/responses/Manifest
index 016066db1554..a634dc9300ca 100644
--- a/dev-python/responses/Manifest
+++ b/dev-python/responses/Manifest
@@ -1,2 +1 @@
-DIST responses-0.22.0-tomli.patch 4793 BLAKE2B d5991f55f4378d35224a19d4e85ee9786612f6b5931e52e326c46ca2b791e6e2f8985f69ebff14779948b45a6433d6b4223f8fabe615b0ad479364d941128179 SHA512 0d0bd3d10e4f38fdb236204f161ae499f876d8daadc8306b6ad02efec9277fdfdbc1c862704f49aec69cabbd52f3616acf74d3baab573f1f5418436928af3c6c
-DIST responses-0.22.0.gh.tar.gz 54094 BLAKE2B eacb1ba4fcae10d3a4e29fe1516da3f1d3ff07eacbaf65b0dd3f86ecfb36aa51527c0d89547a1480064654c49fd1233d2c3491d9afdf4eff34a4058e4f89ec0d SHA512 361e59e02df36fac0fb0ba2a070b730e485ec94fe90490c271e4ac86fae7954a551bf2486714d95c91e9d0b011f06a9d10b0d6408fd4d03234e1224cca1e9d0e
+DIST responses-0.25.0.tar.gz 77681 BLAKE2B 0437c343feecb071f544d8f6ce1ad15c4d6e2f00c0fff0404dff9160c962a5de46d0b2c882e8d044b6e09c441a534e7bd8772f826a45c9a9b79e34daf0610546 SHA512 6aed8ce17f55e8c1a7438b3e1aa7e7e59322120f3580fede93d61224ea9f1e1f05382cdf82c11cbef29447b6591d7d6e25d156c087025b93d6e5a3e2da82d90d
diff --git a/dev-python/responses/responses-0.22.0-r1.ebuild b/dev-python/responses/responses-0.22.0-r1.ebuild
deleted file mode 100644
index 05718a22e8fe..000000000000
--- a/dev-python/responses/responses-0.22.0-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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Utility for mocking out the Python Requests library"
-HOMEPAGE="
- https://pypi.org/project/responses/
- https://github.com/getsentry/responses/
-"
-SRC_URI="
- https://github.com/getsentry/responses/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- https://github.com/getsentry/responses/pull/596.patch
- -> ${P}-tomli.patch
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- <dev-python/requests-3[${PYTHON_USEDEP}]
- >=dev-python/requests-2.22.0[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- dev-python/tomli-w[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.10[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/pytest-httpserver[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${DISTDIR}"/${P}-tomli.patch
-)
-
-python_test() {
- epytest -p no:localserver
-}
diff --git a/dev-python/responses/responses-0.25.0.ebuild b/dev-python/responses/responses-0.25.0.ebuild
new file mode 100644
index 000000000000..a743a02f58e4
--- /dev/null
+++ b/dev-python/responses/responses-0.25.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} 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/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..546e9bced470
--- /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..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Mock HTTPX with awesome request patterns and response side effects"
+HOMEPAGE="
+ https://lundberg.github.io/respx/
+ https://pypi.org/project/respx/
+ https://github.com/lundberg/respx/
+"
+# no tests in pypi sdist
+SRC_URI="
+ https://github.com/lundberg/respx/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 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/metadata.xml b/dev-python/restructuredtext-lint/metadata.xml
index 0c3c1f107b98..294328636170 100644
--- a/dev-python/restructuredtext-lint/metadata.xml
+++ b/dev-python/restructuredtext-lint/metadata.xml
@@ -11,6 +11,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">twolfson/restructuredtext-lint</remote-id>
<remote-id type="pypi">restructuredtext-lint</remote-id>
</upstream>
</pkgmetadata>
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 6809135a9916..7199badb88b6 100644
--- a/dev-python/restructuredtext-lint/restructuredtext-lint-1.4.0.ebuild
+++ b/dev-python/restructuredtext-lint/restructuredtext-lint-1.4.0.ebuild
@@ -4,15 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_P="${P/-/_}"
DESCRIPTION="Checks PyPI validity of reStructuredText"
-HOMEPAGE="https://pypi.org/project/restructuredtext-lint/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/_}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
+HOMEPAGE="
+ https://github.com/twolfson/restructuredtext-lint/
+ https://pypi.org/project/restructuredtext-lint/
+"
LICENSE="Unlicense"
SLOT="0"
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 15f2e142bbbc..7b43e81cdb92 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
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="Decorator for retrying when exceptions occur"
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/pnpnpn/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~riscv x86"
DOCS=( README.rst )
diff --git a/dev-python/retrying/retrying-1.3.4.ebuild b/dev-python/retrying/retrying-1.3.4.ebuild
index 47a305e41bd4..6a0fd7dfe7bd 100644
--- a/dev-python/retrying/retrying-1.3.4.ebuild
+++ b/dev-python/retrying/retrying-1.3.4.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86"
RDEPEND="
>=dev-python/six-1.7.0[${PYTHON_USEDEP}]
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 923772721901..c61a88c3cf9b 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
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
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"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
RDEPEND="
dev-python/six[${PYTHON_USEDEP}]
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
index 834ec396986c..cced400b50cc 100644
--- a/dev-python/rfc3986-validator/rfc3986-validator-0.1.1-r1.ebuild
+++ b/dev-python/rfc3986-validator/rfc3986-validator-0.1.1-r1.ebuild
@@ -4,24 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
-
-MY_PN="${PN//-/_}"
-MY_P="${MY_PN}-${PV}"
+inherit distutils-r1 pypi
DESCRIPTION="Pure python RFC3986 validator"
HOMEPAGE="
https://pypi.org/project/rfc3986-validator/
https://github.com/naimetti/rfc3986-validator
"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.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"
+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}]
diff --git a/dev-python/rfc3986/rfc3986-2.0.0-r1.ebuild b/dev-python/rfc3986/rfc3986-2.0.0-r1.ebuild
index 07f1ad413e55..4230540ef8ca 100644
--- a/dev-python/rfc3986/rfc3986-2.0.0-r1.ebuild
+++ b/dev-python/rfc3986/rfc3986-2.0.0-r1.ebuild
@@ -4,9 +4,9 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Validating URI References per RFC 3986"
HOMEPAGE="
@@ -15,7 +15,6 @@ HOMEPAGE="
https://pypi.org/project/rfc3986/
https://tools.ietf.org/html/rfc3986/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="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 e46fd4dffd25..000000000000
--- a/dev-python/rfc3987/rfc3987-1.3.8-r2.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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Parsing and validation of URIs (RFC 3986) and IRIs (RFC 3987)"
-HOMEPAGE="
- https://github.com/dgerber/rfc3987/
- https://pypi.org/project/rfc3987/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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"
-
-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..e8a27e88d645
--- /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..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"
+
+# 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 09be4988fcd8..f37f2db2d0c5 100644
--- a/dev-python/rich/Manifest
+++ b/dev-python/rich/Manifest
@@ -1,3 +1,2 @@
-DIST rich-13.2.0.gh.tar.gz 15066145 BLAKE2B 1a767de5d3b872e07e74374d956b4a3d1b6916a98846f98208f8a2e14a1c12f18fe7d85919f0b2104228fd74d25e640d446fae416a70254f7241fa726fb82802 SHA512 a3df2d3bdb35d25cad867cafad726a081d7fcba45e0b4ea2ec9aa17c28fc4d2c22f4ba1c7e3ef16fea7137c052875632b8d774895082d40804dc929021c0a2ef
-DIST rich-13.3.0.gh.tar.gz 15055287 BLAKE2B bf314606d2da55d1c20d01083c21edc6f10590431152d360f1a5731fc543d47360faabd5141d3bf9b46793145a08bd79c971974ae85956df8821a33afa45bc50 SHA512 1ad28c6ea505ad4088ccab8a034b5ffa49f9ad59e7b60fe27dbcb8fec485f9f695d25dde83b102021c24ff149fdd9e981a1009bb82eb545250824436bd818d62
-DIST rich-13.3.1.gh.tar.gz 15055408 BLAKE2B 79713ee232bc1c990c1432f7966cffd69b8ffef9ad8a562339d62b03fbab4620040c5ae1d735d3084d71f32581955f0ea5fad113ff992dcddb2dd0e20465484e SHA512 a3b5bef2183bbb888f0ef5a90b35fdb1ed7ef6103dfea01a5efa441ce8d1769b53d7888684e3b5cd76bcacf3768835d918d9fbb7801eab57c04d1412f129f6bb
+DIST rich-13.4.2.gh.tar.gz 15063000 BLAKE2B f65079440bc7d89a3ff03be01fa71e076493ae50f22ae8781be2448a7ff2769c174d6654db3a835d34720c34cd8cbecfdd6b13e3064cf7fdcade71806563309d SHA512 17052a9fb0e1d89b31a00d8a719214719891d048fd805185b2d4258c8766130f44bf2280c9567bc162f3b34d9bf2eb7d747d6a37d910c81cd53d3003b51f70bd
+DIST rich-13.7.1.gh.tar.gz 15058064 BLAKE2B 6fad18bf0a4e4f72e530c78db7a498f27dd8c9a7b9b17ca5ef12a94bbe513857f3c42d4903f8ebbfe8907727cddaf290f08862c27efb29db8aaf70c7bcb13ace SHA512 0c69101bc6c2a238a4c516812cda08299115b903b8282ee348b45b212a88fcbfbf69d11a3705a97bdb6192988ee3047804bb5b52b7950d860542cde8ce2d4bd2
diff --git a/dev-python/rich/rich-13.2.0.ebuild b/dev-python/rich/rich-13.2.0.ebuild
deleted file mode 100644
index 5a00191deda0..000000000000
--- a/dev-python/rich/rich-13.2.0.ebuild
+++ /dev/null
@@ -1,52 +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_{9..11} 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 ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/colorama[${PYTHON_USEDEP}]
- <dev-python/markdown-it-py-3[${PYTHON_USEDEP}]
- >=dev-python/markdown-it-py-2.1.0[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.8)
-"
-
-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
- )
- 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.3.0.ebuild b/dev-python/rich/rich-13.3.0.ebuild
deleted file mode 100644
index 55b97b52578e..000000000000
--- a/dev-python/rich/rich-13.3.0.ebuild
+++ /dev/null
@@ -1,52 +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_{9..11} 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 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/colorama[${PYTHON_USEDEP}]
- <dev-python/markdown-it-py-3[${PYTHON_USEDEP}]
- >=dev-python/markdown-it-py-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.14.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.8)
-"
-
-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
- )
- 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.3.1.ebuild b/dev-python/rich/rich-13.3.1.ebuild
deleted file mode 100644
index 55b97b52578e..000000000000
--- a/dev-python/rich/rich-13.3.1.ebuild
+++ /dev/null
@@ -1,52 +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_{9..11} 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 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/colorama[${PYTHON_USEDEP}]
- <dev-python/markdown-it-py-3[${PYTHON_USEDEP}]
- >=dev-python/markdown-it-py-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.14.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.8)
-"
-
-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
- )
- 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.4.2.ebuild b/dev-python/rich/rich-13.4.2.ebuild
new file mode 100644
index 000000000000..7d07d7e5e93f
--- /dev/null
+++ b/dev-python/rich/rich-13.4.2.ebuild
@@ -0,0 +1,65 @@
+# 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.7.1.ebuild b/dev-python/rich/rich-13.7.1.ebuild
new file mode 100644
index 000000000000..de4ea8ee4fa4
--- /dev/null
+++ b/dev-python/rich/rich-13.7.1.ebuild
@@ -0,0 +1,57 @@
+# 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} 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/roman/Manifest b/dev-python/roman/Manifest
index 951d57716ea5..503fc37d5503 100644
--- a/dev-python/roman/Manifest
+++ b/dev-python/roman/Manifest
@@ -1 +1 @@
-DIST roman-3.3.tar.gz 7577 BLAKE2B 651d30154e01c9bc61326581c5600efb5f717b2c21cb6345d51ba5aa44d79bff00e66492d3962ed4c9682103a9c00af8205ae9d90b30b9a3f13dc2d18e6f1592 SHA512 8d2952640519052ce629a3881cb871448fc7921eb5f45525305c43ef9fb2672062d0ca96ab16d7aaa95f5eebcad028fdcf519f224f3631734fbb6a4a314f3a49
+DIST roman-4.1.tar.gz 7005 BLAKE2B de3e7dc4e05994f906b357d8db2f1149f3bf9f420552220cf1cf9427a8ae63ed3ba873b28b75dcbc1f675a370354efa5cae3ac9fb070f9b02126a2867bcefb07 SHA512 69214f35098e17bd106411036feec8a4e5c8450e394c74d60a8e3cc17c6884556347a1d2852fa174db4f66d969e71b26c066439afd6d278786d1a47bf925f302
diff --git a/dev-python/roman/metadata.xml b/dev-python/roman/metadata.xml
index 0616c0bd4c9b..d3f00828dac6 100644
--- a/dev-python/roman/metadata.xml
+++ b/dev-python/roman/metadata.xml
@@ -8,5 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">roman</remote-id>
+ <remote-id type="github">zopefoundation/roman</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/roman/roman-3.3-r1.ebuild b/dev-python/roman/roman-3.3-r1.ebuild
deleted file mode 100644
index 6320367ff069..000000000000
--- a/dev-python/roman/roman-3.3-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="An Integer to Roman numerals converter"
-HOMEPAGE="https://pypi.org/project/roman/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="PSF-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-distutils_enable_tests setup.py
-
-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.1.ebuild b/dev-python/roman/roman-4.1.ebuild
new file mode 100644
index 000000000000..a5f95f0aaefa
--- /dev/null
+++ b/dev-python/roman/roman-4.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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/rope/Manifest b/dev-python/rope/Manifest
index 909c11037da5..490ab93c1c15 100644
--- a/dev-python/rope/Manifest
+++ b/dev-python/rope/Manifest
@@ -1,2 +1 @@
-DIST rope-1.6.0.tar.gz 289325 BLAKE2B fc7fc37a93f6d011f7e5eab5d2a28e3eab1767839cba4bce2b665c7972d6485eb3693e5977abfd36025415bc898fb4985affb7ac757c8457840a5de3946df77d SHA512 f610eb71c20533907aeea86c3ec5101401cf8136aba4221b2d64db3b0db16d4d7d1ec081c6d4929d6534ed51d4c01761af8d2ffddb6b69b4a9cc4921d240d745
-DIST rope-1.7.0.tar.gz 295362 BLAKE2B a81d6600441cf9dfe12be0a15113988ac8ec3dcd00c593085b9d749001b0785a5bceedc0fa8bbaeaaeb0142d623a432ef7d6e24874fab7a37179f131a26e6a6c SHA512 13cc3a2041c58c142892d1c9e5105ecdaa672e012364a5d4ccf82dbf5110fe0b6f0362b3a0309e9e6b72ab1d267dfc58eae8f3af3a8756f0356a6aff06c09abd
+DIST rope-1.13.0.tar.gz 294457 BLAKE2B 6d859f9a5d09734ef90398671a3ef3c8564f2a8b1d03a064d22161ac7deeceefb38849cd6940a53f61f20199c27edc5ef5e88d59336cfd69f4da22685c705356 SHA512 2f150d8b56165dd3cffc3f41d94394b5f44d7d6274859d7b460c6e61b99cb9d9630f3540940fa97bcd1238fa8a799cf9c80f2d9b5b7fd6a690cebabadf775db4
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/rope/rope-1.6.0.ebuild b/dev-python/rope/rope-1.6.0.ebuild
deleted file mode 100644
index 01bc24f0fa0d..000000000000
--- a/dev-python/rope/rope-1.6.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python refactoring library"
-HOMEPAGE="
- https://pypi.org/project/rope/
- https://github.com/python-rope/rope/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 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.7.0.ebuild b/dev-python/rope/rope-1.7.0.ebuild
deleted file mode 100644
index 827ea89bc22c..000000000000
--- a/dev-python/rope/rope-1.7.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python refactoring library"
-HOMEPAGE="
- https://pypi.org/project/rope/
- https://github.com/python-rope/rope/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~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/ropemode/ropemode-0.6.1.ebuild b/dev-python/ropemode/ropemode-0.6.1.ebuild
index 20fe7e129e57..4c050d4f2716 100644
--- a/dev-python/ropemode/ropemode-0.6.1.ebuild
+++ b/dev-python/ropemode/ropemode-0.6.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
dev-python/rope[${PYTHON_USEDEP}]
diff --git a/dev-python/routes/metadata.xml b/dev-python/routes/metadata.xml
index a2282f1b20d6..ee4979d961fd 100644
--- a/dev-python/routes/metadata.xml
+++ b/dev-python/routes/metadata.xml
@@ -8,5 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">Routes</remote-id>
+ <remote-id type="github">bbangert/routes</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/routes/routes-2.5.1-r2.ebuild b/dev-python/routes/routes-2.5.1-r2.ebuild
index d6189c0ad3e4..6feb5b4fc0d4 100644
--- a/dev-python/routes/routes-2.5.1-r2.ebuild
+++ b/dev-python/routes/routes-2.5.1-r2.ebuild
@@ -4,7 +4,7 @@
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/rpds-py/Manifest b/dev-python/rpds-py/Manifest
new file mode 100644
index 000000000000..d2de8f8ee615
--- /dev/null
+++ b/dev-python/rpds-py/Manifest
@@ -0,0 +1,50 @@
+DIST archery-1.0.0.crate 21187 BLAKE2B 5dd323734a238ccc84c186d19fbc1557d8845a7e3b64b53eb952f17e3d44078931e9e2a96fe15373721ee5df4426844a4309172a9ada7a51b4ed71fad1deee55 SHA512 4f955fec7df473279925f195fbb48159ef1e23f9722c416347c84eee22ba9d2a2ecc466a879f43f1f8aed53778467f6d203ca43bfca9dd24f3f7a4cb0cc0eb89
+DIST archery-1.1.0.crate 22240 BLAKE2B bae7ff007419d6aaa738f541610a65f1c2c832a0ef571207b3f55fb6d36adfb64355f0bcdc8c06823166bbdf531d3c52eef042ef720aa2dc51e9e5fa3dc69c7b SHA512 0a5180563fd2cf50e26d470e32f07dc523a94218cfe7d519ea5f79d4fef07d91f2e108b10a786e9f7af0e9c98e4178bf3812d795ddaaa9ffbeb8d9f2b34f7aaa
+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-1.0.9.crate 13475 BLAKE2B a9696788574e56dd125c3371169fd59d6947d188f76e2669b21c0304692efd6709cd048920f7822e92c6a5620fb178e0e85c7776118cef8ccee0f58398e14abf SHA512 db8aef4a7bb606452dc8ed45aa29a255c7a135357a0bd586fb4429c5f56a1aa2ca9400d6fac39956aeb486a15d25cf5d1b9524967867f2c651d9d563e3e85be8
+DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
+DIST libc-0.2.147.crate 686772 BLAKE2B ab2f0c65d071d46b8b88149add1c8429237ef6d9e0563d56ee1adbf23e6147dbb57fb68fbd02498f8ec75327693237a47e5e5259615ce8b0d5ed7a03bbf4fffb SHA512 bfb3c230b59d623b98726f92b7c3f897b47ba3d22fe9834c15f5b4c1b662289aba35a0ae3acfc704ad74696db8c691ee007b9cc6fa03ae65a18eb6bedc81931e
+DIST lock_api-0.4.10.crate 26713 BLAKE2B 113adf8554c65e9782e8fd0360d0398567dfbfddb1fea4928cc152fbab98dbe086e42b81170f6f5c333d61dd3261e8a1ebfbaed786e6bf6378e6afde6d7f9e5c SHA512 ffe8cad8099bc382832181c1ff95e0935993491f247114604201be7d4ddf8402fd4db8fd6499c611f95fbce7d57dc3d3738eddfab31c52f50ab8709e549697db
+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 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.2.crate 434326 BLAKE2B 3114fd6f3fb8ae7d1b35c9d2ac5ba6a49c5ac911ee3a5b941c5063263ca7cce47fa4b4f7ec34cbfe3083f3d1303fd7f061639fba833a04fedb9d5098f5784028 SHA512 cc5151a116179157046ec92677e5a72318b4cdb13a7d7e3bb83778739b5758040e5020f667dd83554a66b758581a08f5de05eb38e7b339813cec85e0712e6355
+DIST pyo3-build-config-0.19.2.crate 29206 BLAKE2B 5b1cd80d643e448cf8f1d28a514333526061c178121b9a0dcb5bff6082f402ecfd166536d94d42065f6dc1f108a73f12bbb78eedf9ea053a6aa2e9c80ac00ddf SHA512 ccc73061ec1989258921c5b5800689170635fa5503d74a4ac458baef903dd31efa41995d238783f1e099ece1f66d0a0e95c4fcb4b772b9f653dbb20e838b4e28
+DIST pyo3-build-config-0.20.2.crate 30029 BLAKE2B 846eb95d1417a658763417a2750dca1c55201105a3978d61b1db5e3962680ede188f8285dd7deec778ea9860d43e40513b88f5a54f0b1881b08416760bdbbedf SHA512 9dbc669ec69d38716c3909fa8f3b6c5be13c717b20bfd5dd11edab59b8eb35247d7996acd260fec88f92eb3e71248c86e9b40c1a700827889e2990bba20ecddf
+DIST pyo3-ffi-0.19.2.crate 66500 BLAKE2B b4139fba31ef17017b6b60784e41ccda34931a072c2638af1eed8d02d7af701c46fe38b12772d2301cff41d10a433ff0f00a69d79d40233eadafe82abe585f8d SHA512 789191bca537998dd23d72dce4f185b84bbe700f4171c47de35b9bbca15a180ad214392b4f465cc1ecb0be955ebec1cf5a3c497815073be18035bd8bf8c51a32
+DIST pyo3-ffi-0.20.2.crate 64601 BLAKE2B cf1141ad34a13dcb46de0d1e15dda192ca41a7441bfc92a9295861876dcc690d1d5d6d39dafa51cd70c4627353efa91563eaefee8c39f655d12818003f9524da SHA512 ee6386b6fdb80689d104f9cd5229f02e1893d00a52be710bd36882c47305abbe24ef2f3cdef8200fddc0bb97e29001fa3a2fd9d3d2673ecd9a104a070420d01e
+DIST pyo3-macros-0.19.2.crate 7173 BLAKE2B 8862f42a30929579b0b0bc2ba7f0b416518724480e197fa13288e49324e851f964183e1529b7f31bf5d4fe0ae194a412723b6b401100e66fba98bbcd9c283866 SHA512 852cc2792aa3d30d9ab8802a451be5617cae6536adced1bf0dde71704a3c7c1bfe862fba751b6d045249819a8ba5d87dfc50914d142a0b662f046498c06f8c2e
+DIST pyo3-macros-0.20.2.crate 7925 BLAKE2B 00fc60becfa39bf452786d8a612247785f1737cc3e627700d0d144ab2efaadfb34ce8a8f46e932382a1ea99caebfe1946fbc517b5c26fadb0822ecaa8b2e9df0 SHA512 dd9ea9acda95dfc53689a4c26d8c2139f8a90a05ab06737037f19b8bccd5e52b0da5f297a29194b958f5f8b59cbb566b5f409b3f17a863eddf855ecb755d2719
+DIST pyo3-macros-backend-0.19.2.crate 49962 BLAKE2B 9d8a032c2205f55d2431b6bbc40df153339e08479df3a8a65506ade7d1f3d17cfaf664cbd09eaec9acff3f5a248598e37427d0c5a531eaf527137803adf49834 SHA512 fd708e6fdbd54ef7c676bedc62070175bac6b8f7ae11231578196dbf552b163a8a2499a1266f786bb6bfb85517fe83610902137d59a5c42efcb1a27c4235a07e
+DIST pyo3-macros-backend-0.20.2.crate 49710 BLAKE2B 711b18984e61219555df4b62667f7f376951c6cb47e6dd947fc24618b923c4f4f790eb1aba1901abea4761632cdb58cfa81cce91f33586da3022e6c7d126bc9f SHA512 c6ca2a2cdae8630fba3f8e4122e81b60ef2ef0905ad2a3fbcfae134456d5ca9e73690b61590e391f3b9d82c24725809f18544c5dfa0b36ffdb1914844fe65d3a
+DIST quote-1.0.31.crate 27881 BLAKE2B 47c8ac1051f7fa03d002420ade3cb18bf2aedc6ba922d13b117c016ee89c3326bea5cad32ec2f0e5ac1afcce68982f20b3f973914c205e6d6f426487989c6ec4 SHA512 8b2ec131937ce53f3fa01e68fb9261ed6442222e513cbe86f62b6da3cf3051cda0d134dc8028bc6c992fa63735ef3507490a169f8b4af1d6fc17058c6d2faaab
+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.17.1.tar.gz 24945 BLAKE2B 751e764e06a10bc3689e6c001eec3fad80029afa174ad3982592f6eead0c7263a9174c2f5ba8e80722115edc870093a95fe62d477898c89facd4301f6ac1bd83 SHA512 9242d52699c56157aa74d344cea18feb78b1b6d6e9ddc746a631db1e290b532005ec31598da86a837d01ed764e8355a76b85cb8a94f9c5009173ae8931b6d218
+DIST rpds_py-0.18.0.tar.gz 25313 BLAKE2B 2d80eadea17151b4b0ae76644a3474827c7c4e78c3779f59d2ca0d368f3defce1153439b1564db9f63e1535ee3f91595b71e1ef7f767cc9063d8f247532c5da4 SHA512 390235cb55ead962194c79f2f6a53bc96b3e4ba4641a85e5e9328cc014a24af86a74667bf29ce3ba95a6e3cdc6790e2b03d48abd36a54092146a106f723736c3
+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 target-lexicon-0.12.9.crate 24532 BLAKE2B 7f09be1827a5f9563b842c38aff659432ec61b66b814ebf4cc8a963daf6c93e7dc453a6966aa02d3a886007506d2b993e16ceb047bd34f6d206de76a39d08dfe SHA512 62033617d4587fb9d4b3159c78dbb628041d7ba6c5849c27a5755f173a7279aa4a03e56d31e03f87adfae50cef49eb6f0bc5eea1f6a131b87c618330d19d61d5
+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 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
+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/rpds-py/metadata.xml b/dev-python/rpds-py/metadata.xml
new file mode 100644
index 000000000000..e20ec3f8432b
--- /dev/null
+++ b/dev-python/rpds-py/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">crate-py/rpds</remote-id>
+ <remote-id type="pypi">rpds-py</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rpds-py/rpds-py-0.10.6.ebuild b/dev-python/rpds-py/rpds-py-0.10.6.ebuild
new file mode 100644
index 000000000000..cd3b719b8ca7
--- /dev/null
+++ b/dev-python/rpds-py/rpds-py-0.10.6.ebuild
@@ -0,0 +1,70 @@
+# 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.17.1.ebuild b/dev-python/rpds-py/rpds-py-0.17.1.ebuild
new file mode 100644
index 000000000000..b434e0695384
--- /dev/null
+++ b/dev-python/rpds-py/rpds-py-0.17.1.ebuild
@@ -0,0 +1,69 @@
+# 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="
+ 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.2
+ pyo3-ffi@0.20.2
+ pyo3-macros-backend@0.20.2
+ pyo3-macros@0.20.2
+ pyo3@0.20.2
+ 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.0.ebuild b/dev-python/rpds-py/rpds-py-0.18.0.ebuild
new file mode 100644
index 000000000000..b434e0695384
--- /dev/null
+++ b/dev-python/rpds-py/rpds-py-0.18.0.ebuild
@@ -0,0 +1,69 @@
+# 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="
+ 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.2
+ pyo3-ffi@0.20.2
+ pyo3-macros-backend@0.20.2
+ pyo3-macros@0.20.2
+ pyo3@0.20.2
+ 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/rply/Manifest b/dev-python/rply/Manifest
index df06d0382e06..43caf77493fc 100644
--- a/dev-python/rply/Manifest
+++ b/dev-python/rply/Manifest
@@ -1 +1 @@
-DIST rply-0.7.8.tar.gz 26697 BLAKE2B 95c4be3bbbd7aea7f278dbe0c37fd43d012df768169d0363d1a938f762c2f9ad69d596cbbaaafee3c93f3d615ea5cd1509e9b642188320f8acd09c12d6b7c780 SHA512 b43e6425f046561cfca616801d37d7151f015aeb2ea2365abc00f97fd6b41f1a01a17e330aed5a81537065e4b29d49cd0824b5a5cb8b2d11da2ff1f8de952fce
+DIST rply-0.7.8.gh.tar.gz 26697 BLAKE2B 95c4be3bbbd7aea7f278dbe0c37fd43d012df768169d0363d1a938f762c2f9ad69d596cbbaaafee3c93f3d615ea5cd1509e9b642188320f8acd09c12d6b7c780 SHA512 b43e6425f046561cfca616801d37d7151f015aeb2ea2365abc00f97fd6b41f1a01a17e330aed5a81537065e4b29d49cd0824b5a5cb8b2d11da2ff1f8de952fce
diff --git a/dev-python/rply/rply-0.7.8-r1.ebuild b/dev-python/rply/rply-0.7.8-r1.ebuild
new file mode 100644
index 000000000000..a721bedcbc29
--- /dev/null
+++ b/dev-python/rply/rply-0.7.8-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 parser generator that also works with RPython"
+HOMEPAGE="
+ https://github.com/alex/rply/
+ https://pypi.org/project/rply/
+"
+SRC_URI="
+ https://github.com/alex/rply/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ dev-python/appdirs[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/py[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs
diff --git a/dev-python/rply/rply-0.7.8.ebuild b/dev-python/rply/rply-0.7.8.ebuild
deleted file mode 100644
index 2374ad057e87..000000000000
--- a/dev-python/rply/rply-0.7.8.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure python parser generator that also works with RPython"
-HOMEPAGE="https://github.com/alex/rply"
-SRC_URI="https://github.com/alex/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="dev-python/appdirs[${PYTHON_USEDEP}]"
-BDEPEND="test? ( dev-python/py[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs
diff --git a/dev-python/rpy/Manifest b/dev-python/rpy/Manifest
index 3e76efd18ebc..4b05cc402c2c 100644
--- a/dev-python/rpy/Manifest
+++ b/dev-python/rpy/Manifest
@@ -1 +1 @@
-DIST rpy2-3.5.5.tar.gz 210255 BLAKE2B b26aa4830f10b69ad8a9b21df14784203f77ea35b403a5b9d6135680ab47b47edbc480e3dbfcc469ffd523262c977c9a78e3597e467f5ccb3643c66a8a49b94e SHA512 47ce62851ec5385e3d8da947bb30cb71bf28fdba5891ec729f227313aa3863a2fa7be9ec3b7b2fffa4c09ebae131d15a8723f796c85406e5c19ea4a480f8e653
+DIST rpy2-3.5.14.tar.gz 219268 BLAKE2B 167284d4974710121475d83aada49e128566f075276f5f641096f6ce94c236c315617df2847504e0e3ca804090e1f422fa1b53a4a37b60f1c5bcdba8c0b059ff SHA512 d02454fb41c946a0a92547f8a5dba3c614741bec8e293984116b34dfbe97574a655b7066fd75d34fee4c0f604c41c8b672d6a2c3b4194cba30a37c95da6578dd
diff --git a/dev-python/rpy/metadata.xml b/dev-python/rpy/metadata.xml
index 27e08f6c2612..98f720adecd9 100644
--- a/dev-python/rpy/metadata.xml
+++ b/dev-python/rpy/metadata.xml
@@ -12,6 +12,8 @@
Python exceptions.
</longdescription>
<upstream>
+ <remote-id type="github">rpy2/rpy2</remote-id>
<remote-id type="pypi">rpy2</remote-id>
+ <remote-id type="sourceforge">rpy</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/rpy/rpy-3.5.14.ebuild b/dev-python/rpy/rpy-3.5.14.ebuild
new file mode 100644
index 000000000000..dfffe5235fa0
--- /dev/null
+++ b/dev-python/rpy/rpy-3.5.14.ebuild
@@ -0,0 +1,48 @@
+# 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_REQ_USE="sqlite"
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi optfeature
+
+DESCRIPTION="Python interface to the R language"
+HOMEPAGE="
+ https://rpy2.github.io/
+ https://github.com/rpy2/rpy2
+ https://pypi.org/project/rpy/
+"
+SRC_URI="$(pypi_sdist_url rpy2)"
+S="${WORKDIR}/rpy2-${PV}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-lang/R-4.0
+ dev-python/cffi[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/tzlocal[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature "ipython integration" dev-python/ipython
+ optfeature "numpy integration" dev-python/numpy
+ optfeature "pandas integration" dev-python/pandas
+}
diff --git a/dev-python/rpy/rpy-3.5.5.ebuild b/dev-python/rpy/rpy-3.5.5.ebuild
deleted file mode 100644
index 28f56f1baeb8..000000000000
--- a/dev-python/rpy/rpy-3.5.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-PYTHON_REQ_USE="sqlite"
-inherit distutils-r1 virtualx
-
-MYSLOT=2
-MY_PN=${PN}${MYSLOT}
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Python interface to the R Programming Language"
-HOMEPAGE="https://rpy.sourceforge.net/
- https://pypi.org/project/rpy2/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-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 portage
-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 4f77b1578c88..3dd555a227cf 100644
--- a/dev-python/rpyc/Manifest
+++ b/dev-python/rpyc/Manifest
@@ -1 +1 @@
-DIST rpyc-5.2.3_p1.tar.gz 1269198 BLAKE2B 288568fcd34787850968d4e3fd9ca7c2d29e506f1331b746104760e678dfef43fd30b08f68b3bdda6df84d488f88dc76cfdd23d5a5ad0a4cefeab468ac6a1b0b SHA512 4b29899a51364779185d2b56f5d5ee4c650c40b8322e5594500222fdcec85414cdbabd41437467e2ff73124a79e8c9cde23dfe89138abb935732ccaba69de2bb
+DIST rpyc-5.3.1.gh.tar.gz 1271046 BLAKE2B b7c86aa5cf774d306b2d6fdbac97441533bc5a847aaf03c11b0abf0a07587a2f7d081470d3402fde4251ea6654051d96983feefa2ba7e65a9a95d76f179edcad SHA512 a328903c336483f7110cbbff96173ba0b5ae6cf16f6306c624055bd631d914772c42dcfcf48a275b7dc53241f6b10a397ee49f17b8a3c3c8dbee8f42ac784465
diff --git a/dev-python/rpyc/files/rpyc-5.3.0-no-gevent.patch b/dev-python/rpyc/files/rpyc-5.3.0-no-gevent.patch
new file mode 100644
index 000000000000..026741dec361
--- /dev/null
+++ b/dev-python/rpyc/files/rpyc-5.3.0-no-gevent.patch
@@ -0,0 +1,34 @@
+diff -U3 -r rpyc-5.3.0.orig/rpyc/utils/server.py rpyc-5.3.0/rpyc/utils/server.py
+--- rpyc-5.3.0.orig/rpyc/utils/server.py 2022-11-26 13:09:01.000000000 +0700
++++ rpyc-5.3.0/rpyc/utils/server.py 2023-02-16 16:15:14.153086884 +0700
+@@ -19,7 +19,7 @@
+ from rpyc.lib import safe_import, spawn, spawn_waitready
+ from rpyc.lib.compat import poll, get_exc_errno
+ signal = safe_import("signal")
+-gevent = safe_import("gevent")
++# gevent = safe_import("gevent")
+
+
+ class Server(object):
+@@ -559,13 +559,13 @@
+ self.clients.discard(sock)
+
+
+-class GeventServer(Server):
++# class GeventServer(Server):
+
+- """gevent based Server. Requires using ``gevent.monkey.patch_all()``."""
++# """gevent based Server. Requires using ``gevent.monkey.patch_all()``."""
+
+- def _register(self):
+- if self.auto_register:
+- gevent.spawn(self._bg_register)
++# def _register(self):
++# if self.auto_register:
++# gevent.spawn(self._bg_register)
+
+- def _accept_method(self, sock):
+- gevent.spawn(self._authenticate_and_serve_client, sock)
++# def _accept_method(self, sock):
++# gevent.spawn(self._authenticate_and_serve_client, sock)
+Только в rpyc-5.3.0.orig/tests: __pycache__
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.2.3_p1.ebuild b/dev-python/rpyc/rpyc-5.2.3_p1.ebuild
deleted file mode 100644
index df4b8dd23fc8..000000000000
--- a/dev-python/rpyc/rpyc-5.2.3_p1.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_{9..11} )
-
-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://dev.gentoo.org/~grozin/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 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}]"
-
-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-5.3.1-r1.ebuild b/dev-python/rpyc/rpyc-5.3.1-r1.ebuild
new file mode 100644
index 000000000000..7c6af49decaf
--- /dev/null
+++ b/dev-python/rpyc/rpyc-5.3.1-r1.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 09b2601445f8..b2a7c1caa6bb 100644
--- a/dev-python/rq/Manifest
+++ b/dev-python/rq/Manifest
@@ -1,2 +1 @@
-DIST rq-1.11.1.gh.tar.gz 604043 BLAKE2B 57169a50fe9c2724c4e61a23e4d73d23af6aae241276dac414d2a065675e64bdd1fd35500903e7c276345a0a713a87dc7642894cdb887f019e82606fa668eba3 SHA512 ce5a2bf1fb2757d248704461ef9b631443610a11fa1c832e8aad62e68812d478c51e7bbd0d1ed4a9af678d3a9c85067e1cf16547653851ffb8c19e36b97ba945
-DIST rq-1.12.0.gh.tar.gz 611434 BLAKE2B 8e13d7c02a56fe71cb3e492654c124f8b0cdbda298687bfc57b3037ff85a6416d7356125e48ae723225739dd0ef0eab49fbb2ed5b2e424c93d1a177c85f00800 SHA512 32d10a96213bd23f21f3dada53771047f9d66a73590a0f1cc0086981f1f9276e0bc9d51b8fd3ba12a140ea71b004c995a82aa6746e1a793374f8fea762602c18
+DIST rq-1.16.1.tar.gz 628089 BLAKE2B 74d57c34f338c8dfe14c921134253618253124fc34b69b78f0526a9c4d08b0d70ed50115658ee275f09b98ca48d7f5334032d81e0e9437184a0d3c4e782645fe SHA512 618f7833724b4bca5509132878d1bb28a25f99299a774709e839ff2b6771e27731330318070f6eb6c4aaced8167aec4ba02a89bf40285a9b16cd04e1935f7428
diff --git a/dev-python/rq/rq-1.11.1.ebuild b/dev-python/rq/rq-1.11.1.ebuild
deleted file mode 100644
index c7a3703127c6..000000000000
--- a/dev-python/rq/rq-1.11.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_COMPAT=( python3_{9..11} )
-
-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/
-"
-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-py-3.5.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.12.0.ebuild b/dev-python/rq/rq-1.12.0.ebuild
deleted file mode 100644
index b3eae1948c5a..000000000000
--- a/dev-python/rq/rq-1.12.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=( python3_{9..11} )
-
-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/
-"
-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-py-3.5.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.1.ebuild b/dev-python/rq/rq-1.16.1.ebuild
new file mode 100644
index 000000000000..9ab9863d85e3
--- /dev/null
+++ b/dev-python/rq/rq-1.16.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=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[${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 123b9266808e..3b6bbd40ffa9 100644
--- a/dev-python/rsa/rsa-4.9.ebuild
+++ b/dev-python/rsa/rsa-4.9.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/rst-linker/Manifest b/dev-python/rst-linker/Manifest
index eb93cf3d1a69..0aec84dfc54e 100644
--- a/dev-python/rst-linker/Manifest
+++ b/dev-python/rst-linker/Manifest
@@ -1,2 +1 @@
-DIST rst.linker-2.3.1.tar.gz 10436 BLAKE2B 0de71c1994b65c20f2ef13e1e8f9f04d431d9bd7215ca9dca2c51d78deaa55803f69432d27dd14b3b5f9d224b75f72a56ac4bba72ec3fad660af31b248a265ba SHA512 0c9f236e372ffe69c2b37983c491c5b6fdb41f1c2a4ac16d3d815bfe5e8b93b58f001d449a57e663041d69d0e13e13d17178c477a1ea37f05ba7e919fcee698c
DIST rst.linker-2.4.0.tar.gz 11340 BLAKE2B a1ae9c811b7d6fa2821bfbf5787dce75fd3d7e5d933ec15fbac9cd3bde08cfad59fdc81b3b58dc39d1209a27ca9dd8d2ecd68034b434b3f6d15469bfb98efa3d SHA512 31e3427ecf35b433cc9650138ee36090e99003b72c69b60b530835eb624d7eb13aae4cf81cc0044b36750798a4b8aa676e53e3b9eb335430076593640a243940
diff --git a/dev-python/rst-linker/rst-linker-2.3.1.ebuild b/dev-python/rst-linker/rst-linker-2.3.1.ebuild
deleted file mode 100644
index dfe8e52fe1df..000000000000
--- a/dev-python/rst-linker/rst-linker-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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-MY_PN="${PN/-/.}"
-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="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-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.4.0.ebuild b/dev-python/rst-linker/rst-linker-2.4.0.ebuild
index af00fd4c42e9..de0844994b99 100644
--- a/dev-python/rst-linker/rst-linker-2.4.0.ebuild
+++ b/dev-python/rst-linker/rst-linker-2.4.0.ebuild
@@ -4,28 +4,27 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_PN="${PN/-/.}"
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="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
+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"
+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}]
+ >=dev-python/setuptools-scm-3.4.1[${PYTHON_USEDEP}]
test? (
dev-python/path[${PYTHON_USEDEP}]
)
diff --git a/dev-python/rtimulib/Manifest b/dev-python/rtimulib/Manifest
index 0858d126a285..7b943c07089b 100644
--- a/dev-python/rtimulib/Manifest
+++ b/dev-python/rtimulib/Manifest
@@ -1 +1 @@
-DIST RTIMULib-7.2.1.tar.gz 915114 BLAKE2B 5d8a54d4b1083105c1bb3b854e8474cb81cfd5eff843422e2f66f363ae04dd9e87d4cffc8f26c2a68c4f535d77ca229bc7bb7840c59ba3c6d2d45d5ee7f31987 SHA512 2a9d40f5c4db7c875fe82bd79408d97f9b00a3cd0d1be9b19baa3808b4cd260200b8ce5f5d9a6298df760aaca10555eb317d4a2431cd1c07a1b7953448852b23
+DIST RTIMULib-7.2.1.gh.tar.gz 915114 BLAKE2B 5d8a54d4b1083105c1bb3b854e8474cb81cfd5eff843422e2f66f363ae04dd9e87d4cffc8f26c2a68c4f535d77ca229bc7bb7840c59ba3c6d2d45d5ee7f31987 SHA512 2a9d40f5c4db7c875fe82bd79408d97f9b00a3cd0d1be9b19baa3808b4cd260200b8ce5f5d9a6298df760aaca10555eb317d4a2431cd1c07a1b7953448852b23
diff --git a/dev-python/rtimulib/rtimulib-7.2.1-r2.ebuild b/dev-python/rtimulib/rtimulib-7.2.1-r2.ebuild
deleted file mode 100644
index 9fc1bc8b0aa8..000000000000
--- a/dev-python/rtimulib/rtimulib-7.2.1-r2.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_{9..11} )
-
-inherit distutils-r1
-
-MY_PN="RTIMULib"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Python Binding for RTIMULib, a versatile IMU library"
-HOMEPAGE="https://github.com/RPi-Distro/RTIMULib"
-SRC_URI="https://github.com/RPi-Distro/${MY_PN}/archive/V${PV}.tar.gz -> ${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}/Linux/python"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 x86"
diff --git a/dev-python/rtimulib/rtimulib-7.2.1-r3.ebuild b/dev-python/rtimulib/rtimulib-7.2.1-r3.ebuild
new file mode 100644
index 000000000000..860f7457cfbe
--- /dev/null
+++ b/dev-python/rtimulib/rtimulib-7.2.1-r3.ebuild
@@ -0,0 +1,22 @@
+# 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} )
+
+inherit distutils-r1
+
+MY_PN="RTIMULib"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python Binding for RTIMULib, a versatile IMU library"
+HOMEPAGE="https://github.com/RPi-Distro/RTIMULib"
+SRC_URI="https://github.com/RPi-Distro/${MY_PN}/archive/V${PV}.tar.gz -> ${MY_P}.gh.tar.gz"
+S="${WORKDIR}/${MY_P}/Linux/python"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 x86"
diff --git a/dev-python/rtslib-fb/Manifest b/dev-python/rtslib-fb/Manifest
index c52c5a43dfc1..c21f36c6e110 100644
--- a/dev-python/rtslib-fb/Manifest
+++ b/dev-python/rtslib-fb/Manifest
@@ -1 +1 @@
-DIST rtslib-fb-2.1.74.tar.gz 73919 BLAKE2B d16527ed1efae379aa976929d8e6dd8a13cb1d47eb8efe8897ee495b0864225f520b42bd27fe502a1fad11369d20690b9751e54ae7a328c60917144114358d24 SHA512 b0b0722a5a7e10af698ae0570a65b51d7f091bfcc370850dacb3087471ca98bd229b4a5ed73760b7ed5bbee1b53dae4781cc2b3d5e7a1ff8ce37c5c144477852
+DIST rtslib-fb-2.1.76.tar.gz 78055 BLAKE2B df22093072a7e7b12a080db8253eff9e6aff1efb44a8bdb6c37a21601fd10beea03b665d1e1621904a9a0c1d1299e7f9e5f61682669f75a06f4e050c503da9a7 SHA512 fee3087702e44ede59b9635d7cbe7af06da104d6aeffc3fbb584ce6e8170b7856650a006ee574940448801a67e9f7d9610ccb9ad632dd6d0c378fe7c6cd1c159
diff --git a/dev-python/rtslib-fb/rtslib-fb-2.1.74.ebuild b/dev-python/rtslib-fb/rtslib-fb-2.1.74.ebuild
deleted file mode 100644
index b5c09226970b..000000000000
--- a/dev-python/rtslib-fb/rtslib-fb-2.1.74.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1 systemd
-
-DESCRIPTION="A Python object API for managing the Linux LIO kernel target"
-HOMEPAGE="https://github.com/open-iscsi/rtslib-fb"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="dev-python/pyudev[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]"
-
-src_install() {
- distutils-r1_src_install
- systemd_dounit "${FILESDIR}/target.service"
-}
diff --git a/dev-python/rtslib-fb/rtslib-fb-2.1.76.ebuild b/dev-python/rtslib-fb/rtslib-fb-2.1.76.ebuild
new file mode 100644
index 000000000000..b60489000794
--- /dev/null
+++ b/dev-python/rtslib-fb/rtslib-fb-2.1.76.ebuild
@@ -0,0 +1,37 @@
+# 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..12} )
+
+inherit distutils-r1 systemd pypi
+
+DESCRIPTION="A Python object API for managing the Linux LIO kernel target"
+HOMEPAGE="
+ https://github.com/open-iscsi/rtslib-fb/
+ https://pypi.org/project/rtslib-fb/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ # super basic import test
+ "${EPYTHON}" - <<- EOF || die "Failed tests with ${EPYTHON}"
+ from rtslib_fb import RTSRoot
+ EOF
+}
+
+src_install() {
+ distutils-r1_src_install
+ systemd_dounit "${FILESDIR}/target.service"
+}
diff --git a/dev-python/ruamel-std-pathlib/Manifest b/dev-python/ruamel-std-pathlib/Manifest
deleted file mode 100644
index 8c5ac304da07..000000000000
--- a/dev-python/ruamel-std-pathlib/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ruamel-std-pathlib-0.9.2.tar.xz 19948 BLAKE2B 1d8d6b4a6703c22a578320d47258bca487376945fc5442716686b05aed78ab64b32022da7fe63f454396235c5782135d173892ab99fdcb857d42369732e26f80 SHA512 71077d2c979bdd5f9d4a2467f6d4a7c0aeabb3dab3f0657411b562ada955c859da619db1e8431d8065d7610b376a961244920359471a9c1358315c02a6b621e4
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.9.2-r2.ebuild b/dev-python/ruamel-std-pathlib/ruamel-std-pathlib-0.9.2-r2.ebuild
deleted file mode 100644
index dace525d600a..000000000000
--- a/dev-python/ruamel-std-pathlib/ruamel-std-pathlib-0.9.2-r2.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=( pypy3 python3_{9..11} )
-
-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 ppc ppc64 ~riscv sparc x86"
-
-RDEPEND="
- !dev-python/namespace-ruamel
-"
-
-distutils_enable_tests pytest
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_test() {
- distutils_write_namespace ruamel
- epytest
-}
diff --git a/dev-python/ruamel-yaml-clib/Manifest b/dev-python/ruamel-yaml-clib/Manifest
index 8f73ab3c72e3..7ca6bb128809 100644
--- a/dev-python/ruamel-yaml-clib/Manifest
+++ b/dev-python/ruamel-yaml-clib/Manifest
@@ -1 +1 @@
-DIST ruamel.yaml.clib-0.2.7.tar.xz 141668 BLAKE2B be731f7e11dbb7b94bc27e900c70fed8ae53b788cd8827425d442baac795a73426cb8c133aedbab876f111bf8e99a8fdafc6151a5de334b1b8b409792b6895bc SHA512 e9413cca5f00fe4896a0185a85494ee9ba8ed955285bd93de9cf6e0f9eed2ff569be1ee70cf974af0eaf58f4671b9ac7ae85b461652eb9abd5bf34d593052f07
+DIST ruamel.yaml.clib-0.2.8.tar.xz 163768 BLAKE2B 38f41c45a4e043b01a80d725baeba5fd6e74fa56e86ad0c1e7e0b811f85fd92f98f3ac096419757bae2273537e7c31356d0d222896e631a39ddc36684ebf29e0 SHA512 3877bc6fcefab91f5d2bd013275f63bba6dd2f5ce1b29b74aef73d01638e184ff1f16ab1fbf9ccbf30d148a33f19dc2535ca8b5d8aecca8c48f1d3eef188e151
diff --git a/dev-python/ruamel-yaml-clib/files/ruamel-yaml-clib-0.2.7-clang-16.patch b/dev-python/ruamel-yaml-clib/files/ruamel-yaml-clib-0.2.7-clang-16.patch
deleted file mode 100644
index bf4200c15ea0..000000000000
--- a/dev-python/ruamel-yaml-clib/files/ruamel-yaml-clib-0.2.7-clang-16.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-https://bugs.gentoo.org/880651
-https://sourceforge.net/p/ruamel-yaml-clib/code/merge-requests/3/
-
---- a/_ruamel_yaml.c
-+++ b/_ruamel_yaml.c
-@@ -1553,8 +1553,8 @@
- static PyTypeObject *__pyx_ptype_12_ruamel_yaml_Mark = 0;
- static PyTypeObject *__pyx_ptype_12_ruamel_yaml_CParser = 0;
- static PyTypeObject *__pyx_ptype_12_ruamel_yaml_CEmitter = 0;
--static int __pyx_f_12_ruamel_yaml_input_handler(void *, char *, int, int *); /*proto*/
--static int __pyx_f_12_ruamel_yaml_output_handler(void *, char *, int); /*proto*/
-+static int __pyx_f_12_ruamel_yaml_input_handler(void *, unsigned char *, unsigned long, unsigned long *); /*proto*/
-+static int __pyx_f_12_ruamel_yaml_output_handler(void *, unsigned char *, unsigned long); /*proto*/
- static PyObject *__pyx_f_12_ruamel_yaml___pyx_unpickle_Mark__set_state(struct __pyx_obj_12_ruamel_yaml_Mark *, PyObject *); /*proto*/
- #define __Pyx_MODULE_NAME "_ruamel_yaml"
- extern int __pyx_module_is_main__ruamel_yaml;
-@@ -14551,7 +14551,7 @@
- * parser = <CParser>data
- */
-
--static int __pyx_f_12_ruamel_yaml_input_handler(void *__pyx_v_data, char *__pyx_v_buffer, int __pyx_v_size, int *__pyx_v_read) {
-+static int __pyx_f_12_ruamel_yaml_input_handler(void *__pyx_v_data, unsigned char *__pyx_v_buffer, unsigned long __pyx_v_size, unsigned long *__pyx_v_read) {
- struct __pyx_obj_12_ruamel_yaml_CParser *__pyx_v_parser = 0;
- PyObject *__pyx_v_value = NULL;
- int __pyx_r;
-@@ -23430,7 +23430,7 @@
- * emitter = <CEmitter>data
- */
-
--static int __pyx_f_12_ruamel_yaml_output_handler(void *__pyx_v_data, char *__pyx_v_buffer, int __pyx_v_size) {
-+static int __pyx_f_12_ruamel_yaml_output_handler(void *__pyx_v_data, unsigned char *__pyx_v_buffer, unsigned long __pyx_v_size) {
- struct __pyx_obj_12_ruamel_yaml_CEmitter *__pyx_v_emitter = 0;
- PyObject *__pyx_v_value = NULL;
- int __pyx_r;
diff --git a/dev-python/ruamel-yaml-clib/files/ruamel-yaml-clib-0.2.7_cython_pointer_types.patch b/dev-python/ruamel-yaml-clib/files/ruamel-yaml-clib-0.2.7_cython_pointer_types.patch
new file mode 100644
index 000000000000..855571f05bb0
--- /dev/null
+++ b/dev-python/ruamel-yaml-clib/files/ruamel-yaml-clib-0.2.7_cython_pointer_types.patch
@@ -0,0 +1,75 @@
+--- a/_ruamel_yaml.pxd
++++ b/_ruamel_yaml.pxd
+@@ -2,15 +2,15 @@
+ cdef extern from "_ruamel_yaml.h":
+
+ void malloc(int l)
+- void memcpy(char *d, char *s, int l)
++ void memcpy(unsigned char *d, char *s, int l)
+ int strlen(char *s)
+ int PyString_CheckExact(object o)
+ int PyUnicode_CheckExact(object o)
+ char *PyString_AS_STRING(object o)
+ int PyString_GET_SIZE(object o)
+- object PyString_FromStringAndSize(char *v, int l)
++ object PyString_FromStringAndSize(unsigned char *v, size_t l)
+ object PyUnicode_FromString(char *u)
+- object PyUnicode_DecodeUTF8(char *u, int s, char *e)
++ object PyUnicode_DecodeUTF8(unsigned char *u, size_t s, char *e)
+ object PyUnicode_AsUTF8String(object o)
+ int PY_MAJOR_VERSION
+
+@@ -85,11 +85,11 @@
+ YAML_MAPPING_START_EVENT
+ YAML_MAPPING_END_EVENT
+
+- ctypedef int yaml_read_handler_t(void *data, char *buffer,
+- int size, int *size_read) except 0
++ ctypedef int yaml_read_handler_t(void *data, unsigned char *buffer,
++ size_t size, size_t *size_read) except 0
+
+- ctypedef int yaml_write_handler_t(void *data, char *buffer,
+- int size) except 0
++ ctypedef int yaml_write_handler_t(void *data, unsigned char *buffer,
++ size_t size) except 0
+
+ ctypedef struct yaml_mark_t:
+ int index
+@@ -112,7 +112,7 @@
+ char *handle
+ char *suffix
+ ctypedef struct _yaml_token_scalar_data_t:
+- char *value
++ unsigned char *value
+ int length
+ yaml_scalar_style_t style
+ ctypedef struct _yaml_token_version_directive_data_t:
+@@ -151,7 +151,7 @@
+ ctypedef struct _yaml_event_scalar_data_t:
+ char *anchor
+ char *tag
+- char *value
++ unsigned char *value
+ int length
+ int plain_implicit
+ int quoted_implicit
+--- a/_ruamel_yaml.pyx
++++ b/_ruamel_yaml.pyx
+@@ -904,7 +904,7 @@
+ raise error
+ return 1
+
+-cdef int input_handler(void *data, char *buffer, int size, int *read) except 0:
++cdef int input_handler(void *data, unsigned char *buffer, size_t size, size_t *read) except 0:
+ cdef CParser parser
+ parser = <CParser>data
+ if parser.stream_cache is None:
+@@ -1514,7 +1514,7 @@
+ self.ascend_resolver()
+ return 1
+
+-cdef int output_handler(void *data, char *buffer, int size) except 0:
++cdef int output_handler(void *data, unsigned char *buffer, size_t size) except 0:
+ cdef CEmitter emitter
+ emitter = <CEmitter>data
+ if emitter.dump_unicode == 0:
diff --git a/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.7.ebuild b/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.7.ebuild
deleted file mode 100644
index 27a3f3ba85ea..000000000000
--- a/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.7.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-MY_PN="${PN//-/.}"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="C-based reader/scanner and emitter for dev-python/ruamel-yaml"
-HOMEPAGE="
- https://pypi.org/project/ruamel.yaml.clib/
- https://sourceforge.net/projects/ruamel-yaml-clib/
-"
-# Lacks .pyx files for cythonizing for py3.11
-#SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-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 ppc ppc64 ~riscv sparc x86"
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.2.7-clang-16.patch
-)
-
-src_configure() {
- cythonize -3 _ruamel_yaml.pyx || die
-}
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
new file mode 100644
index 000000000000..d4042348b9f6
--- /dev/null
+++ b/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.8.ebuild
@@ -0,0 +1,44 @@
+# 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_PN="${PN//-/.}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="C-based reader/scanner and emitter for dev-python/ruamel-yaml"
+HOMEPAGE="
+ https://pypi.org/project/ruamel.yaml.clib/
+ 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"
+# workaround https://bugs.gentoo.org/898716
+S=${WORKDIR}/ruamel_yaml_clib
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.2.7_cython_pointer_types.patch
+)
+
+src_unpack() {
+ default
+ mv "${MY_P}" ruamel_yaml_clib || die
+}
+
+src_configure() {
+ cython -f -3 _ruamel_yaml.pyx || die
+}
diff --git a/dev-python/ruamel-yaml/Manifest b/dev-python/ruamel-yaml/Manifest
index 3bdca8dc3af7..2c57b89997d9 100644
--- a/dev-python/ruamel-yaml/Manifest
+++ b/dev-python/ruamel-yaml/Manifest
@@ -1 +1,2 @@
-DIST ruamel.yaml-0.17.21.tar.xz 184612 BLAKE2B cc7e2a336d3c77a9f2d7e5d7233ceb4d15fddca3a97ec0e54427469fd24c7c63fc70b258adbad92a816d99a1f9839d41eccb9f3224e7a23884914755fa424bc9 SHA512 87f4723bfc76b1b21168852aabe4b49921f175294ac05b4e3f292f2bcf23fe6595df3e066843d193f881b274be2a7b358bd04625afef913bb0e5811efe98b761
+DIST ruamel.yaml-0.17.40.tar.xz 193424 BLAKE2B 80405ef0c85af476ef0e996b1da5aba1a116e8c181d18f40fb4fd86093a512c09cf0da30d52d85946c524e86e10379cb11154cb08a7ea7b054ba9379996de4f4 SHA512 848af49430b9c028a6676a159915c66e29f4290374ba0863e4fd87527f3178bb303a80f4ba97139fc8cbcd01f7f7782a4b3112325237a39659e227afda61fcb8
+DIST ruamel.yaml-0.18.6.tar.xz 198544 BLAKE2B 94d50ba8aef92e2885b24118bd9f4b1d06a82d51b2e7930c39dea93f4c0f9fc9d0604dfbbe716f81f3c9a927698d14c7005bb0ce2ae5d2eadf27514dfbba88c1 SHA512 319e1029746ebf6ef1c6b6bf6055d7c56e7caa2559b34b4fe639616c4332ef46661afad67c42d123bd0de67819812ea8f9cc9d51c0189edd6e33d5d47f47bb26
diff --git a/dev-python/ruamel-yaml/ruamel-yaml-0.17.21-r2.ebuild b/dev-python/ruamel-yaml/ruamel-yaml-0.17.21-r2.ebuild
deleted file mode 100644
index b0bec5e8da2b..000000000000
--- a/dev-python/ruamel-yaml/ruamel-yaml-0.17.21-r2.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_{9..11} )
-
-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 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.17.40.ebuild b/dev-python/ruamel-yaml/ruamel-yaml-0.17.40.ebuild
new file mode 100644
index 000000000000..78b0ae605fe8
--- /dev/null
+++ b/dev-python/ruamel-yaml/ruamel-yaml-0.17.40.ebuild
@@ -0,0 +1,53 @@
+# 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 ppc ppc64 ~riscv 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/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..c916f70d468e
--- /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..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="~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 09ed21d1c3dc..85e38c07b65c 100644
--- a/dev-python/rustworkx/Manifest
+++ b/dev-python/rustworkx/Manifest
@@ -1,69 +1,89 @@
-DIST ahash-0.7.6.crate 38030 BLAKE2B aca3661477fcd7822d6d10970151e05c28e1615f8cd7ddaac064b15102027e404b19b0f3f16dd76145048594ea1c22ae27dd08cc05c411efbae9ec7a1ef55ce9 SHA512 61354688b6fb096359faefb6f34be958cd2215d56b88c22c737d24183eaad433f811bc9e64f927e4852c87d2799c22fda82b55cfbef2ed6357ff74f0c4ffec68
+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 approx-0.3.2.crate 14288 BLAKE2B 601eb7b83c6f0e41a4d64db5669b7058b4038319414bde74761f0b1584baf8426f9735cd0076d1dde829a056a07e8f820d85737e5b1bf371d9510551c367025c SHA512 3853684c3b1c5c63204304f2e4f1c673b92311125c1df0fc16e96bd6f765e8266079e8d4ec3c85fad933361638c7515d5be18a2fc551353c4097051d0bd96ae3
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.4.crate 88237 BLAKE2B ffcab003305b80586a9b61c6309dcf6f4ced483856c4501753cddd23fb0fa9a71b7870b676ccba78119cc29f03974ff4731cef9a92840c0b38ae944f0b3825b5 SHA512 39b17dbaefc15d7faafca4ae6b060665471d384956aca7439fc407ed2632bd458e473efb62b74629b42a5f3d237e13503d2084cac6f6b3f42b9e03aa1fde0982
-DIST crossbeam-deque-0.8.1.crate 20852 BLAKE2B 0e7a2616b82c5e501c0f74935adfea3ee09db5475408be83db8f1b6faab4cd5509de2e029bdf6df90435e474ef91f3fc8d482ce3a72966b2a3bec5967666bdc4 SHA512 44a4fe1d4ab7457e2b0950be787b76b15e1bb0b1c108d032381ce3fe99bf7bf76f3d1718085660083d813e2639e66fdd3635d9186e85a9eb7267063b117eaca4
-DIST crossbeam-epoch-0.9.8.crate 46012 BLAKE2B 181df06d1a9925ad1b3e2df70f290fc9c75682037d68c4d3727b3e5bc0f92eaf01c2f8ec239b77f524bc4af53d014cb3c4d49dc82922fa9e65baebee68904a6b SHA512 c102e7ce9e927424f6c7c20f5eef5dee3457ef6ae3b81ab26e7dd4c787dc525610f1dcd85c3b06773b263c0835a717ce39bf35b927cea03abea62bc0a0a15624
-DIST crossbeam-utils-0.8.8.crate 39681 BLAKE2B 2b3e64bfcaa044a9351c1cc8e9ea53fd68fd0bb9875ae523e0cd309a85ad23b340267bdb742d363b5d99fc065ed74f6cbb3ad1e33dec7d14d99ec458875e7e10 SHA512 ab960afdb82863160a3fa1c21c64b35b3112725bd72fc8e0724175937f4b23d0628253032229501938cd86a8e406a59c06cb44e8bdf34619de781a84ebb46ea0
-DIST either-1.6.1.crate 13641 BLAKE2B e5f40c40a5edb6dcb07a10bf79183cbe42438f1f70f3932dce72f6f6e91f75f24d17d82bc447507def4dad4345ffc9dd9162dde778afb253bdb1218e91887949 SHA512 4bfe56920e30cbc8eb4f90162db618f7dca653b42db35ab6a7045d3fd9a24ceb1778b1f79613850bdb1a87ad3794fa0d73015e46c48d513f368d8c3776fc9ddf
+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 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.6.crate 28043 BLAKE2B b9871b18389f6e5503b3b817baa37dc585eec980851114b3407f34d25bbf68fd70e8bdef60ab682967a1397cb9659b343312deee740aa2107bbf38d1f4629d60 SHA512 3fca26198bbab1a9e189fb45ad6cc7c7a18969eed6f68ca43407a2d463fe004955b1d199c1794a23a53ba21fedb61eff86d380d2bf49bfdb6c7055c11d543096
-DIST hashbrown-0.11.2.crate 85713 BLAKE2B 402f9f1bdcb92631206f9b72923ee35e28db8623e87469c0f1496664bc7185077013ab3c8aea68268241e5b2504f10cddc613a350abd4291050deda6c112e559 SHA512 c21ca68fd49bbb741901f59fed04cc124b8da99e2a4dfc26e2e5e1140637872b344612a01691bd30cc771575c571be15f756c84dde225441699cd2322af2ad6c
-DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a
-DIST indexmap-1.7.0.crate 50363 BLAKE2B b45318ae2a6e1f008494db77a3159eea3fed4f77eb04ae65599be9392d6ef78d4677b65d04fefab8f917f6808fee821a33bcf53a50b88785fae5ef6848e3a08a SHA512 9b882b4a7068a686acaee0a08bd4f3b35b58d36e786358cf14a3436eb61339649e64f1757331cc7833a2fa364c76eb6b75cf0c732afaeb202113de1e66b72ab9
-DIST indoc-1.0.6.crate 14312 BLAKE2B e4757497450f9c5e854f472e576c0df49f1aecb10e3ae77ca56b436dbefc5c75fd9b83093f9bb485b697d32c454af5d70d72da27e231124f7af20d3dc6e320e2 SHA512 798d36767d29ac5170a9de498ebee1056a6658e74b94310d589d429471ae059f974bd83eaa823c99a637c16758b3fdaaeaaaf7b21a2a35cbcbf345840b5f23cf
-DIST instant-0.1.12.crate 6128 BLAKE2B 728923f757c1ee4e4a7afb90e460eed81392068961240a538e5c6468e15a0b6491f590fb5f6cc46e6d78901ca232351f65abb9f2f230d8f4983c5e58c4011902 SHA512 fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407
-DIST itoa-1.0.2.crate 11112 BLAKE2B e277db8e2f506d4d20b6888b609d9726d594e1cb2c9f21df60a8cf8dcbad1808d8c1bdb0b7857ce7734b92c0f23fb1ec56f8564e779f27eea953d0ffbfcd3f84 SHA512 44a732a102d60b58e72fe76c43a1d185fa12ff08d04eeacf03234368552f84d3de87a2ea0a6e7a56b8cfa74cb6f6697005afcee26f45afe0c2fc7dce5da3b593
-DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
-DIST libc-0.2.126.crate 590481 BLAKE2B 1000de6b9fa2b3ff025b961e504d6d20b401f37cdeda6710187d18ad2dfe8ec89142bba65486d7853f1796897b58f343c5a34dd6381a0d0794b615635ac31175 SHA512 9bbb17f64a7503819616a71076ebe8ee317daf07b17b9fff783a4459da0439aecee535c09e7185bf148b1993e6fc958d182a490fc9c9a7b9fb635429c491ca44
-DIST lock_api-0.4.7.crate 25371 BLAKE2B 9ed08433ffa70af60193dcf307287991a3154f0ef16b485f32a6c83e64962661a6e08ef83a6b217d6cbf5bd964c0638d8ed86b290087677c1fb3218321c4bbf8 SHA512 b1a5227fd131edaa70e017f7ddb43af8b4efa58488007b898ca1dfc818a3a441b732b7adbf1270e72a68ee5d2a99a5d48f33b2bca8e2cf78694953d20d27636d
-DIST matrixmultiply-0.2.4.crate 32929 BLAKE2B bd3c6b2d11202ea9390760ca59b7452beb4094b4a95314c1a1c596ff623eb985ae5cf2b3821d365dd2e2912c1bd25713188de07b4555a996a667cb4d6b0cfb11 SHA512 3ec6846e1342d6dddb81f5bd4495e940f011a3e048c712262cc413318c087aaa137550cff6d969873ac96bb628f6a460e92536674c0d503d5c609d9be5d9d184
-DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa
-DIST memoffset-0.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009 SHA512 11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f
-DIST ndarray-0.13.1.crate 213899 BLAKE2B 41a4e6249c84dd4acefe911c445f46c6ae2c101b131aba93d3587089622438b834f8eb8941d3159ae49ad02af3b28553ddf171bfd73c40b57d8d71283ed27861 SHA512 8dbe6eea8c04e477f57d9693760424c4d2adbdce65ef8a047fb3b09226f8395e91fbad3a21c71a1d0242cdb89996bbf7eea435ffa8c58c37dee03af9913eedca
-DIST num-bigint-0.4.3.crate 97799 BLAKE2B afe9a08bf20dc974dcea12b5f9dd465e8b399a0cb0a6d0028d08f7f753aa4dfc929710e4dae883e67633d9dda073f995287e5315b1487e8f99f8f23f1f70e581 SHA512 4b38eaa8b51119dbc7cd8a1e177f37ec935ee348b693a93378742e9bfa68fe5f7e5062b7f34638283c23f04d2127451d796d310cd8adb64dc8e865b28708374f
+DIST getrandom-0.2.12.crate 36163 BLAKE2B 0afef8504932ea0ea051cde1d14bd5b79edde68d6ebae6fe88fa4aaa532605a16f466d0d9c0d0aa619eaa105600b6d5ee4e191865a3fa041549a78f78ca82396 SHA512 dd97d7dae1a7ba653abdaf2db719e1a9c8eb721b08b4af0f1c45b1ed5079069d1b57e4f6d9d879e7fae3a890763f4b6aea9bc2d945392b98e811e7b348589bee
+DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76
+DIST hashbrown-0.14.3.crate 141425 BLAKE2B 23c63a99c6c6b7a6b9b9e8bbbc7f1e342e1eb9d7582fc9eb408d3eec50c99f34502d450170bcfef4da7f2b1e743e1d1619875ec879e4753dffcb84f3c10dc3b2 SHA512 4d344e5c89ce58e04668b80ef10e4e110a3a5daf4d610c52d980577795d0e2050c7d0b151d8ba97128117665e27b92ab0300f85b88bd6e1de943c62d49249356
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST hermit-abi-0.3.4.crate 14445 BLAKE2B 4dd00ad81a5ba9f94e6658c2964ae7983990c9e7df228cb92039964bc5fec537802ef221812adac53b2adac345df84179c03fc982b3c90bd097175fa5f8c4a49 SHA512 61c2d4aa1f5edc1a51e1e6c07cd360b88db1ef7302b583ea9b97ce62d1020b8864e7bbe4b5d7de82760cc319c15c7cf75509fcd536ad5913f50046de662eeea4
+DIST indexmap-1.9.3.crate 54653 BLAKE2B 7bc1768589e74020dc15d3dd064009edaaef39b7aeb682d0ca8e49944e3f020b9c04d64feb102e88b22feb40863479dfaf4722d6a77b5d19e7ca553f4bf64c1b SHA512 2aa8069eb07a814c8fa3e11296c9f032ef60963520d7786ad20cca5cb7e73b8f76d97722a994d65295bb713020aadce5008cd3df5e99d8bd968ef1979f910a37
+DIST indexmap-2.1.0.crate 68224 BLAKE2B 9d833570cbb63ecae138ca234b998bd0e5b11b1a7e3d5ef4a21212bb32d0998395f1fc609f66860bdbab198081687630f583f5a2e495fac1afa40ff48bee8a0f SHA512 9d303eef918b9264b9fe326cc1d71f4095f7ed5639ed8696efa3e9be65dff2c50ada4495409e109e7718997db51ae1fd865cf8e88978107d7823faba14380600
+DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
+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.10.crate 10534 BLAKE2B 8ffcb345d07070cc01651fd44c19f3e0659185eda733c407fd4be0955a301879ae1272dae7f425279dae8dcb7f7dc954465c9a09b5c521938a503d34fecfe2a7 SHA512 fc496be0873e31afa6ddf7f2958030f8fcb517cadb86a48280a0c50ce50460afda189af1e6c26e5ff6f85c750d772c21503864c32b526c4fe4bcdb5b07918538
+DIST libc-0.2.152.crate 740278 BLAKE2B 8eecde477063207d77b6894d6f9194c8dd10e55b69585e3d66296eaa0b9d3f6e2d033e667207182bf4c3cf31f6d38820c9187b2006f4b5ebee898adafb4b2751 SHA512 1722f6f52077efab90026aae3d10306f8c38ebba95366593c3c1adf707fae121ab450064ad9e8be5a667caf6af0b90fad4d1ca1009db0f2220093c44e33c4b5c
+DIST libm-0.2.8.crate 113450 BLAKE2B fc4a55ecc0d4a558b9014b58861341887679c696af6b6539c7cdb70c033c63219b24f6f30cb8d9b335d15e3af42be6f3a6bd719e189667ca0c43ac818730b674 SHA512 753df71bb2c838abbac360db2e4400c2d931185ecff993da51a979870f2c3f7ac017380fadee4622102fb4b37ebcc1960b0cbd295afc9cd1cb3307524e1f39c5
+DIST lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f855883e3df5a482de2c76814c48739582d3079d76a2bdd14a6999204b7fd31dcd8fd06d1dc7f9418f0e2f70a1450e SHA512 9946adf313a5c67a0dd87a1b679b7d9d16a86149fb95974d3f28aa57a9a1a3932e4a5ee1d332097559329c5e3b2295be2e4b655b115d9f75269f33a758b17fb3
+DIST matrixmultiply-0.3.8.crate 57530 BLAKE2B 3a97130168de9dd18fcc0ed33df126f25f47a919e9f74289f809f33c2a290bc41626a743e6c446d3ed0a22fb5eecadbf29c11082704970ba9e465fdc5ce18332 SHA512 c2d31d5764cdec868fddf018b3e51b936e8bb18b131bb9899a5747ad5a4cbe892c0d62265f99077137308ea11f32254c8a8b64da07855a6c38756df42d76e5f3
+DIST memchr-2.7.1.crate 96307 BLAKE2B f1a008fbdbfe84852a8ae1d9d9574306b1bf120dd5087903adbcca6af342c9abbb296496eb9bf6cb58915c4444b3edd6ca4e27131ac7d8aed8849815df87a944 SHA512 5120496faa31fc427c8b4178461a262b3a34d70eddb7ad17a19d6db8b9969c9e113d3625b5e6dc677087fc80907377b00ba0421aba9a92cf73ca2849d932f473
+DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
+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.4.crate 99369 BLAKE2B 09a44754e3a3d4f949b3714d96ddd7f3915164d611036675e3df421d6c0863e368eb0180978a4ec27fbfff529b4999d2593e411903516670c24c08fbed6a79de SHA512 0dcef3344a933509fdfe87d6adb0bb1bf67af3c692ccaeec5663a8f18ad0a251199ef9c7a24c25b95d1b255b413947e70f0a205669d549b13e54b6f4864ab3b5
DIST num-complex-0.2.4.crate 24679 BLAKE2B 175ee644720b6bbff108eb4ef94d0fea8f340533c2be0e18524e54777734d1c7dc10a7c36b1f2ca3f032ddcb3dc351e60564340aa59b29aa4fa7ecb2487314c4 SHA512 53be64d6f67b1ff7d0a4e1723ae21035abfd300ab27bed0976e0c3903fe8e29f47ffe75040832ee2f81da5c2f4f671d3d845d308365b9a5a989ace99a7d463ea
-DIST num-complex-0.4.1.crate 25872 BLAKE2B f9d231f791de65dcb84a7ff52a19223e424dc887bdcdeca2820f648d521f275d86fbe5d5ae2e97e08874672674caf59629df64e09e55f09b2b0e469779b1b1b3 SHA512 7d6a5b5d70c0558d7dc305b20dbdccb48351935c73832c8de96b48a7843e9cf55da1a036ddadafc072c43ddcd3f4dcfca38e1660c1e3178d9835310ab6e8d40f
+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_cpus-1.13.1.crate 14752 BLAKE2B 27490aeee349d944c29e50b44e9a84371030459353a9316ffaa0245ce499df4424e39c25a81be59cd0f9a19c3214c78bdc7a84b632059282be476d8f918c44d6 SHA512 91ffe0ec792228621d6c2d5cc544ef4744203d19fc9c86e0aad2610038c43aca0448b6c27d82979417a0f6c939ea73523303a44c28df0d1c1b8d09814d5306d9
-DIST numpy-0.17.2.crate 66754 BLAKE2B 5ac3de861fa36e0d27eb117faf2be1e9a872fd507ad847d8fe193f56e309dfbae1fa4a1a77300ae88eecd695ba4578f4dfbe70940cedfb4f332ecf8930862b39 SHA512 b428d290ebf023676af5f7d0f2578e69f195f35213cf4b30c0ab6692428e907dd91afeaf6ced7e89ad46005f99c9653cce362684560f7208aa646243a0b67534
-DIST once_cell-1.12.0.crate 31549 BLAKE2B 72a6c2efe279abce207096dfc47d207adae34764642f742bcbddcd8ebab9f78f6c2ea7750bd670844de5f6989e4951904b5f624281c28346cb6c41c585137e91 SHA512 02da0e6eccee2d5246fff5e6323bd7eff0f4641801be5e5910763929a5e9d8b62c07f81001c405cc6aff03f68a14ed5bfebd9900bbdd09568bd1ab9ca9b73093
-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 petgraph-0.6.2.crate 182513 BLAKE2B 553dc5c95ad38c52a014b20b10b7138f6eb105f11772c4852cafc9930dcdb159847c87202211a780888d81997efc38e18255c784a71f3fefe5c1177461df1c74 SHA512 6a4ad4bc630e486ac2db107a9ee3e0d6116e76788d2d182a086649eb00321cedbb7c9165012a3957aa276c0eb29e0b2b25210311ea3c662f2467d3ef1afb3fd9
-DIST ppv-lite86-0.2.16.crate 22245 BLAKE2B 03cba61af42dc3a78ab8f6b03d833c028b7ed737e101b1952467a1e19706bdce6c758eca4ec7d575b2f61daa47cb25fa1d74039b2adb0dbf949b66b7aff3f10a SHA512 264b916f7d1bb6f1c0c0d3cc45f40b72b638abc7174416b49241c3663fe500409509ef6c8241a24515a21a20288c2ba508035b6b37972e4ae7ad02ad19118b74
-DIST priority-queue-1.2.0.crate 32057 BLAKE2B b858eac5ca05efcd0d630b0e4ac5a4de60f9fb08a44705e681d045e1cc367b6a08a89cd4178f997f9d9aea7ea2eab6e3422c94f1ee8b951f3256fb4a42fc3394 SHA512 62c84d0f2b81243aa71a631a35cf20b905e130a54da5b29c193afab249a00933d6b63203b81747b6d2007c7b6707cb9039cdb1d356e87b2d551899b5bf3cdf2e
-DIST proc-macro2-1.0.39.crate 41663 BLAKE2B f7d83709efa289ccf12500389c7a4f4f0e32aa686f2d9c47f0da2a5381981e70e45f1b689023891c2543ce633c593a68a629c6414fbb3c2266e4cd99b8660048 SHA512 cd1572831493f83eb51985eed06d8ef5c0ea96ce4231d5ce3be5af9db97e7dd24400332d3b80e0e9c808091fc11889340dd86d8783ff3d9681dc53b876f49a0e
-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 quick-xml-0.22.0.crate 132066 BLAKE2B 1c1d71fdaa022e430e6265530f3e40924c13457fe422e4355eedfcb5ebe8c75d0205f73ffea0968d8196d74804d7d0fbf61954852c98831d510af6c45dcf6923 SHA512 15e56fafc84e62b219977c5ab0f07a021bb71216d7cbb673a7ffec4ec6bda36f97d7b7034751b0b7d745df7c17c1a591a281cf2c97aa4fada7327979711ae3dd
-DIST quote-1.0.18.crate 28911 BLAKE2B 623872402cb185a57e2ffb1bfe4105c49c152c33c44c8054af59df7bb193d14416ea2caa7b28b3f9b9ae6985bec7fc7825bc946e2e41915d2744c887a51559b6 SHA512 3fa537aa96a8970104411471b0e4b7b9339583d552c1d9297737a59ef5301af41da105b92aeace87376e1395e379153f6551bfcfe9c740e6945064426f5f6f84
+DIST num-traits-0.2.17.crate 50190 BLAKE2B a549ef00c749dc7f276c4817477d1f9dab70cba01b6a3afa5743f16f16353bc50d992d7446a54859cf750a410d66c8cd3440708a6b91fd89d3b8889f8fff1668 SHA512 4d47d3e2f5a31019e038e609897cb0cef1ba061b35cee7e2a02e65179dcdd4960bd5b9bc759b5c013d699b3fbd9b014940a15e36658f7d4fd12cb0c7841c5b4e
+DIST num_cpus-1.16.0.crate 15713 BLAKE2B 11b432fc7c7496d48918f09ed0954e0f1d0845596301266321293b374392898853fb7c313a0b0fd9d22d9dbfe3ccc5cc1e38f38407c89b2e5906eb76caa6ad68 SHA512 a75863afc4a563e63c64d06471c7921615355d98011ea9497b1f1a7dac2bdfc876509136018e8062ac38575ccf476a196d1fd9231e09e90017333bbf2df4615d
+DIST numpy-0.20.0.crate 71258 BLAKE2B b6e50e0d40ce11ade5298324b51f3204029cea0988264abef819b2cfcc8eefacba5f6ded33ff2de2791eae4fbf88ea0f5e1738ee6692ddc9363488169bd16dee SHA512 bb4184d540b01d6983d05c409e8508e04735d4451e2c05f9f3578bf3a731f9065eebd6bb309955d6abef835f52756c225a4d5c19f99edfd6760a9d92f630540e
+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 petgraph-0.6.4.crate 185895 BLAKE2B 9ddfb2796c461d2820db8227753113b02024e5dcb694a0bb2826bc1f375f028d8b98a3bd67555485db7fab88eb86043f5b768585dbe0c60703cc655976030a2c SHA512 b5a21572526387af3151dd4f864bd95c94f65eaf0612d96f99926faf646214df205bcc652b98d3b281f2e270779a4c1fdd6a32614ed60b3612e5d594b2bf3f20
+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 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 quick-xml-0.31.0.crate 172236 BLAKE2B b83c7f485a30576027a4ae77aa23cd6284942d786f0f0a14faafdfecff646371ba15133b3ba90f820183c8537c8ac47ad3e1e7deaad65e56761bc662be406026 SHA512 9b1f4f9c32694ccb244938a9a4e9373c3902314afb6af5d2f6b1be55e5ec63fee5cf1085f8f32161570cc10fdd96f3375c7564b1d884bb152542b86593f175de
+DIST quote-1.0.35.crate 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2
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.3.crate 21938 BLAKE2B 7c73e2da6d423c68dbbca31f6528bdb3f42fa39b30d0951ca7058e05ce16ef09ef5e047697b33ec17720314f934512c0907aeb892df93d63abd8b63eda2b50a7 SHA512 0fc31f96ca8ebba8c179367de01458e909265e1d627ec0c5620be7c8e83d2f9570471d6ec2cb2bc4bc531505b02fc31f1165708cc1357906791c87123b06ee87
+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.5.3.crate 167246 BLAKE2B bb312c9879fea3cedecb70bff78616eb7fc761e2201d5576d86074f4926dee6266ff6f917cc97a63b6e6daffc33f5d693a5c73daa49724643b93f3b9ac77d8dd SHA512 47909226951c4d6b774880dd308e2633b1582e41e7730ac8af902895578e6f29a9b1bc47debbd9618c5a45f317b4f264480392c8982aa33576deeb9d5f8ffb82
-DIST rayon-core-1.9.3.crate 65300 BLAKE2B de5700c9def379f6a27ee0ac0667f741913c28ba4d98e95d7ae964c32f13967b4ca160d219b53394985ff4557a11a6ab3c242333e2a6d3790801bdffef3f9153 SHA512 4b852f083766e7e414132840cc8dfef148e15db47967eeedc2ddbff9a4372521c296dd4f66e0b6990f49a8ce88ebed9d44e7ad674df42f96b99b24469b1852a5
-DIST redox_syscall-0.2.13.crate 23759 BLAKE2B b59c3e923b7bddc84285377eca86e649c21ee7dd61924245d43c6554124adf689f9b92841ca64876b34797249698511b322f6e8e639d71e45e1ae9da5f8b7834 SHA512 6551f503ba52c4edc0cb4a418ff212188ddc7be80dcb39eaf3bfb82faa9a76cdf359f604d6b32be6c6a335b54180c9399a0e32670333a5a08351957308486100
-DIST rustworkx-0.12.1.gh.tar.gz 481574 BLAKE2B 7d3c574f09a8661fedc4c03637fae06361d61ce10aed4bd7d0dbeb9814f6cc7666081a9ca2497efc5f94ecd5410ec6fad4722d4f696eb5992d639c2961a5bcca SHA512 07a97e677886bf822d2f943477494c0eb6435d26885bc4190ea31eee6a49bd347af19690e96d0747cb213efb9c6591a0a9606c13558bc4e0692671380f9af223
-DIST ryu-1.0.10.crate 48485 BLAKE2B cbc0ab4e0b2031f4ca3a34914bd61395d14706d42e2414757aa23a67530d549382d61b630159c92a169d1dd3315951b0071ff18349d2b090ae262de536aa29e2 SHA512 1bd0af71a20715251dd42596df6e7677e44f712bbb40b0d9544109c1b2478a7bd2c9393535f0d4f3bfe2d1b75b3a2b899044051715a7da7d165d6d586e0775f2
-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.89.crate 144638 BLAKE2B e296fd2fd3054b81349f246d207de4f7f8072e480a34f1c39afc2d46cdb6b861d1514a8bb64f2f68920e8db43b642814f7f4e989dab95cee62485ca2f8db2e8d SHA512 4bafa5693977e129f5787f2ff10f914e2a7740bf7e631bcdf51b27d0d9e5517873184b56649914371e1881107e7ed0a8fedf487617db334d4a7a4bf95c6c16a3
-DIST smallvec-1.8.0.crate 27992 BLAKE2B d02897eb4d3901805be86cafd5d3dc6768b31c2ee4d0a9d7eb455e2a21be2864ea83589f4ffde102dbbafb66e3c197707af770b5ef184b8e244d992189644b84 SHA512 17687cfa6aaf95a1df063adc3a412a7c41918a0d003eaac90f7d9e859fb8fa1d652eedee17a4cb3aaae9b33a2043f89e796519e3a7a3992b292f04049bf80b0c
-DIST syn-1.0.96.crate 236896 BLAKE2B 57445f4925169212c3b794312f388c2829bc343fd60f37f60d46bc944c946c02476b1ec64f17ec8b91e84c112dbbf04bf64feba9a3fd3512dad0d4b3376f4869 SHA512 f53b9e97b6b19d18a35d13aaa9c58b8fdd0da96443aaad76ed027e9ac7d438b574ae052b02b9bef410f25fbab851a5af3cc64fafaefffe47932827e6ca02209c
-DIST target-lexicon-0.12.4.crate 23020 BLAKE2B ad9780b9478b00b4fdcb07bd016d83216695413090ac29cca06388c3790e2832c978b1c7e69f6d34bb6fc9adc39c0a0b6b6636e50a9715a9f5f16445dba22d19 SHA512 194fe1946ad8d9fdb383bf8a65374e24d216382c1ed5379dabc98d58842512624c32838b8d6d0658d866f6559d37f1343a30c5809e8914dd85790399252b3e06
-DIST unicode-ident-1.0.0.crate 34224 BLAKE2B 62100357db87b74e44166a70a1d0f911281fc7410571554e9e89c94f3529920d1d43a8cdf3a3bf163c8acb8e9f575e83a024cb94217b84ecddc582751486954e SHA512 ccdad29fc63f71c507cdf276b02a5bb7fad44dffa123bf04d5b1495eb9c26bd7ec42ad6e11717eb10dc6499693047952c6b766c40d7b0696bd011779649d5fc9
-DIST unindent-0.1.9.crate 8392 BLAKE2B 601f1779806037f48448ce03483779b731bafb003859f489b806b1b4fd5ca136d7a77b62f49926c0b4315e89830fc6382381aeb56da85b4acb4754ad4924b90f SHA512 bcf5a74ee92c034e975dabc83cbb1859100b3ac04439a360a109651d95eb4f29e4a0c113fbd67b9fef2a3b27d10f29dc84bfb648ea4c3dec64b7dab8d14e57ea
+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 rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544
+DIST rustworkx-0.14.1.gh.tar.gz 558055 BLAKE2B 03ebbd55762ef3f8834ed688782580a2ffb05dc34410c9970337d776bcc52afb2ee474860cbcd173d57c3736b8562a1848df558d304de872d4f0e98522c57d46 SHA512 22fd8c8dedeb0a60efe6b16c3e268fa6bc599b7ddf0104349cbb4ec0664548416427d22712456a19f7b97fbea2dd7aba6bdc3ce7e582a1f1d95225b6d567be06
+DIST rustworkx-0.14.2.gh.tar.gz 558859 BLAKE2B 479510c4e132eda5af7a0301e760fe05daa26dd88c3299ca159ce0f87744d63cebfa33b6a1a6b43541b4c22607ea78352f36288e50d3f6535a6337be4edbf5c6 SHA512 625a4942cba111cdc4a9cf6fd8612ccb5ed94c28e4dcb176137105fc81516d2226fb57b1e401d91e323229eb1444775e5bca239b1bc8a4f26be6d8cea9997dab
+DIST ryu-1.0.16.crate 47351 BLAKE2B 13c72ec8aa608f6c53cf27c95d06b90839c5bec5e54b0441e9c4f779af3dece30d01a2276c717a733f92406a5a02b09c045b2b5f92714fe492d7263b6c6808e6 SHA512 89e3e18346ae6e4035787766f286a6eb62f5294e39ad902cc29e95c53781c4e5dd629f567f22ecc7e9fe9d1c273323da9b867aadc9cd8a066727c58330b51b10
+DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
+DIST serde-1.0.195.crate 76856 BLAKE2B 6a80b59335f222ae48d5e377c30611f30fe6416e6853ca47a39016e21f649cb9dfbe4964ce19e5da977fb9a963228a6a81c1e85af99ae12d7a0a5722901aa2f5 SHA512 0002ecb933d08fbdc8585ee74efb4048d385459f629261f5a4a8401b794f1c02b8296db79f479013a0b2a47ba99bee6c02d60d0fc2454e32f1b038b4071e8727
+DIST serde_derive-1.0.195.crate 55687 BLAKE2B 4da7916e36f71dfe82defa6c45b3075395cae54631cdff08a4607e962290020e7214288258fd316439c02536073325f5902e7b00144f97269a207fc453496599 SHA512 8a82ae4e7cfe0c3ac27688cc95d74bf4c2e10c1fe845ab28fb57579b2f47f36d13218c2ae603f93f00114065d47c3e46166dea39b205be673f443c34305dacce
+DIST serde_json-1.0.111.crate 146447 BLAKE2B a3509185e78c438f495ee9d5b5b7c23cd3b565d45178500f2b9ceb8cc8b1cc509b8d25d217f2c98bb597bab205566d660c3f60506c836da903c52206e6fb160e SHA512 11851e34a9a40de32654a12ada1d1bd01abb11531c5804f5d0747bbb01bf59025dd92be916104fbc278bbba5c89c77920941b83c0ac2f0da23f5d61a7788e83f
+DIST smallvec-1.13.1.crate 34952 BLAKE2B e0dcf1d26883564cd4f5d20a588562404e193075b1ae011f7f7542009a9466e5df3ade7768e1a8feb8806774b2cee5f15d31779928f83714e7d4b6ed46af9ab9 SHA512 1259ef947400470b8c9e74c5582dbc1a49753aa46420883c1f7d66f320f67bebe733a15a23cd57ba461020fad4ff337a5b298de82754602a78f5e6cec969652d
+DIST sprs-0.11.1.crate 103925 BLAKE2B b2f62d60ab8bdfe9cdbe80b52d306d7a465071219bfd514652f532e910669366bdc1b0baeb2f00416024c6cffac0219ef78a5ec77a2114fc6e06d2fcad384b9e SHA512 5b2a387b8ff08dab0a062c012d89f9e217625b1950f57c1415bb256be97202fb8bea026d9280a5c2e7fc71350c2cc29cca1f71581827574ecee953fe3220a65f
+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 version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
-DIST wasi-0.10.2+wasi-snapshot-preview1.crate 27505 BLAKE2B 4eb8644b945633d6e856ad80dd74990be19eb6af99823b147163384f61d471e2d9ec054d78a7064072344be53783e57073e8fffc6d5555c149b4834a9bf31dba SHA512 06977a294d76369a3867c45abdd8a87ea5c84e5a3681075ba0d14af1aee3114ff24495c7e7f7fe1e6e42230e65fba0e062898e69bc89e0209af62c2d14094ec7
-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 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/rustworkx/rustworkx-0.12.1.ebuild b/dev-python/rustworkx/rustworkx-0.12.1.ebuild
deleted file mode 100644
index 68cf897bdafd..000000000000
--- a/dev-python/rustworkx/rustworkx-0.12.1.ebuild
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES="
- ahash-0.7.6
- autocfg-1.1.0
- bitflags-1.3.2
- cfg-if-1.0.0
- crossbeam-channel-0.5.4
- crossbeam-deque-0.8.1
- crossbeam-epoch-0.9.8
- crossbeam-utils-0.8.8
- either-1.6.1
- fixedbitset-0.4.2
- getrandom-0.2.6
- hashbrown-0.11.2
- hermit-abi-0.1.19
- indexmap-1.7.0
- indoc-1.0.6
- instant-0.1.12
- itoa-1.0.2
- lazy_static-1.4.0
- libc-0.2.126
- lock_api-0.4.7
- matrixmultiply-0.2.4
- memchr-2.5.0
- memoffset-0.6.5
- ndarray-0.13.1
- num-bigint-0.4.3
- num-complex-0.2.4
- num-complex-0.4.1
- num-integer-0.1.45
- num-traits-0.2.15
- num_cpus-1.13.1
- numpy-0.17.2
- once_cell-1.12.0
- parking_lot-0.11.2
- parking_lot_core-0.8.5
- petgraph-0.6.2
- ppv-lite86-0.2.16
- priority-queue-1.2.0
- proc-macro2-1.0.39
- pyo3-0.17.3
- pyo3-build-config-0.17.3
- pyo3-ffi-0.17.3
- pyo3-macros-0.17.3
- pyo3-macros-backend-0.17.3
- quick-xml-0.22.0
- quote-1.0.18
- rand-0.8.5
- rand_chacha-0.3.1
- rand_core-0.6.3
- rand_pcg-0.3.1
- rawpointer-0.2.1
- rayon-1.5.3
- rayon-core-1.9.3
- redox_syscall-0.2.13
- ryu-1.0.10
- scopeguard-1.1.0
- serde-1.0.145
- serde_derive-1.0.145
- serde_json-1.0.89
- smallvec-1.8.0
- syn-1.0.96
- target-lexicon-0.12.4
- unicode-ident-1.0.0
- unindent-0.1.9
- version_check-0.9.4
- wasi-0.10.2+wasi-snapshot-preview1
- winapi-0.3.9
- winapi-i686-pc-windows-gnu-0.4.0
- winapi-x86_64-pc-windows-gnu-0.4.0
-"
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-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 BSD MIT
- || ( 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.1.ebuild b/dev-python/rustworkx/rustworkx-0.14.1.ebuild
new file mode 100644
index 000000000000..7e40a54f5d64
--- /dev/null
+++ b/dev-python/rustworkx/rustworkx-0.14.1.ebuild
@@ -0,0 +1,153 @@
+# 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
+
+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.ebuild b/dev-python/rustworkx/rustworkx-0.14.2.ebuild
new file mode 100644
index 000000000000..7e40a54f5d64
--- /dev/null
+++ b/dev-python/rustworkx/rustworkx-0.14.2.ebuild
@@ -0,0 +1,153 @@
+# 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
+
+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 8bc4ac69246e..27c44751d0fc 100644
--- a/dev-python/s3transfer/Manifest
+++ b/dev-python/s3transfer/Manifest
@@ -1 +1 @@
-DIST s3transfer-0.6.0.tar.gz 134871 BLAKE2B 7ab84f22dc20751dd461857f93d7f1aad1490432ed25e7506c5abe61f79d1f3cafd8ddb190a0942a2c5a9947c5068fcf397dce34f255a246381f4cf1f0d09e7a SHA512 0c1c3306015cab4a4436b1d2fec6708e17f4c5111f8a265fbfe134defebda33a43bd985e559be993b6175af9eee142e9f27da123f8d14f77cfc59e48ca1b905f
+DIST s3transfer-0.10.1.tar.gz 143308 BLAKE2B cab8c94ed4ea4277583a902a6a943157cdaf5f742842e1c1a24f7f90ccb6e07dce0c50aa66b500097ad17f06ff398c90c73dadb3959f8317dbf31573c5ff2a1f SHA512 f18a5f655b354cba1c745bba699b8abdeae406669b0dded249925e4189c1d849bc0966ddc415ca25562a7214fbf7979553a67b4d993d054bc5237e301414f0a1
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.6.0-r1.ebuild b/dev-python/s3transfer/s3transfer-0.6.0-r1.ebuild
deleted file mode 100644
index efdb1aa6e19d..000000000000
--- a/dev-python/s3transfer/s3transfer-0.6.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="An Amazon S3 Transfer Manager"
-HOMEPAGE="
- https://github.com/boto/s3transfer/
- https://pypi.org/project/s3transfer/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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-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/sabctools/Manifest b/dev-python/sabctools/Manifest
new file mode 100644
index 000000000000..7ab05cce86ec
--- /dev/null
+++ b/dev-python/sabctools/Manifest
@@ -0,0 +1,6 @@
+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.0.1.gh.tar.gz 8963513 BLAKE2B 40fbd230c40b72f1a74e255f0b715f476c52b8d75c04bac9e5131065e1cb431581debc5bec9fac5060f172ed7ccd1ae282e6ed3fe93d2c24abef064fa9918b84 SHA512 170ccfec6807165954322a58910c1aaf368acc600b4cca10abd69e1b1859ff0d52058a846a0a0e3ebbdde93d6a7079efa418dd2453e73496f043c26532b64af2
+DIST sabctools-8.1.0.gh.tar.gz 8963885 BLAKE2B 36d6bbc34f636ac4e892f941eb6e583166ee1f5f740440b3f07faacddf7715d8b4c642a4e6252ece1bdef69017be3d04ce5d6c8e36479bb176e4cd0635f1567d SHA512 862c39f2e386622b528f120a431f214e1e2e92b7c5a751e47d0768f40ce06ad2736d867f7ac2e1810d676e980312bbfedd29951cbadeddefe75246cdcf53fcc6
diff --git a/dev-python/sabctools/metadata.xml b/dev-python/sabctools/metadata.xml
new file mode 100644
index 000000000000..96af7f755660
--- /dev/null
+++ b/dev-python/sabctools/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>kangie@gentoo.org</email>
+ <name>Matt Jolly</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">sabnzbd/sabctools</remote-id>
+ <remote-id type="pypi">sabctools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sabctools/sabctools-7.0.2.ebuild b/dev-python/sabctools/sabctools-7.0.2.ebuild
new file mode 100644
index 000000000000..de4949031d0a
--- /dev/null
+++ b/dev-python/sabctools/sabctools-7.0.2.ebuild
@@ -0,0 +1,39 @@
+# 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
new file mode 100644
index 000000000000..de4949031d0a
--- /dev/null
+++ b/dev-python/sabctools/sabctools-7.1.1.ebuild
@@ -0,0 +1,39 @@
+# 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
new file mode 100644
index 000000000000..a500ef55dcbb
--- /dev/null
+++ b/dev-python/sabctools/sabctools-7.1.2.ebuild
@@ -0,0 +1,39 @@
+# 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
new file mode 100644
index 000000000000..de4949031d0a
--- /dev/null
+++ b/dev-python/sabctools/sabctools-8.0.0.ebuild
@@ -0,0 +1,39 @@
+# 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.1.ebuild b/dev-python/sabctools/sabctools-8.0.1.ebuild
new file mode 100644
index 000000000000..a500ef55dcbb
--- /dev/null
+++ b/dev-python/sabctools/sabctools-8.0.1.ebuild
@@ -0,0 +1,39 @@
+# 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/sabyenc/Manifest b/dev-python/sabyenc/Manifest
deleted file mode 100644
index c67cf31c6268..000000000000
--- a/dev-python/sabyenc/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sabyenc-5.4.4.gh.tar.gz 19774441 BLAKE2B 945614697b59f984df1f159b64e177ee75d9b5c00cb59af21dddb92bf17f8647467b919be963a1beabfe64c4206aa6f3438b780a21e766722fad99afa38ea340 SHA512 a35a5f29b1f5586299fdfd87d4323fa8ab56f06a2f6ef3b0b95aa033a481beee886bf1834ed73e1ba65b74c5e86efc5f0307394f32803ef52a391ca4b0caedf9
diff --git a/dev-python/sabyenc/metadata.xml b/dev-python/sabyenc/metadata.xml
deleted file mode 100644
index b1d56c928fe3..000000000000
--- a/dev-python/sabyenc/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" proxied="yes">
- <email>Matt.Jolly@footclan.ninja</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/sabyenc</remote-id>
- <remote-id type="pypi">sabyenc</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/sabyenc/sabyenc-5.4.4.ebuild b/dev-python/sabyenc/sabyenc-5.4.4.ebuild
deleted file mode 100644
index e78ae25c124c..000000000000
--- a/dev-python/sabyenc/sabyenc-5.4.4.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="Module providing raw yEnc encoding/decoding for SABnzbd"
-HOMEPAGE="https://github.com/sabnzbd/sabyenc"
-SRC_URI="
- https://github.com/sabnzbd/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-BDEPEND="
- test? (
- dev-python/chardet[${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 c1a68cc82fb5..24f01fbebc35 100644
--- a/dev-python/sarge/sarge-0.1.7_p1.ebuild
+++ b/dev-python/sarge/sarge-0.1.7_p1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/sarif_om/Manifest b/dev-python/sarif-om/Manifest
index db4edf9f9a61..db4edf9f9a61 100644
--- a/dev-python/sarif_om/Manifest
+++ b/dev-python/sarif-om/Manifest
diff --git a/dev-python/sarif_om/metadata.xml b/dev-python/sarif-om/metadata.xml
index c256cd6a1afc..c256cd6a1afc 100644
--- a/dev-python/sarif_om/metadata.xml
+++ b/dev-python/sarif-om/metadata.xml
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
new file mode 100644
index 000000000000..07d49c16e212
--- /dev/null
+++ b/dev-python/sarif-om/sarif-om-1.0.4-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2021-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="Classes implementing the SARIF 2.1.0 object model"
+HOMEPAGE="
+ https://pypi.org/project/sarif-om/
+ https://github.com/microsoft/sarif-python-om/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+
+RDEPEND="
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+"
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
deleted file mode 100644
index 2d97240287d5..000000000000
--- a/dev-python/sarif_om/sarif_om-1.0.4-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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="Classes implementing the SARIF 2.1.0 object model"
-HOMEPAGE="
- https://pypi.org/project/sarif-om/
- https://github.com/microsoft/sarif-python-om/"
-SRC_URI="
- mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/pbr[${PYTHON_USEDEP}]"
-BDEPEND="
- dev-python/pbr[${PYTHON_USEDEP}]"
diff --git a/dev-python/scandir/Manifest b/dev-python/scandir/Manifest
deleted file mode 100644
index 4e7260a6434e..000000000000
--- a/dev-python/scandir/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST scandir-1.10.0.tar.gz 33311 BLAKE2B 47576618c41a477ff7bab9daecf2e4719ed0c497a25fd68b4bacae073fc418f9fc51503812af726d1d124f07cccfb418ae09c196cf7ce283abf5d3bbc36b7e09 SHA512 42a570320018ffff2172ada67002334446c73c53813b36d63558d3854ded2fac0b266fcaf399cf9a735ceba110636b6901683fb26cde1e286ff476bc37e3d335
diff --git a/dev-python/scandir/files/scandir-1.10.0-python3.9.patch b/dev-python/scandir/files/scandir-1.10.0-python3.9.patch
deleted file mode 100644
index c8683c1c6b9b..000000000000
--- a/dev-python/scandir/files/scandir-1.10.0-python3.9.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-https://github.com/benhoyt/scandir/commit/3396aa4155ffde8600a0e9ca50d5872569169b5d
-
-From 3396aa4155ffde8600a0e9ca50d5872569169b5d Mon Sep 17 00:00:00 2001
-From: Ben Hoyt <benhoyt@gmail.com>
-Date: Mon, 24 Jan 2022 08:44:07 +1300
-Subject: [PATCH] Add Python 3.10 to tests (#137)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fix PyStructSequence_UnnamedField build issues on Python 3.9/3.10
-
-_scandir.c:663:7: error: conflicting type qualifiers for ‘PyStructSequence_UnnamedField’
- 663 | char *PyStructSequence_UnnamedField = "unnamed field";
- | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from /usr/local/include/python3.10/Python.h:127,
- from _scandir.c:14:
-/usr/local/include/python3.10/structseq.h:22:27: note: previous declaration of ‘PyStructSequence_UnnamedField’ was here
- 22 | extern const char * const PyStructSequence_UnnamedField;
- | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Fixes https://github.com/benhoyt/scandir/pull/137
----
- _scandir.c | 10 +++++-----
- scandir.py | 2 +-
- 3 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/_scandir.c b/_scandir.c
-index 6cc28c8..433483f 100644
---- a/_scandir.c
-+++ b/_scandir.c
-@@ -660,7 +660,7 @@ _pystat_fromstructstat(STRUCT_STAT *st)
- return v;
- }
-
--char *PyStructSequence_UnnamedField = "unnamed field";
-+static char *scandir_unnamed_field = "unnamed field";
-
- PyDoc_STRVAR(stat_result__doc__,
- "stat_result: Result from stat, fstat, or lstat.\n\n\
-@@ -681,7 +681,7 @@ static PyStructSequence_Field stat_result_fields[] = {
- {"st_uid", "user ID of owner"},
- {"st_gid", "group ID of owner"},
- {"st_size", "total size, in bytes"},
-- /* The NULL is replaced with PyStructSequence_UnnamedField later. */
-+ /* The NULL is replaced with scandir_unnamed_field later. */
- {NULL, "integer time of last access"},
- {NULL, "integer time of last modification"},
- {NULL, "integer time of last change"},
-@@ -1817,9 +1817,9 @@ init_scandir(void)
- if (!billion)
- INIT_ERROR;
-
-- stat_result_desc.fields[7].name = PyStructSequence_UnnamedField;
-- stat_result_desc.fields[8].name = PyStructSequence_UnnamedField;
-- stat_result_desc.fields[9].name = PyStructSequence_UnnamedField;
-+ stat_result_desc.fields[7].name = scandir_unnamed_field;
-+ stat_result_desc.fields[8].name = scandir_unnamed_field;
-+ stat_result_desc.fields[9].name = scandir_unnamed_field;
- PyStructSequence_InitType(&StatResultType, &stat_result_desc);
- structseq_new = StatResultType.tp_new;
- StatResultType.tp_new = statresult_new;
diff --git a/dev-python/scandir/metadata.xml b/dev-python/scandir/metadata.xml
deleted file mode 100644
index 525e3bfdcccb..000000000000
--- a/dev-python/scandir/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>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <maintainer type="person">
- <email>monsieurp@gentoo.org</email>
- <name>Patrice Clement</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">scandir</remote-id>
- <remote-id type="github">benhoyt/scandir</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/scandir/scandir-1.10.0-r3.ebuild b/dev-python/scandir/scandir-1.10.0-r3.ebuild
deleted file mode 100644
index 9613238f3075..000000000000
--- a/dev-python/scandir/scandir-1.10.0-r3.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
-# Do NOT add Python 3.11 without verifying the C extension is actually built
-# and installed for it!
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A better directory iterator and faster os.walk()"
-HOMEPAGE="https://github.com/benhoyt/scandir"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-PATCHES=(
- "${FILESDIR}"/${P}-python3.9.patch
-)
-
-python_test() {
- "${EPYTHON}" test/run_tests.py -v || die "tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/schema/Manifest b/dev-python/schema/Manifest
new file mode 100644
index 000000000000..49a96927b6b7
--- /dev/null
+++ b/dev-python/schema/Manifest
@@ -0,0 +1 @@
+DIST schema-0.7.5.tar.gz 48173 BLAKE2B 3d112ee1960c79a64ec2980cbd70403b6dbcafdeeb4f5826c427426aafd602691fd5ceab408edf88e50854a7d66306a73a4729c056a1ca7d1eaa4d0c725901a9 SHA512 10184a4d2a30600d5c6fe9fcde33925137825e811af691c40fee841f88e4a5106ef7e79be2a0ddddd0e0b74892bf889c3d2eff934a36dbca269cd7bf22748d39
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.5-r1.ebuild b/dev-python/schema/schema-0.7.5-r1.ebuild
new file mode 100644
index 000000000000..8c9f00ff5075
--- /dev/null
+++ b/dev-python/schema/schema-0.7.5-r1.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
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+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
+
+src_prepare() {
+ # py2 leftover
+ > requirements.txt || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/scikit-build-core/Manifest b/dev-python/scikit-build-core/Manifest
new file mode 100644
index 000000000000..0590549e006e
--- /dev/null
+++ b/dev-python/scikit-build-core/Manifest
@@ -0,0 +1 @@
+DIST scikit_build_core-0.8.2.tar.gz 203630 BLAKE2B 7093fd02891fe225ffee1b6da7800e49eb71c6468947fff1a80015eda8c9940f117196dfd067d0ea274d9958f8f13681ccd859f95ce9bf6a7d72eedc367489f3 SHA512 4b33936912806b5f607492d253d5cc6b2523d4892043caad82fed76140e53a0e9dec8178811a618cdc9b64f247e37145d474eb1979d181dd595b4905def1da8f
diff --git a/dev-python/scikit-build-core/metadata.xml b/dev-python/scikit-build-core/metadata.xml
new file mode 100644
index 000000000000..4636b4452315
--- /dev/null
+++ b/dev-python/scikit-build-core/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">scikit-build/scikit-build-core</remote-id>
+ <remote-id type="pypi">scikit-build-core</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/scikit-build-core/scikit-build-core-0.8.2.ebuild b/dev-python/scikit-build-core/scikit-build-core-0.8.2.ebuild
new file mode 100644
index 000000000000..d54fc9d8d03f
--- /dev/null
+++ b/dev-python/scikit-build-core/scikit-build-core-0.8.2.ebuild
@@ -0,0 +1,56 @@
+# 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} )
+
+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
+ # setuptools now respects PEP 625
+ tests/test_setuptools_pep517.py::test_pep517_sdist
+ )
+
+ 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 a2f01023d623..5fba8e6d3153 100644
--- a/dev-python/scikit-build/Manifest
+++ b/dev-python/scikit-build/Manifest
@@ -1,3 +1 @@
-DIST scikit-build-0.16.4.tar.gz 271037 BLAKE2B 6cca8a3c4f4b37228b77ac098650a5eca4ad0f525ca7dcba178f4cffabb7e60e9a7bbba244e64c1a598ab5916f2f47788198eb2a19803d8d0cf7b9792f4e06e2 SHA512 90315ceac4c372e4d7248b4b56b6092362c2c43fbdc180d1a234e057209c508a05d2c6e0a3d0c2587c3adb8957e4c66d5c171a2a2bc3dbf9874a0de58d97d976
-DIST scikit-build-0.16.5.tar.gz 271974 BLAKE2B e34d44fb27975720adc4ca57a0fabc9b05260a13043b546d19bfb44fa1c60e6490c5d7bbd41494481da470e24c05c4da3eb41b26c78160a35be1e3c29f9a4ef4 SHA512 37e50b3a1fc04b6758b65a58f5d5239effbc0ab38a4a2024098b6a69eea1d7a9a388e41696176469e9c55a7c8b73ace9d7eee2daf5d0fbaefe2a3e09880ee600
-DIST scikit-build-0.16.6.tar.gz 272201 BLAKE2B bb14b0db52d0c04b9630fa27ccbc58c7af72eb8640c4dc82e920acdbc815e2eb8f7662684b23aa42765966ae1ad4e046dead3d7090a263d79f69bfd955ab0f24 SHA512 f36a46845420b441ca158ea05bc20023238afdf81b2108554a52a4a2be0cb19ef6b2729997199d9a9d18841c8470df8f7e7a986a86e1172328f0963f3a015f3d
+DIST scikit_build-0.17.6.tar.gz 272208 BLAKE2B 9e3f908041eca89182f798c54a1a248934dc026816f7cd041a8debc97be27096942dda42a0ae63e87b9337304a478d6f520edcd5ea7a45aae6a195d1f769eed2 SHA512 92b97146f40d8222bd8415ef8439497d5075b72e5bafc40aba0a3e2911d269a118f2f7d41f468f7add8949f550b1fd7d5a9113d249e42dfac431108182ca9198
diff --git a/dev-python/scikit-build/scikit-build-0.16.4.ebuild b/dev-python/scikit-build/scikit-build-0.16.4.ebuild
deleted file mode 100644
index 9c480ca7f5c7..000000000000
--- a/dev-python/scikit-build/scikit-build-0.16.4.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/distro[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-virtualenv[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx_rtd_theme \
- dev-python/sphinx-issues
-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=(
- # sandbox violations
- tests/test_hello_cpp.py::test_hello_develop
- tests/test_issue274_support_default_package_dir.py
- tests/test_issue274_support_one_package_without_package_dir.py
- tests/test_issue334_configure_cmakelists_non_cp1252_encoding.py
- tests/test_pep518.py
- # This fails because of additional item setup.py in sources
- tests/test_include_exclude_data.py::test_hello_sdist
- tests/test_include_exclude_data.py::test_hello_sdist_with_base
- tests/test_issue401_sdist_with_symlinks.py::test_sdist_with_symlinks
- tests/test_manifest_in.py::test_manifest_in_sdist
- # Wants internet to install things with pip
- tests/test_numpy.py::test_pep518_findpython
- # TODO
- "tests/test_command_line.py::test_hide_listing[True-bdist_wheel]"
- )
- epytest
-}
diff --git a/dev-python/scikit-build/scikit-build-0.16.5.ebuild b/dev-python/scikit-build/scikit-build-0.16.5.ebuild
deleted file mode 100644
index 9be654a86be5..000000000000
--- a/dev-python/scikit-build/scikit-build-0.16.5.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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}]
- >=dev-python/wheel-0.32.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- >=dev-python/cython-0.25.1[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-1.10.4[${PYTHON_USEDEP}]
- >=dev-python/pytest-virtualenv-1.2.5[${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
-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=(
- # sandbox violations
- tests/test_hello_cpp.py::test_hello_develop
- tests/test_issue274_support_default_package_dir.py
- tests/test_issue274_support_one_package_without_package_dir.py
- tests/test_issue334_configure_cmakelists_non_cp1252_encoding.py
- tests/test_pep518.py
- # This fails because of additional item setup.py in sources
- tests/test_include_exclude_data.py::test_hello_sdist
- tests/test_include_exclude_data.py::test_hello_sdist_with_base
- tests/test_issue401_sdist_with_symlinks.py::test_sdist_with_symlinks
- tests/test_manifest_in.py::test_manifest_in_sdist
- # Wants internet to install things with pip
- tests/test_numpy.py::test_pep518_findpython
- # TODO
- "tests/test_command_line.py::test_hide_listing[True-bdist_wheel]"
- )
- epytest
-}
diff --git a/dev-python/scikit-build/scikit-build-0.16.6.ebuild b/dev-python/scikit-build/scikit-build-0.16.6.ebuild
deleted file mode 100644
index 9be654a86be5..000000000000
--- a/dev-python/scikit-build/scikit-build-0.16.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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}]
- >=dev-python/wheel-0.32.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- >=dev-python/cython-0.25.1[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-1.10.4[${PYTHON_USEDEP}]
- >=dev-python/pytest-virtualenv-1.2.5[${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
-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=(
- # sandbox violations
- tests/test_hello_cpp.py::test_hello_develop
- tests/test_issue274_support_default_package_dir.py
- tests/test_issue274_support_one_package_without_package_dir.py
- tests/test_issue334_configure_cmakelists_non_cp1252_encoding.py
- tests/test_pep518.py
- # This fails because of additional item setup.py in sources
- tests/test_include_exclude_data.py::test_hello_sdist
- tests/test_include_exclude_data.py::test_hello_sdist_with_base
- tests/test_issue401_sdist_with_symlinks.py::test_sdist_with_symlinks
- tests/test_manifest_in.py::test_manifest_in_sdist
- # Wants internet to install things with pip
- tests/test_numpy.py::test_pep518_findpython
- # TODO
- "tests/test_command_line.py::test_hide_listing[True-bdist_wheel]"
- )
- epytest
-}
diff --git a/dev-python/scikit-build/scikit-build-0.17.6.ebuild b/dev-python/scikit-build/scikit-build-0.17.6.ebuild
new file mode 100644
index 000000000000..64d867f18fce
--- /dev/null
+++ b/dev-python/scikit-build/scikit-build-0.17.6.ebuild
@@ -0,0 +1,68 @@
+# 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="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/
+"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong 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.{9..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/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
+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
+
+ epytest -m "not isolated and not nosetuptoolsscm"
+ 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..19374f7c05eb
--- /dev/null
+++ b/dev-python/scikit-image/Manifest
@@ -0,0 +1,4 @@
+DIST scikit-image-data-15735b54e85c02427f07c71e6456723495034805.tar.bz2 143900901 BLAKE2B c1352e76337250fe1a9d6e07f08b6c9b1e0aed922ab8e0a3a4a1ea175f593b3375522e59550d30a22d392c34fef26d638c007c2af3d991887e02e7c68e56ebbb SHA512 d113dd258b35be710d841f9900cfbfe7103d1190b042489de88dd504b56277edac9a98fed5517e57725c5292fe26528267a06ff313bf6500b669d872c4481146
+DIST scikit_image-0.22.0.tar.gz 22685018 BLAKE2B 7d0a65f75f5a58211e21501d6cc6a638f1d36e9a2198a3ad9ff2f230890496c41d5e6cdaed02bbaa62f26aa57fd24fc993656cbdfc2c9c9750147d0f325e56f1 SHA512 4b8c097cd5465f57b1c0879363fe3bdc0941decf2d1f8a881f13f2b7f3207c425f3a0cdcb4be0eed7b33d3ac2f3f8b1835d1cfa69cd3fa2ff5e0be11385fef48
+DIST scikit_image-0.23.0rc2.tar.gz 22677632 BLAKE2B b663065650e25a33ffec80ddd05df622bc62b1c1d3d0a831488d4dd23291b4f125458ae335782762b1d4dc1efa8cbedd5fcd7e6bbe62003967209e4ca4179bca SHA512 aa5f27d571ea49276aba8443a691b30a576d52145a17f13b8ea080a2abf0ed01c57fe50324c05e72bb4662a9ddbb480be94be6784ac3220ed6853b12d94ae06b
+DIST scikit_image-0.23.1.tar.gz 22676819 BLAKE2B 2d02bab4f8d6217c842f428a6758d467393a73a05ac741a49cd27fa6ee48335cf8fed4cc104296388d0e23c61ac3603f72d7bab44986c0d3d4073da383f89726 SHA512 7450387c3adcac15148c3ae4f43fd7da97ceabf3522302b7f3ab4cd02e5a9ec2cd9623f29e4aec3bb47668a231e0900724804619bb91aaaf97283d29c34392e6
diff --git a/dev-python/scikit-image/files/scikit-image-0.22.0-no-numpydoc.patch b/dev-python/scikit-image/files/scikit-image-0.22.0-no-numpydoc.patch
new file mode 100644
index 000000000000..25137b5167c8
--- /dev/null
+++ b/dev-python/scikit-image/files/scikit-image-0.22.0-no-numpydoc.patch
@@ -0,0 +1,42 @@
+From 9b27f8e802c9513952c8a42450a4459fa357b89c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Fri, 26 Jan 2024 20:25:16 +0100
+Subject: [PATCH] Make it possible to run tests without numpydoc
+
+Skip the three tests requiring numpydoc when it is not installed.
+For `skimage/_shared/tests/test_utils.py`, use the existing
+`have_numpydoc` constant.
+For `skimage/measure/tests/test_regionprops.py`, use the standard
+`pytest.importorskip()` function.
+
+This makes it possible to successfully run the test suite when
+`numpydoc` is not installed. This would be convenient for Gentoo
+since numpydoc is facing neverending test regressions (in its own test
+suite).
+---
+ skimage/measure/tests/test_regionprops.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/skimage/measure/tests/test_regionprops.py b/skimage/measure/tests/test_regionprops.py
+index 01a59dfbf..0b74d30a4 100644
+--- a/skimage/measure/tests/test_regionprops.py
++++ b/skimage/measure/tests/test_regionprops.py
+@@ -4,7 +4,6 @@ import re
+ import numpy as np
+ import pytest
+ import scipy.ndimage as ndi
+-import numpydoc
+ from numpy.testing import (assert_allclose, assert_almost_equal,
+ assert_array_almost_equal, assert_array_equal,
+ assert_equal)
+@@ -1261,6 +1260,7 @@ def test_column_dtypes_correct():
+
+
+ def test_all_documented_items_in_col_dtypes():
++ numpydoc = pytest.importorskip("numpydoc")
+ docstring = numpydoc.docscrape.FunctionDoc(regionprops)
+ notes_lines = docstring['Notes']
+ property_lines = filter(lambda line: line.startswith('**'), notes_lines)
+--
+2.43.0
+
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.22.0.ebuild b/dev-python/scikit-image/scikit-image-0.22.0.ebuild
new file mode 100644
index 000000000000..62ff8da8a3eb
--- /dev/null
+++ b/dev-python/scikit-image/scikit-image-0.22.0.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=meson-python
+DISTUTILS_EXT=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Image processing routines for SciPy"
+HOMEPAGE="
+ https://scikit-image.org/
+ https://github.com/scikit-image/scikit-image/
+ https://pypi.org/project/scikit-image/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-python/imageio-2.27[${PYTHON_USEDEP}]
+ >=dev-python/lazy-loader-0.3[${PYTHON_USEDEP}]
+ >=dev-python/networkx-2.8[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.22[${PYTHON_USEDEP}]
+ >=dev-python/pillow-9.0.1[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.8[sparse(+),${PYTHON_USEDEP}]
+ >=dev-python/tifffile-2022.8.12[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+DOCS=( CONTRIBUTORS.txt RELEASE.txt )
+
+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
+
+PATCHES=(
+ # https://github.com/scikit-image/scikit-image/pull/7307
+ "${FILESDIR}/${P}-no-numpydoc.patch"
+)
+
+python_test() {
+ rm -rf skimage || die
+ epytest --pyargs skimage
+}
+
+pkg_postinst() {
+ optfeature "FITS io capability" dev-python/astropy
+ optfeature "GTK" dev-python/pygtk
+ optfeature "Parallel computation" dev-python/dask
+ 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.23.0_rc2.ebuild b/dev-python/scikit-image/scikit-image-0.23.0_rc2.ebuild
new file mode 100644
index 000000000000..a4314f655ffc
--- /dev/null
+++ b/dev-python/scikit-image/scikit-image-0.23.0_rc2.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=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.3[${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 "Parallel computation" dev-python/dask
+ 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.23.1.ebuild b/dev-python/scikit-image/scikit-image-0.23.1.ebuild
new file mode 100644
index 000000000000..cb08918d42e9
--- /dev/null
+++ b/dev-python/scikit-image/scikit-image-0.23.1.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=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 "Parallel computation" dev-python/dask
+ 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..03935f21b43f
--- /dev/null
+++ b/dev-python/scikit-learn/Manifest
@@ -0,0 +1,2 @@
+DIST scikit-learn-1.3.2.gh.tar.gz 7650823 BLAKE2B 170699917f46d6d3f4b9ebc314bc1ec45687dad0a4aec5d2cee6e288b5dbe508bad6dd80406501f289a33593c6482067393e9dc28155f85a4872a34523bf4199 SHA512 a3799e9b39b755a50ba225f836904a378f7d83a08274c614d0485e4d4d4a7b0c7adba2dbb6612f2ccb4e5167f872214a2853eff69d767dc70f52369bda7a230b
+DIST scikit-learn-1.4.2.gh.tar.gz 7907022 BLAKE2B d52b808ae981883438592ee9155797fedf832181b0fe66c25728aedc43143143d44af190977b22844e3322da77cd21a1ce5c733e254686722df7f4c43029192c SHA512 ac4eea3d1f1f7c7280694d59ccb1e58362e77080f65dc2d4644dc257e874d7ff0d2d5b7abeb18acffc2752382527c6e9bbf5ebc47a8a74a2fab2a543e0220951
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.3.2-r1.ebuild b/dev-python/scikit-learn/scikit-learn-1.3.2-r1.ebuild
new file mode 100644
index 000000000000..1f42ebe8f21a
--- /dev/null
+++ b/dev-python/scikit-learn/scikit-learn-1.3.2-r1.ebuild
@@ -0,0 +1,78 @@
+# 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} )
+
+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:=
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/wheel[${PYTHON_USEDEP}]
+ >=dev-python/joblib-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.22.3[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/threadpoolctl-2.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pythran-0.14.0[${PYTHON_USEDEP}]
+ dev-python/cython[${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() {
+ local EPYTEST_DESELECT=(
+ # test broken with newer scipy, fixed upstream
+ # https://github.com/scikit-learn/scikit-learn/issues/27578
+ manifold/tests/test_locally_linear.py::test_singular_matrix
+ # TODO
+ gaussian_process/kernels.py::sklearn.gaussian_process.kernels.ExpSineSquared
+ )
+
+ 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.4.2.ebuild b/dev-python/scikit-learn/scikit-learn-1.4.2.ebuild
new file mode 100644
index 000000000000..44aee52544c5
--- /dev/null
+++ b/dev-python/scikit-learn/scikit-learn-1.4.2.ebuild
@@ -0,0 +1,70 @@
+# 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} )
+
+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:=
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/wheel[${PYTHON_USEDEP}]
+ >=dev-python/joblib-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.22.3:=[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/threadpoolctl-2.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pythran-0.14.0[${PYTHON_USEDEP}]
+ >=dev-python/cython-3.0.8[${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 0ad24744d78f..bb6e121a9ffd 100644
--- a/dev-python/scipy/Manifest
+++ b/dev-python/scipy/Manifest
@@ -1,6 +1,8 @@
-DIST scipy-1.10.0.tar.gz 42398693 BLAKE2B fc2c1ef997fb14716453d94a6d12f8cbdfb742c99bec2c5c504a70248217e44d84b3326304e7bfafd3a52b968de3404b0a084d1e8043295842d01f4337732d91 SHA512 13fec0a2c24b90617ad4701c43c54757c91d2c62ca4b9ea5e5c5d130177ba4d2bb8687aae9057b58c26d1a77e4291164bad7ba9e21352669c07ba18bf539ad32
-DIST scipy-1.9.2.tar.gz 42068300 BLAKE2B 0962115990a12339d8b87eabbee02d52a52e57259fbe2e74884fa2f08d66d8b7505f84561f643b539603bc8bf4ef3bf73c3d908453fbb0c99f732c3a81f8a328 SHA512 5f8667aa66aa0b5fad689d960f742874ce09f830bfd5aa241917526f153fbc09c7f709bc84113f83283fcbb8a47113eb215478d9c3473f76d8f7dbf0989429a2
-DIST scipy-1.9.3.tar.gz 42075414 BLAKE2B f19e829d26a5673cccb69bce43a9142637f42a9ec462a3fd2ea44b62564cff6fb27a4deaccc59e0e738cc0c997b0a7de948bf9f2db6fa7896323405a072e0111 SHA512 119f9a5e1ce3b4268ba38a0eb82dff78837593d9a5c5e464663925a4b3b1de060201fe568236e19ed0996a045754333c580e181c4cdec2cc707e57060f59364e
-DIST scipy-html-1.10.0.zip 65656379 BLAKE2B 4a4f1e428bc2355f32be05e35634e5aaccb0938f170ee247931a892cf7ab59b3a9ab952060e98936e153bed752c29c01ed34eba02188b3514de7607285c01d08 SHA512 3bda526f209905355b3f87ba1529b9f45c3580ce7d9b80a63931871dab1542347f243c9f688854cb67d575e9a645ec89105775accdc746fc290113f28978b73b
-DIST scipy-html-1.8.1.zip 37060661 BLAKE2B 2fa617c58eb47463f8a61f9798b32c6da255d26b8e86c1558e427a715093f5a29ced3847ab6ecfe88ce1017664f36ac3e9fa9bbf72ede7e0fd3812b5f41fe933 SHA512 95153dc1f404aa64898a700c94c0deea3ca842c3152167d0987edabcf4a8eba16b6c8e6bc38a6775a849dc621e6a21434baf53d1669b1865fa5049cffa4387ac
-DIST scipy-ref-1.8.1.pdf 35025868 BLAKE2B 9221755d2dc69b8623271f75ff3078a0a4410fe9ff69ee317b40bf145af7da21a7f5f4b6b67820d8bb2878f83b7014f1ea7c2f0e026afb716da0479d394505e2 SHA512 8f27dcb9dd1030e15266389af21a1475ecfec5ea777fb2dbcf8db8d3398ac6e45c7040b8d6dbaffd29be3920925427be7c55efdc8094d670c857edfdab7f7728
+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-1.12.0.tar.gz 56811768 BLAKE2B 03c142274f1466747935fa54fab427f3a48c1642406211fa1a0f8ad5e0f194baecf76182e0448a0fb647063871483239cd876ce431cd9406e396e6170912ab64 SHA512 376ed94c4caaf782814bb07047fff0b363f7b608a0399697c6e862432333cbe6d3abb351730a574a3f077b3cdd9cb7474090a460baffcfbd5546bcfee309b6e7
+DIST scipy-1.13.0.tar.gz 57204550 BLAKE2B cfbb4e76efae952854e9ff4ed254e9819b58d224906e1ded3c6a914b1e28b5fad15f8bbbb4a9c413969d6e4b1faf4e0038a36729171ff06e640b241a9dd4af94 SHA512 9bd6fd3f76742a07e5bb003edf4c0e3a82edf749077502fbce3d16fe595d455846edcf57db12ec0a9d4792803e974355362d919047414badfcaededf1e4343f7
+DIST scipy-1.13.0rc1.tar.gz 57201979 BLAKE2B 0e257dbe3707b373045eef21384f64847017ffd281e41acb4358e90fec7be5983462849fb199e0bf2ae7944d2a1511c181bd4b1d0ba01f8691062fb9fdebd689 SHA512 de03fdd61bde610bebe7ede8ef22c72e2f65f68e3584b70069b59539a1453a0f1b34baa065ff3cbcb109d3e9a02c705a964116ca11d85700c58ad094772962e2
+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-html-1.13.0.zip 65327245 BLAKE2B 5e5ffbf4ff4a28c5a003da0e5170ef5eef1b430ecca0284a89aed5f96f7afc549db001beb2e56b3debbd3527c57b773b25c35579b32d8a6d8e5e97a75db4d38b SHA512 792c32f077d76d47e42d02c5047990a6afdcdc9c31dcc7e9987e7a5aa62c56aec44dcf7d14e3f94ae59f8fb718ce89a2835b87d2aef7a16ce9a534361b7329d7
diff --git a/dev-python/scipy/files/scipy-1.9.9999-meson-options-lapack.patch b/dev-python/scipy/files/scipy-1.9.9999-meson-options-lapack.patch
deleted file mode 100644
index 23d29c31c2cb..000000000000
--- a/dev-python/scipy/files/scipy-1.9.9999-meson-options-lapack.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/meson_options.txt b/meson_options.txt
-index 5935bb8..f8c14ce 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -1,6 +1,6 @@
--option('blas', type: 'string', value: 'openblas',
-+option('blas', type: 'string', value: 'blas',
- description: 'option for BLAS library switching')
--option('lapack', type: 'string', value: 'openblas',
-+option('lapack', type: 'string', value: 'lapack',
- description: 'option for LAPACK library switching')
- option('use-g77-abi', type: 'boolean', value: 'false',
- description: 'If set to true, forces using g77 compatibility wrappers ' +
-diff --git a/meson.build b/meson.build
-index d80ebc93e..c0c92c00f 100644
---- a/meson.build
-+++ b/meson.build
-@@ -16,8 +16,8 @@ project(
- 'c_args=-Wno-unused-function -Wno-conversion -Wno-misleading-indentation -Wno-incompatible-pointer-types',
- 'fortran_args=-Wno-conversion',
- 'fortran_std=legacy',
-- 'blas=openblas',
-- 'lapack=openblas'
-+ 'blas=blas',
-+ 'lapack=lapack'
- ],
- )
-
diff --git a/dev-python/scipy/metadata.xml b/dev-python/scipy/metadata.xml
index 3d6d78db5ad1..65faa04f1fe2 100644
--- a/dev-python/scipy/metadata.xml
+++ b/dev-python/scipy/metadata.xml
@@ -17,9 +17,6 @@
integration, special functions, signal and image processing, genetic
algorithms, ODE solvers, and others.
</longdescription>
- <use>
- <flag name="pythran">Use <pkg>dev-python/pythran</pkg> to accelerate runtime</flag>
- </use>
<upstream>
<remote-id type="github">scipy/scipy</remote-id>
<remote-id type="pypi">scipy</remote-id>
diff --git a/dev-python/scipy/scipy-1.10.0.ebuild b/dev-python/scipy/scipy-1.10.0.ebuild
deleted file mode 100644
index bf013408674e..000000000000
--- a/dev-python/scipy/scipy-1.10.0.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_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
- # Upstream is often behind with doc updates
- DOC_PV=1.10.0
- MY_PV=${PV/_rc/rc}
- MY_P=${PN}-${MY_PV}
-
- SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz
- doc? (
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${DOC_PV}.zip
- )"
- S="${WORKDIR}"/${MY_P}
-
- if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="amd64 arm arm64 -hppa ~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.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}]
- )
-"
-
-EPYTEST_DESELECT=(
- linalg/tests/test_decomp.py::TestSchur::test_sort
- linalg/tests/test_solvers.py::test_solve_discrete_are
- optimize/tests/test_milp.py::test_milp_timeout_16545
-
- # Network
- datasets/tests/test_data.py::TestDatasets::test_existence_all
- datasets/tests/test_data.py::TestDatasets::test_ascent
- datasets/tests/test_data.py::TestDatasets::test_face
- datasets/tests/test_data.py::TestDatasets::test_electrocardiogram
-)
-
-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 "${T}" || die
-
- if ! has_version -b "dev-python/pooch[${PYTHON_USEDEP}]" ; then
- EPYTEST_IGNORE+=(
- datasets/tests/test_data.py
- )
- fi
-
- epytest -n "$(makeopts_jobs)" --pyargs 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
new file mode 100644
index 000000000000..ada4553734a9
--- /dev/null
+++ b/dev-python/scipy/scipy-1.11.3-r1.ebuild
@@ -0,0 +1,150 @@
+# 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..12} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit flag-o-matic 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-build/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() {
+ # https://github.com/scipy/scipy/pull/19857
+ # Fixed in 1.13.0
+ filter-lto
+ 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.4.ebuild b/dev-python/scipy/scipy-1.11.4.ebuild
new file mode 100644
index 000000000000..57a88fe87cf2
--- /dev/null
+++ b/dev-python/scipy/scipy-1.11.4.ebuild
@@ -0,0 +1,150 @@
+# 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..12} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit flag-o-matic 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 ~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-build/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() {
+ # https://github.com/scipy/scipy/pull/19857
+ # Fixed in 1.13.0
+ filter-lto
+ 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.12.0.ebuild b/dev-python/scipy/scipy-1.12.0.ebuild
new file mode 100644
index 000000000000..d3dff15df08b
--- /dev/null
+++ b/dev-python/scipy/scipy-1.12.0.ebuild
@@ -0,0 +1,151 @@
+# 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..12} )
+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}
+ 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 ~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-build/meson-1.1.0
+ !kernel_Darwin? ( dev-util/patchelf )
+ virtual/pkgconfig
+ doc? ( app-arch/unzip )
+ fortran? ( dev-python/pythran[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/hypothesis[${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() {
+ # https://github.com/scipy/scipy/pull/19857
+ # Fixed in 1.13.0
+ filter-lto
+ 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 scipy
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( "${WORKDIR}"/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/scipy/scipy-1.13.0.ebuild b/dev-python/scipy/scipy-1.13.0.ebuild
new file mode 100644
index 000000000000..0f7cff9b94e5
--- /dev/null
+++ b/dev-python/scipy/scipy-1.13.0.ebuild
@@ -0,0 +1,166 @@
+# 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..12} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit 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.22.4:=[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)
+ )
+
+ # 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]'
+ )
+ ;;
+ 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/scipy/scipy-1.13.0_rc1.ebuild b/dev-python/scipy/scipy-1.13.0_rc1.ebuild
new file mode 100644
index 000000000000..112b769a910a
--- /dev/null
+++ b/dev-python/scipy/scipy-1.13.0_rc1.ebuild
@@ -0,0 +1,155 @@
+# 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..12} )
+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}
+ 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 ~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.22.4:=[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.10.4[${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() {
+ # https://github.com/scipy/scipy/pull/19857
+ # Fixed in 1.13.0
+ filter-lto
+ 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
+
+ # 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>]'
+ )
+ ;;
+ 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/scipy/scipy-1.9.2.ebuild b/dev-python/scipy/scipy-1.9.2.ebuild
deleted file mode 100644
index 622b086267d8..000000000000
--- a/dev-python/scipy/scipy-1.9.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=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
- # Upstream is often behind with doc updates
- DOC_PV=1.8.1
- MY_PV=${PV/_rc/rc}
- MY_P=${PN}-${MY_PV}
-
- SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz
- doc? (
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${DOC_PV}.zip
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-ref-${DOC_PV}.pdf
- )"
- S="${WORKDIR}"/${MY_P}
-
- if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="amd64 arm arm64 -hppa ppc ppc64 ~riscv ~s390 x86"
- fi
-fi
-
-LICENSE="BSD LGPL-2"
-SLOT="0"
-IUSE="doc +pythran"
-
-# umfpack is technically optional but it's preferred to have it available.
-DEPEND="
- >=dev-python/numpy-1.18.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/pybind11[${PYTHON_USEDEP}]
- >=dev-util/meson-0.62.2
- dev-util/patchelf
- virtual/pkgconfig
- doc? ( app-arch/unzip )
- pythran? ( dev-python/pythran[${PYTHON_USEDEP}] )
- test? ( dev-python/pytest-xdist[${PYTHON_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.9.9999-meson-options-lapack.patch
-)
-
-EPYTEST_DESELECT=(
- linalg/tests/test_decomp.py::TestSchur::test_sort
- linalg/tests/test_solvers.py::test_solve_discrete_are
-)
-
-distutils_enable_tests pytest
-
-src_unpack() {
- default
-
- if use doc; then
- unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die
- fi
-}
-
-src_configure() {
- export SCIPY_USE_PYTHRAN=$(usex pythran 1 0)
-}
-
-python_test() {
- cd "${T}" || die
-
- epytest -n "$(makeopts_jobs)" --pyargs scipy
-}
-
-python_install_all() {
- use doc && \
- local DOCS=( "${DISTDIR}"/${PN}-ref-${DOC_PV}.pdf ) \
- local HTML_DOCS=( "${WORKDIR}"/html/. )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/scipy/scipy-1.9.3.ebuild b/dev-python/scipy/scipy-1.9.3.ebuild
deleted file mode 100644
index bb15246a1c06..000000000000
--- a/dev-python/scipy/scipy-1.9.3.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
-
-FORTRAN_NEEDED=fortran
-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
- # Upstream is often behind with doc updates
- DOC_PV=1.8.1
- MY_PV=${PV/_rc/rc}
- MY_P=${PN}-${MY_PV}
-
- SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz
- doc? (
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${DOC_PV}.zip
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-ref-${DOC_PV}.pdf
- )"
- S="${WORKDIR}"/${MY_P}
-
- 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"
-
-# umfpack is technically optional but it's preferred to have it available.
-DEPEND="
- >=dev-python/numpy-1.18.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}] )"
-
-EPYTEST_DESELECT=(
- linalg/tests/test_decomp.py::TestSchur::test_sort
- linalg/tests/test_solvers.py::test_solve_discrete_are
-)
-
-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 "${T}" || die
-
- epytest -n "$(makeopts_jobs)" --pyargs scipy
-}
-
-python_install_all() {
- use doc && \
- local DOCS=( "${DISTDIR}"/${PN}-ref-${DOC_PV}.pdf ) \
- local HTML_DOCS=( "${WORKDIR}"/html/. )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/scripttest/Manifest b/dev-python/scripttest/Manifest
index 9ee2b728fcd9..40eddd508040 100644
--- a/dev-python/scripttest/Manifest
+++ b/dev-python/scripttest/Manifest
@@ -1 +1 @@
-DIST scripttest-1.3.0.tar.gz 14885 BLAKE2B 1984bb175b49248bd369d2d2ed6f70051113285b6870bce67e0c2203d29b4c5b2735fa96dfef7ee11aa38db74e9beb026bbc946c8549b2810f6b90e896bcae0e SHA512 038bfb1726bff85b6e3675be51db829d3519b47665266f6ae1d3c5c6f4f06e7b16742262ca1ba240544e9bd39ae96c1be0bd5e8583736f72bb04241a1bb8acf6
+DIST scripttest-1.3.0.gh.tar.gz 14885 BLAKE2B 1984bb175b49248bd369d2d2ed6f70051113285b6870bce67e0c2203d29b4c5b2735fa96dfef7ee11aa38db74e9beb026bbc946c8549b2810f6b90e896bcae0e SHA512 038bfb1726bff85b6e3675be51db829d3519b47665266f6ae1d3c5c6f4f06e7b16742262ca1ba240544e9bd39ae96c1be0bd5e8583736f72bb04241a1bb8acf6
diff --git a/dev-python/scripttest/scripttest-1.3.0-r2.ebuild b/dev-python/scripttest/scripttest-1.3.0-r2.ebuild
index f26aa148a175..2b195d0d030c 100644
--- a/dev-python/scripttest/scripttest-1.3.0-r2.ebuild
+++ b/dev-python/scripttest/scripttest-1.3.0-r2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
@@ -15,7 +15,7 @@ HOMEPAGE="
"
SRC_URI="
https://github.com/pypa/scripttest/archive/${PV}.tar.gz
- -> ${P}.tar.gz
+ -> ${P}.gh.tar.gz
"
LICENSE="MIT"
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 bee8588ec8ce..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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Bindings for the scrypt key derivation function library"
-HOMEPAGE="
- https://github.com/holgern/py-scrypt/
- https://pypi.org/project/scrypt/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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..e8b2a29f5ce1
--- /dev/null
+++ b/dev-python/scrypt/scrypt-0.8.24.ebuild
@@ -0,0 +1,25 @@
+# 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="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/seaborn/Manifest b/dev-python/seaborn/Manifest
index 05272f65be96..9ea5f0535596 100644
--- a/dev-python/seaborn/Manifest
+++ b/dev-python/seaborn/Manifest
@@ -1 +1 @@
-DIST seaborn-0.12.0.tar.gz 1407601 BLAKE2B 3da8db0a0c08a40a3969a2ffce248f5521b4c7c93ecf0f014850093ef48331326454572ceea6ee1133805bf92540b0d2acecdfb7cb789d238f743b30e6a28947 SHA512 b2b06a22d48f19ace2448f465ca5e700f3486971d9fb86e85a1a8c9e2956b904e5f4c2c8075f848299b182cf8f69b2fac22366fedbd8012b9c44adc0bcb7e060
+DIST seaborn-0.13.2.tar.gz 1457696 BLAKE2B 82caa82da487cb880318313e2af270ac409ecde8f0b26f7c7ba39b1763f9f247fa9a4f7c90f989467004e84c41b7eeb9561d1a59e0a23d4d6994ae63e71c1894 SHA512 5a2f11865d0f5b8a9281f0dac1eaf4cd205828293b3e0a2f7f1c24e7d20c989582ecc7e40c32a0fab6736de1f7e126293d9ae5c270e9aa4e93704e86b6b51ef6
diff --git a/dev-python/seaborn/seaborn-0.12.0.ebuild b/dev-python/seaborn/seaborn-0.12.0.ebuild
deleted file mode 100644
index 802ff5fdd18c..000000000000
--- a/dev-python/seaborn/seaborn-0.12.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=flit
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Statistical data visualization"
-HOMEPAGE="https://seaborn.pydata.org https://github.com/mwaskom/seaborn"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/statsmodels[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- cat > matplotlibrc <<- EOF || die
- backend : Agg
- EOF
- distutils-r1_src_test
-}
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..b7d3e8825fc5
--- /dev/null
+++ b/dev-python/seaborn/seaborn-0.13.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=flit
+PYTHON_COMPAT=( python3_{10..12} )
+
+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_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 d2db16ec12b1..3bcd2a5e1eb2 100644
--- a/dev-python/secretstorage/secretstorage-3.3.3.ebuild
+++ b/dev-python/secretstorage/secretstorage-3.3.3.ebuild
@@ -4,23 +4,21 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYPI_NO_NORMALIZE=1
+PYPI_PN="SecretStorage"
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
-
-MY_PN="SecretStorage"
+inherit distutils-r1 pypi
DESCRIPTION="Python bindings to FreeDesktop.org Secret Service API"
HOMEPAGE="
https://github.com/mitya57/secretstorage/
https://pypi.org/project/SecretStorage/
"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="
dev-python/cryptography[${PYTHON_USEDEP}]
diff --git a/dev-python/seedir/seedir-0.4.2.ebuild b/dev-python/seedir/seedir-0.4.2.ebuild
index c9587c854b51..ce6ef73decf4 100644
--- a/dev-python/seedir/seedir-0.4.2.ebuild
+++ b/dev-python/seedir/seedir-0.4.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_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
RDEPEND="
dev-python/natsort[${PYTHON_USEDEP}]
diff --git a/dev-python/segno/Manifest b/dev-python/segno/Manifest
new file mode 100644
index 000000000000..03a8570b9a03
--- /dev/null
+++ b/dev-python/segno/Manifest
@@ -0,0 +1 @@
+DIST segno-1.6.1.gh.tar.gz 1631683 BLAKE2B 3e656660c97e190d9a9576347728d9934166b84c09974309ba422ddfcd5edc2b2d99fac53f4c87d94ff21b39a88a73753583a7f98edee1acbc323e734eddbf6a SHA512 266f64cee466105851bb567254e87d45f557d00ded0bb089edeafb68a71dbf686a72217ef471a3f82e68566103599180c7391d1effad65c73a1ea3355f59d72b
diff --git a/dev-python/segno/metadata.xml b/dev-python/segno/metadata.xml
new file mode 100644
index 000000000000..8db4dc82124b
--- /dev/null
+++ b/dev-python/segno/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">heuer/segno</remote-id>
+ <remote-id type="pypi">segno</remote-id>
+ </upstream>
+</pkgmetadata>
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..0adf0cec539e
--- /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..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/selenium/Manifest b/dev-python/selenium/Manifest
index a8658fc9006d..d9980e8d7cf2 100644
--- a/dev-python/selenium/Manifest
+++ b/dev-python/selenium/Manifest
@@ -1 +1,2 @@
-DIST selenium-4.5.0-py3-none-any.whl 995204 BLAKE2B 214050a4e410a4689255ec8472a1cb35a37596e73d46c48769aa8e184b6f84e281a20e7e5f812b8185edacfcbca6eed77507aa59ffcaeae384f962b4214928a0 SHA512 b22d80d750c85337a2b793799b5a63b11bed45d11b874c1a64c02f53b4adb57263e69bebc79203de3bdfa5b8708203959971723cf0aef7fb68bd1b2a9028e9d9
+DIST selenium-4.19.0.tar.gz 10279010 BLAKE2B f4f7761c52a38108c13d846f013eaeb54ce90ce894f3435567bf00e5b5d9ed13f71f1fcabad2ce972e098d86d3df82f1a1c5bf14ac849dcfb3378e41bc791e90 SHA512 ad4fec7dd4309478e4b53e1fdaf957230ae7c074fc77ffed6445cd80d475fd8f0f9aa88d2b732fb75b1060e03ab29257b040d95aa104b7bbaa6289ad08bb418f
+DIST selenium-selenium-4.19.0.gh.tar.gz 77053184 BLAKE2B 42319ddad80832e107acfb9f7f3dc5a18fb1779ec0910322d6c11ca9d441ce7e9992c0f7acd5c313855b33b8e67e8a2eab7736b11cd925c163fe70dee58aad44 SHA512 5e707545fdb8b38d16470988fe74b31b9040c5ff6c1958c2a500a5d20a023dedf12e321b1c60bb4d79c11cbd27e86dc2b6dc3d27b92b55759b5d9a57af526531
diff --git a/dev-python/selenium/selenium-4.19.0.ebuild b/dev-python/selenium/selenium-4.19.0.ebuild
new file mode 100644
index 000000000000..1ef3e5bed572
--- /dev/null
+++ b/dev-python/selenium/selenium-4.19.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 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}
+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}]
+"
+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.5.0.ebuild b/dev-python/selenium/selenium-4.5.0.ebuild
deleted file mode 100644
index c5002d4e6df4..000000000000
--- a/dev-python/selenium/selenium-4.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
-
-# GitHub releases don't include generated files, and on PyPi we do have them
-# but only in a wheel format.
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Python language binding for Selenium Remote Control"
-HOMEPAGE="https://www.seleniumhq.org"
-SRC_URI="
- https://files.pythonhosted.org/packages/py3/${P::1}/${PN}/${P}-py3-none-any.whl
-"
-S=${WORKDIR}
-
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-LICENSE="Apache-2.0"
-SLOT="0"
-
-RDEPEND="
- dev-python/urllib3[${PYTHON_USEDEP}]
-"
-
-python_compile() {
- distutils_wheel_install "${BUILD_DIR}/install" \
- "${DISTDIR}/${P}-py3-none-any.whl"
-}
diff --git a/dev-python/semantic_version/Manifest b/dev-python/semantic-version/Manifest
index 8aabf18478cc..8aabf18478cc 100644
--- a/dev-python/semantic_version/Manifest
+++ b/dev-python/semantic-version/Manifest
diff --git a/dev-python/semantic_version/metadata.xml b/dev-python/semantic-version/metadata.xml
index 920bd3fa3a30..920bd3fa3a30 100644
--- a/dev-python/semantic_version/metadata.xml
+++ b/dev-python/semantic-version/metadata.xml
diff --git a/dev-python/semantic-version/semantic-version-2.10.0.ebuild b/dev-python/semantic-version/semantic-version-2.10.0.ebuild
new file mode 100644
index 000000000000..94bca6f84951
--- /dev/null
+++ b/dev-python/semantic-version/semantic-version-2.10.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 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 library providing a few tools handling SemVer in Python"
+HOMEPAGE="
+ https://github.com/rbarrois/python-semanticversion/
+ https://pypi.org/project/semantic-version/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -p no:django
+}
diff --git a/dev-python/semantic_version/semantic_version-2.10.0.ebuild b/dev-python/semantic_version/semantic_version-2.10.0.ebuild
deleted file mode 100644
index 3c49459982d7..000000000000
--- a/dev-python/semantic_version/semantic_version-2.10.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python library providing a few tools handling SemVer in Python"
-HOMEPAGE="
- https://github.com/rbarrois/python-semanticversion/
- https://pypi.org/project/semantic-version/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx_rtd_theme
-distutils_enable_tests pytest
-
-python_test() {
- epytest -p no:django
-}
diff --git a/dev-python/semver/Manifest b/dev-python/semver/Manifest
index 83bf711cc293..2c4d419c1d0e 100644
--- a/dev-python/semver/Manifest
+++ b/dev-python/semver/Manifest
@@ -1 +1 @@
-DIST semver-2.13.0.tar.gz 43674 BLAKE2B 35d0ca0b61836d0e6deb97f067a0c1cbba310dde6eb83d78f02f85c3f7485114ad549559d572d4494aa7c4444c7d6feabcb36394561a238489d56bfd04ed8590 SHA512 ca0d408d8bb7305e90802ea04d935cd7b76b8f166a9ec97ed3427dbc2cf60eeca0b2d27ad0cb2f15f32f5b2589d6717a63717c463183374c5335bf79e1eec222
+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-2.13.0.ebuild b/dev-python/semver/semver-2.13.0.ebuild
deleted file mode 100644
index df1afc006d40..000000000000
--- a/dev-python/semver/semver-2.13.0.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="A Python module for semantic versioning"
-HOMEPAGE="https://github.com/python-semver/python-semver"
-SRC_URI="https://github.com/python-${PN}/python-${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/python-${P}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # contains pytest/cov args we don't want
- rm setup.cfg || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/semver/semver-3.0.2.ebuild b/dev-python/semver/semver-3.0.2.ebuild
new file mode 100644
index 000000000000..787614d74535
--- /dev/null
+++ b/dev-python/semver/semver-3.0.2.ebuild
@@ -0,0 +1,29 @@
+# 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} )
+
+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"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/send2trash/Manifest b/dev-python/send2trash/Manifest
index 75ff09ca0389..b8c43f852c4d 100644
--- a/dev-python/send2trash/Manifest
+++ b/dev-python/send2trash/Manifest
@@ -1 +1,2 @@
-DIST send2trash-1.8.0.gh.tar.gz 15040 BLAKE2B 06f6b0b9e4e9316bc60332ea76426922db6d35fa5d4e0602e91a58996bb55a2344d7d56547bdf21151641c5ec710b78b2b11c8fda158eb911155994c86d10078 SHA512 9dc15fbd262eb5a05a355b436c0e582e5ef9b484f859b53faafe6af5bd08ef88b9aa5121485c2fffb7dbe5aeeef29f6719035e08c61da273fd4fa51383b062fe
+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.0-r1.ebuild b/dev-python/send2trash/send2trash-1.8.0-r1.ebuild
deleted file mode 100644
index 601db1629cd2..000000000000
--- a/dev-python/send2trash/send2trash-1.8.0-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
-
-DESCRIPTION="Sends files to the Trash (or Recycle Bin)"
-HOMEPAGE="
- https://github.com/arsenetar/send2trash/
- https://pypi.org/project/Send2Trash/
-"
-SRC_URI="
- https://github.com/arsenetar/send2trash/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/send2trash/send2trash-1.8.2.ebuild b/dev-python/send2trash/send2trash-1.8.2.ebuild
new file mode 100644
index 000000000000..d759f6cb0331
--- /dev/null
+++ b/dev-python/send2trash/send2trash-1.8.2.ebuild
@@ -0,0 +1,23 @@
+# 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..816b76361a12
--- /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..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/
+"
+
+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 0272564c92ab..a5965cf3bb14 100644
--- a/dev-python/sentry-sdk/Manifest
+++ b/dev-python/sentry-sdk/Manifest
@@ -1,3 +1,4 @@
-DIST sentry-sdk-1.12.1.gh.tar.gz 306457 BLAKE2B e0c4e92fcf8f0213f27ccf6f03cfbdc66999469357cfdf82e4b923f34d79c44e0824a50caf437dded4404e77cd1cbdede240b1e98bd8408d467b754b3586d598 SHA512 c4fb0d13c1e40e0220ef56c29c2c5235aba0c7be598a545e08af783da0732266455d6b9aa73f2aaa068bf63105369517a12e8abbc7a31410ef3c4bea1a0b3018
-DIST sentry-sdk-1.13.0.gh.tar.gz 309851 BLAKE2B e1827bf8aa09a7d28a75f46afbbf3d59d92569e870fec3ad5c960fd566398bacdbd22e3f1c1bdd16f9905d430ddd4c348fb44b8fd2d20b8601bea4b61af1b57e SHA512 6e18fafafe37150958c3a474a7b9e783403fb0dff3747647e438bcfb490f1ba6a9584c9f5a35889c1c8f4e2502d83a2f851d037d11dfc58dd22f04479d3f6ce7
-DIST sentry-sdk-1.14.0.gh.tar.gz 312667 BLAKE2B 02772c3313a6cdb5f872df93274b291cdbae35db8387eab3816261b446bb438afd41610580cc642299877d8f03732a1d7bae4e6ad9824a92f4126677a4a3ca1a SHA512 cd0c4ca10d61825919721335fe0413f1050bd8d1f41a2f3f4a25b843c4bf83d35610382f55dc14fe86f70cca962e30a8d9d0708a07b10730783ae09b22f20e04
+DIST sentry-python-1.42.0.gh.tar.gz 468530 BLAKE2B 787da292e9e218e195deae022274d74c032f5749ecf86be45cfa59de10b2ab4281e0ddcb6fdd804f887fa63ca669c9f4db4396a1077647be8438524c6edba081 SHA512 88bf44f4b214d1accd28744ac5300681ee8f6d23f4508f1df043366c9c758251e63f5aede778e8584c778c209f9c758d12743109798a746d2599aa7d7f53550b
+DIST sentry-python-1.44.0.gh.tar.gz 471491 BLAKE2B a61ea8076c58df8296128c0604e5292626a7100a525e9a496ebd4f9e17fb64c695b78185d6a45345a10fd88545eb972ce4887eb4a9de1b3c05bb96937fc1af6f SHA512 ff9ecc13b0cf60a5b6e209bb8de22bb482ebc29977c843e0d39ee07338897e315b3f11a7e51cc92e88f4679ea897bee5b367421a851b68f2efe36d65be155f23
+DIST sentry-python-1.44.1.gh.tar.gz 472129 BLAKE2B ae98f7c6292ed3d95e4c33221154b065d6348c2e34efd4b4b10f083ff9082765594f39a1b0adf0df945ba7948e2b0d0d31cf2fb3987d1f65e1bd0e582be7a76b SHA512 c9de3538cdf2ccce2b6775ff57308f122d1e7f5db5036db78ec8b85a423edfbacb806080b4ededba42bc33e419b5fc71cc011bdbcf542e4aa9be1978a0129bc8
+DIST sentry-python-1.45.0.gh.tar.gz 475425 BLAKE2B 8dc46154dfc1c7c9104a706be032b5269d407dee6845da252f1c603ea4f9486d02d1d3c6bec314064b821dee31b503d07a9c17935ca1f4dd6cc4d7b9c3165094 SHA512 dad23a3f6a8e6ef5fe78e1d38a61977d8974edf306d5688537f331801d8fa0f60743d18cc3dadf6e9a9666c55a01c98b9ff8d8808ece7d8f95ee68a69b6cb9be
diff --git a/dev-python/sentry-sdk/files/sentry-sdk-1.21.0-ignore-warnings.patch b/dev-python/sentry-sdk/files/sentry-sdk-1.21.0-ignore-warnings.patch
new file mode 100644
index 000000000000..bb7154472b7e
--- /dev/null
+++ b/dev-python/sentry-sdk/files/sentry-sdk-1.21.0-ignore-warnings.patch
@@ -0,0 +1,12 @@
+diff --git a/tests/conftest.py b/tests/conftest.py
+index af1a40c..e32e214 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -87,6 +87,7 @@ def _capture_internal_warnings():
+
+ _warning_recorder_mgr.__exit__(None, None, None)
+ recorder = _warning_recorder
++ return
+
+ for warning in recorder:
+ try:
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.12.1.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.12.1.ebuild
deleted file mode 100644
index 2bdf46d65a9c..000000000000
--- a/dev-python/sentry-sdk/sentry-sdk-1.12.1.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 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 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
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/sentry-python-${PV}"
-
-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/werkzeug[${PYTHON_USEDEP}]
- dev-python/zope-event[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-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
- # 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
-)
-
-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
- # incompatible version?
- tests/integrations/falcon/test_falcon.py
- tests/integrations/sqlalchemy/test_sqlalchemy.py::test_too_large_event_truncated
- # 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
-)
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.13.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.13.0.ebuild
deleted file mode 100644
index ca131c16656c..000000000000
--- a/dev-python/sentry-sdk/sentry-sdk-1.13.0.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 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 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
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/sentry-python-${PV}"
-
-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/werkzeug[${PYTHON_USEDEP}]
- dev-python/zope-event[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-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
- # 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
-)
-
-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
- # incompatible version?
- tests/integrations/falcon/test_falcon.py
- tests/integrations/sqlalchemy/test_sqlalchemy.py::test_too_large_event_truncated
- # 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
-)
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.14.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.14.0.ebuild
deleted file mode 100644
index 6b8524ebb047..000000000000
--- a/dev-python/sentry-sdk/sentry-sdk-1.14.0.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/sentry-python-${PV}"
-
-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/werkzeug[${PYTHON_USEDEP}]
- dev-python/zope-event[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-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
- # 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
-)
-
-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
- # incompatible version?
- tests/integrations/falcon/test_falcon.py
- tests/integrations/sqlalchemy/test_sqlalchemy.py::test_too_large_event_truncated
- # 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
-)
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.42.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.42.0.ebuild
new file mode 100644
index 000000000000..23a564c8402f
--- /dev/null
+++ b/dev-python/sentry-sdk/sentry-sdk-1.42.0.ebuild
@@ -0,0 +1,153 @@
+# Copyright 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
+ )
+
+ 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-1.44.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.44.0.ebuild
new file mode 100644
index 000000000000..1505a8b592c8
--- /dev/null
+++ b/dev-python/sentry-sdk/sentry-sdk-1.44.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-1.44.1.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.44.1.ebuild
new file mode 100644
index 000000000000..1505a8b592c8
--- /dev/null
+++ b/dev-python/sentry-sdk/sentry-sdk-1.44.1.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-1.45.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.45.0.ebuild
new file mode 100644
index 000000000000..1505a8b592c8
--- /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/serpent/serpent-1.41.ebuild b/dev-python/serpent/serpent-1.41.ebuild
index a20f5afa34ca..540c24b0df01 100644
--- a/dev-python/serpent/serpent-1.41.ebuild
+++ b/dev-python/serpent/serpent-1.41.ebuild
@@ -4,20 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A simple serialization library based on ast.literal_eval"
HOMEPAGE="
https://github.com/irmen/Serpent/
https://pypi.org/project/serpent/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ppc ppc64 x86"
+KEYWORDS="amd64 arm64 ppc ppc64 x86"
BDEPEND="
test? (
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 3b1476909f7f..b0b4a9a2b7f0 100644
--- a/dev-python/serverfiles/serverfiles-0.3.1-r1.ebuild
+++ b/dev-python/serverfiles/serverfiles-0.3.1-r1.ebuild
@@ -4,18 +4,25 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
DESCRIPTION="Utility for accessing HTTP server and storing files locally for reuse"
-HOMEPAGE="https://github.com/biolab/serverfiles"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/biolab/serverfiles/
+ https://pypi.org/project/serverfiles/
+"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
-RDEPEND=">=dev-python/requests-2.11.1[${PYTHON_USEDEP}]"
-BDEPEND="dev-python/setuptools_scm[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/requests-2.11.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
distutils_enable_tests pytest
diff --git a/dev-python/service-identity/Manifest b/dev-python/service-identity/Manifest
new file mode 100644
index 000000000000..be167bf89186
--- /dev/null
+++ b/dev-python/service-identity/Manifest
@@ -0,0 +1 @@
+DIST service_identity-24.1.0.tar.gz 40183 BLAKE2B d597f4bfced6e766e1b256f43d134537a44e048bf4c704dbec1c16e6a29a42d60c2392c679e810b2ecc2f8ea3f681ddbe59bc0bfbd2d2c145bcc648f803b0964 SHA512 86cf2754bf8564d828d8cae4dec25dae04537ae59f5e2ee8450594f473cbd27f4c96313f743bad6842f9344a53a76a9d22064d8143e9d2d41a83376627d309fd
diff --git a/dev-python/service_identity/metadata.xml b/dev-python/service-identity/metadata.xml
index 7331b1a5a602..7331b1a5a602 100644
--- a/dev-python/service_identity/metadata.xml
+++ b/dev-python/service-identity/metadata.xml
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..9b2c1b491844
--- /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..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/Manifest b/dev-python/service_identity/Manifest
deleted file mode 100644
index 3746efcdfefb..000000000000
--- a/dev-python/service_identity/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST service_identity-21.1.0.gh.tar.gz 35326 BLAKE2B c6c985db990f9a93b2954a596817b476e178fd5949a683aebe7506e56ed90a19f872f6c5caa5a7219c162cfd43924e0a3cdb36a666aca01b28736f0927ae72b2 SHA512 6375bc5e8329118b2beb163ffffecc1479839e4e98173576e4737deebcc4c057ac357315976d3f53a280defd4e2c1f6b74e9604ec1aa94144240c2fb4bf07461
diff --git a/dev-python/service_identity/service_identity-21.1.0-r1.ebuild b/dev-python/service_identity/service_identity-21.1.0-r1.ebuild
deleted file mode 100644
index a9f2e769d9d6..000000000000
--- a/dev-python/service_identity/service_identity-21.1.0-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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Service identity verification for pyOpenSSL"
-HOMEPAGE="
- https://github.com/pyca/service-identity/
- https://pypi.org/project/service-identity/
-"
-SRC_URI="
- https://github.com/pyca/service-identity/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${P/_/-}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 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}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/setproctitle/Manifest b/dev-python/setproctitle/Manifest
index f3f12130b0a1..a24ba4029d67 100644
--- a/dev-python/setproctitle/Manifest
+++ b/dev-python/setproctitle/Manifest
@@ -1 +1 @@
-DIST setproctitle-1.3.2.tar.gz 27173 BLAKE2B 252ca0a4f71e1413e2474d6c4e9cebacb1642f8c7883709d03341ce1468441509dc54eb9d4191f2aefb65c9e76e130f76a51303a272bd34a6db781d3b2a86e92 SHA512 9c6d1748685e8b62f9542f73481a587dbe7b6ca157fdcecdd8d2f66bbb71169bf31e47da51867aa0ec9b620c39677ab9a936a7537769714bdc99ef0355c743e0
+DIST setproctitle-1.3.3.tar.gz 27253 BLAKE2B 92a789ec5a132e7560e203ef185f914e3b26986da3b53992a1954d3db0ff0b213ffdec5a0db9bf57bd80b197e09481a23541b8979b54a445df1840f469810922 SHA512 daf9954beef0c28b5c9f71e1dbf713e655d2ea6b66387f6f47da5b3b6c679f3faaa26c74d2b7c3b5460468394e0582a1ff45e5d67ff2d85826317fc69c9eb828
diff --git a/dev-python/setproctitle/setproctitle-1.3.2.ebuild b/dev-python/setproctitle/setproctitle-1.3.2.ebuild
deleted file mode 100644
index 5aa38339fa8a..000000000000
--- a/dev-python/setproctitle/setproctitle-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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Allow customization of the process title"
-HOMEPAGE="
- https://github.com/dvarrazzo/py-setproctitle/
- https://pypi.org/project/setproctitle/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-distutils_enable_tests pytest
diff --git a/dev-python/setproctitle/setproctitle-1.3.3.ebuild b/dev-python/setproctitle/setproctitle-1.3.3.ebuild
new file mode 100644
index 000000000000..c11390b249c0
--- /dev/null
+++ b/dev-python/setproctitle/setproctitle-1.3.3.ebuild
@@ -0,0 +1,22 @@
+# 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="Allow customization of the process title"
+HOMEPAGE="
+ https://github.com/dvarrazzo/py-setproctitle/
+ https://pypi.org/project/setproctitle/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+distutils_enable_tests pytest
diff --git a/dev-python/setuptools-gettext/Manifest b/dev-python/setuptools-gettext/Manifest
new file mode 100644
index 000000000000..bf75bb7c26b2
--- /dev/null
+++ b/dev-python/setuptools-gettext/Manifest
@@ -0,0 +1 @@
+DIST setuptools-gettext-0.1.11.tar.gz 15582 BLAKE2B a47e8c05683dbf8ac2db9dcbf66f8d680a6d1788ee00f1affcc356fd12ee31d92f6698c9dd1f293000ffb129d6eda2a71b90d0bee1875308f155137c9d2f7cf2 SHA512 abcb0df4604a78959365d3447112d4f74944b26ccc1e0d43771e38ee071c5915a4deda8c852eebbc58c689bcae29cd13604f8b96cea4cc0d6eb6ca4e265e34f7
diff --git a/dev-python/setuptools-gettext/metadata.xml b/dev-python/setuptools-gettext/metadata.xml
new file mode 100644
index 000000000000..4b6dc6a166c0
--- /dev/null
+++ b/dev-python/setuptools-gettext/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">setuptools-gettext</remote-id>
+ <remote-id type="github">breezy-team/setuptools-gettext</remote-id>
+ </upstream>
+</pkgmetadata>
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-git/setuptools-git-1.2-r3.ebuild b/dev-python/setuptools-git/setuptools-git-1.2-r3.ebuild
index 594e0434435a..1ed7da856d44 100644
--- a/dev-python/setuptools-git/setuptools-git-1.2-r3.ebuild
+++ b/dev-python/setuptools-git/setuptools-git-1.2-r3.ebuild
@@ -4,16 +4,16 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{9..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Setuptools revision control system plugin for Git"
HOMEPAGE="
https://github.com/msabramo/setuptools-git/
https://pypi.org/project/setuptools-git/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/setuptools-rust/Manifest b/dev-python/setuptools-rust/Manifest
index 3db59a6d10a6..601516e72924 100644
--- a/dev-python/setuptools-rust/Manifest
+++ b/dev-python/setuptools-rust/Manifest
@@ -11,66 +11,99 @@ DIST dtoa-short-0.3.3.crate 8198 BLAKE2B aaece640d0f8b231081bb1534c3188dd4f9780e
DIST futf-0.1.5.crate 11344 BLAKE2B 2cc5e5f5d4ace47e9273546e46c500432da47f246cee18f24607432305dec9481ec3d02b8a9bff4724efe05ea1d235294c52ee4eeb2f5f285ce56c2987b62d24 SHA512 4cee071c067c879742839d3d32192ca94ee2f9241468656357c3aed116cb7c656bf81722f32b67d60214b7db66858dca6443f0d52f0ff2114fc70971bdddd2d3
DIST fxhash-0.2.1.crate 4102 BLAKE2B efade6722efed1cff0bcf307ababd9c9031af297baf410367212758411a21d61a473456c7f9b5cb15e444d115a62120f140c082e70dd360a3ae83f2f71bec9e6 SHA512 638e1c0a4e7f365483a329e715afbc2e57e47c03b32e0e1818c879baa96996e81dce8ab39320e24a3e1633f73dec1e5f18a06c37f3ad38043002fc99b55efc38
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-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
DIST kuchiki-0.8.1.crate 22153 BLAKE2B f5e887c70e755f99faba569a2ceb3e9942d4dff50e884af1764b6cb557b90d4d89c8a800dd397898fd87c4f9e5d7a6b162b2964c8518a397e38c3919689efcf3 SHA512 68f668032cd6e1152e3eab196d7bdbc0a835daabb0de6b7ced7f463ea56224c35bdb18cc0dd7e57a90461d1ee5e0349e8488df7390580e7eea570997fb4029e3
DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
DIST libc-0.2.121.crate 574702 BLAKE2B bae9215a7318e5b5b6d821d2320ce28e883d04af0bca40ede49b9c5d575d28307b07077b3d59be28347bffc4c69d6c9dd334733f0c519c16de704360f6fa8738 SHA512 aa1ee710b2a4008ead7118e85d7f2d29fab8aa0e1111436db8039a84737727b8d1a8a1cb72acd38abd2656d22a5025046d7be7d8154537f8a503017e0548e953
+DIST libc-0.2.147.crate 686772 BLAKE2B ab2f0c65d071d46b8b88149add1c8429237ef6d9e0563d56ee1adbf23e6147dbb57fb68fbd02498f8ec75327693237a47e5e5259615ce8b0d5ed7a03bbf4fffb SHA512 bfb3c230b59d623b98726f92b7c3f897b47ba3d22fe9834c15f5b4c1b662289aba35a0ae3acfc704ad74696db8c691ee007b9cc6fa03ae65a18eb6bedc81931e
+DIST lock_api-0.4.10.crate 26713 BLAKE2B 113adf8554c65e9782e8fd0360d0398567dfbfddb1fea4928cc152fbab98dbe086e42b81170f6f5c333d61dd3261e8a1ebfbaed786e6bf6378e6afde6d7f9e5c SHA512 ffe8cad8099bc382832181c1ff95e0935993491f247114604201be7d4ddf8402fd4db8fd6499c611f95fbce7d57dc3d3738eddfab31c52f50ab8709e549697db
DIST lock_api-0.4.6.crate 25215 BLAKE2B af1d28010f7c340dc0857afbaf8acd2396228cabca26e52f79526cc4eafb072c2aee8987bdd9ace4ba87c272f6fc816fc6f62a69e4d7e66a5c6e91ae3e824ede SHA512 ba14d341564eba91bb5ec58bb2e0d6c87e70b3694c4609396f0c0f4afc0c6c105a88cb99c303b1e9761b0fc6cae56f79ba6a7663b063454ab1ede4d49274906d
DIST log-0.4.14.crate 34582 BLAKE2B ddfba35947ae1f5905cd9ecb9eb862a78af6f00ee8b8fe6258b369b140928fe677a02b1b3ca5bdec36ff2b16abd85a9f49688fd5f3d1ba2b2905e7f96b8a84c1 SHA512 796100167663d85a7bc4244cd305e9b3f0a1b1520764b63464698eb136318d0928c40c16f5d19d9f602a5bf769851275bbd48d66b088b0c37be7a6fb62def7cc
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.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009 SHA512 11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f
+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
DIST once_cell-1.10.0.crate 30414 BLAKE2B 4161622dc9dab4748a1b96777da263523f23329808506faea7938160f0d5ca07b5edd31f385b14b88dd2fc34c58063df4d40a34a479573750a369512dc956992 SHA512 f6b5ce5e68923296d2041f83ac037f10ad7b9e94fc607c71332e8ee942a02c29534c2073cecdb132c7e1d91428e9d9687fbf05393ca0abbf7e15db50bb3b74ab
+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.8.crate 32383 BLAKE2B 2f9666872894d1c85895437d1353f9e15be2bc8d004ffc8f0e5be95e9dd4b274797db3752eba1c0b5b6071c1b8a71e4857cae0b2aff1afdaa39e92e70be2e6fd SHA512 8d6dfdf661b0f7d0774cb9f61121f2daefd182ac8a2a0d24eab451febfbe1a664c815c163d34a7f3d15a54915a8e22e6c6cd10e89cb7d7598d48d81ad6a3c256
DIST phf-0.8.0.crate 3902 BLAKE2B 3f1d4f9c23cfa2a3a0b7e4f809ff00783d71bb4839b27246d5244e5aee61a211498715ed576f00749e8132a6af1cdf50b2eb27d2f49896f006212981886a0e44 SHA512 a3013c4106ba72aa3cf22bd3f903eeacc24ac7cc47aad791bc5e9a63e1aff928a537399b6a86b0346c5eb37979ec01b404807e622e79a0a70a0e01e63c07a47f
DIST phf_codegen-0.8.0.crate 3192 BLAKE2B 65c733fb896fa034c97482d122a2ed4c39d763cbb65ee48a229cdb320910aefeef125674bb1305a4a12f5fccefd71f859e33cb26c3e6be09ed8f776f9ff9b463 SHA512 6649779b50683b1b83c89da921ee52963fd517660540148e9ba4b59f9639c705e08400c4da972880ed161564816c7ad45704d6bd51d1429717137de8f46cb941
DIST phf_generator-0.8.0.crate 7604 BLAKE2B 936c9ad95d2d5b6b4bc97dac9bcf99813462950f6280d9cbb8c8ae9253d3197f25b8173c202cdd51c4a2d3f422ca1d6f5c9055e7a87e45b2dc5fbe5aa6aa45ce SHA512 de045f47567defd43fe32fc62191a9a892e5a478e1a84b853cff3005e94967ded68e5770eacb43f2e97e58b8f4283327a38a3bdbd55e1d5c708dab601ea66270
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 pyo3-0.17.1.crate 394706 BLAKE2B 30d4d6285c977f0eb3581dd89e4d2cdb2c9badce3729c03f7f8f41bc0be9253bf4ef0d30b0c137007fb26cad02e17efdfbbe6d248829edf111be0ecf9c25a2fb SHA512 d5e28c9931abd06050e7dbf261024aeaf7a81b079b27cfdd610a2be08ee2e64c60f0c4d90eee28565a98a6ee34ba228e7085b7fecc85dfc504b66a6cf77dcfca
-DIST pyo3-build-config-0.17.1.crate 29232 BLAKE2B 76e95012c0c2713f41bd70c49ef06f5e48ee6d89cce158902eb7d2c805c241e6cadfbac426de35bd3078307f120814d06a39fd227e093982807e825b868a3308 SHA512 1ec2d8069a8eb247b3e152adb47f675ba3d05aaecf13f7d3a580bac128339b9220f9dcf9f984009e0e8d4b9e11415d0b563c0087fcdd1499acbe8d263b3330bd
-DIST pyo3-ffi-0.17.1.crate 62851 BLAKE2B f23c29b4ba41ef59dc0723fbf4622e3a1f32ca127cf76d72f5e4f8988da448bbe9a7a324fbb57233e5ac1369e60b1ed0ef02f7ebb1576a31447fe060919c63d0 SHA512 f67462e48b8acb8a9b01c93f9100a37b45801271598398a106d7fc7bf9721c51ba114fe6d0b919b2199e29fdc8a0945a79ba18d766d1f22a536ff75ed5902235
-DIST pyo3-macros-0.17.1.crate 7229 BLAKE2B ef54df6d41d309dfd6bee907e83c63c53352b0a5fdc910bb1617b999bf5cc316c0ec81e504200d72b69ea9819e2da3e74027106f6ae08d8de751b91bc4fee7c6 SHA512 2958728e8d9d5c99ad785aee9755bca4ae6bf8b5b8e13af4a00a4fce9250af51d64093aaef8f19c8861557eb8f6448de75c55b1c637968d481241ff2ae8abc3e
-DIST pyo3-macros-backend-0.17.1.crate 49872 BLAKE2B 91d58229cdb012bfa701816d091309cf02e397a80e91663f050a800868cc7a7e54128c27c3b7a82467487c3c84b341baecaa2a36d0154a14602a272aa634421c SHA512 e4b706a80c9239d23c8c3b125d17e6f66ec64a442294d2cba3f21b50bd8ed839e6ef8816bacf9dcd9c5a15d4e0660f0594b4c1a213ffa3b59b19630720b76948
-DIST quote-1.0.16.crate 27566 BLAKE2B 3352f4ed2158cb8d29947d5435b7414ed223088887718f9d258f1f5d555034a4fbb79cbfb3cb772be4868be366853feabec777fba7f275ac36d8091eb3b371c7 SHA512 489f4dcaa8a8a2041b39fc8fc815fa7943c0a456881283398e4eb65f7b50f220a6e5493d60d1d5019a48b189ca217fd8c62056b552bf94b9329ec963cce01c74
+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.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
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 rand_pcg-0.2.1.crate 11291 BLAKE2B f8837f3f3dcd7ecfc90f88bb6464b9f79f7c1975ecc68289fd10a5c97323de9c1106de9847fc798f50d96044e46cca9d41f1635130be40bc789492bfaf999de9 SHA512 612c0d1cdc591f80733bf8097e251f02ef7a7e71cafb74e37b63ac68043558045c0c96196200ad07ce7aa9f2d373640c20e598ae5774935c8b52350ec20958ba
DIST redox_syscall-0.2.11.crate 24032 BLAKE2B 28d71b8c1419e34c4b0a0a1e0ca1bcc34bdf97614a1e33a5f58f867d743a0430ed19e6f76601702802e366c2801d245a3a88c9bd657bf8aaebdda463aeaeea86 SHA512 dcdc6335a0db6a01a31b61aaf9eb684f264b36868a351094d3e2fb3fe84f0c4269db89ad40b9e0fedfe1ebe2096baa20e7a6232a4de5a3dda3b7876eaaca75fc
+DIST redox_syscall-0.3.5.crate 23404 BLAKE2B 85aa4299d9816666bf576f523da5cdeae87b3c8fbb2af103e82258d23f73303c068a4b6c3ef4117ad67958cb31e41f836a9f59f2ce1bc52c23605e34399afcf1 SHA512 16f8f4766932bb54e4740cfdb4f0802f76246c0bf88c1d76c69c115949b124b625d8c3b85d8947073c2e9544f425aa16c10f71fabe3c03d29e424c47fe4ccdde
DIST rustc_version-0.4.0.crate 12175 BLAKE2B 6fda2ce03eab45d7193fa0d70175cc7ffb56b7be85fb1314092bdcfd3948ea145420569ace3a47218a4a2a6e44a818862cea6dd8cfb945475496f63b591c29da SHA512 f66da7c6efe431db06cd01180d84ba67fcd38f8cd6ef693762957c00ccc2211f23c08079d7f184776e08f28d2d6ca3bdb5f5016f7de245c6193d4722891ba1db
DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
+DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
DIST selectors-0.22.0.crate 44199 BLAKE2B f749e0e53476b695b4937bc0cbf1add4f3f7d4c64f59f71cd0095d87a20bb13c69b6a5271ff7951f9a67934ced5ca0d3fda684c99727ab90b637c0af170e012e SHA512 af2f4ba87c7a52291bc7f5276c4ebcc7689724d95972ac8d162e0f4007a6f0a47ee1aa6095b3b80441924f990b2d147bc4e3e65a7dec164d95742977ca792b04
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.5.2.gh.tar.gz 294274 BLAKE2B b0de905facd0fe110c25c037980826b09d64bab625be0a5be53ff981d37b02bba2b0aa3458ff0a95cdb1fb4ecdbafe08236167b76c1606c534dd8a4e04d68287 SHA512 e80d1296fd09c24b644d821e981261153ff19ae62d978fc8ee81c78e440d215f9d1e91e33d758effb94fcb64985937445940f2e2f032ad1b8c2aa39be79cf19d
+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.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
+DIST target-lexicon-0.12.11.crate 24594 BLAKE2B cf06720caecb5b5758f05c6375fa600da9260aac04017458060406a042dc578d51a2c5b6f189345d45dacea42ba01fbe46853d07f70d7b37cba17d87aa101f9a SHA512 f38701a8e9dd17b7db591b1b4c82c3b75d317e003262bb7b09b9cabd3afab5ab79c02a7dd524910b6941ada3a8f1378ea9e199b2b5938f8f01ee75bb0eae8718
DIST target-lexicon-0.12.3.crate 22990 BLAKE2B 7ca04aab44917345e51c7212e8f9d24cc0c7b759cba6031313c2a6f5bf4139b34be27e65ad150fd83f14b440a8e4ce125d156634409cbb2ec01cd370b213e738 SHA512 4ba0de71cf27c4ee330c9b61fc0318cfa3e179b57a7b0a79f296e0b33602c664c4ee2a676d09e0e104add2e0b56144cb5ddcc096a16f332f67862ee94b052f86
DIST tendril-0.4.3.crate 37210 BLAKE2B 0a70926644e8dc492247d49b8939169702903c2458d7b2c0fea2e6ed54166909f484e8e876eddc8ff7491642ec24a200c5d1e51412c6a7c26ee60f1f4164e98c SHA512 53f074aec6e59717fca280b1764f6c2e0a1c073336f48d012ff268a7189697d42d24a91a6a549c7d9e1fe8b0006e34c219f4dba3cc95247d3905c6f8a6a8186f
DIST thin-slice-0.1.1.crate 4484 BLAKE2B 7efcd3c30dd24c22641139288b0c530ffe56dd82f26c2c31f557f1fa09ced695cf12b645fa6bc4c12324af0b9b05792a9cff422b6deee3bbb06b57a7cec06f47 SHA512 27b9e6b2a8485b3f89f659d80d67ccb96370f3371996e39f97784c40bdd7fef5429fb96f48d9c045eec5906051708f169fe4ca8f5f546a25e5f6859cafa42925
+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.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
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.1.crate 6902 BLAKE2B 8e6cd47dea52131c66983cbf4982e88f7bd30416dfae4e380f7afb39f67ee0ac88d40769668dd5aba40d4415f9f00cbc2ac98d598506fed26029f5ec4df3a2c5 SHA512 e48179620cce528292167f1d5ee2deea0659569c996dc90eb4ab62b9ea8baee6c0bea3ab739e06d8793c9690bfc895545ed0039cb633ca39293de79c42ea9de2
+DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
+DIST windows_aarch64_gnullvm-0.48.0.crate 366543 BLAKE2B 9b10f65089fe6da3ff38a1061783f635644ae84f567f891eaced280af68f7ff3919b34289e8850aa34554bb0346903273ff0a7fa743ca8794c2d23a9f1b0185f SHA512 80c5aa74c5669f7acff3882a8e7575f15e8d7cc58c11a1cb731ff423eb9cc9ba43cc6b80e52803c0d44e6a9001655ba87de6f43a9fe858da6d6e3a5c983a2711
+DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
+DIST windows_aarch64_msvc-0.48.0.crate 671479 BLAKE2B 0c80f210437628e1d878d1d14e884fea532c7539b3030aa76d46f27d02372c715c6e33d7efdbbd770666472b44a66c30711a33d819ede9cdcd51c96355802d45 SHA512 617e47a7202f1db4dbd3ecea509682135ccd85e3a458c0331b9bc7aa1d84e5756b59c881cb098d5c6d4c951248d13c8253a8e8a50938e1997bd19ceba77262df
+DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
+DIST windows_i686_gnu-0.48.0.crate 741490 BLAKE2B 5a4a584f8d8ee5bbd2d4c5b6749a66f2d43fc9e4ef90faab2227709b270f0d46fc26578c029edd96877c71309316ddb32d91c39f46d88f9a484c614f866e3dbe SHA512 15149fdd48b61b6d993acd392dbd353d0280d984ea88745217e4207937174bb90cdd9701f69ff0fe06a842f03607cbb57937d20d79ab577181e605a8a8fadc68
+DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
+DIST windows_i686_msvc-0.48.0.crate 730056 BLAKE2B 4e4ad6ed94948145199c2ed50fc65e4af08455a0fd058bb0f763d481f30b029f99a2b8dbac087b29e762500a19270f6683baf62ba99d141eb002a5b0b5c8ea05 SHA512 11a50800e709712dbea907275bc0faa46d2eb2969118445ed5b932d9c5957a09592a5b26a40e554c1f5fd56c6d074a07637e6f88eedd2224e1001e62df7b469b
+DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
+DIST windows_x86_64_gnu-0.48.0.crate 703595 BLAKE2B b227efb78a99c43d0538cceadada3fa1840df29adc665787fdcf845b73e77d782da8a9f9aa602e1da61401b550d0107176feb6c397c922a6240b38cc8f04a180 SHA512 38eff1164fb37dbd2bbe53404b20cba92de84cbbd5e4eb9ad60d51fb43d6fdb8b87a1488e2c88ebd4b3ff3b708f93fdc05df4b14a285d3ff11c33ff0d9828602
+DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
+DIST windows_x86_64_gnullvm-0.48.0.crate 366536 BLAKE2B 295dc3aef18c604d1579978045f4058b1a315083a8ab842bddf5800ec3460b1530ad88c3464acab712a229290aca235810de8a3b6a253859a354d9fa97277e58 SHA512 8d82fad4c8445030844708aa026a62f1ca43362b8e15f14b0d226c7e9cda04ffa0715087b6a025dbb738e8891de24fcc4a2df071a532917cf03c4a46f934f396
+DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
+DIST windows_x86_64_msvc-0.48.0.crate 671422 BLAKE2B abb063610dcc38581657133182b7d9efeed5553df67bd2bd6f30f1668a645186e4824f9ef556a5abc84ace10b1b437b6325bbda6df5a64ce880d7dcb743ac786 SHA512 6e598b8e3ac54912a8ebac01b0dd2c58fd282072527d7fedc7f6ebecdfb7dcb09ae46c22293bc0117849437f8b053db5e90406e7a38276f0f0afd06be3966795
+DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
diff --git a/dev-python/setuptools-rust/setuptools-rust-1.5.2.ebuild b/dev-python/setuptools-rust/setuptools-rust-1.5.2.ebuild
deleted file mode 100644
index a06fccd5cdee..000000000000
--- a/dev-python/setuptools-rust/setuptools-rust-1.5.2.ebuild
+++ /dev/null
@@ -1,159 +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_{9..11} 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-0.27.2
- cssparser-macros-0.6.0
- derive_more-0.99.17
- dtoa-0.4.8
- dtoa-short-0.3.3
- 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.6.5
- 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-macro2-1.0.36
- proc-macro-hack-0.5.19
- pyo3-0.17.1
- pyo3-build-config-0.17.1
- pyo3-ffi-0.17.1
- pyo3-macros-0.17.1
- pyo3-macros-backend-0.17.1
- 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-0.3.9
- winapi-i686-pc-windows-gnu-0.4.0
- winapi-x86_64-pc-windows-gnu-0.4.0
-"
-
-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}) )
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 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.9.0.ebuild b/dev-python/setuptools-rust/setuptools-rust-1.9.0.ebuild
new file mode 100644
index 000000000000..25678e894354
--- /dev/null
+++ b/dev-python/setuptools-rust/setuptools-rust-1.9.0.ebuild
@@ -0,0 +1,192 @@
+# 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..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@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}]
+ )
+"
+
+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-scm/Manifest b/dev-python/setuptools-scm/Manifest
new file mode 100644
index 000000000000..2d12f5b27640
--- /dev/null
+++ b/dev-python/setuptools-scm/Manifest
@@ -0,0 +1,2 @@
+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
diff --git a/dev-python/setuptools_scm/metadata.xml b/dev-python/setuptools-scm/metadata.xml
index c5b76d75363f..c5b76d75363f 100644
--- a/dev-python/setuptools_scm/metadata.xml
+++ b/dev-python/setuptools-scm/metadata.xml
diff --git a/dev-python/setuptools-scm/setuptools-scm-7.1.0.ebuild b/dev-python/setuptools-scm/setuptools-scm-7.1.0.ebuild
new file mode 100644
index 000000000000..aefcbded9493
--- /dev/null
+++ b/dev-python/setuptools-scm/setuptools-scm-7.1.0.ebuild
@@ -0,0 +1,58 @@
+# 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
new file mode 100644
index 000000000000..7a3696456809
--- /dev/null
+++ b/dev-python/setuptools-scm/setuptools-scm-8.0.4.ebuild
@@ -0,0 +1,64 @@
+# 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/Manifest b/dev-python/setuptools/Manifest
index 2c9763442864..28faea005510 100644
--- a/dev-python/setuptools/Manifest
+++ b/dev-python/setuptools/Manifest
@@ -1,4 +1,3 @@
-DIST setuptools-65.6.3.tar.gz 2617699 BLAKE2B 0b64efcb5280f18e9d5660a10bca34d9864255279e4747cad99e3adf99ee33c0d174f0b61ef897894e7083ecfbaea16d59a195e3572c8083a4a8d811fe0c2702 SHA512 d0acfdc838454ffedabc4cc14c745071e07cc05e0a598c8bf83824788a8630d5516009e81213ae2a709f54298e754bd391cad205e7111363b64c853bd124aef3
-DIST setuptools-65.7.0.tar.gz 2618315 BLAKE2B a0989c3fd0ab476d69885d022eccf1a89dc670a17d0b3e73bbe4ffb530e26a838fcd1cfffc4c2720ddd19cb8ba45d42bc31441f1e3bbc32fa71850d208f37cc8 SHA512 0eb2d9de9ef2565cf012db7d68ee18359a1432dd42ecd3fb7d490f73d57b0e7ba2a67e0401f66051127e913f29c2e221e88c0cbf523b0ac9abe7f00b6ab1ded8
-DIST setuptools-66.0.0.tar.gz 2642508 BLAKE2B 3d8dc8d365a4dd41334ed203dd18fe44eb024b560fa82f522c98058d60020a33eec4d1c7767289f0368dc77d5533898b34479e4792b388bab73180bffe8034ed SHA512 107717c61a47299dbb5baffe5948875abc26e6900121726aef7a6042b7156dd13031bbc69c5b930c0d3d2ee99c64741451383826e1d6fb65c12b026620a72ce1
-DIST setuptools-66.1.1.tar.gz 2644145 BLAKE2B 96198ae1832ab1b42f01178df7d17031bb8bb7f0c72f6f0f5f48f09735157b738e6914a088bfd00540f29cc684172cf2e1a85f803371a9bc2fbf3772d340dfc4 SHA512 b36da1623e2034dae9561ebcb3189b335fa65e844def584d172632a1af4aef4061567bbc801ec9125423030f03cf84a6d578a0283084866b8c21de3237feb650
+DIST setuptools-69.0.3.tar.gz 2219609 BLAKE2B 1a5e7896c7ea82d51b0aa4794435b9899cef871f6ae43d22ae5e08c57d87b70641f3f2abfcc29956a3de515f90b112fd61d3daf793474b4cf33f8567e3a38f4a SHA512 11df934931f4b73f7e07ea5713479593c6baa134d423556b2ae7aff0f1e5bdbdee1f5b516131adb169c838231ceb0293441fbf275ef7030dabecf74122565b6d
+DIST setuptools-69.2.0.tar.gz 2222950 BLAKE2B 9f2bfee2bc6ca05c319137166d8b7a4fc8352652e7b29385e5dd8e692c2ea17e46b06c9c1ba78d8bb128682e57248e41900fa73bf4c4f323929d170d306e1d38 SHA512 e69abe573304b1c2c074144c9df663fec0d6ce617359f070ca8d57710e4beb99435d0d2124d45a7d8b24889693597e1e03875bc6ff960fa31f6250e1c253b906
+DIST setuptools-69.5.1.tar.gz 2291314 BLAKE2B 3756dd587136c7e688bdfecf4c0434c0e799f50f9a9a95750d41cb75e26b613b3dc178f43a9e0d21f17c42a7c4ad7461e7986966aefb814e3d0ff05178c82542 SHA512 81f4a5184976a0d4aa070261bb56458c54ec6a479786fa469e98cb336e9a1691b281ae771abe41bc5398fac15b2dd039c07cf014ee00572f46908ce6830fcb6a
diff --git a/dev-python/setuptools/setuptools-65.6.3-r1.ebuild b/dev-python/setuptools/setuptools-65.6.3-r1.ebuild
deleted file mode 100644
index 924ec384fd0e..000000000000
--- a/dev-python/setuptools/setuptools-65.6.3-r1.ebuild
+++ /dev/null
@@ -1,130 +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
-
-# please bump dev-python/ensurepip-setuptools along with this package!
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( python3_{9..11} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Collection of extensions to Distutils"
-HOMEPAGE="
- https://github.com/pypa/setuptools/
- https://pypi.org/project/setuptools/
-"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.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="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/appdirs-1.4.4-r2[${PYTHON_USEDEP}]
- >=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-22[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3-r2[${PYTHON_USEDEP}]
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-4.11.1[${PYTHON_USEDEP}]
- ' 3.8 3.9)
- $(python_gen_cond_dep '
- >=dev-python/importlib_resources-5.4.0-r3[${PYTHON_USEDEP}]
- ' 3.8)
-"
-BDEPEND="
- ${RDEPEND}
- >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
- 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}]
- dev-python/wheel[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-PDEPEND="
- >=dev-python/certifi-2016.9.26[${PYTHON_USEDEP}]
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
-"
-
-DOCS=( {CHANGES,README}.rst )
-
-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, setuptools will switch to system deps
- # automatically
- 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
-
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-}
-
-python_test() {
- local -x SETUPTOOLS_USE_DISTUTILS=stdlib
-
- 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
- )
-
- epytest -n "$(makeopts_jobs)" setuptools
-}
diff --git a/dev-python/setuptools/setuptools-65.7.0.ebuild b/dev-python/setuptools/setuptools-65.7.0.ebuild
deleted file mode 100644
index c205470f3e6c..000000000000
--- a/dev-python/setuptools/setuptools-65.7.0.ebuild
+++ /dev/null
@@ -1,130 +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
-
-# please bump dev-python/ensurepip-setuptools along with this package!
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( python3_{9..11} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Collection of extensions to Distutils"
-HOMEPAGE="
- https://github.com/pypa/setuptools/
- https://pypi.org/project/setuptools/
-"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.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="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/appdirs-1.4.4-r2[${PYTHON_USEDEP}]
- >=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-22[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3-r2[${PYTHON_USEDEP}]
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-4.11.1[${PYTHON_USEDEP}]
- ' 3.8 3.9)
- $(python_gen_cond_dep '
- >=dev-python/importlib_resources-5.4.0-r3[${PYTHON_USEDEP}]
- ' 3.8)
-"
-BDEPEND="
- ${RDEPEND}
- >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
- 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}]
- dev-python/wheel[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-PDEPEND="
- >=dev-python/certifi-2016.9.26[${PYTHON_USEDEP}]
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
-"
-
-DOCS=( {CHANGES,README}.rst )
-
-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, setuptools will switch to system deps
- # automatically
- 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
-
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-}
-
-python_test() {
- local -x SETUPTOOLS_USE_DISTUTILS=stdlib
-
- 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
- )
-
- epytest -n "$(makeopts_jobs)" setuptools
-}
diff --git a/dev-python/setuptools/setuptools-66.0.0.ebuild b/dev-python/setuptools/setuptools-66.0.0.ebuild
deleted file mode 100644
index 4e9a19e91a47..000000000000
--- a/dev-python/setuptools/setuptools-66.0.0.ebuild
+++ /dev/null
@@ -1,127 +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
-
-# please bump dev-python/ensurepip-setuptools along with this package!
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( python3_{9..11} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Collection of extensions to Distutils"
-HOMEPAGE="
- https://github.com/pypa/setuptools/
- https://pypi.org/project/setuptools/
-"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.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="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-22[${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}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-4.11.1[${PYTHON_USEDEP}]
- ' 3.9)
-"
-BDEPEND="
- ${RDEPEND}
- >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
- 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}]
- dev-python/wheel[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-PDEPEND="
- >=dev-python/certifi-2016.9.26[${PYTHON_USEDEP}]
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
-"
-
-DOCS=( {CHANGES,README}.rst )
-
-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, setuptools will switch to system deps
- # automatically
- 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
-
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-}
-
-python_test() {
- local -x SETUPTOOLS_USE_DISTUTILS=stdlib
-
- 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
- )
-
- epytest -n "$(makeopts_jobs)" setuptools
-}
diff --git a/dev-python/setuptools/setuptools-66.1.1.ebuild b/dev-python/setuptools/setuptools-66.1.1.ebuild
deleted file mode 100644
index 4e9a19e91a47..000000000000
--- a/dev-python/setuptools/setuptools-66.1.1.ebuild
+++ /dev/null
@@ -1,127 +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
-
-# please bump dev-python/ensurepip-setuptools along with this package!
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( python3_{9..11} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Collection of extensions to Distutils"
-HOMEPAGE="
- https://github.com/pypa/setuptools/
- https://pypi.org/project/setuptools/
-"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.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="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-22[${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}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-4.11.1[${PYTHON_USEDEP}]
- ' 3.9)
-"
-BDEPEND="
- ${RDEPEND}
- >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
- 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}]
- dev-python/wheel[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-PDEPEND="
- >=dev-python/certifi-2016.9.26[${PYTHON_USEDEP}]
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
-"
-
-DOCS=( {CHANGES,README}.rst )
-
-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, setuptools will switch to system deps
- # automatically
- 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
-
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-}
-
-python_test() {
- local -x SETUPTOOLS_USE_DISTUTILS=stdlib
-
- 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
- )
-
- epytest -n "$(makeopts_jobs)" setuptools
-}
diff --git a/dev-python/setuptools/setuptools-69.0.3-r1.ebuild b/dev-python/setuptools/setuptools-69.0.3-r1.ebuild
new file mode 100644
index 000000000000..056511cea1a8
--- /dev/null
+++ b/dev-python/setuptools/setuptools-69.0.3-r1.ebuild
@@ -0,0 +1,112 @@
+# 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..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/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-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.
+PDEPEND="
+ 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 -o tmp_path_retention_policy=all setuptools
+}
diff --git a/dev-python/setuptools/setuptools-69.2.0-r1.ebuild b/dev-python/setuptools/setuptools-69.2.0-r1.ebuild
new file mode 100644
index 000000000000..67da0231f6ab
--- /dev/null
+++ b/dev-python/setuptools/setuptools-69.2.0-r1.ebuild
@@ -0,0 +1,126 @@
+# 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..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="amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
+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/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.2[${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/importlib-metadata[${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-home-0.5[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/tomli[${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/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
+ # Internet, sigh
+ setuptools/tests/test_integration.py
+ )
+
+ 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-69.5.1.ebuild b/dev-python/setuptools/setuptools-69.5.1.ebuild
new file mode 100644
index 000000000000..dc754993995f
--- /dev/null
+++ b/dev-python/setuptools/setuptools-69.5.1.ebuild
@@ -0,0 +1,130 @@
+# 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..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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# check */_vendor/vendored.txt
+RDEPEND="
+ >=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/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/importlib-metadata[${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-home-0.5[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/tomli[${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/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
+
+ # breaks tests
+ sed -i -e '/--import-mode/d' pytest.ini || die
+
+ # 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
+ # Internet, sigh
+ setuptools/tests/test_integration.py
+ )
+
+ 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_scm/Manifest b/dev-python/setuptools_scm/Manifest
deleted file mode 100644
index 1098d86add27..000000000000
--- a/dev-python/setuptools_scm/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST setuptools_scm-7.1.0.tar.gz 71904 BLAKE2B be5ae215dadcc290290762b732434258409ecc2d71cdf1332ffe73431effae7cbc33e052a718efd952be79350171ed3e468492fc719bc08750dc23364fb0ee9d SHA512 bd7260672c213db6b8c5842dbb6ac69e69ce040777865c935033971f65d905bd8e6b54e174190a924e452c302e69d4c1de231cbc8f603176ba013a739840dad3
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 1efefeb1ff54..000000000000
--- a/dev-python/setuptools_scm/setuptools_scm-7.1.0.ebuild
+++ /dev/null
@@ -1,48 +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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Manage versions by scm tags via setuptools"
-HOMEPAGE="
- https://github.com/pypa/setuptools_scm/
- https://pypi.org/project/setuptools-scm/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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
-
-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
-)
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.ebuild b/dev-python/setuptools_scm_git_archive/setuptools_scm_git_archive-1.4.ebuild
deleted file mode 100644
index 9520b6a3f467..000000000000
--- a/dev-python/setuptools_scm_git_archive/setuptools_scm_git_archive-1.4.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} 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"
-IUSE=""
-
-RDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION="${PV}"
-
-python_test() {
- epytest tests.py
-}
diff --git a/dev-python/setuptools_trial/Manifest b/dev-python/setuptools_trial/Manifest
deleted file mode 100644
index 685582c0ba49..000000000000
--- a/dev-python/setuptools_trial/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST setuptools_trial-0.6.0.tar.gz 6227 BLAKE2B 2df7276197a5630b8140dce17528b75045ea86e15495146aceafc4428f6ab6493fbe8e2edfded30ae644523455df02f3cb85e8bf8879bd4fafc9a332d9f6bc40 SHA512 9104b98627f57ed53c90d22042346875c5324d7b30e1ec9ba1718b5c59a786915a8fe0a53789a5dbd9318a12b27122661234f5be403365261db6a8728ce39827
diff --git a/dev-python/setuptools_trial/metadata.xml b/dev-python/setuptools_trial/metadata.xml
deleted file mode 100644
index 3718ce297d89..000000000000
--- a/dev-python/setuptools_trial/metadata.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?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>
- <upstream>
- <maintainer>
- <email>vladimir@rutsky.org</email>
- <name>Vladimir Rutsky</name>
- </maintainer>
- <remote-id type="pypi">setuptools_trial</remote-id>
- <remote-id type="github">rutsky/setuptools-trial</remote-id>
- </upstream>
- <longdescription>
- This is a plugin for setuptools that integrates Twisted trial. Once
- installed, “python ./setup.py trial” will run the package’s unit tests
- using Twisted trial. The package can also optionally be configured so
- that “python ./setup.py test” will use Twisted trial instead of pyunit
- a.k.a. unittest.
- </longdescription>
-</pkgmetadata>
diff --git a/dev-python/setuptools_trial/setuptools_trial-0.6.0-r1.ebuild b/dev-python/setuptools_trial/setuptools_trial-0.6.0-r1.ebuild
deleted file mode 100644
index f18a78beaf03..000000000000
--- a/dev-python/setuptools_trial/setuptools_trial-0.6.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Setuptools plugin that makes unit tests execute with trial instead of pyunit"
-HOMEPAGE="https://github.com/rutsky/setuptools-trial https://pypi.org/project/setuptools_trial/"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="test? ( ${RDEPEND} )"
-
-src_prepare() {
- # don't install docs into wrong location
- sed -e '/data_files=/d' -i setup.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- distutils_install_for_testing
-
- # The pkg test suite creates a virtualenv to install to for testing
- # The distutils-r1 eclass already does the equivalent for us.
- # So just run the same commands they do directly...
- pushd "${S}"/tests/dummy_project > /dev/null || die
- "${EPYTHON}" -m setup.py trial || \
- die "trial tests failed with ${EPYTHON}"
- "${EPYTHON}" -m setup.py trial --reporter=text || \
- die "trial --reporter tests failed with ${EPYTHON}"
- popd > /dev/null || die
- pushd "${S}"/tests/alias_project > /dev/null || die
- "${EPYTHON}" -m setup.py test || \
- die "alias_project tests failed with ${EPYTHON}"
- popd > /dev/null || die
-}
diff --git a/dev-python/sexpdata/Manifest b/dev-python/sexpdata/Manifest
index 55f10f72636c..7117be739637 100644
--- a/dev-python/sexpdata/Manifest
+++ b/dev-python/sexpdata/Manifest
@@ -1 +1 @@
-DIST sexpdata-0.0.3.tar.gz 13105 BLAKE2B 36c4082a63f6748759d71fc38a056ecb7467eafebf0a1a0b006fbef1302488f23a859462c9526dc365f7c88b8b6c331dc6e4892e1d96358abb44ca60a909d283 SHA512 03d4d1557bcc950124e408d6870894c8ee9e72a2ee83c881adf48f8e53bdf3744b4f3e3e133a74a195d236424b434cc690583a68d8395324ca4e84947e548501
+DIST sexpdata-1.0.2.gh.tar.gz 17687 BLAKE2B a2840927a7f157b5d9fe0d225d46abb7928fd99b85234fc070c6203d90d8ab888339058a8c049ca6c61f843eabf8ca46443b8e00527e6c3b7aa68f0aacbede5c SHA512 a300999f2e517d578203e1b7f97e664bb01cc9fa86aef616fc9ba0d568a20e4c7a9669f6f067760ddafbbf16b495233080131b7a07d33cbe5c243cb8a406ace3
diff --git a/dev-python/sexpdata/metadata.xml b/dev-python/sexpdata/metadata.xml
index 9039b87ed051..6f1b50d360fb 100644
--- a/dev-python/sexpdata/metadata.xml
+++ b/dev-python/sexpdata/metadata.xml
@@ -2,8 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
- <email>layman@gentoo.org</email>
- <name>Gentoo Layman team</name>
+ <email>python@gentoo.org</email>
</maintainer>
<upstream>
<remote-id type="github">jd-boyd/sexpdata</remote-id>
diff --git a/dev-python/sexpdata/sexpdata-0.0.3-r2.ebuild b/dev-python/sexpdata/sexpdata-0.0.3-r2.ebuild
deleted file mode 100644
index adb368e69234..000000000000
--- a/dev-python/sexpdata/sexpdata-0.0.3-r2.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_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="a simple S-expression parser/serializer"
-HOMEPAGE="https://github.com/jd-boyd/sexpdata"
-SRC_URI="https://github.com/jd-boyd/sexpdata/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-
-distutils_enable_tests nose
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..1b50c712d956
--- /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..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"
+
+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 95accf819567..7ad804d30cdd 100644
--- a/dev-python/sgmllib3k/sgmllib3k-1.0.0-r1.ebuild
+++ b/dev-python/sgmllib3k/sgmllib3k-1.0.0-r1.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Py3k port of sgmllib"
HOMEPAGE="
https://pypi.org/project/sgmllib3k/
"
-SRC_URI="
- mirror://pypi/${PN::1}/${PN}/${P}.tar.gz
+SRC_URI+="
test? (
https://dev.gentoo.org/~arthurzam/distfiles/dev-python/${PN}/test_sgmllib.py.gz
)
@@ -21,7 +20,7 @@ SRC_URI="
LICENSE="PSF-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/sh/Manifest b/dev-python/sh/Manifest
index 60883d0f9d57..dd3d6cdd60d5 100644
--- a/dev-python/sh/Manifest
+++ b/dev-python/sh/Manifest
@@ -1 +1 @@
-DIST sh-1.14.3.tar.gz 62851 BLAKE2B e570b3d51bbabebc90a575aaa502dc448f5049caf7485763f7ca84bd30a1e19f37441e4217074cb75ee0094600d328b59693fffdb0647479478246e58c0f00a7 SHA512 f78b418a396b78b4d303846da222eedc7525dee8d200bf96d48054d91a82671d40e0f1f82eb406b16016752ff95c3b2360075974abc3a5a814b8cfe70528231a
+DIST sh-2.0.6.tar.gz 345496 BLAKE2B 2352aa1c560a95e59446473658d0a95609f594417c8840c84cf1d65590aa94c2225dcd8782e75d82e92cdbf86f21dbbe03a1818a5ef1800a39444ce2918bc90b SHA512 717dae58ebd08b3a86e0d30ba2a6f3055592844d064265280b97a1d29bd7d0422c9e5500b6eb999cc1a97c1c2af04cf8ed214670bc08cb2bc45e418f69560c1d
diff --git a/dev-python/sh/files/sh-1.12.14-skip-unreliable-test.patch b/dev-python/sh/files/sh-1.12.14-skip-unreliable-test.patch
deleted file mode 100644
index aa4f75727a17..000000000000
--- a/dev-python/sh/files/sh-1.12.14-skip-unreliable-test.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/test.py b/test.py
-index 68ef40c..e5d48da 100644
---- a/test.py
-+++ b/test.py
-@@ -500,2 +500,3 @@ while True:
-
-+ @unittest.skip("Test is unreliable")
- def test_environment(self):
-@@ -587,2 +588,3 @@ exit(2)
-
-+ @unittest.skip("Test seems to be unreliable")
- def test_piped_exception1(self):
diff --git a/dev-python/sh/files/sh-1.14.0-skip-unreliable-test.patch b/dev-python/sh/files/sh-1.14.0-skip-unreliable-test.patch
deleted file mode 100644
index ea79229459ec..000000000000
--- a/dev-python/sh/files/sh-1.14.0-skip-unreliable-test.patch
+++ /dev/null
@@ -1,8 +0,0 @@
-diff --git a/test.py b/test.py
-index a4b9915..fb2ffdd 100644
---- a/test.py
-+++ b/test.py
-@@ -2799,2 +2799,3 @@ print("cool")
- @requires_progs("lsof")
-+ @unittest.skip("Test seems to be unreliable")
- def test_no_fd_leak(self):
diff --git a/dev-python/sh/sh-1.14.3.ebuild b/dev-python/sh/sh-1.14.3.ebuild
deleted file mode 100644
index 72ae5ec0b9ee..000000000000
--- a/dev-python/sh/sh-1.14.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python subprocess interface"
-HOMEPAGE="
- https://github.com/amoffat/sh/
- https://pypi.org/project/sh/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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"
-
-PATCHES=(
- "${FILESDIR}/sh-1.12.14-skip-unreliable-test.patch"
- "${FILESDIR}/sh-1.14.0-skip-unreliable-test.patch"
-)
-
-python_test() {
- "${EPYTHON}" test.py || die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/sh/sh-2.0.6.ebuild b/dev-python/sh/sh-2.0.6.ebuild
new file mode 100644
index 000000000000..225ef8c24d1c
--- /dev/null
+++ b/dev-python/sh/sh-2.0.6.ebuild
@@ -0,0 +1,26 @@
+# 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/shapely/Manifest b/dev-python/shapely/Manifest
index 4010cd22815c..0934e8098cb6 100644
--- a/dev-python/shapely/Manifest
+++ b/dev-python/shapely/Manifest
@@ -1 +1,2 @@
-DIST shapely-2.0.0.gh.tar.gz 324420 BLAKE2B efe8aea8d9507bf2d2c31ca7dfaa6a531f71530243dd8c23046f4803d36e36b1636a07255c634fc5d6e30391aac260dcdaeb1f4c2aa73297a90f71134c1bbc15 SHA512 15e261901ada47ef2a9d2f213a2634152bc43799fd27421726b5e6525f91aef60c0bbc5f38e5185bf89ec795b5fa703688d2b08d4d3d14c9274515c5935157cb
+DIST shapely-2.0.3.gh.tar.gz 330889 BLAKE2B 32b56fb6517ee1831f2a93a54b2844e71fb860b3d0de992c9c16ab3e028ade8f6a0ecb5a5c7c8104637111486cec24ecbeb6fe0cf1a1f5282f8bc0b2c73a112a SHA512 862c9af9a40ddc759094375689327298979cb19cde6e4fbd0edc7e6bd0ed5296960628a4be7030bedfecaa8d3dd77bc1e1bac137d698530fea055ddc914e2ab8
+DIST shapely-2.0.4.gh.tar.gz 331588 BLAKE2B 4b7f8afa8e4358ed473c6172c340520a4cdf7ab76752c12a96070e88834c0b44fa87b0815fecbe337f012ca1d15bc3f38cb59ef23cf589d4e3e8f2ecbafb5660 SHA512 497bb6d1b3fbfc5758c167e984bb57f52746dae47d7d365e6f13e3879beced8194aea9119c287c8eadf2f74e038e2dbb07e906177f521fab195edcb4b7a9bdbb
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.0.ebuild b/dev-python/shapely/shapely-2.0.0.ebuild
deleted file mode 100644
index b2f8384b73ac..000000000000
--- a/dev-python/shapely/shapely-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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-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_compile_all() {
- rm -r shapely || die
-}
diff --git a/dev-python/shapely/shapely-2.0.3.ebuild b/dev-python/shapely/shapely-2.0.3.ebuild
new file mode 100644
index 000000000000..88759a0d52d6
--- /dev/null
+++ b/dev-python/shapely/shapely-2.0.3.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
+
+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}]
+"
+
+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.4.ebuild b/dev-python/shapely/shapely-2.0.4.ebuild
new file mode 100644
index 000000000000..30e3436f91d3
--- /dev/null
+++ b/dev-python/shapely/shapely-2.0.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_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}]
+"
+
+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
new file mode 100644
index 000000000000..3a4e1df583cc
--- /dev/null
+++ b/dev-python/shellingham/Manifest
@@ -0,0 +1 @@
+DIST shellingham-1.5.4.gh.tar.gz 24276 BLAKE2B 9db0fd5b223fb8c184d9f011dddb1de0873c2084457a88cd97244137bdc5fef398cd649569cfc37b9fc57bf3f76b11643c236bdd5144a31d157884adc30dc8bb SHA512 5a56156add14a5ec9cb55ccf0a268f6c64a3e2fec90301ea31f499131560fa537ca3b3544f18944efac451fa21826114a2bbf3b54140d294d94e7ae890964800
diff --git a/dev-python/shellingham/metadata.xml b/dev-python/shellingham/metadata.xml
new file mode 100644
index 000000000000..aed35119921c
--- /dev/null
+++ b/dev-python/shellingham/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">shellingham</remote-id>
+ <remote-id type="github">sarugaku/shellingham</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/shellingham/shellingham-1.5.4.ebuild b/dev-python/shellingham/shellingham-1.5.4.ebuild
new file mode 100644
index 000000000000..385c95465815
--- /dev/null
+++ b/dev-python/shellingham/shellingham-1.5.4.ebuild
@@ -0,0 +1,32 @@
+# 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 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 ~arm64 ~riscv"
+
+DEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/shiboken2/Manifest b/dev-python/shiboken2/Manifest
index 6d6de27407b4..e0d57a9d915f 100644
--- a/dev-python/shiboken2/Manifest
+++ b/dev-python/shiboken2/Manifest
@@ -1,2 +1 @@
-DIST pyside-setup-opensource-src-5.15.7.tar.xz 3581144 BLAKE2B 95b5720a5273c96b00bdf86b36734970991a29cf0db1e6fb2c00d7e671fbc4459b4434abc91a8a47ec5d8ba694bcdae5b57a52448908fdca25c348f9ee2b6c81 SHA512 9c551b47581e4f2671c4378f1a2c0d9e565b08edee74244a7704a2c94eef1e1041d23f0e388c07bdd61067e986340907cf80f4527257a9a706f7f07c497834c6
-DIST pyside-setup-opensource-src-5.15.8.tar.xz 3582256 BLAKE2B eef6668c612c39eac4ea29db4eee0cc6eef72034babaa14525ca63cf6e02695df27bf8a6764110c4bcc77f55c7e9fb531074916a45d7ea324265e50d9a60d592 SHA512 78e19a8e8fa413bb784f16847d5774e4362409a2bd83567177b83f1391c37305d373155fb95ea569c6c483175e62a0d3f5d91a2fd5dae85d48c8047d242b9e22
+DIST pyside-setup-opensource-src-5.15.13.tar.xz 3585684 BLAKE2B be464e1a4a5e1523dbc214fdb7be7c5679f33835910d6c12ba464104f3582905f22dd3ae05cbfbb0a7b2d29748335e15d3069d25c754364f5abce85b8b6c8855 SHA512 559e1d474e382ec835cdf2bc69eb27113fdb920a96a63ab0ee022c2a9d2141e5919afd566cb82701e4d2130b142aa59fcbfd60db34823a4f03b879eee5d9e3a8
diff --git a/dev-python/shiboken2/files/shiboken2-5.15.5-add-numpy-1.23-compatibility.patch b/dev-python/shiboken2/files/shiboken2-5.15.5-add-numpy-1.23-compatibility.patch
deleted file mode 100644
index 7ce30bb2e67d..000000000000
--- a/dev-python/shiboken2/files/shiboken2-5.15.5-add-numpy-1.23-compatibility.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-https://raw.githubusercontent.com/FreeCAD/homebrew-freecad/master/patches/libshiboken-numpy-1.23.compat.patch
-
-From c238f558bb72860c15da00546a7b7924d0b90848 Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl-gentoo@posteo.net>
-Date: Thu, 21 Jul 2022 06:37:26 +0200
-Subject: [PATCH] add numpy-1.23 compatibility
-
-Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
----
- libshiboken/sbknumpyarrayconverter.cpp | 5 +++++
- 1 file changed, 5 insertions(+)
-
---- a/libshiboken/sbknumpyarrayconverter.cpp
-+++ b/libshiboken/sbknumpyarrayconverter.cpp
-@@ -116,8 +116,13 @@ std::ostream &operator<<(std::ostream &str, PyArrayObject *o)
- str << " NPY_ARRAY_NOTSWAPPED";
- if ((flags & NPY_ARRAY_WRITEABLE) != 0)
- str << " NPY_ARRAY_WRITEABLE";
-+#if NPY_VERSION >= 0x00000010 // NPY_1_23_API_VERSION
-+ if ((flags & NPY_ARRAY_WRITEBACKIFCOPY) != 0)
-+ str << " NPY_ARRAY_WRITEBACKIFCOPY";
-+#else
- if ((flags & NPY_ARRAY_UPDATEIFCOPY) != 0)
- str << " NPY_ARRAY_UPDATEIFCOPY";
-+#endif
- } else {
- str << '0';
- }
---
-2.35.1
-
diff --git a/dev-python/shiboken2/files/shiboken2-5.15.5-python311-1.patch b/dev-python/shiboken2/files/shiboken2-5.15.5-python311-1.patch
deleted file mode 100644
index 771ce2ad1886..000000000000
--- a/dev-python/shiboken2/files/shiboken2-5.15.5-python311-1.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From c87d4e27cd482918c1d091c09cfac749a56b0f99 Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl-gentoo@posteo.net>
-Date: Wed, 20 Jul 2022 07:15:57 +0200
-Subject: [PATCH 1/3]
- https://src.fedoraproject.org/fork/pviktori/rpms/python-pyside2/raw/5da9902bd8732b49eb722d71f306d4ab197c84b8/f/python3.11.patch
- https://code.qt.io/cgit/pyside/pyside-setup.git/patch/?id=52df3b8f64
- https://code.qt.io/cgit/pyside/pyside-setup.git/patch/?id=73adefe22f
- https://code.qt.io/cgit/pyside/pyside-setup.git/patch/?id=a09a1db839
-
-From b64ad27d8dfeeecaaa8a98051252a32c9d998df4 Mon Sep 17 00:00:00 2001
-From: Friedemann Kleint <Friedemann.Kleint@qt.io>
-Date: Thu, 9 Jun 2022 16:50:41 +0200
-Subject: [PATCH] libshiboken: Fix a crash in Shiboken::Object::isValid() for
- Python 3.11
-
-The function is passed type objects for class methods, which caused
-it to crash.
-
-The first clause did not catch this, and so it was cast to SbkObject
-below.
-
-Add a type check to prevent this.
-
-Pick-to: 6.3 6.2 5.15
-Task-number: PYSIDE-1960
-Change-Id: Icfdd6fefb7156ac5961444bd5395109849a1d66e
-Reviewed-by: Christian Tismer <tismer@stackless.com>
-Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
-
-Original patch no longer applies with 5.15.5.
-Manually re-applied to respect code changes.
-
-Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
---- a/libshiboken/basewrapper.cpp
-+++ b/libshiboken/basewrapper.cpp
-@@ -377,7 +377,7 @@ SbkObjectType *SbkObject_TypeF(void)
- static PyTypeObject *type = nullptr;
- if (!type) {
- type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpec(&SbkObject_Type_spec));
-- Py_TYPE(type) = SbkObjectType_TypeF();
-+ Py_SET_TYPE(type, SbkObjectType_TypeF());
- Py_INCREF(Py_TYPE(type));
- type->tp_weaklistoffset = offsetof(SbkObject, weakreflist);
- type->tp_dictoffset = offsetof(SbkObject, ob_dict);
-@@ -1152,7 +1152,7 @@ introduceWrapperType(PyObject *enclosingObject,
- typeSpec->slots[0].pfunc = reinterpret_cast<void *>(baseType ? baseType : SbkObject_TypeF());
-
- PyObject *heaptype = SbkType_FromSpecWithBases(typeSpec, baseTypes);
-- Py_TYPE(heaptype) = SbkObjectType_TypeF();
-+ Py_SET_TYPE(heaptype, SbkObjectType_TypeF());
- Py_INCREF(Py_TYPE(heaptype));
- auto *type = reinterpret_cast<SbkObjectType *>(heaptype);
- #if PY_VERSION_HEX < 0x03000000
-@@ -1517,6 +1517,7 @@ bool setCppPointer(SbkObject *sbkObj, PyTypeObject *desiredType, void *cptr)
- bool isValid(PyObject *pyObj)
- {
- if (!pyObj || pyObj == Py_None
-+ || PyType_Check(pyObj) != 0
- || Py_TYPE(Py_TYPE(pyObj)) != SbkObjectType_TypeF()) {
- return true;
- }
---- a/libshiboken/sbkenum.cpp
-+++ b/libshiboken/sbkenum.cpp
-@@ -753,7 +753,7 @@ newTypeWithName(const char *name,
- PyTuple_SetItem(bases, 0, reinterpret_cast<PyObject *>(basetype));
- auto *type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpecWithBases(&newspec, bases));
- PyErr_Print();
-- Py_TYPE(type) = SbkEnumType_TypeF();
-+ Py_SET_TYPE(type, SbkEnumType_TypeF());
-
- auto *enumType = reinterpret_cast<SbkEnumType *>(type);
- PepType_SETP(enumType)->cppName = cppName;
diff --git a/dev-python/shiboken2/files/shiboken2-5.15.5-python311-2.patch b/dev-python/shiboken2/files/shiboken2-5.15.5-python311-2.patch
deleted file mode 100644
index 54a54630cb0c..000000000000
--- a/dev-python/shiboken2/files/shiboken2-5.15.5-python311-2.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 6fc0af3753839839b227075cc2a9e43c7cd7a26d Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl-gentoo@posteo.net>
-Date: Wed, 20 Jul 2022 07:23:15 +0200
-Subject: [PATCH 2/3] From a09a1db8391243e6bb290ee66bb6e3afbb114c61 Mon Sep 17
- 00:00:00 2001 From: Friedemann Kleint <Friedemann.Kleint@qt.io> Date: Fri, 24
- Jun 2022 09:22:01 +0200 Subject: libshiboken: Fix crashes with static strings
- in Python 3.11
-
-In Python 3.11, some strings come with a refcount above decimal
-1000000000, apparently indicating that they are interned. Replace the
-mechanism by PyUnicode_InternFromString().
-
-Task-number: PYSIDE-1960
-Pick-to: 6.3 6.2 5.15
-Change-Id: I6436afee351f89da5814b5d6bc76970b1b508168
-Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
-Reviewed-by: Christian Tismer <tismer@stackless.com>
-Upstream: https://code.qt.io/cgit/pyside/pyside-setup.git/commit/?id=a09a1db8391243e6bb290ee66bb6e3afbb114c61
-
-Original patch no longer applies.
-Manually adapted to respect code changes.
-
-Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
---- a/libshiboken/sbkstring.cpp
-+++ b/libshiboken/sbkstring.cpp
-@@ -41,8 +41,14 @@
- #include "sbkstaticstrings_p.h"
- #include "autodecref.h"
-
--#include <vector>
--#include <unordered_set>
-+#if PY_VERSION_HEX >= 0x030B0000 || defined(Py_LIMITED_API)
-+# define USE_INTERN_STRINGS
-+#endif
-+
-+#ifndef USE_INTERN_STRINGS
-+# include <vector>
-+# include <unordered_set>
-+#endif
-
- namespace Shiboken
- {
-@@ -233,6 +239,13 @@ Py_ssize_t len(PyObject *str)
- // PyObject *attr = PyObject_GetAttr(obj, name());
- //
-
-+#ifdef USE_INTERN_STRINGS
-+PyObject *createStaticString(const char *str)
-+{
-+ return PyUnicode_InternFromString(str);
-+}
-+#else
-+
- using StaticStrings = std::unordered_set<PyObject *>;
-
- static void finalizeStaticStrings(); // forward
-@@ -283,6 +296,8 @@ PyObject *createStaticString(const char *str)
- return result;
- }
-
-+#endif // !USE_INTERN_STRINGS
-+
- ///////////////////////////////////////////////////////////////////////
- //
- // PYSIDE-1019: Helper function for snake_case vs. camelCase names
diff --git a/dev-python/shiboken2/files/shiboken2-5.15.5-python311-3.patch b/dev-python/shiboken2/files/shiboken2-5.15.5-python311-3.patch
deleted file mode 100644
index 9c44dc621b45..000000000000
--- a/dev-python/shiboken2/files/shiboken2-5.15.5-python311-3.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From f62a1766e5f0cf0e503a76cd755408f2c65dc947 Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl-gentoo@posteo.net>
-Date: Wed, 20 Jul 2022 07:29:37 +0200
-Subject: [PATCH 3/3] The Fedora / upstream fixes
- (shiboken2-5.15.2-python311.patch) end up breaking Python 3.8 compatibility
- (maybe 3.9 too, but didn't get that far).
-
-Wrap them with PY_VERSION_HEX for Python 3.11.
-
-Original patch no longer applied due to code changes.
-
-Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
---- a/libshiboken/basewrapper.cpp
-+++ b/libshiboken/basewrapper.cpp
-@@ -377,7 +377,11 @@ SbkObjectType *SbkObject_TypeF(void)
- static PyTypeObject *type = nullptr;
- if (!type) {
- type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpec(&SbkObject_Type_spec));
-- Py_SET_TYPE(type, SbkObjectType_TypeF());
-+ #if PY_VERSION_HEX < 0x030B00A1
-+ Py_TYPE(type) = SbkObjectType_TypeF();
-+ #else
-+ Py_SET_TYPE(type, SbkObjectType_TypeF());
-+ #endif
- Py_INCREF(Py_TYPE(type));
- type->tp_weaklistoffset = offsetof(SbkObject, weakreflist);
- type->tp_dictoffset = offsetof(SbkObject, ob_dict);
-@@ -1152,7 +1156,11 @@ introduceWrapperType(PyObject *enclosingObject,
- typeSpec->slots[0].pfunc = reinterpret_cast<void *>(baseType ? baseType : SbkObject_TypeF());
-
- PyObject *heaptype = SbkType_FromSpecWithBases(typeSpec, baseTypes);
-- Py_SET_TYPE(heaptype, SbkObjectType_TypeF());
-+ #if PY_VERSION_HEX < 0x030B00A1
-+ Py_TYPE(heaptype) = SbkObjectType_TypeF();
-+ #else
-+ Py_SET_TYPE(heaptype, SbkObjectType_TypeF());
-+ #endif
- Py_INCREF(Py_TYPE(heaptype));
- auto *type = reinterpret_cast<SbkObjectType *>(heaptype);
- #if PY_VERSION_HEX < 0x03000000
---- a/libshiboken/sbkenum.cpp
-+++ b/libshiboken/sbkenum.cpp
-@@ -753,7 +753,11 @@ newTypeWithName(const char *name,
- PyTuple_SetItem(bases, 0, reinterpret_cast<PyObject *>(basetype));
- auto *type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpecWithBases(&newspec, bases));
- PyErr_Print();
-- Py_SET_TYPE(type, SbkEnumType_TypeF());
-+ #if PY_VERSION_HEX < 0x030B00A1
-+ Py_TYPE(type) = SbkEnumType_TypeF();
-+ #else
-+ Py_SET_TYPE(type, SbkEnumType_TypeF());
-+ #endif
-
- auto *enumType = reinterpret_cast<SbkEnumType *>(type);
- PepType_SETP(enumType)->cppName = cppName;
diff --git a/dev-python/shiboken2/files/shiboken2-5.15.6-fix-pyside2-compile.patch b/dev-python/shiboken2/files/shiboken2-5.15.6-fix-pyside2-compile.patch
deleted file mode 100644
index 1af6ad5aef7d..000000000000
--- a/dev-python/shiboken2/files/shiboken2-5.15.6-fix-pyside2-compile.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/libshiboken/embed/signature_bootstrap.py 2022-09-08 23:54:19.419724864 +0200
-+++ b/libshiboken/embed/signature_bootstrap.py 2022-09-08 23:55:04.494277606 +0200
-@@ -211,7 +211,7 @@
- return self if self._mod2path.get(fullname) else None
-
- def load_module(self, fullname):
-- import importlib
-+ import importlib.machinery
- import sys
-
- filename = self._mod2path.get(fullname)
diff --git a/dev-python/shiboken2/files/shiboken2-5.15.8-py-limited-api.patch b/dev-python/shiboken2/files/shiboken2-5.15.8-py-limited-api.patch
deleted file mode 100644
index 143eb24a103a..000000000000
--- a/dev-python/shiboken2/files/shiboken2-5.15.8-py-limited-api.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/libshiboken/pep384impl.cpp 2022-09-23 08:47:20.000000000 +0200
-+++ b/libshiboken/pep384impl.cpp 2023-01-04 08:07:17.000000000 +0100
-@@ -751,7 +751,7 @@
- #endif // IS_PY2
- Shiboken::AutoDecRef privateobj(PyObject_GetAttr(
- reinterpret_cast<PyObject *>(Py_TYPE(self)), Shiboken::PyMagicName::name()));
--#ifndef Py_LIMITED_API
-+#if !defined(Py_LIMITED_API) && PY_VERSION_HEX < 0x03010000
- return _Py_Mangle(privateobj, name);
- #else
- // PYSIDE-1436: _Py_Mangle is no longer exposed; implement it always.
diff --git a/dev-python/shiboken2/shiboken2-5.15.13.ebuild b/dev-python/shiboken2/shiboken2-5.15.13.ebuild
new file mode 100644
index 000000000000..5f59891075fe
--- /dev/null
+++ b/dev-python/shiboken2/shiboken2-5.15.13.ebuild
@@ -0,0 +1,172 @@
+# 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="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.
+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 )
+"
+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/shiboken2/shiboken2-5.15.7.ebuild b/dev-python/shiboken2/shiboken2-5.15.7.ebuild
deleted file mode 100644
index ce1269accfbc..000000000000
--- a/dev-python/shiboken2/shiboken2-5.15.7.ebuild
+++ /dev/null
@@ -1,174 +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_{9..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 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-2)*: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 )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-5.15.5-python311-1.patch
- "${FILESDIR}"/${PN}-5.15.5-python311-2.patch
- "${FILESDIR}"/${PN}-5.15.5-python311-3.patch
- "${FILESDIR}"/${PN}-5.15.6-fix-pyside2-compile.patch
- "${FILESDIR}"/${PN}-5.15.5-add-numpy-1.23-compatibility.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
-
- # 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
-
- # 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/'$(CPP=clang clang-fullversion)'/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-${PV}/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.8.ebuild b/dev-python/shiboken2/shiboken2-5.15.8.ebuild
deleted file mode 100644
index bb0a98d609b4..000000000000
--- a/dev-python/shiboken2/shiboken2-5.15.8.ebuild
+++ /dev/null
@@ -1,175 +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_{9..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 ~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-2)*: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 )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-5.15.5-python311-1.patch
- "${FILESDIR}"/${PN}-5.15.5-python311-2.patch
- "${FILESDIR}"/${PN}-5.15.5-python311-3.patch
- "${FILESDIR}"/${PN}-5.15.6-fix-pyside2-compile.patch
- "${FILESDIR}"/${PN}-5.15.8-py-limited-api.patch
- "${FILESDIR}"/${PN}-5.15.5-add-numpy-1.23-compatibility.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
-
- # 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
-
- # 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/'$(CPP=clang clang-fullversion)'/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-${PV}/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 1f656317eec9..c66692a09951 100644
--- a/dev-python/shiboken6/Manifest
+++ b/dev-python/shiboken6/Manifest
@@ -1 +1,2 @@
-DIST pyside-setup-opensource-src-6.4.2.tar.xz 8759528 BLAKE2B cc1a18e9dc81eb02bbfffd38816da68f053337f94c485fdd2f99488ae7ade2e899be1d98518def8f39a4eeaeaff6018ff09402bfe55b3484d78d8c4d9796b4e7 SHA512 129ea420000fceef9726fab9e0320e8286a34aa0855fc4bd369adc0020b76909b3a5ac8c3fa622b73da1561b39dcaeb8ac121f634918e2c0460a9ebaccb0f659
+DIST pyside-setup-everywhere-src-6.6.2.tar.xz 13975896 BLAKE2B b4572e58613e5446692e8c4cef28156fd0126ecda0c6334652ce49c6c7ce4614dbf2400c693addaa38e9b6cca9e331b9fe84c83ddb26e7014b8603afe2c54ad6 SHA512 1d23d27a4cbe74434ec5d391172416d324b4c92181401444821b456b4e27dabbdb3dcaad685a22b62c09f750555a4e626bbb6406a2fbde1cf4ec5c8bbb64cda5
+DIST pyside-setup-everywhere-src-6.7.0.tar.xz 14382456 BLAKE2B 607e496cdeb7e55166b4f0dc15662a8792c7d8925856e8edbb927dfdc33342d158f430e3433d3d4a78ea33740e333fb2422ea1f4332408c3c6214f92d31bdd0d SHA512 7801d564d8d359edec431dc0e6f170538b9fc6f834cb7ab8eff41c1989bffb619c446d4d62d65db2a5b7592c0bff5d450d42de2797726658fe1a8f53df8a4c14
diff --git a/dev-python/shiboken6/shiboken6-6.4.2.ebuild b/dev-python/shiboken6/shiboken6-6.4.2.ebuild
deleted file mode 100644
index 48247772bd81..000000000000
--- a/dev-python/shiboken6/shiboken6-6.4.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
-
-# 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_{9..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/PySide6"
-SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_P}.tar.xz"
-S="${WORKDIR}/${MY_P}/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-2)*:6"
-
-# Since Clang is required at both build- and runtime, BDEPEND is omitted here.
-LLVM_MAX_SLOT=15
-RDEPEND="${PYTHON_DEPS}
- =dev-qt/qtbase-${QT_PV}
- <sys-devel/clang-16:=
- <sys-devel/clang-runtime-16:=
- 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
-
- # 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/'$(CPP=clang clang-fullversion)'/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-${PV}/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.2-r1.ebuild b/dev-python/shiboken6/shiboken6-6.6.2-r1.ebuild
new file mode 100644
index 000000000000..181ab1d02922
--- /dev/null
+++ b/dev-python/shiboken6/shiboken6-6.6.2-r1.ebuild
@@ -0,0 +1,180 @@
+# 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..12} )
+
+LLVM_COMPAT=( {15..17} )
+
+inherit cmake flag-o-matic 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="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.
+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 )
+"
+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() {
+ # -Werror=odr
+ # https://bugs.gentoo.org/925479
+ # https://bugreports.qt.io/browse/PYSIDE-2619
+ filter-lto
+
+ # 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}"
+ -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/shiboken6/shiboken6-6.7.0.ebuild b/dev-python/shiboken6/shiboken6-6.7.0.ebuild
new file mode 100644
index 000000000000..faac009c177a
--- /dev/null
+++ b/dev-python/shiboken6/shiboken6-6.7.0.ebuild
@@ -0,0 +1,179 @@
+# 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..12} )
+
+LLVM_COMPAT=( {15..18} )
+
+inherit cmake flag-o-matic 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="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.
+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 )
+"
+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() {
+ # -Werror=odr
+ # https://bugs.gentoo.org/925479
+ # https://bugreports.qt.io/browse/PYSIDE-2619
+ filter-lto
+
+ # 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..b6254c544da0
--- /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..12} 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 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/Manifest b/dev-python/signature-dispatch/Manifest
new file mode 100644
index 000000000000..8fff41ba4459
--- /dev/null
+++ b/dev-python/signature-dispatch/Manifest
@@ -0,0 +1 @@
+DIST signature_dispatch-1.0.1.tar.gz 15348 BLAKE2B 35356caae5f6f7ba28494c02142addb581a36520b8becd2e0e132f1e4a37002870c981475688b758a4733341d67cc4cb30b2a7b69b3d106570766eeed36104fc SHA512 656fb47c50d865d1afec53f389154e783792bcedd7443442a142d19bcbd352fe0eff41ae9ef74378bafc164bb386a8e9a6f57d762f34ad23557a44a5d0d0f5de
diff --git a/dev-python/signature_dispatch/metadata.xml b/dev-python/signature-dispatch/metadata.xml
index ef90611fa33d..ef90611fa33d 100644
--- a/dev-python/signature_dispatch/metadata.xml
+++ b/dev-python/signature-dispatch/metadata.xml
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
new file mode 100644
index 000000000000..04f5a4598f15
--- /dev/null
+++ b/dev-python/signature-dispatch/signature-dispatch-1.0.1-r1.ebuild
@@ -0,0 +1,36 @@
+# 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="Execute the first function that matches the given arguments"
+HOMEPAGE="
+ https://github.com/kalekundert/signature_dispatch/
+ https://pypi.org/project/signature-dispatch/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+distutils_enable_tests pytest
+
+RDEPEND="
+ >=dev-python/typeguard-3.0.0[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ # unpin deps
+ sed -i -e 's:~=:>=:' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts=
+}
diff --git a/dev-python/signature_dispatch/Manifest b/dev-python/signature_dispatch/Manifest
deleted file mode 100644
index 82b92a7f258f..000000000000
--- a/dev-python/signature_dispatch/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST signature_dispatch-1.0.0.tar.gz 15102 BLAKE2B d0fe384551136d23f815129849ec70c0d1bd8616dab571122b7407578f3cc0d614fc5c44f3de5d9541bed9e9e3a0887517fff1183fd6c782bde603d774fe09f1 SHA512 c13ac92f50a8bd7a9fcd0b231f74a14539fd9c0303fdb29860a93116512a20113708c3207c4b2d8f61a48a9632e8cd21f7ea3fcb49ae3a4b1c79eb6a71df4eab
diff --git a/dev-python/signature_dispatch/signature_dispatch-1.0.0-r1.ebuild b/dev-python/signature_dispatch/signature_dispatch-1.0.0-r1.ebuild
deleted file mode 100644
index 4d3525a752f5..000000000000
--- a/dev-python/signature_dispatch/signature_dispatch-1.0.0-r1.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
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Execute the first function that matches the given arguments"
-HOMEPAGE="
- https://github.com/kalekundert/signature_dispatch/
- https://pypi.org/project/signature-dispatch/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-distutils_enable_tests pytest
-
-RDEPEND="
- dev-python/typeguard[${PYTHON_USEDEP}]
-"
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/signedjson/metadata.xml b/dev-python/signedjson/metadata.xml
index e1c378c4a4a7..5c19a7f8df46 100644
--- a/dev-python/signedjson/metadata.xml
+++ b/dev-python/signedjson/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>arkamar@atlas.cz</email>
+ <maintainer type="person">
+ <email>arkamar@gentoo.org</email>
<name>Petr Vaněk</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">signedjson</remote-id>
diff --git a/dev-python/signedjson/signedjson-1.1.4.ebuild b/dev-python/signedjson/signedjson-1.1.4.ebuild
index 8c361d0b228f..a1b79283e894 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 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -19,15 +19,15 @@ S="${WORKDIR}/python-${P}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ~ppc64"
RDEPEND="
dev-python/canonicaljson[${PYTHON_USEDEP}]
dev-python/pynacl[${PYTHON_USEDEP}]
dev-python/unpaddedbase64[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/importlib_metadata[${PYTHON_USEDEP}]
- ' python3_9)
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
"
distutils_enable_tests unittest
diff --git a/dev-python/simber/Manifest b/dev-python/simber/Manifest
index 3d64ac9c0701..21f41b229d50 100644
--- a/dev-python/simber/Manifest
+++ b/dev-python/simber/Manifest
@@ -1,2 +1 @@
-DIST simber-0.2.4.tar.gz 91600 BLAKE2B 64ef49a8458fc98bfe87ceaeaa7bfcf9f76c8283f8a80cd918dcc8709ca5f4c2b1d657fda345812b3cb280855f3bc7bc9e3d8045b593bc8dd9dbc134f84e0e81 SHA512 17def9e8c6f0695ec36b5e48011d2db892436b7076203fe008aac7c8c2ce0e0ab9cc5be45f6eb136984f41997a7e91549c77cb1761b65694039619bdb8397ae1
-DIST simber-0.2.5.gh.tar.gz 91615 BLAKE2B 7cf1367033cfb174deee87cbc97ca2ec22ba9d12e9be489526d489244ca516ba8af32d409beee88d9dd8ebf60e8d68a25b2cf1111eddd2a118a12ca28ab1a43d SHA512 254b0eca4447ee63eeec8a7e5e3e07667fd6b839c3ae5307dffb5326770807720cb2e3afb5a131721e3c44a9e6ddcbd15e1a36824f0bcf1ac8c7b3c4024e44ea
+DIST simber-0.2.6.gh.tar.gz 91616 BLAKE2B 7c5cd87ba3c87315369f9d966f11cadc1578c410bf99c0d2f82f89bf4f3f008d32b6ce35126110db7ea218e6eabcb19e0a54e401cfa53610432a0e4ef381d4a7 SHA512 805f5c4aa08e1a6af803528648d3359d745fafba5e44ac416a8bdfc1e9c4ec80e9436aecd82e5b8efb16ec8b346074dc5b1300026ae21e4211777a0eb1642986
diff --git a/dev-python/simber/simber-0.2.4.ebuild b/dev-python/simber/simber-0.2.4.ebuild
deleted file mode 100644
index cda45aa85d1d..000000000000
--- a/dev-python/simber/simber-0.2.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple, minimal and powerful logging library for Python"
-HOMEPAGE="https://simber.deepjyoti30.dev/"
-SRC_URI="https://github.com/deepjyoti30/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="dev-python/colorama[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/simber/simber-0.2.5.ebuild b/dev-python/simber/simber-0.2.5.ebuild
deleted file mode 100644
index 2c80d2f6ff4a..000000000000
--- a/dev-python/simber/simber-0.2.5.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple, minimal and powerful logging library for Python"
-HOMEPAGE="https://simber.deepjyoti30.dev/"
-SRC_URI="https://github.com/deepjyoti30/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-RDEPEND="dev-python/colorama[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/simber/simber-0.2.6.ebuild b/dev-python/simber/simber-0.2.6.ebuild
new file mode 100644
index 000000000000..a377b0c08c7b
--- /dev/null
+++ b/dev-python/simber/simber-0.2.6.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Simple, minimal and powerful logging library for Python"
+HOMEPAGE="
+ https://simber.deepjyoti30.dev/
+ https://github.com/deepjyoti30/simber/
+ https://pypi.org/project/simber/
+"
+SRC_URI="
+ https://github.com/deepjyoti30/simber/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND="
+ dev-python/colorama[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/simpervisor/Manifest b/dev-python/simpervisor/Manifest
index a171d257661e..615cece994e9 100644
--- a/dev-python/simpervisor/Manifest
+++ b/dev-python/simpervisor/Manifest
@@ -1 +1 @@
-DIST simpervisor-0.4.gh.tar.gz 8542 BLAKE2B bd96284b65468110f445e96a9978b67bc73b0a0f188dcaf592f42291937130e72247195b8ce142726ba430716b87283d844003bb0980de952531639417a23f50 SHA512 4aea0071d6a486c7b27fc39fa02d7b610d680c90ba07f3c27c3d98b132b79b97bcb5c7847ce9d3ca7bb46663f91494e0012c8c9e14017ca1c591fb6312419692
+DIST simpervisor-1.0.0.tar.gz 14637 BLAKE2B 3e87cca2478f29e044cafa0f5da6a5c8cfdf61f5c39ce87a0a6bae91670463d894e5c23af53c915b7d3469eade8d26947ea2e5c05c6d491bd33222e817319100 SHA512 0074ca5da0839f7bcf3f692f33f9a27358409bc194cfe04ff906aaec5f4cfbd613ccd285612ac473f5b6452a5c31959c098955a1962755a5c09258ded0d2a430
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-0.4-r1.ebuild b/dev-python/simpervisor/simpervisor-0.4-r1.ebuild
deleted file mode 100644
index f9fcb6063028..000000000000
--- a/dev-python/simpervisor/simpervisor-0.4-r1.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
-inherit distutils-r1
-
-DESCRIPTION="Simple Python3 Supervisor library"
-HOMEPAGE="https://github.com/jupyterhub/simpervisor"
-SRC_URI="https://github.com/jupyterhub/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/aiohttp[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
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..344831934f52
--- /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..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
+
+PATCHES=(
+ # https://github.com/jupyterhub/simpervisor/pull/50
+ "${FILESDIR}/${P}-yarl.patch"
+)
diff --git a/dev-python/simple-websocket/Manifest b/dev-python/simple-websocket/Manifest
new file mode 100644
index 000000000000..31f5a525b29c
--- /dev/null
+++ b/dev-python/simple-websocket/Manifest
@@ -0,0 +1 @@
+DIST simple-websocket-1.0.0.gh.tar.gz 19082 BLAKE2B d1ac2d0838e22de023f44e1a12780166b00a0dc39707e8953c8783c98f2fc4fc1ad5701401117cc45b7596d95acbb734fae82a27e50be48f684ad2caeafd428f SHA512 63ccc19fe09f675e098f33d32659d1314b573893014bc203abb285c3ff6c04916fd6b592bcf50cc9d65d40d4ebe739e686ac53257ff8407de60312d6e21ca1b5
diff --git a/dev-python/simple-websocket/metadata.xml b/dev-python/simple-websocket/metadata.xml
new file mode 100644
index 000000000000..5a1a20b8352f
--- /dev/null
+++ b/dev-python/simple-websocket/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">miguelgrinberg/simple-websocket</remote-id>
+ <remote-id type="pypi">simple-websocket</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/simple-websocket/simple-websocket-1.0.0.ebuild b/dev-python/simple-websocket/simple-websocket-1.0.0.ebuild
new file mode 100644
index 000000000000..151639b180df
--- /dev/null
+++ b/dev-python/simple-websocket/simple-websocket-1.0.0.ebuild
@@ -0,0 +1,31 @@
+# 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="Simple WebSocket server and client for Python"
+HOMEPAGE="
+ https://github.com/miguelgrinberg/simple-websocket/
+ https://pypi.org/project/simple-websocket/
+"
+# upstream refuses to provide working tests in sdist
+# https://github.com/miguelgrinberg/simple-websocket/issues/31
+SRC_URI="
+ https://github.com/miguelgrinberg/simple-websocket/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/wsproto[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/simplebayes/simplebayes-1.5.8-r1.ebuild b/dev-python/simplebayes/simplebayes-1.5.8-r1.ebuild
new file mode 100644
index 000000000000..92d03eb3ba62
--- /dev/null
+++ b/dev-python/simplebayes/simplebayes-1.5.8-r1.ebuild
@@ -0,0 +1,16 @@
+# Copyright 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="memory-based, optional-persistence naive bayesian text classifier"
+HOMEPAGE="https://github.com/hickeroar/simplebayes"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/simplebayes/simplebayes-1.5.8.ebuild b/dev-python/simplebayes/simplebayes-1.5.8.ebuild
deleted file mode 100644
index 5b6c9ab5196c..000000000000
--- a/dev-python/simplebayes/simplebayes-1.5.8.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="memory-based, optional-persistence naive bayesian text classifier"
-HOMEPAGE="https://github.com/hickeroar/simplebayes"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/simpleeval/Manifest b/dev-python/simpleeval/Manifest
index 2c4d541389ec..299e03a797b8 100644
--- a/dev-python/simpleeval/Manifest
+++ b/dev-python/simpleeval/Manifest
@@ -1 +1 @@
-DIST simpleeval-0.9.12.tar.gz 22693 BLAKE2B 6c0b08859df8b7b55970d0d2a96d2b58a98c9bf43efed4952c7f0220594b1aa531398e881b9fa41caf40d2bd8d5d2e615c4da724a2850ddc05f9bfbda52c8841 SHA512 9b00bfd13a7c7bd05c1c68c43dcd2b52abe0ea648d640780a05499c95ff96bb4366add1d92086ec7e840075fcbff692e133ddbf4c2b8497dd80e115c24367641
+DIST simpleeval-0.9.13.tar.gz 24535 BLAKE2B 1cf644cac8e334725eb2a6c0d058b50646b3b405b1cf91a426b2c1701525b4b11f154c5990e267434537657850d29a760f30612834ec5d4c5870580767404cf7 SHA512 e8d518e16f68a2e5f28bc4fe056851b8e1507a147539820afb52e606a8815d5962fe9144c106e361213b4af7903e93e1d2db9a7e759b5ac488e8614de90a8ae7
diff --git a/dev-python/simpleeval/simpleeval-0.9.12-r1.ebuild b/dev-python/simpleeval/simpleeval-0.9.12-r1.ebuild
deleted file mode 100644
index 6db2dcd2aa93..000000000000
--- a/dev-python/simpleeval/simpleeval-0.9.12-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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A simple, safe single expression evaluator library"
-HOMEPAGE="
- https://github.com/danthedeckie/simpleeval/
- https://pypi.org/project/simpleeval/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-distutils_enable_tests unittest
diff --git a/dev-python/simpleeval/simpleeval-0.9.13.ebuild b/dev-python/simpleeval/simpleeval-0.9.13.ebuild
new file mode 100644
index 000000000000..f51252b0f2d6
--- /dev/null
+++ b/dev-python/simpleeval/simpleeval-0.9.13.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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, safe single expression evaluator library"
+HOMEPAGE="
+ https://github.com/danthedeckie/simpleeval/
+ https://pypi.org/project/simpleeval/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+distutils_enable_tests unittest
diff --git a/dev-python/simplegeneric/simplegeneric-0.8.1-r2.ebuild b/dev-python/simplegeneric/simplegeneric-0.8.1-r2.ebuild
index a26a78b5e527..b08472dd32da 100644
--- a/dev-python/simplegeneric/simplegeneric-0.8.1-r2.ebuild
+++ b/dev-python/simplegeneric/simplegeneric-0.8.1-r2.ebuild
@@ -4,18 +4,20 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Simple generic functions for Python"
HOMEPAGE="https://pypi.org/project/simplegeneric/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+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"
+BDEPEND="
+ app-arch/unzip
+"
distutils_enable_tests setup.py
diff --git a/dev-python/simplejson/Manifest b/dev-python/simplejson/Manifest
index 4d003c72bbc6..070b48b4c162 100644
--- a/dev-python/simplejson/Manifest
+++ b/dev-python/simplejson/Manifest
@@ -1,2 +1 @@
-DIST simplejson-3.18.0.tar.gz 83533 BLAKE2B 83c6f7f3734507f5a96b51d52dd39b0bd8ff772d51ce1f12ff2ee68f83747f519f418f78247727af7c408da4e7818d1b0d1f7b54b7780e3bc427add1eeaebb06 SHA512 952177fc707e5b1fb6450093876f9a7af1026271cb792bb8dc0418b83906ae32e7f2251b96f531101197d0b3204a97124bff02f7abc4cf700da4edf1320b6b08
-DIST simplejson-3.18.1.tar.gz 83603 BLAKE2B 5f51d06238210b0bdd3dbb2338979023324e1056c2278f7eef7b929cc0bf9f9178d032829a3ce49c0b630f3367268d68753f250968962159e9a9aafcd3105d20 SHA512 3a18d02f42624e27c536582cf9b6ceb8559d54dd97224294a6f6ee8173ee37c0cc9cd21bad777c29ab432ac41b1495fca9d45da300b5040c175980d236d3b9d6
+DIST simplejson-3.19.2.tar.gz 85311 BLAKE2B eecbe77c9612468a0ce52b165be9b4fc4b3d8bcca99621a2723c50fc0c89cdce981421ba71b85535f1c66b48b7178da37f117f9dec8a66cb6f3fe83e3d2d033e SHA512 d92bf617e27b66d93a5d176d38c0c6ae2777728d1e43fdb8054cc9c2b50e3f340079c82dd3ec1af36c8d6380833d16e8eecdc8dd950bba953c195256b44b46c5
diff --git a/dev-python/simplejson/metadata.xml b/dev-python/simplejson/metadata.xml
index 1f5def0900e2..d7d1eb0b9a7a 100644
--- a/dev-python/simplejson/metadata.xml
+++ b/dev-python/simplejson/metadata.xml
@@ -9,4 +9,10 @@
<remote-id type="pypi">simplejson</remote-id>
<remote-id type="github">simplejson/simplejson</remote-id>
</upstream>
+ <use>
+ <flag name="native-extensions">
+ Compiles native "C" extensions (speedups, instead of using Python
+ fallback code).
+ </flag>
+ </use>
</pkgmetadata>
diff --git a/dev-python/simplejson/simplejson-3.18.0.ebuild b/dev-python/simplejson/simplejson-3.18.0.ebuild
deleted file mode 100644
index d555e3c59226..000000000000
--- a/dev-python/simplejson/simplejson-3.18.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple, fast, extensible JSON encoder/decoder for Python"
-HOMEPAGE="
- https://github.com/simplejson/simplejson/
- https://pypi.org/project/simplejson/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="|| ( MIT AFL-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"
-
-DOCS=( README.rst CHANGES.txt )
-
-distutils_enable_tests unittest
diff --git a/dev-python/simplejson/simplejson-3.18.1.ebuild b/dev-python/simplejson/simplejson-3.18.1.ebuild
deleted file mode 100644
index 5ba52f56ab5f..000000000000
--- a/dev-python/simplejson/simplejson-3.18.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple, fast, extensible JSON encoder/decoder for Python"
-HOMEPAGE="
- https://github.com/simplejson/simplejson/
- https://pypi.org/project/simplejson/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="|| ( MIT AFL-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"
-
-DOCS=( README.rst CHANGES.txt )
-
-distutils_enable_tests unittest
diff --git a/dev-python/simplejson/simplejson-3.19.2.ebuild b/dev-python/simplejson/simplejson-3.19.2.ebuild
new file mode 100644
index 000000000000..a014c1d7ed9b
--- /dev/null
+++ b/dev-python/simplejson/simplejson-3.19.2.ebuild
@@ -0,0 +1,37 @@
+# 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="Simple, fast, extensible JSON encoder/decoder for Python"
+HOMEPAGE="
+ https://github.com/simplejson/simplejson/
+ https://pypi.org/project/simplejson/
+"
+
+LICENSE="|| ( MIT AFL-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="+native-extensions"
+
+DOCS=( README.rst CHANGES.txt )
+
+distutils_enable_tests unittest
+
+src_configure() {
+ # native-extensions are always disabled on PyPy
+ # https://github.com/simplejson/simplejson/blob/master/setup.py#L121
+ export DISABLE_SPEEDUPS=$(usex native-extensions 0 1)
+ use native-extensions && export REQUIRE_SPEEDUPS=1
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ eunittest
+}
diff --git a/dev-python/simplekml/simplekml-1.3.6.ebuild b/dev-python/simplekml/simplekml-1.3.6.ebuild
index 645b49609abb..a022f1c8ea54 100644
--- a/dev-python/simplekml/simplekml-1.3.6.ebuild
+++ b/dev-python/simplekml/simplekml-1.3.6.ebuild
@@ -4,12 +4,11 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{9..12} )
+inherit distutils-r1 pypi
DESCRIPTION="Enables you to generate KML with as little effort as possible"
HOMEPAGE="https://pypi.org/project/simplekml/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="LGPL-3+"
SLOT="0"
diff --git a/dev-python/simpy/Manifest b/dev-python/simpy/Manifest
index 63995277851e..70d4057cdda7 100644
--- a/dev-python/simpy/Manifest
+++ b/dev-python/simpy/Manifest
@@ -1 +1,3 @@
-DIST simpy-4.0.1.tar.gz 410082 BLAKE2B 09c6f29d2792ac15bb4a3b42a1cdbd4d342aca0ef528aadbe37e01342534645939c9663977230ec7f6f1542a4354925e25f0c5b3bf6e20b29b6da2e69f3d5a90 SHA512 5cc4baada79503e3c2f2425b9f7f00d68f263283ff0cae048fba86665c4dcf70590683f6b7df50d1c1a914ac7cb471ed4b6850676030bea4a3a70fb40eb2cdb4
+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/metadata.xml b/dev-python/simpy/metadata.xml
index c4ff96460cc7..d58672bc0f31 100644
--- a/dev-python/simpy/metadata.xml
+++ b/dev-python/simpy/metadata.xml
@@ -6,7 +6,7 @@
<name>Gentoo Science Project</name>
</maintainer>
<upstream>
+ <remote-id type="gitlab">team-simpy/simpy</remote-id>
<remote-id type="pypi">simpy</remote-id>
- <remote-id type="sourceforge">simpy</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/simpy/simpy-4.0.1-r1.ebuild b/dev-python/simpy/simpy-4.0.1-r1.ebuild
deleted file mode 100644
index 6d5fd0b4f6ec..000000000000
--- a/dev-python/simpy/simpy-4.0.1-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
-
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="tk"
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-MY_P="${P/simpy/SimPy}"
-
-DESCRIPTION="Object-oriented, process-based discrete-event simulation language"
-HOMEPAGE="https://simpy.readthedocs.io/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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
diff --git a/dev-python/simpy/simpy-4.0.2.ebuild b/dev-python/simpy/simpy-4.0.2.ebuild
new file mode 100644
index 000000000000..015074f13c0e
--- /dev/null
+++ b/dev-python/simpy/simpy-4.0.2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 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
new file mode 100644
index 000000000000..e7d76b0c98c1
--- /dev/null
+++ b/dev-python/simpy/simpy-4.1.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 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
new file mode 100644
index 000000000000..86e3ba5a6814
--- /dev/null
+++ b/dev-python/simpy/simpy-4.1.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 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/sip/Manifest b/dev-python/sip/Manifest
index f33cd69f4a37..7ee71215d482 100644
--- a/dev-python/sip/Manifest
+++ b/dev-python/sip/Manifest
@@ -1,2 +1,2 @@
-DIST sip-4.19.25.tar.gz 1056384 BLAKE2B f92e105e6b30e871aea2883dc9cd459e4032fb139a9eaff153a3412a66b39df4d7ac985711a2693aee83195ff3850ae648bee4102f7fc3cc30d09885799f2b98 SHA512 60fb4133c68869bf0993144978b4847d94a0f9c7b477f64a346ea133cfe35bc11820204ab327dcf9a929b6f65a26d16cc7efbce65e49967c3347b39376e57001
-DIST sip-6.7.5.tar.gz 1160691 BLAKE2B 64572687e026854c3e8ba7de637925f13a880e51e574993e37190b9b1fafa1850da686600a652bab9d399f58516e2c4e4d8a93f5fb13d53a12ecc5ec3885a98c SHA512 2dc38a6c0489e374a016b7db1f9443bb5d2fb29dc1fa7647ed2dd5bb4aa8758586e2b85569f9fb3b992e15eded0f7a783ec1a53b3d18bee3f8be53d43b79b7b9
+DIST sip-6.8.3.gh.tar.gz 585528 BLAKE2B 2a58edba0f7ca9da02399df9fe71f152ef8446c38886ca2a21c00ef3ac65e0a82493a6047120d6f786e5b26f974c9cac24a329f1a52d9c47f9669afe2f0789b4 SHA512 6ff5fa59a55d71a3303553d2c53879fc9ccc01b9db34da149a7b81e252613327c7390c5a2edeaec03381dbc36ed38aa4ce44d69560c277ecc3875a57e7d75a60
+DIST sip-6.8.3.tar.gz 987656 BLAKE2B 57cc4010aae64eec7e0f338d9653463c7381b639aa8efca978a3f3296550a37b3a09b52933a2c2cd354a65155841952d7ca045b0b774945a382c29a8d597951e SHA512 8a0ff1c16ead4c2b1c53963a015fb3d149362f649eeec2523e6b243945493f28f5ecf29aabbf5cee5f7909ded40d64a1f469d2d0c1b3c33244e6213ab23ec733
diff --git a/dev-python/sip/files/sip-4.18-darwin.patch b/dev-python/sip/files/sip-4.18-darwin.patch
deleted file mode 100644
index 6dd45ac024e3..000000000000
--- a/dev-python/sip/files/sip-4.18-darwin.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -ru sip-4.18.orig/siputils.py sip-4.18/siputils.py
---- sip-4.18.orig/siputils.py 2016-04-16 22:38:22.662502890 +0200
-+++ sip-4.18/siputils.py 2016-04-16 22:38:39.881551111 +0200
-@@ -946,8 +946,6 @@
- """
- if self.generator in ("MSVC", "MSVC.NET", "MSBUILD", "BMAKE"):
- plib = clib + ".lib"
-- elif sys.platform == "darwin" and framework:
-- plib = "-framework " + clib
- else:
- plib = "-l" + clib
-
-@@ -962,8 +960,6 @@
- """
- if self.generator in ("MSVC", "MSVC.NET", "MSBUILD", "BMAKE"):
- prl_name = os.path.join(self.config.qt_lib_dir, clib + ".prl")
-- elif sys.platform == "darwin" and framework:
-- prl_name = os.path.join(self.config.qt_lib_dir, clib + ".framework", clib + ".prl")
- else:
- prl_name = os.path.join(self.config.qt_lib_dir, "lib" + clib + ".prl")
-
-@@ -1639,7 +1635,7 @@
- if sys.platform == "win32":
- ext = "pyd"
- elif sys.platform == "darwin":
-- ext = "so"
-+ ext = "bundle"
- elif sys.platform == "cygwin":
- ext = "dll"
- else:
diff --git a/dev-python/sip/files/sip-6.7.5-tomli.patch b/dev-python/sip/files/sip-6.7.5-tomli.patch
deleted file mode 100644
index c785e41f265a..000000000000
--- a/dev-python/sip/files/sip-6.7.5-tomli.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 586606d..312a431 100644
---- a/setup.py
-+++ b/setup.py
-@@ -51,7 +51,7 @@ setup(
- version=version,
- license='SIP',
- python_requires='>=3.7',
-- install_requires=['packaging', 'ply', 'setuptools', 'toml'],
-+ install_requires=['packaging', 'ply', 'setuptools', 'tomli; python_version<"3.11"'],
- packages=find_packages(),
- package_data={
- 'sipbuild.module': ['source/*/*'],
-diff --git a/sip.egg-info/requires.txt b/sip.egg-info/requires.txt
-index b465c08..8547535 100644
---- a/sip.egg-info/requires.txt
-+++ b/sip.egg-info/requires.txt
-@@ -1,4 +1,4 @@
- packaging
- ply
- setuptools
--toml
-+tomli; python_version<"3.11"
-diff --git a/sipbuild/bindings_configuration.py b/sipbuild/bindings_configuration.py
-index 8197e27..a942f3f 100644
---- a/sipbuild/bindings_configuration.py
-+++ b/sipbuild/bindings_configuration.py
-@@ -22,11 +22,16 @@
-
-
- import os
--import toml
-+import sys
-
- from .exceptions import UserFileException, UserParseException
- from .module import resolve_abi_version
-
-+if sys.version_info >= (3, 11):
-+ import tomllib
-+else:
-+ import tomli as tomllib
-+
-
- def get_bindings_configuration(abi_major, sip_file, sip_include_dirs):
- """ Get the configuration of a set of bindings. """
-@@ -47,7 +52,8 @@ def get_bindings_configuration(abi_major, sip_file, sip_include_dirs):
-
- # Read the configuration.
- try:
-- cfg = toml.load(toml_file)
-+ with open(toml_file, "rb") as f:
-+ cfg = tomllib.load(f)
- except Exception as e:
- raise UserParseException(toml_file, detail=str(e))
-
-diff --git a/sipbuild/pyproject.py b/sipbuild/pyproject.py
-index 1ba2223..6e4a7c6 100644
---- a/sipbuild/pyproject.py
-+++ b/sipbuild/pyproject.py
-@@ -22,11 +22,16 @@
-
-
- from collections import OrderedDict
--import toml
-+import sys
-
- from .exceptions import UserFileException
- from .py_versions import OLDEST_SUPPORTED_MINOR
-
-+if sys.version_info >= (3, 11):
-+ import tomllib
-+else:
-+ import tomli as tomllib
-+
-
- class PyProjectException(UserFileException):
- """ An exception related to a pyproject.toml file. """
-@@ -69,7 +74,8 @@ class PyProject:
- self.toml_error = None
-
- try:
-- self._pyproject = toml.load('pyproject.toml', _dict=OrderedDict)
-+ with open('pyproject.toml', 'rb') as f:
-+ self._pyproject = tomllib.load(f)
- except FileNotFoundError:
- self.toml_error = "there is no such file in the current directory"
- except Exception as e:
-@@ -174,4 +180,4 @@ class PyProject:
- def _is_section(value):
- """ Returns True if a section value is itself a section. """
-
-- return isinstance(value, (OrderedDict, list))
-+ return isinstance(value, (OrderedDict, dict, list))
diff --git a/dev-python/sip/metadata.xml b/dev-python/sip/metadata.xml
index 52c2d142bd4f..eeeff5d0f940 100644
--- a/dev-python/sip/metadata.xml
+++ b/dev-python/sip/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/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-4.19.25-r1.ebuild b/dev-python/sip/sip-4.19.25-r1.ebuild
deleted file mode 100644
index a647c9b88364..000000000000
--- a/dev-python/sip/sip-4.19.25-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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit python-r1 toolchain-funcs
-
-DESCRIPTION="Python bindings generator for C/C++ libraries"
-HOMEPAGE="https://www.riverbankcomputing.com/software/sip/"
-
-MY_P=${PN}-${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/${PN}/${PV}/${MY_P}.tar.gz"
-fi
-S=${WORKDIR}/${MY_P}
-
-# Sub-slot based on SIP_API_MAJOR_NR from siplib/sip.h
-SLOT="0/12"
-LICENSE="|| ( GPL-2 GPL-3 SIP )"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86"
-IUSE="doc"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND="${PYTHON_DEPS}"
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}"/${PN}-4.18-darwin.patch )
-
-src_prepare() {
- # Sub-slot sanity check
- local sub_slot=${SLOT#*/}
- local sip_api_major_nr=$(sed -nre 's:^#define SIP_API_MAJOR_NR\s+([0-9]+):\1:p' siplib/sip.h || die)
- if [[ ${sub_slot} != ${sip_api_major_nr} ]]; then
- eerror
- eerror "Ebuild sub-slot (${sub_slot}) does not match SIP_API_MAJOR_NR (${sip_api_major_nr})"
- eerror "Please update SLOT variable as follows:"
- eerror " SLOT=\"${SLOT%%/*}/${sip_api_major_nr}\""
- eerror
- die "sub-slot sanity check failed"
- fi
-
- default
-}
-
-src_configure() {
- configuration() {
- local incdir=$(python_get_includedir)
- local myconf=(
- "${EPYTHON}"
- "${S}"/configure.py
- --sysroot="${ESYSROOT}/usr"
- --bindir="${EPREFIX}/usr/bin"
- --destdir="$(python_get_sitedir)"
- --incdir="${incdir#${SYSROOT}}"
- --no-dist-info
- AR="$(tc-getAR) cqs"
- CC="$(tc-getCC)"
- CFLAGS="${CFLAGS}"
- CFLAGS_RELEASE=
- CXX="$(tc-getCXX)"
- CXXFLAGS="${CXXFLAGS}"
- CXXFLAGS_RELEASE=
- LINK="$(tc-getCXX)"
- LINK_SHLIB="$(tc-getCXX)"
- LFLAGS="${LDFLAGS}"
- LFLAGS_RELEASE=
- RANLIB=
- STRIP=
- )
- echo "${myconf[@]}"
- "${myconf[@]}" || die
- }
- python_foreach_impl run_in_build_dir configuration
-}
-
-src_compile() {
- python_foreach_impl run_in_build_dir default
-}
-
-src_install() {
- installation() {
- emake DESTDIR="${D}" install
- python_optimize
- }
- python_foreach_impl run_in_build_dir installation
-
- einstalldocs
- use doc && dodoc -r doc/html
-}
diff --git a/dev-python/sip/sip-6.7.5-r1.ebuild b/dev-python/sip/sip-6.7.5-r1.ebuild
deleted file mode 100644
index a839024c9fa8..000000000000
--- a/dev-python/sip/sip-6.7.5-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=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings generator for C/C++ libraries"
-HOMEPAGE="
- https://www.riverbankcomputing.com/software/sip/
- https://pypi.org/project/sip/
-"
-
-MY_P=${PN}-${PV/_pre/.dev}
-if [[ ${PV} == *_pre* ]]; then
- SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.gz"
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
-fi
-S=${WORKDIR}/${MY_P}
-
-LICENSE="|| ( GPL-2 GPL-3 SIP )"
-SLOT="5"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- !<dev-python/sip-4.19.25-r1[${PYTHON_USEDEP}]
- !=dev-python/sip-5.5.0-r0[${PYTHON_USEDEP}]
- 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.{8..10})
-"
-
-distutils_enable_sphinx doc --no-autodoc
-
-PATCHES=(
- "${FILESDIR}"/${P}-tomli.patch
-)
diff --git a/dev-python/sip/sip-6.8.3.ebuild b/dev-python/sip/sip-6.8.3.ebuild
new file mode 100644
index 000000000000..5f9ffe71e07e
--- /dev/null
+++ b/dev-python/sip/sip-6.8.3.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 pypi
+
+DESCRIPTION="Python bindings generator for C/C++ libraries"
+HOMEPAGE="https://github.com/Python-SIP/sip/"
+# gh does not include a way to generate some files, so combine with pypi
+SRC_URI+="
+ test? (
+ https://github.com/Python-SIP/sip/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ )
+"
+
+LICENSE="|| ( GPL-2 GPL-3 SIP )"
+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
+distutils_enable_tests pytest
diff --git a/dev-python/six/six-1.16.0-r1.ebuild b/dev-python/six/six-1.16.0-r1.ebuild
index 39c83b0ad7f3..df1788703008 100644
--- a/dev-python/six/six-1.16.0-r1.ebuild
+++ b/dev-python/six/six-1.16.0-r1.ebuild
@@ -4,20 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Python 2 and 3 compatibility library"
HOMEPAGE="
https://github.com/benjaminp/six/
https://pypi.org/project/six/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+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 documentation --no-autodoc
distutils_enable_tests pytest
diff --git a/dev-python/slixmpp/Manifest b/dev-python/slixmpp/Manifest
index eed5a97014bc..1c0233af55fa 100644
--- a/dev-python/slixmpp/Manifest
+++ b/dev-python/slixmpp/Manifest
@@ -1 +1 @@
-DIST slixmpp-1.8.3.tar.gz 1053891 BLAKE2B cecf307406f093e8b069a70485edf38a95054b2d299b0a34064e582c20243d8f90ea557079cde9b22bb1b3b9e3e7d452347625bb2c21def461193360290b4d62 SHA512 2d499c106bcb8d86a8522e617d855f5c6aeb5e3e7f3757331baef1bcfa4e81d24ef6a554e760e323ab1b542c168dae4cb99ea56db92f5539542045ac6c8b9c9d
+DIST slixmpp-1.8.5.tar.gz 574560 BLAKE2B 3ac5b1f41acdf4dd725355cdb06e7642d67b5b51a533e933af1b451df424d3e81267ce945e577b21a07f943578119913a9a42dd4e65426223ff413ad52c3f110 SHA512 f2e123bd462097d0b7dc28cd960f723419f4fa2af59c8f5b7d30a05135c2f9fc6982e6d2855ea10b22936bdd4a96faeae73f87a495e2d1f10e6c63cdcb412665
diff --git a/dev-python/slixmpp/metadata.xml b/dev-python/slixmpp/metadata.xml
index fb6f6ae3fe26..93ad906bffbe 100644
--- a/dev-python/slixmpp/metadata.xml
+++ b/dev-python/slixmpp/metadata.xml
@@ -10,6 +10,7 @@
<name>Python</name>
</maintainer>
<upstream>
+ <remote-id type="codeberg">poezio/slixmpp</remote-id>
<remote-id type="pypi">slixmpp</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/slixmpp/slixmpp-1.8.3.ebuild b/dev-python/slixmpp/slixmpp-1.8.3.ebuild
deleted file mode 100644
index 8e35e8746d68..000000000000
--- a/dev-python/slixmpp/slixmpp-1.8.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python 3 library for XMPP"
-HOMEPAGE="https://lab.louiz.org/poezio/slixmpp"
-LICENSE="MIT"
-SLOT="0"
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_REPO_URI="https://lab.louiz.org/poezio/${PN}.git"
- inherit git-r3
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- 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}
-"
-
-distutils_enable_tests unittest
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..03eca9ed9e90
--- /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..12} )
+
+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 79ddc662f8fb..58e07cc7ebc8 100644
--- a/dev-python/slixmpp/slixmpp-9999.ebuild
+++ b/dev-python/slixmpp/slixmpp-9999.ebuild
@@ -3,26 +3,30 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..11} )
inherit distutils-r1
DESCRIPTION="Python 3 library for XMPP"
-HOMEPAGE="https://lab.louiz.org/poezio/slixmpp"
+HOMEPAGE="
+ https://codeberg.org/poezio/slixmpp/
+ https://pypi.org/project/slixmpp/
+"
LICENSE="MIT"
SLOT="0"
if [[ "${PV}" == "9999" ]]; then
- EGIT_REPO_URI="https://lab.louiz.org/poezio/${PN}.git"
+ EGIT_REPO_URI="https://codeberg.org/poezio/slixmpp.git"
inherit git-r3
else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64"
+ inherit pypi
+ KEYWORDS="~amd64 ~riscv"
fi
DEPEND="
- net-dns/libidn
+ net-dns/libidn:=
"
RDEPEND="
dev-python/aiodns[${PYTHON_USEDEP}]
@@ -33,5 +37,13 @@ RDEPEND="
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/smartypants/Manifest b/dev-python/smartypants/Manifest
index 79e9099de5d4..972b658f1a6e 100644
--- a/dev-python/smartypants/Manifest
+++ b/dev-python/smartypants/Manifest
@@ -1 +1 @@
-DIST smartypants-2.0.1.tar.gz 24152 BLAKE2B 258c9692eec675054dc31f760cf3a9fc3995683d7a15fc549fb390611761c0b09f73e077f5917f9f071a8fc1ae3f06e36f745fdc0e2c368f465e29f6ce51457f SHA512 d47a866a5478c3520251f87a93a468a5eea10318b24b2e8d4bc918d533b5a5789aa56d3a8d5fb8ccff9572fb63e5b6f2eafc44f93fb57a19e6621ebef5d64d9d
+DIST smartypants-2.0.1.gh.tar.gz 24152 BLAKE2B 258c9692eec675054dc31f760cf3a9fc3995683d7a15fc549fb390611761c0b09f73e077f5917f9f071a8fc1ae3f06e36f745fdc0e2c368f465e29f6ce51457f SHA512 d47a866a5478c3520251f87a93a468a5eea10318b24b2e8d4bc918d533b5a5789aa56d3a8d5fb8ccff9572fb63e5b6f2eafc44f93fb57a19e6621ebef5d64d9d
diff --git a/dev-python/smartypants/files/smartypants-2.0.1-py312.patch b/dev-python/smartypants/files/smartypants-2.0.1-py312.patch
new file mode 100644
index 000000000000..e1e3a1ac6249
--- /dev/null
+++ b/dev-python/smartypants/files/smartypants-2.0.1-py312.patch
@@ -0,0 +1,110 @@
+From ea46bf36343044a7a61ba3acce4a7f188d986ec5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ond=C5=99ej=20S=C3=BAkup?= <mimi.vx@gmail.com>
+Date: Mon, 25 Sep 2023 10:31:37 +0200
+Subject: [PATCH] Fix regexps and tests for python3.12
+
+---
+ smartypants.py | 4 ++--
+ tests/test.py | 4 ++--
+ tests/test_cli.py | 16 ++++++++--------
+ 3 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/smartypants.py b/smartypants.py
+index c39f409..37368fb 100755
+--- a/smartypants.py
++++ b/smartypants.py
+@@ -268,13 +268,13 @@ def smartypants(text, attr=None):
+ if do_quotes:
+ if t == "'":
+ # Special case: single-character ' token
+- if re.match("\S", prev_token_last_char):
++ if re.match(r"\S", prev_token_last_char):
+ t = "&#8217;"
+ else:
+ t = "&#8216;"
+ elif t == '"':
+ # Special case: single-character " token
+- if re.match("\S", prev_token_last_char):
++ if re.match(r"\S", prev_token_last_char):
+ t = "&#8221;"
+ else:
+ t = "&#8220;"
+diff --git a/tests/test.py b/tests/test.py
+index 2c1a0ea..ac5075a 100644
+--- a/tests/test.py
++++ b/tests/test.py
+@@ -24,7 +24,7 @@ def test_change_default_attr(self):
+
+ T = sp(TEXT)
+ E = '&#8220;foo&#8221; -- bar'
+- self.assertEquals(T, E)
++ self.assertEqual(T, E)
+
+ attr = Attr.q | Attr.d
+ Attr.default = attr
+@@ -32,7 +32,7 @@ def test_change_default_attr(self):
+
+ T = sp(TEXT)
+ E = '&#8220;foo&#8221; &#8212; bar'
+- self.assertEquals(T, E)
++ self.assertEqual(T, E)
+
+ def test_dates(self):
+
+diff --git a/tests/test_cli.py b/tests/test_cli.py
+index e85545a..6b5e136 100644
+--- a/tests/test_cli.py
++++ b/tests/test_cli.py
+@@ -34,7 +34,7 @@ def test_pipe(self):
+ E = '&#8220;foobar&#8221;'
+
+ output = self._p([CLI_SCRIPT], T)
+- self.assertEquals(output, E)
++ self.assertEqual(output, E)
+
+ def test_pipe_attr(self):
+
+@@ -42,11 +42,11 @@ def test_pipe_attr(self):
+
+ E = T
+ output = self._p([CLI_SCRIPT, '--attr', '0'], T)
+- self.assertEquals(output, E)
++ self.assertEqual(output, E)
+
+ E = """"foo" &#8220;bar&#8221;"""
+ output = self._p([CLI_SCRIPT, '--attr', 'b'], T)
+- self.assertEquals(output, E)
++ self.assertEqual(output, E)
+
+ def test_skipped_elements(self):
+
+@@ -54,19 +54,19 @@ def test_skipped_elements(self):
+
+ E = '<a>&#8220;foo&#8221;</a> <b>&#8220;bar&#8221;</b>'
+ output = self._p([CLI_SCRIPT], T)
+- self.assertEquals(output, E)
++ self.assertEqual(output, E)
+
+ E = '<a>"foo"</a> <b>&#8220;bar&#8221;</b>'
+ output = self._p([CLI_SCRIPT, '--skip', 'a'], T)
+- self.assertEquals(output, E)
++ self.assertEqual(output, E)
+
+ E = '<a>&#8220;foo&#8221;</a> <b>"bar"</b>'
+ output = self._p([CLI_SCRIPT, '--skip', 'b'], T)
+- self.assertEquals(output, E)
++ self.assertEqual(output, E)
+
+ E = T
+ output = self._p([CLI_SCRIPT, '--skip', 'a,b'], T)
+- self.assertEquals(output, E)
++ self.assertEqual(output, E)
+
+ def test_file(self):
+
+@@ -81,4 +81,4 @@ def test_file(self):
+ output = self._p([CLI_SCRIPT, F])
+ finally:
+ os.remove(F)
+- self.assertEquals(output, E)
++ self.assertEqual(output, E)
diff --git a/dev-python/smartypants/smartypants-2.0.1-r1.ebuild b/dev-python/smartypants/smartypants-2.0.1-r1.ebuild
index c89c35a5719f..e1ab8ba2d497 100644
--- a/dev-python/smartypants/smartypants-2.0.1-r1.ebuild
+++ b/dev-python/smartypants/smartypants-2.0.1-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -16,18 +16,23 @@ HOMEPAGE="
"
SRC_URI="
https://github.com/leohemsted/smartypants.py/archive/v${PV}.tar.gz
- -> ${P}.tar.gz
+ -> ${P}.gh.tar.gz
"
S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha 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 sparc x86"
distutils_enable_sphinx docs
distutils_enable_tests unittest
src_prepare() {
+ local PATCHES=(
+ # https://github.com/leohemsted/smartypants.py/pull/21
+ "${FILESDIR}/${P}-py312.patch"
+ )
+
# relevant only to upstream packaging, requires docutils
rm tests/test_setup.py || die
distutils-r1_src_prepare
diff --git a/dev-python/smbus2/Manifest b/dev-python/smbus2/Manifest
index d5dfc3a2ab29..6e830043c97b 100644
--- a/dev-python/smbus2/Manifest
+++ b/dev-python/smbus2/Manifest
@@ -1 +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
new file mode 100644
index 000000000000..15ae4b14e560
--- /dev/null
+++ b/dev-python/smbus2/smbus2-0.4.3.ebuild
@@ -0,0 +1,29 @@
+# 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 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/smmap/Manifest b/dev-python/smmap/Manifest
index d889a90c6533..9ceafa35181c 100644
--- a/dev-python/smmap/Manifest
+++ b/dev-python/smmap/Manifest
@@ -1 +1 @@
-DIST smmap-5.0.0.tar.gz 22437 BLAKE2B 2ff55ff412b10fe6c431df5f1589deb9f6f1c3277ee1ac651513e302d31b4f7ff986bfc548c5fefd66775f0eb7aef11dd8f2821f0e50a2e76d9bfcfaa9c047bd SHA512 03ae478bc83d02416f57bb3f6afc9c80bcb2d4249f3169390ac139b88be94258463dee7744fdf0fd54a7cfe109795a110c43f2b81ffd8546601de274667d353d
+DIST smmap-6.0.0.tar.gz 22266 BLAKE2B a2858d9c80b53f300386006e5e8289eb2d7081338065d87be66d55b78ade0cdb3c7bbace084b80d44fa9307ad04df7fa70206d3c5d104eb748a5f68287d2629a SHA512 ef5c79bcb3228cf50ce5c55762948a167b1cd1e4a0d47cc608702d04be7b0c26b4ff83a788cb8ebfcfb530eefad924149850ad651b23d7de83f5fdaa426fe2ec
diff --git a/dev-python/smmap/smmap-5.0.0.ebuild b/dev-python/smmap/smmap-5.0.0.ebuild
deleted file mode 100644
index 8f1da8a1824c..000000000000
--- a/dev-python/smmap/smmap-5.0.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="A pure Python implementation of a sliding window memory map manager"
-HOMEPAGE="
- https://pypi.org/project/smmap/
- https://github.com/gitpython-developers/smmap/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-SLOT="0"
-
-distutils_enable_tests unittest
diff --git a/dev-python/smmap/smmap-6.0.0.ebuild b/dev-python/smmap/smmap-6.0.0.ebuild
new file mode 100644
index 000000000000..22984c53b454
--- /dev/null
+++ b/dev-python/smmap/smmap-6.0.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 a sliding window memory map manager"
+HOMEPAGE="
+ https://pypi.org/project/smmap/
+ https://github.com/gitpython-developers/smmap/
+"
+
+LICENSE="BSD"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+SLOT="0"
+
+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 9927318bb579..000000000000
--- a/dev-python/snakeoil/snakeoil-0.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=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-inherit distutils-r1
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="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"
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-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..95d88af8d962
--- /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..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-9999.ebuild b/dev-python/snakeoil/snakeoil-9999.ebuild
index 50e5f7ee3893..d61275cf8484 100644
--- a/dev-python/snakeoil/snakeoil-9999.ebuild
+++ b/dev-python/snakeoil/snakeoil-9999.ebuild
@@ -1,19 +1,20 @@
-# Copyright 1999-2022 Gentoo Authors
+# 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_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1
if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/pkgcore/snakeoil.git"
+ 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"
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ inherit pypi
fi
DESCRIPTION="misc common functionality and useful optimizations"
@@ -26,7 +27,7 @@ RDEPEND="
dev-python/lazy-object-proxy[${PYTHON_USEDEP}]
"
BDEPEND="
- >=dev-python/flit_core-3.8[${PYTHON_USEDEP}]
+ >=dev-python/flit-core-3.8[${PYTHON_USEDEP}]
"
distutils_enable_tests pytest
diff --git a/dev-python/snaketrace/Manifest b/dev-python/snaketrace/Manifest
index 216ca3dc3dc7..5af01fa44ed9 100644
--- a/dev-python/snaketrace/Manifest
+++ b/dev-python/snaketrace/Manifest
@@ -1 +1 @@
-DIST snaketrace-0.3.1.tar.gz 6885 BLAKE2B 19201532a3189e981c88343c67920c9275e41c23cd42ac416d6deda037de6dcdee0346a3ea487cd32311aa97596803b907266a3c1d643bdb679206e64d45b078 SHA512 9efb16309e638b9472a6b7fd8415ca5c40b3b498ba0676767ffea4bcd07cfdba23345b5cd53a0b9d88f7d81f454035f126cdcbf2a51f9a04e1e7aa6e833a20fc
+DIST snaketrace-0.3.1.gh.tar.gz 6885 BLAKE2B 19201532a3189e981c88343c67920c9275e41c23cd42ac416d6deda037de6dcdee0346a3ea487cd32311aa97596803b907266a3c1d643bdb679206e64d45b078 SHA512 9efb16309e638b9472a6b7fd8415ca5c40b3b498ba0676767ffea4bcd07cfdba23345b5cd53a0b9d88f7d81f454035f126cdcbf2a51f9a04e1e7aa6e833a20fc
diff --git a/dev-python/snaketrace/snaketrace-0.3.1-r1.ebuild b/dev-python/snaketrace/snaketrace-0.3.1-r1.ebuild
new file mode 100644
index 000000000000..3cec1d2000d3
--- /dev/null
+++ b/dev-python/snaketrace/snaketrace-0.3.1-r1.ebuild
@@ -0,0 +1,25 @@
+# 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="An strace-like tool for Python audit events"
+HOMEPAGE="
+ https://github.com/dcoles/snaketrace/
+ https://pypi.org/project/snaketrace/
+"
+SRC_URI="
+ https://github.com/dcoles/snaketrace/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+distutils_enable_tests unittest
diff --git a/dev-python/snaketrace/snaketrace-0.3.1.ebuild b/dev-python/snaketrace/snaketrace-0.3.1.ebuild
deleted file mode 100644
index 6f07002f541a..000000000000
--- a/dev-python/snaketrace/snaketrace-0.3.1.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="An strace-like tool for Python audit events"
-HOMEPAGE="https://github.com/dcoles/snaketrace https://pypi.org/project/snaketrace/"
-SRC_URI="https://github.com/dcoles/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-distutils_enable_tests unittest
diff --git a/dev-python/snappy/Manifest b/dev-python/snappy/Manifest
deleted file mode 100644
index fc4f9904af29..000000000000
--- a/dev-python/snappy/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-snappy-0.6.1.tar.gz 24110 BLAKE2B 66ba24aa1768084c87188dde6eb6c98daf90da39e49902bbc283226aaf28b8d267bbc69f3cb9f30d9aaf64b3e25cc0fae47113bcc65f18dbec2128294c0dbe4b SHA512 43301f568633068bbdcb3dc318f37efcabbb5bd3f61a06b3a3a476006c3cbc1dfddea4ac2de0876bb127b354aa81ccc55dc44631dc8fba06036a0b6c7dfbdb9b
diff --git a/dev-python/snappy/metadata.xml b/dev-python/snappy/metadata.xml
deleted file mode 100644
index 8e5d00faef0e..000000000000
--- a/dev-python/snappy/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">python-snappy</remote-id>
- <remote-id type="github">andrix/python-snappy</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/snappy/snappy-0.6.1.ebuild b/dev-python/snappy/snappy-0.6.1.ebuild
deleted file mode 100644
index 3cbf993e7537..000000000000
--- a/dev-python/snappy/snappy-0.6.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-MY_PN=python-${PN}
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Python library for the snappy compression library from Google"
-HOMEPAGE="
- https://github.com/andrix/python-snappy/
- https://pypi.org/project/python-snappy/
-"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-KEYWORDS="amd64 arm arm64 ~riscv 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/snapshottest/files/snapshottest-0.6.0-py3.12-imp.patch b/dev-python/snapshottest/files/snapshottest-0.6.0-py3.12-imp.patch
new file mode 100644
index 000000000000..64c1bf69bfe8
--- /dev/null
+++ b/dev-python/snapshottest/files/snapshottest-0.6.0-py3.12-imp.patch
@@ -0,0 +1,41 @@
+https://github.com/syrusakbary/snapshottest/pull/168
+From: MarcellPerger1 <102254594+MarcellPerger1@users.noreply.github.com>
+Date: Tue, 18 Jul 2023 19:28:22 +0100
+Subject: [PATCH] Use importlib instead of imp
+
+--- a/snapshottest/module.py
++++ b/snapshottest/module.py
+@@ -1,7 +1,8 @@
+ import codecs
+ import errno
+ import os
+-import imp
++import sys
++import importlib.util
+ from collections import defaultdict
+ import logging
+
+@@ -17,6 +18,14 @@ def _escape_quotes(text):
+ return text.replace("'", "\\'")
+
+
++def _load_source(module_name, filepath):
++ spec = importlib.util.spec_from_file_location(module_name, filepath)
++ module = importlib.util.module_from_spec(spec)
++ sys.modules[module_name] = module
++ spec.loader.exec_module(module)
++ return module
++
++
+ class SnapshotModule(object):
+ _snapshot_modules = {}
+
+@@ -33,7 +42,7 @@ def __init__(self, module, filepath):
+
+ def load_snapshots(self):
+ try:
+- source = imp.load_source(self.module, self.filepath)
++ source = _load_source(self.module, self.filepath)
+ # except FileNotFoundError: # Python 3
+ except (IOError, OSError) as err:
+ if err.errno == errno.ENOENT:
diff --git a/dev-python/snapshottest/snapshottest-0.6.0.ebuild b/dev-python/snapshottest/snapshottest-0.6.0.ebuild
index 939e60178153..d01d038c7f3c 100644
--- a/dev-python/snapshottest/snapshottest-0.6.0.ebuild
+++ b/dev-python/snapshottest/snapshottest-0.6.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -30,7 +30,8 @@ RDEPEND="
distutils_enable_tests pytest
PATCHES=(
- "${FILESDIR}/snapshottest-0.6.0-remove-fastdiff.patch"
+ "${FILESDIR}/${PN}-0.6.0-remove-fastdiff.patch"
+ "${FILESDIR}/${PN}-0.6.0-py3.12-imp.patch"
)
python_prepare_all() {
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 b9df958408dc..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_{9..11} )
-
-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..73a28d316f7d
--- /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..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"
+
+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 79b670b47be5..3b6dcc6db839 100644
--- a/dev-python/snowballstemmer/snowballstemmer-2.2.0-r1.ebuild
+++ b/dev-python/snowballstemmer/snowballstemmer-2.2.0-r1.ebuild
@@ -4,14 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+inherit distutils-r1 pypi
DESCRIPTION="Stemmer algorithms generated from Snowball algorithms"
-HOMEPAGE="https://snowballstem.org/
+HOMEPAGE="
+ https://snowballstem.org/
https://github.com/snowballstem/snowball
- https://pypi.org/project/snowballstemmer/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ https://pypi.org/project/snowballstemmer/
+"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/socketio-client-nexus/Manifest b/dev-python/socketio-client-nexus/Manifest
index 78c11c378ae5..b4b403ef1fa5 100644
--- a/dev-python/socketio-client-nexus/Manifest
+++ b/dev-python/socketio-client-nexus/Manifest
@@ -1 +1 @@
-DIST socketio-client-nexus-0.7.6.tar.gz 20128 BLAKE2B 84b032fda25a7aec40a4223f18d446da563a4c46054e79bfd38d1871233c88a66cb0213e3e825e5c91f6f587e671f5cfed75465c6f6895a84e1f2409facd330c SHA512 5c0301118beba684e1220c8984052e619d29037ec2c819eec13ac2ec4120025c85fb5b410285ee8466a105330f4a47b87f80116d7ff292c6b3e47a19eaa46702
+DIST socketIO-client-nexus-0.7.6.tar.gz 20128 BLAKE2B 84b032fda25a7aec40a4223f18d446da563a4c46054e79bfd38d1871233c88a66cb0213e3e825e5c91f6f587e671f5cfed75465c6f6895a84e1f2409facd330c SHA512 5c0301118beba684e1220c8984052e619d29037ec2c819eec13ac2ec4120025c85fb5b410285ee8466a105330f4a47b87f80116d7ff292c6b3e47a19eaa46702
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 cfe8d09734a8..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,16 +1,17 @@
-# 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..10} )
-inherit distutils-r1
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="socketIO-client-nexus"
+
+inherit distutils-r1 pypi
-MY_PN="socketIO-client-nexus"
DESCRIPTION="A socket.io 2.x client library for Python"
HOMEPAGE="https://github.com/nexus-devs/socketIO-client-2.0.3/ https://pypi.org/project/socketIO-client-nexus/"
-S="${WORKDIR}/${MY_PN}-${PV}"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
@@ -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 3a3213751471..dcfe1c0b002b 100644
--- a/dev-python/socksio/socksio-1.0.0.ebuild
+++ b/dev-python/socksio/socksio-1.0.0.ebuild
@@ -4,20 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Sans-I/O implementation of SOCKS4, SOCKS4A, and SOCKS5"
HOMEPAGE="
https://github.com/sethmlarson/socksio/
https://pypi.org/project/socksio/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~mips 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/sortedcontainers/sortedcontainers-2.4.0-r1.ebuild b/dev-python/sortedcontainers/sortedcontainers-2.4.0-r1.ebuild
index 2a2f4abc34ba..6757e2ff7596 100644
--- a/dev-python/sortedcontainers/sortedcontainers-2.4.0-r1.ebuild
+++ b/dev-python/sortedcontainers/sortedcontainers-2.4.0-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{9..12} pypy3 )
inherit distutils-r1
diff --git a/dev-python/soupsieve/Manifest b/dev-python/soupsieve/Manifest
index d770cd5a5857..838a2b12b870 100644
--- a/dev-python/soupsieve/Manifest
+++ b/dev-python/soupsieve/Manifest
@@ -1 +1 @@
-DIST soupsieve-2.3.2.post1.gh.tar.gz 104120 BLAKE2B ddeeb357753981a55676a59285161a03759fd548a11950e87ff53df9433b7cb054084afe6dd4de01c316dc0a013e6f429e6e0868c140ec11a19627b0e1cb0177 SHA512 80eae1e7256cbcf2f2b8520779a5bdb68798e9813ed738ee933204ff1c23ad52553e21f3aa89ad61b900b906dcaa7a1eebd819300417304df782cda9e2d79c4a
+DIST soupsieve-2.5.gh.tar.gz 104832 BLAKE2B 8f3f2079e3ac758bb4459529e92015348e628be37f828c14d6729505097f208a2d88c2d315e0ff8c33ff3fcec7fc670df38c0a685dfb492c8f40d5a95d5f9d18 SHA512 5b3bb1f8ea84c69a97b273c87f385513baf9f0c49f5cf822120e4a73c16801ad8eb65f7ac32f83091b3efac716b3a7097b7511273e7fb8079f49ca6caa238656
diff --git a/dev-python/soupsieve/soupsieve-2.3.2_p1.ebuild b/dev-python/soupsieve/soupsieve-2.3.2_p1.ebuild
deleted file mode 100644
index 324095fd9535..000000000000
--- a/dev-python/soupsieve/soupsieve-2.3.2_p1.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/_p/.post}
-DESCRIPTION="A modern CSS selector implementation for BeautifulSoup"
-HOMEPAGE="
- https://github.com/facelessuser/soupsieve/
- https://pypi.org/project/soupsieve/
-"
-SRC_URI="
- https://github.com/facelessuser/${PN}/archive/${PV/_p/.post}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- test? (
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/html5lib[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/soupsieve/soupsieve-2.5.ebuild b/dev-python/soupsieve/soupsieve-2.5.ebuild
new file mode 100644
index 000000000000..2958ba30e5db
--- /dev/null
+++ b/dev-python/soupsieve/soupsieve-2.5.ebuild
@@ -0,0 +1,33 @@
+# 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="A modern CSS selector implementation for BeautifulSoup"
+HOMEPAGE="
+ https://github.com/facelessuser/soupsieve/
+ https://pypi.org/project/soupsieve/
+"
+SRC_URI="
+ https://github.com/facelessuser/soupsieve/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/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/spake2/Manifest b/dev-python/spake2/Manifest
new file mode 100644
index 000000000000..d4e8add8de7e
--- /dev/null
+++ b/dev-python/spake2/Manifest
@@ -0,0 +1 @@
+DIST python-spake2-0.8.gh.tar.gz 62425 BLAKE2B 64215362af26fff0785fdabf4282f7111a4cc917750827075b616f009cb1fa6373fc2325382c26b43c051aa5b94e414ca2a5223d9ab666289eb2d04723b15cb5 SHA512 908c377c831f4a11551973ca917b113d51a66c533d35fd19b2692fdb7e575ed2a5045d9b632bc55c37b68ad092f01dff5da191e9dfbfb5599b72844788438d68
diff --git a/dev-python/spake2/files/spake2-0.8-do_not_use_hkdf_package.patch b/dev-python/spake2/files/spake2-0.8-do_not_use_hkdf_package.patch
new file mode 100644
index 000000000000..40e9e17a6843
--- /dev/null
+++ b/dev-python/spake2/files/spake2-0.8-do_not_use_hkdf_package.patch
@@ -0,0 +1,113 @@
+From 930bfabc17748ea3772e6a40b04e84fc4aafcf04 Mon Sep 17 00:00:00 2001
+From: meejah <meejah@meejah.ca>
+Date: Wed, 9 Nov 2022 23:42:33 -0700
+Subject: [PATCH 1/2] use cryptography's HKDF implementation
+
+---
+ setup.py | 2 +-
+ src/spake2/ed25519_basic.py | 2 +-
+ src/spake2/groups.py | 21 ++++++++++++++-------
+ src/spake2/test/test_compat.py | 9 +++++----
+ 4 files changed, 21 insertions(+), 13 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 660f055..ba3cc28 100755
+--- a/setup.py
++++ b/setup.py
+@@ -79,5 +79,5 @@ def abbrev(t):
+ "Programming Language :: Python :: 3.6",
+ "Topic :: Security :: Cryptography",
+ ],
+- install_requires=["hkdf"],
++ install_requires=["cryptography"],
+ )
+diff --git a/src/spake2/ed25519_basic.py b/src/spake2/ed25519_basic.py
+index 1890be7..dbab56d 100644
+--- a/src/spake2/ed25519_basic.py
++++ b/src/spake2/ed25519_basic.py
+@@ -273,7 +273,7 @@ def arbitrary_element(seed): # unknown DL
+ # oversized string (128 bits more than the field size), then reducing
+ # down to Q. But it's comforting, and it's the same technique we use for
+ # converting passwords/seeds to scalars (which *does* need uniformity).
+- hseed = expand_arbitrary_element_seed(seed, (256/8)+16)
++ hseed = expand_arbitrary_element_seed(seed, int((256/8)+16))
+ y = int(binascii.hexlify(hseed), 16) % Q
+
+ # we try successive Y values until we find a valid point
+diff --git a/src/spake2/groups.py b/src/spake2/groups.py
+index de4f75d..66b08e7 100644
+--- a/src/spake2/groups.py
++++ b/src/spake2/groups.py
+@@ -1,6 +1,7 @@
+ from __future__ import division
+ import hashlib
+-from hkdf import Hkdf
++from cryptography.hazmat.primitives.kdf import hkdf
++from cryptography.hazmat.primitives import hashes
+ from .six import integer_types
+ from .util import (size_bits, size_bytes, unbiased_randrange,
+ bytes_to_number, number_to_bytes)
+@@ -63,9 +64,12 @@
+
+
+ def expand_password(data, num_bytes):
+- h = Hkdf(salt=b"", input_key_material=data, hash=hashlib.sha256)
+- info = b"SPAKE2 pw"
+- return h.expand(info, num_bytes)
++ return hkdf.HKDF(
++ algorithm=hashes.SHA256(),
++ length=num_bytes,
++ salt=b"",
++ info=b"SPAKE2 pw"
++ ).derive(data)
+
+ def password_to_scalar(pw, scalar_size_bytes, q):
+ assert isinstance(pw, bytes)
+@@ -77,9 +81,12 @@ def password_to_scalar(pw, scalar_size_bytes, q):
+ return i % q
+
+ def expand_arbitrary_element_seed(data, num_bytes):
+- h = Hkdf(salt=b"", input_key_material=data, hash=hashlib.sha256)
+- info = b"SPAKE2 arbitrary element"
+- return h.expand(info, num_bytes)
++ return hkdf.HKDF(
++ algorithm=hashes.SHA256(),
++ length=num_bytes,
++ salt=b"",
++ info=b"SPAKE2 arbitrary element"
++ ).derive(data)
+
+ class _Element:
+ def __init__(self, group, e):
+diff --git a/src/spake2/test/test_compat.py b/src/spake2/test/test_compat.py
+index 3c636be..1c1340c 100644
+--- a/src/spake2/test/test_compat.py
++++ b/src/spake2/test/test_compat.py
+@@ -1,7 +1,8 @@
+ import unittest
+ from binascii import hexlify, unhexlify
+ from hashlib import sha256
+-from hkdf import Hkdf
++from cryptography.hazmat.primitives.kdf import hkdf
++from cryptography.hazmat.primitives import hashes
+ from .myhkdf import HKDF as myHKDF
+ from spake2 import groups, ed25519_group
+ from spake2.spake2 import (SPAKE2_A, SPAKE2_B, SPAKE2_Symmetric,
+@@ -213,14 +214,14 @@ def test_vectors(self):
+ {"salt": "00", "IKM": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "info": "", "L": 4, "OKM": "37ad2910"},
+ ]
+
+-class HKDF(unittest.TestCase):
++class TestHKDF(unittest.TestCase):
+ def test_vectors(self):
+ for vector in HKDF_TEST_VECTORS:
+ salt = unhexlify(vector["salt"].encode("ascii"))
+ IKM = unhexlify(vector["IKM"].encode("ascii"))
+ info = unhexlify(vector["info"].encode("ascii"))
+- h = Hkdf(salt=salt, input_key_material=IKM, hash=sha256)
+- digest = h.expand(info, vector["L"])
++ h = hkdf.HKDF(algorithm=hashes.SHA256(), length=vector["L"], salt=salt, info=info)
++ digest = h.derive(IKM)
+ self.assertEqual(digest, myHKDF(IKM, vector["L"], salt, info))
+ #print(hexlify(digest))
+ expected = vector["OKM"].encode("ascii")
diff --git a/dev-python/spake2/metadata.xml b/dev-python/spake2/metadata.xml
new file mode 100644
index 000000000000..2041ad286cee
--- /dev/null
+++ b/dev-python/spake2/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>tamiko@gentoo.org</email>
+ <name>Matthias Maier</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">spake2</remote-id>
+ <remote-id type="github">warner/python-spake2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/spake2/spake2-0.8-r1.ebuild b/dev-python/spake2/spake2-0.8-r1.ebuild
new file mode 100644
index 000000000000..23cf21291444
--- /dev/null
+++ b/dev-python/spake2/spake2-0.8-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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-spake2-${PV}
+DESCRIPTION="python implementation of SPAKE2 password-authenticated key exchange algorithm"
+HOMEPAGE="
+ https://github.com/warner/python-spake2/
+ https://pypi.org/project/spake2/
+"
+SRC_URI="
+ https://github.com/warner/python-spake2/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/cryptography[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/versioneer[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-do_not_use_hkdf_package.patch
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # remove outdated bundled versioneer
+ rm versioneer.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/spdx-tools/Manifest b/dev-python/spdx-tools/Manifest
new file mode 100644
index 000000000000..5c549c4bd7f3
--- /dev/null
+++ b/dev-python/spdx-tools/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..1e19b1d2fb9f
--- /dev/null
+++ b/dev-python/spdx-tools/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">spdx-tools</remote-id>
+ <remote-id type="github">spdx/tools-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/spdx-tools/spdx-tools-0.8.2.ebuild b/dev-python/spdx-tools/spdx-tools-0.8.2.ebuild
new file mode 100644
index 000000000000..3a026218b908
--- /dev/null
+++ b/dev-python/spdx-tools/spdx-tools-0.8.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=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"
+KEYWORDS="amd64 arm64 ~riscv"
+
+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/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
new file mode 100644
index 000000000000..d9c99cff61f7
--- /dev/null
+++ b/dev-python/speg/speg-0.3_p20180819-r2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 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
+
+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 arm64 ~ppc ~riscv x86"
+
+distutils_enable_tests pytest
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
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 c34375e48e9d..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,20 +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_{9..11} )
+PYPI_NO_NORMALIZE=1
+PYPI_PN="aiohttp-theme"
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
-
-MY_PN="${PN#sphinx-}"
-MY_P="${MY_PN}-${PV}"
+inherit distutils-r1 pypi
DESCRIPTION="Sphinx theme for aiohttp"
HOMEPAGE="https://github.com/aio-libs/aiohttp-theme"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/sphinx-argparse/Manifest b/dev-python/sphinx-argparse/Manifest
new file mode 100644
index 000000000000..78929c27d15f
--- /dev/null
+++ b/dev-python/sphinx-argparse/Manifest
@@ -0,0 +1 @@
+DIST sphinx_argparse-0.4.0.tar.gz 15020 BLAKE2B 73118f56ff82d52f04066b9d500aebc77eb5a0fecd03fa69f382c0f2afc0cbffdd395da707cf37b59f039e93935f8d5c3fe0e0f7a2820d3b6509dd78b37b0d74 SHA512 b96050da6c02f87c54f9dc9146bed955e99258df740b467575a2b3e9919fa8c4c6d30a736dab24360086bfc0d7d09c4bc7a818700af2c7846eed3a3b99053d65
diff --git a/dev-python/sphinx-argparse/metadata.xml b/dev-python/sphinx-argparse/metadata.xml
new file mode 100644
index 000000000000..34557e466493
--- /dev/null
+++ b/dev-python/sphinx-argparse/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://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="github">ashb/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
new file mode 100644
index 000000000000..40e2657c99f2
--- /dev/null
+++ b/dev-python/sphinx-argparse/sphinx-argparse-0.4.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2020-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 pypi
+
+DESCRIPTION="Sphinx extension that automatically documents argparse commands and options"
+HOMEPAGE="https://pypi.org/project/sphinx-argparse/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+RDEPEND="
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/commonmark[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sphinx-autoapi/Manifest b/dev-python/sphinx-autoapi/Manifest
index 3a6c361530a4..568f1fb352dd 100644
--- a/dev-python/sphinx-autoapi/Manifest
+++ b/dev-python/sphinx-autoapi/Manifest
@@ -1 +1 @@
-DIST sphinx-autoapi-2.0.0.gh.tar.gz 86051 BLAKE2B af6c2f997e7e018304c5f19d978fc87fa853d876781930c1220e8e823a078c80c86851a141ed01d7ab94fd76d747e8dfd7462dd5ccab84127f1c95d225324a92 SHA512 7188ed167de808028b2ac603abb6a136584698a1df4882755b80609f4760dab818cec5f4684bf5d16afc2ae1be112ecb96c7f02f989fcb67937c19c045f45b81
+DIST sphinx-autoapi-3.0.0.gh.tar.gz 62951 BLAKE2B 80c1168b7d6f2d8489139d1daaa00817bf88345b92d962d1b7114ffd078dab5babd00f3837b9a80bd7175f07a50a432be4096140ac3ee8db11d90e1b836cd308 SHA512 fece7ff76de1ad4a58d8128d7c1f4c57a91ffbc2fb788f7bf4ce230860e97279f8ddf32d24dee4b961d89807056abd2f621484ff91e13b98b57d7f7a00d1cd4c
diff --git a/dev-python/sphinx-autoapi/sphinx-autoapi-2.0.0.ebuild b/dev-python/sphinx-autoapi/sphinx-autoapi-2.0.0.ebuild
deleted file mode 100644
index ccd674abfc2c..000000000000
--- a/dev-python/sphinx-autoapi/sphinx-autoapi-2.0.0.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
-
-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/
-"
-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[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- >=dev-python/sphinx-4.0[${PYTHON_USEDEP}]
- dev-python/unidecode[${PYTHON_USEDEP}]
-"
-
-DOCS=( README.rst CHANGELOG.rst )
-
-# Test requires pypi download w/ internet: https://github.com/readthedocs/sphinx-autoapi/issues/329
-EPYTEST_DESELECT=(
- tests/test_integration.py::TestExtensionErrors::test_extension_setup_errors[dotnetexample-override_conf2-AutoAPI
-)
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs --no-autodoc
diff --git a/dev-python/sphinx-autoapi/sphinx-autoapi-3.0.0.ebuild b/dev-python/sphinx-autoapi/sphinx-autoapi-3.0.0.ebuild
new file mode 100644
index 000000000000..58eb769f1889
--- /dev/null
+++ b/dev-python/sphinx-autoapi/sphinx-autoapi-3.0.0.ebuild
@@ -0,0 +1,50 @@
+# 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-autodoc-typehints/Manifest b/dev-python/sphinx-autodoc-typehints/Manifest
index 21cec9a9a3e6..c09b8527aa59 100644
--- a/dev-python/sphinx-autodoc-typehints/Manifest
+++ b/dev-python/sphinx-autodoc-typehints/Manifest
@@ -1,5 +1,2 @@
-DIST sphinx-autodoc-typehints-1.19.5.gh.tar.gz 27758 BLAKE2B f73b0afa3656949f5aa14c8055020bccd81ff5f81df6dbf7c95d3656597d1e2e12918f77c6af56afb5c3ec28680e270aaa81c3d149b5427872dd8844bcaec495 SHA512 90cc5bb81e0a76ea3e476e3821299573ea0deaef0e007d2f83e0ff442db34bccf6e1078a4e06243bf19c8ee964477b924369ebbffb6ab4aa1cd673b16b0c79b2
-DIST sphinx-autodoc-typehints-1.20.1.gh.tar.gz 28374 BLAKE2B 87891c5ee6b1fa76b12fd09a77c7de3e739cf95b76d0e3dd215feb585d9b07e883998c8e1a1a493230add7e8362278c750a0412d8e3d5102698e8e91e8042a4b SHA512 f8194c823c496c62dc6fa2d46595e39ec5da8f6661ceb3fc553a81f0a33604c00f3a4d742132326dca19c62cd32e7898fcfe89af862dfbc663b940bd4f9808a9
-DIST sphinx-autodoc-typehints-1.21.5.gh.tar.gz 33282 BLAKE2B 9bed01a1de3f82f5f7f2809901c51dcacc7543920950dabf3a1d7ce87e0298337b0d9779d79cbfa58b2b0bfb2ab195f9957c83fc78ffc4837023733b9cef1f46 SHA512 b111832cb266bc2d48b3c60a3725b8f625581ce30e7f0c020cab83316f6f109db60031f214b6eeef02c181da63fec4bea4cf03cadda0a2c13e44c722f174be3e
-DIST sphinx-autodoc-typehints-1.21.7.gh.tar.gz 34523 BLAKE2B e5ad3c02e9717d0cf19d54ce90f3b1f75537b224b16cd3fe2ed52ac471e5bea435455c611bbdb284d2ed0c1be13e7cc300b1af6957c6fdd6725b17f044d62be9 SHA512 7c0f3dd94a6f41df8630ff21303f3085efa7ad6c1b3a9137bf43bc8f748944f715984c5d55041fa30ea16cb15ab25cf612dc231c4426cf25dba6f68a85493890
-DIST sphinx-autodoc-typehints-1.21.8.gh.tar.gz 35224 BLAKE2B b370690b6bb2ff6e7eaea668b73ac96af30c7d5c4e6352af76b522487f670524db754d5fd22c969f320f267dc75f13a01a0f5683cfc55a8d136bdfc651446d88 SHA512 c87bd9aec4afe6cd0341ca795f26cc1b808226a9d97f13f283e42aa64ac87814bd27fab44bc278b3affbe3e71508fe27a0a6ddcd4f48aef40d08096c379c1883
+DIST sphinx_autodoc_typehints-2.0.0.tar.gz 37951 BLAKE2B 55fc5bd4a430095b9b80b7313da96ac177f55d8e31068ded7c740cc2757580b611bfdb0aa53cc8344564cf01b052518854ea040a70ea568bd098505f8c2dfca8 SHA512 e37839b8f9393334f43b2b97f3d9ade4a2e11182e634c4ee37a916bcf4425c624376edcd3b25b054a23e15624393e3a79fdbc1775f6b3808e09bc8a85a2262d5
+DIST sphinx_autodoc_typehints-2.1.0.tar.gz 39386 BLAKE2B ccf6b618fc3db2a576a2d9a36a575087cdc3c7c5cf59a6057a956478a12715b1623dc4bc1ae3f7c30deab317a15fa187faf19f9d050fa61c293dc20bee41effd SHA512 59c5b4c682fadc1d0ec62a5aa639bb87d6e4710db89793824c348c7598d73b144f0b083ce6462ea32d958b1ed7fd2fb96c2a92780267adef03b625e64c08c412
diff --git a/dev-python/sphinx-autodoc-typehints/metadata.xml b/dev-python/sphinx-autodoc-typehints/metadata.xml
index 8ad8fe5bebfc..8a64c6fece95 100644
--- a/dev-python/sphinx-autodoc-typehints/metadata.xml
+++ b/dev-python/sphinx-autodoc-typehints/metadata.xml
@@ -2,10 +2,6 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.19.5.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.19.5.ebuild
deleted file mode 100644
index 58551025db13..000000000000
--- a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.19.5.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=( python3_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="
- https://github.com/tox-dev/sphinx-autodoc-typehints/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/sphinx-5.2.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/nptyping-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphobjinv-2.2.2[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.3[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # this package is addicted to Internet
- tests/test_sphinx_autodoc_typehints.py::test_format_annotation
-)
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.20.1.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.20.1.ebuild
deleted file mode 100644
index fc9ddc317183..000000000000
--- a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.20.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="
- https://github.com/tox-dev/sphinx-autodoc-typehints/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/sphinx-5.2.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/nptyping-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphobjinv-2.2.2[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.3[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # this package is addicted to Internet
- tests/test_sphinx_autodoc_typehints.py::test_format_annotation
-)
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.21.5.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.21.5.ebuild
deleted file mode 100644
index 395c86133d9e..000000000000
--- a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.21.5.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=( python3_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="
- https://github.com/tox-dev/sphinx-autodoc-typehints/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/sphinx-5.2.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/nptyping-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphobjinv-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # this package is addicted to Internet
- tests/test_sphinx_autodoc_typehints.py::test_format_annotation
-)
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.21.7.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.21.7.ebuild
deleted file mode 100644
index 395c86133d9e..000000000000
--- a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.21.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
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="
- https://github.com/tox-dev/sphinx-autodoc-typehints/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/sphinx-5.2.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/nptyping-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphobjinv-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # this package is addicted to Internet
- tests/test_sphinx_autodoc_typehints.py::test_format_annotation
-)
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.21.8.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.21.8.ebuild
deleted file mode 100644
index 395c86133d9e..000000000000
--- a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.21.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="
- https://github.com/tox-dev/sphinx-autodoc-typehints/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/sphinx-5.2.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/nptyping-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphobjinv-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # this package is addicted to Internet
- tests/test_sphinx_autodoc_typehints.py::test_format_annotation
-)
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.0.0.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.0.0.ebuild
new file mode 100644
index 000000000000..9114707e3150
--- /dev/null
+++ b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.0.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=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.1.0.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.1.0.ebuild
new file mode 100644
index 000000000000..dc13f14770e4
--- /dev/null
+++ b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.1.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=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"
+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
+
+EPYTEST_DESELECT=(
+ # this package is addicted to Internet
+ tests/test_sphinx_autodoc_typehints.py::test_format_annotation
+ # TODO
+ 'tests/test_sphinx_autodoc_typehints.py::test_always_document_param_types[doc_param_type]'
+)
diff --git a/dev-python/sphinx-basic-ng/Manifest b/dev-python/sphinx-basic-ng/Manifest
index 507052f15338..8e2b288a8cff 100644
--- a/dev-python/sphinx-basic-ng/Manifest
+++ b/dev-python/sphinx-basic-ng/Manifest
@@ -1 +1 @@
-DIST sphinx-basic-ng-0.0.1.a12.gh.tar.gz 23821 BLAKE2B 905186227d725d6f62c0f4c5b4df49ada8817dd44a4000b23b62e60ce5ca3bef4a4046c9543a07a7b0cc0c12dd5278dc783633324fbe113cf453ee540fa97ff7 SHA512 6df9445306b27ae4b29b338773fa4adcee631b4be04fdde674855dfcb683f7cf7ad3c40124c85353608b63523738b6bc83c6c4f4b2b212cafa41d38462ffcac4
+DIST sphinx-basic-ng-1.0.0.beta2.gh.tar.gz 24076 BLAKE2B ce2d8e20d22e4d4e62b4db2eed41c72329a076bbacbf4cd247b657404e8b7f714c37b9625d77363edf7d4e53d9cef45568c53cbad8275bd7b519c0f7b1657c1f SHA512 e8c342251d0b0a085a1cd3a8fe8bede90cde3c5a404daf7afc24b601e6bdcef1c37161fadd21d34306633f1978bc96438bad3d9aa4511913dd92d69f4e299926
diff --git a/dev-python/sphinx-basic-ng/sphinx-basic-ng-0.0.1_alpha12.ebuild b/dev-python/sphinx-basic-ng/sphinx-basic-ng-0.0.1_alpha12.ebuild
deleted file mode 100644
index 3ef2f28b37c6..000000000000
--- a/dev-python/sphinx-basic-ng/sphinx-basic-ng-0.0.1_alpha12.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_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${P/_alpha/.a}
-DESCRIPTION="A modern skeleton for Sphinx themes"
-HOMEPAGE="
- https://github.com/pradyunsg/sphinx-basic-ng/
- https://pypi.org/project/sphinx-basic-ng/
-"
-SRC_URI="
- https://github.com/pradyunsg/sphinx-basic-ng/archive/${PV/_alpha/.a}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- <dev-python/sphinx-6[${PYTHON_USEDEP}]
- >=dev-python/sphinx-4.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- dev-python/myst_parser[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- local HTML_DOCS=()
- build_sphinx tests/barebones
- rm -r tests/barebones/_build || die
-}
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
new file mode 100644
index 000000000000..863ad5d67bca
--- /dev/null
+++ b/dev-python/sphinx-basic-ng/sphinx-basic-ng-1.0.0_beta2.ebuild
@@ -0,0 +1,43 @@
+# 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=${P/_/.}
+DESCRIPTION="A modern skeleton for Sphinx themes"
+HOMEPAGE="
+ https://github.com/pradyunsg/sphinx-basic-ng/
+ https://pypi.org/project/sphinx-basic-ng/
+"
+SRC_URI="
+ https://github.com/pradyunsg/sphinx-basic-ng/archive/${PV/_/.}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/sphinx-4.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/myst-parser[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ local HTML_DOCS=()
+ build_sphinx tests/barebones
+ rm -r tests/barebones/_build || die
+}
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 4027fb7575d3..137ceb158040 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,20 +1,38 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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..10} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
DESCRIPTION="Sphinx theme integrates the Bootstrap CSS / JavaScript framework"
-HOMEPAGE="https://ryan-roemer.github.io/sphinx-bootstrap-theme/README.html"
+HOMEPAGE="
+ https://ryan-roemer.github.io/sphinx-bootstrap-theme/README.html
+ https://github.com/ryan-roemer/sphinx-bootstrap-theme/
+ https://pypi.org/project/sphinx-bootstrap-theme/
+"
SRC_URI="
- https://github.com/ryan-roemer/${PN}/archive/v${PV}.tar.gz
+ https://github.com/ryan-roemer/sphinx-bootstrap-theme/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"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ cd demo || die
+ "${EPYTHON}" -m sphinx -d "${BUILD_DIR}"/doctrees \
+ -b html source "${BUILD_DIR}"/html || die
+}
diff --git a/dev-python/sphinx-celery/Manifest b/dev-python/sphinx-celery/Manifest
new file mode 100644
index 000000000000..a8441f0403bd
--- /dev/null
+++ b/dev-python/sphinx-celery/Manifest
@@ -0,0 +1 @@
+DIST sphinx_celery-2.1.3.tar.gz 16647 BLAKE2B 5dd5861e9581cb576058c86e3fa077bc95d2f8f7c15d2055469a15f2cfaf8b8f3b2ea147b8ad90bbcfd6c888808c92edb57c6a2219364225ff9eca27b3e4ed37 SHA512 87ea7cc229a9db25ca32559010bbab66197506eedffb3a8e80e847f68dff664ad3eb4257c615ce74387456fe9d70c4b47eabfb769f371a529e46c867b03560b4
diff --git a/dev-python/sphinx-celery/metadata.xml b/dev-python/sphinx-celery/metadata.xml
new file mode 100644
index 000000000000..5de6ecfd8df9
--- /dev/null
+++ b/dev-python/sphinx-celery/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="person">
+ <email>zmedico@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">sphinx-celery</remote-id>
+ <remote-id type="github">celery/sphinx_celery</remote-id>
+ </upstream>
+</pkgmetadata>
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..c5afa423f675
--- /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..12} )
+
+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/Manifest b/dev-python/sphinx-copybutton/Manifest
new file mode 100644
index 000000000000..2a1ecd3b7d6a
--- /dev/null
+++ b/dev-python/sphinx-copybutton/Manifest
@@ -0,0 +1 @@
+DIST sphinx-copybutton-0.5.2.tar.gz 23039 BLAKE2B 5a440865610dbcfc8abc8a10c38832439d5f588a26a8641374cada3cc181a0ba2a19e62b287a296c1879f25342ce8aae1ade080126f837e5ad9291c152a30c6e SHA512 83f61526d8a20f70b0de63a5bad89ed4ae4f3cf5cd589f1a1e2e91f08f4d45a05acf780a4cf3703d4490ab93c9c9bb18c11d3170b8011c2254aab0334940ab2d
diff --git a/dev-python/sphinx-copybutton/metadata.xml b/dev-python/sphinx-copybutton/metadata.xml
new file mode 100644
index 000000000000..343dee9179fb
--- /dev/null
+++ b/dev-python/sphinx-copybutton/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">
+ <email>alexxy@gentoo.org</email>
+ <name>Alexey Shvetsov</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">executablebooks/sphinx-copybutton</remote-id>
+ <remote-id type="pypi">sphinx-copybutton</remote-id>
+ <doc>https://sphinx-copybutton.readthedocs.io</doc>
+ <bugs-to>https://github.com/executablebooks/sphinx-copybutton/issues</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sphinx-copybutton/sphinx-copybutton-0.5.2.ebuild b/dev-python/sphinx-copybutton/sphinx-copybutton-0.5.2.ebuild
new file mode 100644
index 000000000000..297c59d28f0d
--- /dev/null
+++ b/dev-python/sphinx-copybutton/sphinx-copybutton-0.5.2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2022-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=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A small sphinx extension to add a \"copy\" button to code blocks"
+HOMEPAGE="https://pypi.org/project/sphinx-copybutton/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/sphinx-6.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
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
new file mode 100644
index 000000000000..5e3e18439fa1
--- /dev/null
+++ b/dev-python/sphinx-epytext/sphinx-epytext-0.0.4-r1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 2021-2023 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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx epytext extension"
+HOMEPAGE="https://pypi.org/project/sphinx-epytext/ https://github.com/jayvdb/sphinx-epytext"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND=">=dev-python/sphinx-1.7.5[${PYTHON_USEDEP}]"
diff --git a/dev-python/sphinx-epytext/sphinx-epytext-0.0.4.ebuild b/dev-python/sphinx-epytext/sphinx-epytext-0.0.4.ebuild
deleted file mode 100644
index 3d0ed28cb037..000000000000
--- a/dev-python/sphinx-epytext/sphinx-epytext-0.0.4.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Sphinx epytext extension"
-HOMEPAGE="https://pypi.org/project/sphinx-epytext/ https://github.com/jayvdb/sphinx-epytext"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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/sphinx-1.7.5[${PYTHON_USEDEP}]"
diff --git a/dev-python/sphinx-gallery/Manifest b/dev-python/sphinx-gallery/Manifest
index 03e3236256ac..6c907aa1741d 100644
--- a/dev-python/sphinx-gallery/Manifest
+++ b/dev-python/sphinx-gallery/Manifest
@@ -1 +1 @@
-DIST sphinx-gallery-0.11.1.tar.gz 393927 BLAKE2B c4c56e7bc7bfc519cd172cd104cfee902524c70de7fe76cc816d8f4612cbdf1a0786e3d5f83ea74ce7c1726eeaea5db45682efa3d873efeac49d94ab1393b9ac SHA512 514139213516851fe09aac4168d8fff72e5ce62eecdb0864f58e45d5fe6eab58b8fda749b72ae98f94b2bf8ac1a917396195d8a4d1750ec1563b30b879b12b8d
+DIST sphinx-gallery-0.15.0.tar.gz 422363 BLAKE2B cbca8ec252e03e9cacc0df27da43ebc9bbed8531d5df65bf9cb7f54f7ae8b127582f353cb245bcc459d6fa86240207346a05d777504163d49be0fabb029a172b SHA512 b6b0d5022da9de27417f8cc72ba24f0d51e57f83c68b17a296269b074888a711d61fcf933fbbfaf4d6977702b3f020d4b0eaa89e78e51185ee2dd26e911fe8be
diff --git a/dev-python/sphinx-gallery/sphinx-gallery-0.11.1.ebuild b/dev-python/sphinx-gallery/sphinx-gallery-0.11.1.ebuild
deleted file mode 100644
index 369142a3abdc..000000000000
--- a/dev-python/sphinx-gallery/sphinx-gallery-0.11.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
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Sphinx extension to automatically generate an examples gallery"
-HOMEPAGE="
- https://sphinx-gallery.github.io/
- https://github.com/sphinx-gallery/sphinx-gallery"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE=""
-
-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
-
-src_prepare() {
- sed -i -e 's:--cov-report= --cov=sphinx_gallery::' setup.cfg || die
- distutils-r1_src_prepare
-}
-
-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
-)
diff --git a/dev-python/sphinx-gallery/sphinx-gallery-0.15.0.ebuild b/dev-python/sphinx-gallery/sphinx-gallery-0.15.0.ebuild
new file mode 100644
index 000000000000..48ff63d45f49
--- /dev/null
+++ b/dev-python/sphinx-gallery/sphinx-gallery-0.15.0.ebuild
@@ -0,0 +1,51 @@
+# 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-inline-tabs/Manifest b/dev-python/sphinx-inline-tabs/Manifest
new file mode 100644
index 000000000000..d45863abca58
--- /dev/null
+++ b/dev-python/sphinx-inline-tabs/Manifest
@@ -0,0 +1 @@
+DIST sphinx_inline_tabs-2023.4.21.tar.gz 42664 BLAKE2B e7f00bb220a194d6aad2285af793b540233d3a4122c82c34c28d03e62fa463252dff7624470f3abf4e5cd9028c9abfabc0b663fc56acee809bcd10d1bc886038 SHA512 d5c856821ca3d2b251733fe200465679dc875d66719851f89b6e38fd1898e40a2bbc97975b6bbdb7bf769fb67038bbb8dd94282504adb0977c57e8d1cf3fde5c
diff --git a/dev-python/sphinx-inline-tabs/metadata.xml b/dev-python/sphinx-inline-tabs/metadata.xml
new file mode 100644
index 000000000000..aac31acf568d
--- /dev/null
+++ b/dev-python/sphinx-inline-tabs/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">
+ <email>alexxy@gentoo.org</email>
+ <name>Alexey Shvetsov</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">pradyunsg/sphinx-inline-tabs</remote-id>
+ <remote-id type="pypi">sphinx-inline-tabs</remote-id>
+ <doc>https://sphinx-inline-tabs.readthedocs.io</doc>
+ <bugs-to>https://github.com/pradyunsg/sphinx-inline-tabs/issues</bugs-to>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..ad6169c8bad4
--- /dev/null
+++ b/dev-python/sphinx-inline-tabs/sphinx-inline-tabs-2023.4.21.ebuild
@@ -0,0 +1,21 @@
+# 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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A sphinx extension for inline tabs"
+HOMEPAGE="https://pypi.org/project/sphinx-inline-tabs/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/sphinx-6.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sphinx-issues/Manifest b/dev-python/sphinx-issues/Manifest
index 6e6ecc2eef50..a3c6f9f1a7ec 100644
--- a/dev-python/sphinx-issues/Manifest
+++ b/dev-python/sphinx-issues/Manifest
@@ -1 +1,2 @@
-DIST sphinx-issues-3.0.1.tar.gz 12320 BLAKE2B 770aa19a443bacd489157244f087fdb99740d5eae2f45246ab0fd0596260f249dcf7fb0642acf0a925d1a1def08f6d944a2ec67017334843b636623b05df8327 SHA512 dd64e1611eb58fc455bedb1658473fd71e4deab1371d8a42e6fa7fe3b128a991251add12e463b9a5826fd4eb5aa12e9a117dcf953feeb8df980a7951e43d8baa
+DIST sphinx_issues-4.0.0.tar.gz 13945 BLAKE2B 43994155a5040b63f34f48b2ddf8f39cf36bd97fc464619f1adb55a2c9b433fb5c1c65f8cd5b2f7928afbd5ebbbbad67c69490ae67aaf220c0a5cf8c44876b69 SHA512 77e249c9ccd9dec96e64ba898e8cf2d1922c6190ad67e9d4d823a4d08d3c07bae217a8bf51c193fc5331c289e53ce6f93ae3d685ac9a618d41f565930557dabb
+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 313788d52893..000000000000
--- a/dev-python/sphinx-issues/sphinx-issues-3.0.1-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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Sphinx extension for linking to your project's issue tracker"
-HOMEPAGE="https://github.com/sloria/sphinx-issues"
-SRC_URI="https://github.com/sloria/${PN}/archive/${PV}.tar.gz -> ${P}.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 ~sparc-solaris ~sparc64-solaris ~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.0.0.ebuild b/dev-python/sphinx-issues/sphinx-issues-4.0.0.ebuild
new file mode 100644
index 000000000000..e753a9e2f1fb
--- /dev/null
+++ b/dev-python/sphinx-issues/sphinx-issues-4.0.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..12} )
+
+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-issues/sphinx-issues-4.1.0.ebuild b/dev-python/sphinx-issues/sphinx-issues-4.1.0.ebuild
new file mode 100644
index 000000000000..1c02b09b26d4
--- /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..12} )
+
+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-lv2-theme/Manifest b/dev-python/sphinx-lv2-theme/Manifest
new file mode 100644
index 000000000000..a6df4c3a9234
--- /dev/null
+++ b/dev-python/sphinx-lv2-theme/Manifest
@@ -0,0 +1 @@
+DIST sphinx_lv2_theme-1.4.2.tar.gz 14331 BLAKE2B 3d0e40af9a48c0595b1b99b87ca6fc35a557d0f7543609ab71deb277563c9c460ac6310179f0384510143fa4056bce1c1338e481f812393ffa82e063c14bc067 SHA512 51c9cca9cd28878496706a4716ec722b695257392ab09adfbfe70e3dadeb72c7620cdbb56562411e8b99d3af942cec63a346781512ead188c6b2d6eae3623336
diff --git a/dev-python/sphinx_lv2_theme/metadata.xml b/dev-python/sphinx-lv2-theme/metadata.xml
index 322e4eff0904..322e4eff0904 100644
--- a/dev-python/sphinx_lv2_theme/metadata.xml
+++ b/dev-python/sphinx-lv2-theme/metadata.xml
diff --git a/dev-python/sphinx-lv2-theme/sphinx-lv2-theme-1.4.2.ebuild b/dev-python/sphinx-lv2-theme/sphinx-lv2-theme-1.4.2.ebuild
new file mode 100644
index 000000000000..c461f24ad8a0
--- /dev/null
+++ b/dev-python/sphinx-lv2-theme/sphinx-lv2-theme-1.4.2.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Minimal pure-CSS Sphinx theme using the LV2 plugin documentation style"
+HOMEPAGE="
+ https://gitlab.com/lv2/sphinx_lv2_theme/
+ https://pypi.org/project/sphinx-lv2-theme/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
diff --git a/dev-python/sphinx-multiversion/Manifest b/dev-python/sphinx-multiversion/Manifest
index 09d063091ece..73654a85be88 100644
--- a/dev-python/sphinx-multiversion/Manifest
+++ b/dev-python/sphinx-multiversion/Manifest
@@ -1 +1 @@
-DIST sphinx-multiversion-0.2.4.tar.gz 20468 BLAKE2B 9bdc59691b63c280d08c77108318b778c8bf948c502538e94e77072589c4e6565bcb7e863a8d765f55be012b21a1a0242d37077248312a7ee18dc788a7dbc633 SHA512 68441793631f59df3330ecc84c0d1aa279f0492021108121f2bdab92d5a3eb61522664f14c4ebe8709126e0088ff8eb323aeeebb5d1e7a2dcbd358eeac772d08
+DIST sphinx-multiversion-0.2.4.gh.tar.gz 20468 BLAKE2B 9bdc59691b63c280d08c77108318b778c8bf948c502538e94e77072589c4e6565bcb7e863a8d765f55be012b21a1a0242d37077248312a7ee18dc788a7dbc633 SHA512 68441793631f59df3330ecc84c0d1aa279f0492021108121f2bdab92d5a3eb61522664f14c4ebe8709126e0088ff8eb323aeeebb5d1e7a2dcbd358eeac772d08
diff --git a/dev-python/sphinx-multiversion/metadata.xml b/dev-python/sphinx-multiversion/metadata.xml
index 64aa484646ed..61610788aab5 100644
--- a/dev-python/sphinx-multiversion/metadata.xml
+++ b/dev-python/sphinx-multiversion/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<upstream>
<remote-id type="pypi">sphinx-multiversion</remote-id>
+ <remote-id type="github">Holzhaus/sphinx-multiversion</remote-id>
</upstream>
<stabilize-allarches/>
</pkgmetadata>
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
new file mode 100644
index 000000000000..a4a539081ef1
--- /dev/null
+++ b/dev-python/sphinx-multiversion/sphinx-multiversion-0.2.4-r1.ebuild
@@ -0,0 +1,23 @@
+# 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="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"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+DEPEND="
+ dev-python/sphinx[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs dev-python/alabaster
diff --git a/dev-python/sphinx-multiversion/sphinx-multiversion-0.2.4.ebuild b/dev-python/sphinx-multiversion/sphinx-multiversion-0.2.4.ebuild
deleted file mode 100644
index fbe6483303bc..000000000000
--- a/dev-python/sphinx-multiversion/sphinx-multiversion-0.2.4.ebuild
+++ /dev/null
@@ -1,23 +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="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}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-DEPEND="
- dev-python/sphinx[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs dev-python/alabaster
diff --git a/dev-python/sphinx-notfound-page/Manifest b/dev-python/sphinx-notfound-page/Manifest
index a1f352772aa9..9e83ebdcb588 100644
--- a/dev-python/sphinx-notfound-page/Manifest
+++ b/dev-python/sphinx-notfound-page/Manifest
@@ -1 +1 @@
-DIST sphinx-notfound-page-0.8.3.gh.tar.gz 59219 BLAKE2B cdb95906dba4d51aee88b220f094204575f2800737f160c7c028033002d41d2c793a91e1c61101f7c7c960ddf3b4d2ef83fbd285dd73ff5aed6c6c933b1fc1e7 SHA512 8d43ccfd3f83ff25b7a20ee3f5352489092dc641b4a794199c06c0971078a132a42b05c85588508ec38487f2915eedec98c2deac02d6c4576828be2fbc7f13b0
+DIST sphinx-notfound-page-1.0.0.gh.tar.gz 543729 BLAKE2B 87da323277a38b20d43fa23e67528fee9530a243aa557a2be279a4a6877ac18bc36546beba0c6cc4ff598410d4be3a4337c7508005064df52867dca2675c8a3d SHA512 e9d235fb0461ee9f349a57d37caeaf4cb4ec5faab7e731067e69467bf0990d5c5ce31d024fe2ac531fb84f49a4e2e74092ce09d5977135c759669523fc59ab4e
diff --git a/dev-python/sphinx-notfound-page/sphinx-notfound-page-0.8.3.ebuild b/dev-python/sphinx-notfound-page/sphinx-notfound-page-0.8.3.ebuild
deleted file mode 100644
index 3ee989f3eea4..000000000000
--- a/dev-python/sphinx-notfound-page/sphinx-notfound-page-0.8.3.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_{9..11} )
-
-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[${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.0.ebuild b/dev-python/sphinx-notfound-page/sphinx-notfound-page-1.0.0.ebuild
new file mode 100644
index 000000000000..38d9464d65f8
--- /dev/null
+++ b/dev-python/sphinx-notfound-page/sphinx-notfound-page-1.0.0.ebuild
@@ -0,0 +1,35 @@
+# 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-panels/Manifest b/dev-python/sphinx-panels/Manifest
index 42606f8a782d..96b24e304117 100644
--- a/dev-python/sphinx-panels/Manifest
+++ b/dev-python/sphinx-panels/Manifest
@@ -1 +1 @@
-DIST sphinx-panels-0.6.0.tar.gz 400548 BLAKE2B 685b241ffe839face392950ccaa5c00d5613ee4076a4f8d62fdff32158f2d02c444375b7f656a89d4712f8bf895b937ff9fe650cab98670f03b0c4d75e545f97 SHA512 74064538ff8cd1c7c44b5daeda272217618ed33394694883046972b4262d503e1426e7573d8b49040d4b426651377b89fd4ad2a085f1e62827e7ef51e6912e5f
+DIST sphinx-panels-0.6.0.gh.tar.gz 400548 BLAKE2B 685b241ffe839face392950ccaa5c00d5613ee4076a4f8d62fdff32158f2d02c444375b7f656a89d4712f8bf895b937ff9fe650cab98670f03b0c4d75e545f97 SHA512 74064538ff8cd1c7c44b5daeda272217618ed33394694883046972b4262d503e1426e7573d8b49040d4b426651377b89fd4ad2a085f1e62827e7ef51e6912e5f
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/metadata.xml b/dev-python/sphinx-panels/metadata.xml
index 737d697e677b..75a31066e3b2 100644
--- a/dev-python/sphinx-panels/metadata.xml
+++ b/dev-python/sphinx-panels/metadata.xml
@@ -12,5 +12,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">sphinx-panels</remote-id>
+ <remote-id type="github">executablebooks/sphinx-panels</remote-id>
</upstream>
</pkgmetadata>
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
new file mode 100644
index 000000000000..c6e527dcf0ba
--- /dev/null
+++ b/dev-python/sphinx-panels/sphinx-panels-0.6.0-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 sphinx extension for creating panels in a grid layout"
+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 ~arm64 x86"
+
+RDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/sphinx[${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-panels/sphinx-panels-0.6.0.ebuild b/dev-python/sphinx-panels/sphinx-panels-0.6.0.ebuild
deleted file mode 100644
index a00307fae803..000000000000
--- a/dev-python/sphinx-panels/sphinx-panels-0.6.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=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-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}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
-"
-
-BDEPEND="test? ( dev-python/pytest-regressions[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs dev-python/sphinx_rtd_theme
diff --git a/dev-python/sphinx-press-theme/Manifest b/dev-python/sphinx-press-theme/Manifest
new file mode 100644
index 000000000000..2a73f2643d50
--- /dev/null
+++ b/dev-python/sphinx-press-theme/Manifest
@@ -0,0 +1 @@
+DIST sphinx_press_theme-0.9.1.tar.gz 254696 BLAKE2B fa1c26ed8f7e2ec375e3be716622669d02845c733f37fb42e5e960395e365aecc526b711ab5375fb15946612e0a1ad6dfc066b0aec8b68316fdc828d2582a4d7 SHA512 4c3fe68e6be32ac93b514aac10f26a096e4190c0428e79329448717691f896a847cfdfd756348511c6af14e37bc8492ca7ea905833317a5259c0858553714ec8
diff --git a/dev-python/sphinx-press-theme/metadata.xml b/dev-python/sphinx-press-theme/metadata.xml
new file mode 100644
index 000000000000..e6c10d435a26
--- /dev/null
+++ b/dev-python/sphinx-press-theme/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" proxied="yes">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">schettino72/sphinx_press_theme</remote-id>
+ <remote-id type="pypi">sphinx-press-theme</remote-id>
+ </upstream>
+</pkgmetadata>
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/Manifest b/dev-python/sphinx-prompt/Manifest
index 0c04e2325d8e..666a3bee910b 100644
--- a/dev-python/sphinx-prompt/Manifest
+++ b/dev-python/sphinx-prompt/Manifest
@@ -1 +1 @@
-DIST sphinx-prompt-1.5.0.tar.gz 21537 BLAKE2B a5bc69797ea526bc3d66b52e98b80cbb9958add084ea6a4d70a85cc06c69271bbe9e658eb517b78dd758178b6f3b93d92ea87e9432e5c28a61307706a3c34ee8 SHA512 b3d023388eb024303e9264e621ad379367916f8e3567192fde90b3f0d96c94c53d783c2e14970ad3d85895053b3aab9ece6d9573d3bab1dc894e0e04757f3a40
+DIST sphinx-prompt-1.8.0.gh.tar.gz 38424 BLAKE2B c469e2acfdad076afd472c30380a59aae4d719edce653794fd4d09a2c8008b7f67642ce2a740fb1408987243ba5d520e28b3dc4d7ec34899de6fcf57f2171456 SHA512 1acaa18066537adaab71eb900f0b0fb8041f8f25a9079e171b98b98106d5b7d1885e23bae2c1fd278bbf22c66d17238fbf386cb61fc5725475862aaf86d5701e
diff --git a/dev-python/sphinx-prompt/sphinx-prompt-1.5.0.ebuild b/dev-python/sphinx-prompt/sphinx-prompt-1.5.0.ebuild
deleted file mode 100644
index e47b070040d6..000000000000
--- a/dev-python/sphinx-prompt/sphinx-prompt-1.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
-
-PYTHON_COMPAT=( pypy3 python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Sphinx directive to add unselectable prompt"
-HOMEPAGE="https://github.com/sbrunner/sphinx-prompt/"
-SRC_URI="https://github.com/sbrunner/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/sphinx-prompt/sphinx-prompt-1.8.0.ebuild b/dev-python/sphinx-prompt/sphinx-prompt-1.8.0.ebuild
new file mode 100644
index 000000000000..f2c06681099c
--- /dev/null
+++ b/dev-python/sphinx-prompt/sphinx-prompt-1.8.0.ebuild
@@ -0,0 +1,43 @@
+# 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
+
+DESCRIPTION="Sphinx directive to add unselectable prompt"
+HOMEPAGE="
+ https://github.com/sbrunner/sphinx-prompt/
+ https://pypi.org/project/sphinx-prompt/
+"
+SRC_URI="
+ https://github.com/sbrunner/sphinx-prompt/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # version number relies on git repo, sigh
+ # also all dependencies are pinned to exact versions, sigh
+ # also huge hack to install package as "sphinx-prompt", sigh
+ sed -i \
+ -e "/^version =/s:[0-9.]\+:${PV}:" \
+ -e '/^\[tool\.poetry\.dependencies\]$/,$s:"[0-9.]\+:"*:' \
+ -e '/include.*sphinx-prompt/d' \
+ pyproject.toml || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/sphinx-py3doc-enhanced-theme/Manifest b/dev-python/sphinx-py3doc-enhanced-theme/Manifest
index 37d258500b19..01d0c3c38fc3 100644
--- a/dev-python/sphinx-py3doc-enhanced-theme/Manifest
+++ b/dev-python/sphinx-py3doc-enhanced-theme/Manifest
@@ -1 +1 @@
-DIST sphinx-py3doc-enhanced-theme-2.3.2.tar.gz 41894 BLAKE2B 9a38169b7e2c3331267f5c0a102d01cb0185689334adc98abe91626b27217add0abacde3422fe528588322ccc96f6976b80ce0e510cecfa80837d9b595cb2457 SHA512 efeeaf1bbb7f5557f5e1500dd0a49aa001b714f329f594e95676d8833eede7eb5e0fa978257caeab9630360b05f48132ffb00137262c7a5b663cae6a009ed42d
+DIST sphinx-py3doc-enhanced-theme-2.4.0.tar.gz 42093 BLAKE2B 020deec0d589d8052f2cce6faaeb8764b596a042584a0988dbcd73f0dc11c647db35b1b91fac63413ad211025fb98bbcc76a5bb2caa1cece56b907e021a0c20d SHA512 3ba362bf9179bdd69cd50fe7759cecd1ce89c7c5e7cd5f50d6f92af9835369436fc34b5dcc39295197828481041d30cf59dea3a929d232abd6b62e9e066b60f2
diff --git a/dev-python/sphinx-py3doc-enhanced-theme/sphinx-py3doc-enhanced-theme-2.3.2-r1.ebuild b/dev-python/sphinx-py3doc-enhanced-theme/sphinx-py3doc-enhanced-theme-2.3.2-r1.ebuild
deleted file mode 100644
index 76955646c2f2..000000000000
--- a/dev-python/sphinx-py3doc-enhanced-theme/sphinx-py3doc-enhanced-theme-2.3.2-r1.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} pypy3 )
-inherit distutils-r1
-
-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/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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-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
new file mode 100644
index 000000000000..784f908a66de
--- /dev/null
+++ b/dev-python/sphinx-py3doc-enhanced-theme/sphinx-py3doc-enhanced-theme-2.4.0.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
+PYTHON_COMPAT=( python3_{10..12} 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/Manifest b/dev-python/sphinx-pytest/Manifest
index e17d72ed9f21..e42b71406198 100644
--- a/dev-python/sphinx-pytest/Manifest
+++ b/dev-python/sphinx-pytest/Manifest
@@ -1 +1 @@
-DIST sphinx-pytest-0.0.5.gh.tar.gz 6228 BLAKE2B bb619ce79411a611fecf778ac095da0e7557bc419b7395efbc4dc2163699425898005fabadc083b74ac2cab8f207dcf8969f5c551c975d6354063962141c907b SHA512 e1af518cc5535ecacae612f11c7fb1200965a1999d9eb2643ba14b222fc4e93c257ef6600b37b9de4075bf3e5e703db60e7350cd5159fcf4ba21abec28bceb66
+DIST sphinx-pytest-0.2.0.gh.tar.gz 6935 BLAKE2B a18755669865512ee5ecec46abebf654705efb64165306126144af9df056a829efc5c818abad2477e86edb3da2cb1bf4aadc4e8807cf3c289e29fffa249bbfbf SHA512 dfcbe36c74bf01ff45895893faa11a643b667d277e5f5011978c5cd1404f79d614c6603cf8756ef3e5fec278ea01c6e289cb825725e4e218f75a7bcb12e11bbb
diff --git a/dev-python/sphinx-pytest/metadata.xml b/dev-python/sphinx-pytest/metadata.xml
index d0dabef2414d..f7907b42a5f7 100644
--- a/dev-python/sphinx-pytest/metadata.xml
+++ b/dev-python/sphinx-pytest/metadata.xml
@@ -7,7 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="github">chrisjsewell/sphinx-pytest</remote-id>
+ <remote-id type="github">sphinx-extensions2/sphinx-pytest</remote-id>
<remote-id type="pypi">sphinx_pytest</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/sphinx-pytest/sphinx-pytest-0.0.5.ebuild b/dev-python/sphinx-pytest/sphinx-pytest-0.0.5.ebuild
deleted file mode 100644
index d013331c49c2..000000000000
--- a/dev-python/sphinx-pytest/sphinx-pytest-0.0.5.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Helpful pytest fixtures for Sphinx extensions"
-HOMEPAGE="
- https://github.com/chrisjsewell/sphinx-pytest/
- https://pypi.org/project/sphinx_pytest/
-"
-SRC_URI="
- https://github.com/chrisjsewell/sphinx-pytest/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/pytest[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/sphinx-pytest/sphinx-pytest-0.2.0.ebuild b/dev-python/sphinx-pytest/sphinx-pytest-0.2.0.ebuild
new file mode 100644
index 000000000000..df9d9d28057a
--- /dev/null
+++ b/dev-python/sphinx-pytest/sphinx-pytest-0.2.0.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=flit
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Helpful pytest fixtures for Sphinx extensions"
+HOMEPAGE="
+ https://github.com/sphinx-extensions2/sphinx-pytest/
+ https://pypi.org/project/sphinx_pytest/
+"
+SRC_URI="
+ https://github.com/sphinx-extensions2/sphinx-pytest/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/pytest[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sphinx-rtd-theme/Manifest b/dev-python/sphinx-rtd-theme/Manifest
new file mode 100644
index 000000000000..b559a0e251d3
--- /dev/null
+++ b/dev-python/sphinx-rtd-theme/Manifest
@@ -0,0 +1 @@
+DIST sphinx_rtd_theme-2.0.0.tar.gz 2785005 BLAKE2B a9971cba0bf04d786e41144fc04c8450be3291f0f5c3164b793258a489d5c1348bded906f47071ebd9aa4fa022bca157a18f758d3e2f48765ae5c65655a8c25f SHA512 3de989e24f2c187058b19017a92cf2159af0fdb32e5c3bc46992797a3be0f23ad75e1fd9b758e7d672eb38524798b4800de2e1b405910ea043dbd7d6f32a05da
diff --git a/dev-python/sphinx_rtd_theme/metadata.xml b/dev-python/sphinx-rtd-theme/metadata.xml
index 9b67795adb8e..9b67795adb8e 100644
--- a/dev-python/sphinx_rtd_theme/metadata.xml
+++ b/dev-python/sphinx-rtd-theme/metadata.xml
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
new file mode 100644
index 000000000000..ef659e975450
--- /dev/null
+++ b/dev-python/sphinx-rtd-theme/sphinx-rtd-theme-2.0.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 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 741ae43b25cd..61083abe9c28 100644
--- a/dev-python/sphinx-tabs/Manifest
+++ b/dev-python/sphinx-tabs/Manifest
@@ -1 +1 @@
-DIST sphinx-tabs-3.4.1.gh.tar.gz 524071 BLAKE2B 5aecb9c22a298c1347bf82cbbc16709f3f6cd38b0f0f6e4948411f1fdd79ba17d3e75178b8c092df7b8abc812dd4b0102879774708552a062aad0fe0b0653717 SHA512 b6079d3ae91479d40aaf35926226eb7dd783de7cec0e721cb13a036fc520bb3afda0dffb0669dc5054fc665125c3620261b1ea7ffe685d5b177bc980e3b4d7e4
+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.1.ebuild b/dev-python/sphinx-tabs/sphinx-tabs-3.4.1.ebuild
deleted file mode 100644
index 85e910958f30..000000000000
--- a/dev-python/sphinx-tabs/sphinx-tabs-3.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=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
-
-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}]
- dev-python/sphinx-testing[${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
-
- # fix tests for >=sphinx-5
- sed -e 's/\(Permalink to this\) heading/\1 headline/g' \
- -i tests/test_build/test_*.html || 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 31321ae63c56..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} )
-
-inherit distutils-r1
-
-DESCRIPTION="Testing utility classes and functions for Sphinx extensions"
-HOMEPAGE="https://github.com/sphinx-doc/sphinx-testing"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-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 935659551e94..aa8c8615a5e3 100644
--- a/dev-python/sphinx/Manifest
+++ b/dev-python/sphinx/Manifest
@@ -1,6 +1 @@
-DIST Sphinx-4.5.0.tar.gz 6698212 BLAKE2B e6c46d35492c3d3068c4f97e497d33973ca86b40934578804fcec901fa89d2c52b45a7546b835b873846dd16936c1bd34a7b053aec8206c688d974671155fd56 SHA512 b44d2a81ed67adaefe16a07ae0cf053b5e6c775023aaa6c57d7b3950f171deac410e8004f787b151c3c2fc350650aa69a4dc2dc7239d1fd3d351e5194617cb2c
-DIST sphinx-5.3.0.gh.tar.gz 6873479 BLAKE2B c57ede5e3d83447c6152d050d45df73bced62ce0cdcd84ea6316a48bff072590ad036c469dee053a9dc5eb1a7ae53b350aa25b5fe14c3378dc6543186552f720 SHA512 6877635d46f2e1f2b4cf4edaca463d85bf740a13bbeb867486efd57904aacc42626e6a4f58ad971e50808d31391d068702c4f2910a95e5c86dbd68d87e2552c8
-DIST sphinx-6.0.0.gh.tar.gz 6713685 BLAKE2B b2e333efdbbd319c82203a0ee731ae8b0bc8a848b92773bdaa93b52c3841ab3802f68f698155b8ce4f65af93fdbe741c3e37775defde6111ee6ad5db89f968d8 SHA512 6efcbe57170cacec6f3c7f11f09094d096dc2afb7e0470c7cbdb9ea209dcbb782a6227a32de41974258555fa01986406a6564587f6b414594c452dcc6b8a06fc
-DIST sphinx-6.1.1.gh.tar.gz 6719767 BLAKE2B 91951c896c9feceee5877f98cd6d9afd0868bf6fd0c7372289eff2511ffb3ac845a29a43442c1cc8a9d14be3b242695d6666289b68a3fd41b5fdcbdf87c88145 SHA512 eaeed485d93d9fca3d8c388112594b2f71bed4b3d14ab2d5728ae4ca43bd444668f8b3633f7d2e11f4b1ec20aa309e8f0f70b500752e9f7dfeafd2999244fb58
-DIST sphinx-6.1.2.gh.tar.gz 6720271 BLAKE2B 2206fdd2e3936dded171ffd3aa0895ee9ea337c1a1cd55735eb880a8cbe36f2454fd545883de46831bd29f0738796c0bedbbfda45e6c132e452a36b028bf5e08 SHA512 ecbfea636bf3095b94a38992856c2279f696b8a34558f99b1a08a984c5ace678d68a9bd3197119205f6af6dbbf995c3b820972b7c83d8c628fa5031e0b545e4c
-DIST sphinx-6.1.3.gh.tar.gz 6720056 BLAKE2B 8d8753a7735df1d2e86dfc1c6347ea6fd550c5a6abd5e4cb2b884e0ec9d9de5179eac241cad98aad3ee09cca26d13f74aecc2eb2f61067eb20beb4a26159ac4d SHA512 b1cdd1ae8e643306cbbf26bd926f0fbd6c76a11098cf35c8088dd12f4c8ac4dbb5a7acc0676608d8268059191756e71741564a72e9786a66eb2282afd0271f27
+DIST sphinx-7.2.6.gh.tar.gz 7067425 BLAKE2B 4da1cb5ccebea4df0dc134c552311d7b70ce9b76424ea4355ad67b1ece60c9b445e56c96b838832d4df2f50940832b3fa9555b596390464a4017a573bcf514c3 SHA512 204e859318ad5044639f2e682098b07c7cc675b54ba801feeb3322290bfd15316cc15a2cae8fa6a55e6ec6d1e9690790e5402652eb04720bfe96e172f4c8bdbc
diff --git a/dev-python/sphinx/sphinx-4.5.0-r1.ebuild b/dev-python/sphinx/sphinx-4.5.0-r1.ebuild
deleted file mode 100644
index d26e19bcd8a4..000000000000
--- a/dev-python/sphinx/sphinx-4.5.0-r1.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Python documentation generator"
-HOMEPAGE="https://www.sphinx-doc.org/
- https://github.com/sphinx-doc/sphinx"
-SRC_URI="mirror://pypi/S/${PN^}/${P^}.tar.gz"
-S=${WORKDIR}/${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"
-IUSE="doc latex"
-
-RDEPEND="
- <dev-python/alabaster-0.8[${PYTHON_USEDEP}]
- >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
- <dev-python/docutils-0.18[${PYTHON_USEDEP}]
- dev-python/imagesize[${PYTHON_USEDEP}]
- >=dev-python/jinja-2.3[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/snowballstemmer-1.1[${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.5[${PYTHON_USEDEP}]
- dev-python/sphinxcontrib-qthelp[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-4.4[${PYTHON_USEDEP}]
- ' python3_{8,9} pypy3)
- 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? (
- dev-python/html5lib[${PYTHON_USEDEP}]
- virtual/imagemagick-tools[jpeg,png,svg]
- dev-texlive/texlive-fontsextra
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-luatex
- app-text/dvipng
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.2.1-doc-link.patch"
- "${FILESDIR}/${PN}-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() {
- if use doc; then
- esetup.py build_sphinx
- HTML_DOCS=( "${BUILD_DIR}"/sphinx/html/. )
- fi
-}
-
-python_test() {
- mkdir -p "${BUILD_DIR}/sphinx_tempdir" || die
- local -x SPHINX_TEST_TEMPDIR="${BUILD_DIR}/sphinx_tempdir"
-
- local EPYTEST_DESELECT=(
- # these tests require Internet access
- tests/test_build_latex.py::test_latex_images
- tests/test_build_linkcheck.py::test_defaults
- tests/test_build_linkcheck.py::test_defaults_json
- tests/test_build_linkcheck.py::test_anchors_ignored
- tests/test_build_linkcheck.py::test_linkcheck_exclude_documents
- # TODO
- tests/test_ext_autodoc_autoclass.py::test_classes
- tests/test_ext_autodoc_autofunction.py::test_classes
- )
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- tests/test_build_linkcheck.py::test_connect_to_selfsigned_fails
- tests/test_ext_autodoc.py::test_autodoc_inherited_members_None
- tests/test_ext_autodoc.py::test_autodoc_typed_inherited_instance_variables
- tests/test_ext_autodoc.py::test_autodoc_typed_instance_variables
- tests/test_ext_autodoc.py::test_automethod_for_builtin
- tests/test_ext_autodoc.py::test_cython
- tests/test_ext_autodoc.py::test_partialfunction
- tests/test_ext_autodoc_autoclass.py::test_autodoc_process_bases
- tests/test_ext_autodoc_autoclass.py::test_show_inheritance_for_decendants_of_generic_type
- tests/test_ext_autodoc_autoclass.py::test_show_inheritance_for_subclass_of_generic_type
- tests/test_ext_autodoc_autodata.py::test_autodata_type_comment
- tests/test_ext_autodoc_autofunction.py::test_builtin_function
- tests/test_ext_autodoc_autofunction.py::test_methoddescriptor
- tests/test_ext_autodoc_configs.py::test_autodoc_type_aliases
- tests/test_ext_autodoc_configs.py::test_autodoc_typehints_signature
- tests/test_ext_autosummary.py::test_autosummary_generate_content_for_module
- tests/test_ext_autosummary.py::test_autosummary_generate_content_for_module_skipped
- tests/test_pycode_parser.py::test_annotated_assignment
- tests/test_util_inspect.py::test_isattributedescriptor
- tests/test_util_typing.py::test_stringify_type_hints_pep_585
- )
-
- epytest
-}
diff --git a/dev-python/sphinx/sphinx-5.3.0.ebuild b/dev-python/sphinx/sphinx-5.3.0.ebuild
deleted file mode 100644
index 8a395c538c8f..000000000000
--- a/dev-python/sphinx/sphinx-5.3.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=flit
-PYTHON_COMPAT=( python3_{9..11} 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"
-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.8[${PYTHON_USEDEP}]
- >=dev-python/Babel-2.9[${PYTHON_USEDEP}]
- <dev-python/docutils-0.20[${PYTHON_USEDEP}]
- >=dev-python/imagesize-1.3[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.12[${PYTHON_USEDEP}]
- >=dev-python/requests-2.5.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.5[${PYTHON_USEDEP}]
- dev-python/sphinxcontrib-qthelp[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-4.8[${PYTHON_USEDEP}]
- ' 3.8 3.9)
- 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[${PYTHON_USEDEP}]
- dev-python/html5lib[${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() {
- if use doc; then
- esetup.py build_sphinx
- HTML_DOCS=( build/sphinx/html/. )
- fi
-}
-
-python_test() {
- mkdir -p "${BUILD_DIR}/sphinx_tempdir" || die
- local -x SPHINX_TEST_TEMPDIR="${BUILD_DIR}/sphinx_tempdir"
-
- local EPYTEST_DESELECT=(
- # these tests require Internet access
- tests/test_build_latex.py::test_latex_images
- tests/test_build_linkcheck.py::test_defaults
- tests/test_build_linkcheck.py::test_defaults_json
- tests/test_build_linkcheck.py::test_anchors_ignored
- # TODO
- tests/test_ext_autodoc_autoclass.py::test_classes
- tests/test_ext_autodoc_autofunction.py::test_classes
- tests/test_ext_inheritance_diagram.py::test_import_classes
- # looks like a bug in lualatex
- "tests/test_build_latex.py::test_build_latex_doc[lualatex-howto]"
- "tests/test_build_latex.py::test_build_latex_doc[lualatex-manual]"
- )
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- tests/test_ext_autodoc.py::test_autodoc_inherited_members_None
- tests/test_ext_autodoc.py::test_automethod_for_builtin
- tests/test_ext_autodoc.py::test_cython
- tests/test_ext_autodoc.py::test_partialfunction
- tests/test_ext_autodoc_autoclass.py::test_autodoc_process_bases
- tests/test_ext_autodoc_autoclass.py::test_show_inheritance_for_decendants_of_generic_type
- tests/test_ext_autodoc_autoclass.py::test_show_inheritance_for_subclass_of_generic_type
- tests/test_ext_autodoc_autofunction.py::test_builtin_function
- tests/test_ext_autodoc_autofunction.py::test_methoddescriptor
- tests/test_ext_autodoc_automodule.py::test_automodule_inherited_members
- tests/test_ext_autosummary.py::test_autosummary_generate_content_for_module
- tests/test_ext_autosummary.py::test_autosummary_generate_content_for_module_skipped
- tests/test_util_inspect.py::test_isattributedescriptor
- tests/test_util_typing.py::test_stringify_type_hints_pep_585
- )
-
- epytest
-}
diff --git a/dev-python/sphinx/sphinx-6.0.0.ebuild b/dev-python/sphinx/sphinx-6.0.0.ebuild
deleted file mode 100644
index a2fef098e49e..000000000000
--- a/dev-python/sphinx/sphinx-6.0.0.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
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} 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"
-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.8[${PYTHON_USEDEP}]
- >=dev-python/Babel-2.9[${PYTHON_USEDEP}]
- <dev-python/docutils-0.20[${PYTHON_USEDEP}]
- >=dev-python/docutils-0.18[${PYTHON_USEDEP}]
- >=dev-python/imagesize-1.3[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.12[${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.5[${PYTHON_USEDEP}]
- dev-python/sphinxcontrib-qthelp[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-4.8[${PYTHON_USEDEP}]
- ' 3.8 3.9)
- 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[${PYTHON_USEDEP}]
- dev-python/html5lib[${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() {
- if use doc; then
- esetup.py build_sphinx
- HTML_DOCS=( build/sphinx/html/. )
- fi
-}
-
-python_test() {
- mkdir -p "${BUILD_DIR}/sphinx_tempdir" || die
- local -x SPHINX_TEST_TEMPDIR="${BUILD_DIR}/sphinx_tempdir"
-
- local EPYTEST_DESELECT=(
- # these tests require Internet access
- tests/test_build_latex.py::test_latex_images
- tests/test_build_linkcheck.py::test_defaults
- tests/test_build_linkcheck.py::test_defaults_json
- tests/test_build_linkcheck.py::test_anchors_ignored
- # TODO
- tests/test_ext_autodoc_autoclass.py::test_classes
- tests/test_ext_autodoc_autofunction.py::test_classes
- tests/test_ext_inheritance_diagram.py::test_import_classes
- # looks like a bug in lualatex
- "tests/test_build_latex.py::test_build_latex_doc[lualatex-howto]"
- "tests/test_build_latex.py::test_build_latex_doc[lualatex-manual]"
- )
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- tests/test_ext_autodoc.py::test_autodoc_inherited_members_None
- tests/test_ext_autodoc.py::test_automethod_for_builtin
- tests/test_ext_autodoc.py::test_cython
- tests/test_ext_autodoc.py::test_partialfunction
- tests/test_ext_autodoc_autoclass.py::test_autodoc_process_bases
- tests/test_ext_autodoc_autoclass.py::test_show_inheritance_for_decendants_of_generic_type
- tests/test_ext_autodoc_autoclass.py::test_show_inheritance_for_subclass_of_generic_type
- tests/test_ext_autodoc_autofunction.py::test_builtin_function
- tests/test_ext_autodoc_autofunction.py::test_methoddescriptor
- tests/test_ext_autodoc_automodule.py::test_automodule_inherited_members
- tests/test_ext_autosummary.py::test_autosummary_generate_content_for_module
- tests/test_ext_autosummary.py::test_autosummary_generate_content_for_module_skipped
- tests/test_util_inspect.py::test_isattributedescriptor
- tests/test_util_typing.py::test_stringify_type_hints_pep_585
- )
-
- epytest
-}
diff --git a/dev-python/sphinx/sphinx-6.1.1.ebuild b/dev-python/sphinx/sphinx-6.1.1.ebuild
deleted file mode 100644
index 47c0067bed8d..000000000000
--- a/dev-python/sphinx/sphinx-6.1.1.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=flit
-PYTHON_COMPAT=( python3_{9..11} 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.8[${PYTHON_USEDEP}]
- >=dev-python/Babel-2.9[${PYTHON_USEDEP}]
- <dev-python/docutils-0.20[${PYTHON_USEDEP}]
- >=dev-python/docutils-0.18[${PYTHON_USEDEP}]
- >=dev-python/imagesize-1.3[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.13[${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.5[${PYTHON_USEDEP}]
- dev-python/sphinxcontrib-qthelp[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-4.8[${PYTHON_USEDEP}]
- ' 3.8 3.9)
- 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[${PYTHON_USEDEP}]
- dev-python/html5lib[${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=(
- # these tests require Internet access
- tests/test_build_latex.py::test_latex_images
- tests/test_build_linkcheck.py::test_defaults
- tests/test_build_linkcheck.py::test_defaults_json
- tests/test_build_linkcheck.py::test_anchors_ignored
- # TODO
- tests/test_ext_autodoc_autoclass.py::test_classes
- tests/test_ext_autodoc_autofunction.py::test_classes
- tests/test_ext_inheritance_diagram.py::test_import_classes
- # looks like a bug in lualatex
- "tests/test_build_latex.py::test_build_latex_doc[lualatex-howto]"
- "tests/test_build_latex.py::test_build_latex_doc[lualatex-manual]"
- )
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- tests/test_ext_autodoc.py::test_autodoc_inherited_members_None
- tests/test_ext_autodoc.py::test_automethod_for_builtin
- tests/test_ext_autodoc.py::test_cython
- tests/test_ext_autodoc.py::test_partialfunction
- tests/test_ext_autodoc_autoclass.py::test_autodoc_process_bases
- tests/test_ext_autodoc_autoclass.py::test_show_inheritance_for_decendants_of_generic_type
- tests/test_ext_autodoc_autoclass.py::test_show_inheritance_for_subclass_of_generic_type
- tests/test_ext_autodoc_autofunction.py::test_builtin_function
- tests/test_ext_autodoc_autofunction.py::test_methoddescriptor
- tests/test_ext_autodoc_automodule.py::test_automodule_inherited_members
- tests/test_ext_autosummary.py::test_autosummary_generate_content_for_module
- tests/test_ext_autosummary.py::test_autosummary_generate_content_for_module_skipped
- tests/test_util_inspect.py::test_isattributedescriptor
- tests/test_util_typing.py::test_stringify_type_hints_pep_585
- )
-
- epytest
-}
diff --git a/dev-python/sphinx/sphinx-6.1.2.ebuild b/dev-python/sphinx/sphinx-6.1.2.ebuild
deleted file mode 100644
index 47c0067bed8d..000000000000
--- a/dev-python/sphinx/sphinx-6.1.2.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=flit
-PYTHON_COMPAT=( python3_{9..11} 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.8[${PYTHON_USEDEP}]
- >=dev-python/Babel-2.9[${PYTHON_USEDEP}]
- <dev-python/docutils-0.20[${PYTHON_USEDEP}]
- >=dev-python/docutils-0.18[${PYTHON_USEDEP}]
- >=dev-python/imagesize-1.3[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.13[${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.5[${PYTHON_USEDEP}]
- dev-python/sphinxcontrib-qthelp[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-4.8[${PYTHON_USEDEP}]
- ' 3.8 3.9)
- 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[${PYTHON_USEDEP}]
- dev-python/html5lib[${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=(
- # these tests require Internet access
- tests/test_build_latex.py::test_latex_images
- tests/test_build_linkcheck.py::test_defaults
- tests/test_build_linkcheck.py::test_defaults_json
- tests/test_build_linkcheck.py::test_anchors_ignored
- # TODO
- tests/test_ext_autodoc_autoclass.py::test_classes
- tests/test_ext_autodoc_autofunction.py::test_classes
- tests/test_ext_inheritance_diagram.py::test_import_classes
- # looks like a bug in lualatex
- "tests/test_build_latex.py::test_build_latex_doc[lualatex-howto]"
- "tests/test_build_latex.py::test_build_latex_doc[lualatex-manual]"
- )
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- tests/test_ext_autodoc.py::test_autodoc_inherited_members_None
- tests/test_ext_autodoc.py::test_automethod_for_builtin
- tests/test_ext_autodoc.py::test_cython
- tests/test_ext_autodoc.py::test_partialfunction
- tests/test_ext_autodoc_autoclass.py::test_autodoc_process_bases
- tests/test_ext_autodoc_autoclass.py::test_show_inheritance_for_decendants_of_generic_type
- tests/test_ext_autodoc_autoclass.py::test_show_inheritance_for_subclass_of_generic_type
- tests/test_ext_autodoc_autofunction.py::test_builtin_function
- tests/test_ext_autodoc_autofunction.py::test_methoddescriptor
- tests/test_ext_autodoc_automodule.py::test_automodule_inherited_members
- tests/test_ext_autosummary.py::test_autosummary_generate_content_for_module
- tests/test_ext_autosummary.py::test_autosummary_generate_content_for_module_skipped
- tests/test_util_inspect.py::test_isattributedescriptor
- tests/test_util_typing.py::test_stringify_type_hints_pep_585
- )
-
- epytest
-}
diff --git a/dev-python/sphinx/sphinx-6.1.3.ebuild b/dev-python/sphinx/sphinx-6.1.3.ebuild
deleted file mode 100644
index 47c0067bed8d..000000000000
--- a/dev-python/sphinx/sphinx-6.1.3.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=flit
-PYTHON_COMPAT=( python3_{9..11} 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.8[${PYTHON_USEDEP}]
- >=dev-python/Babel-2.9[${PYTHON_USEDEP}]
- <dev-python/docutils-0.20[${PYTHON_USEDEP}]
- >=dev-python/docutils-0.18[${PYTHON_USEDEP}]
- >=dev-python/imagesize-1.3[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.13[${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.5[${PYTHON_USEDEP}]
- dev-python/sphinxcontrib-qthelp[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib_metadata-4.8[${PYTHON_USEDEP}]
- ' 3.8 3.9)
- 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[${PYTHON_USEDEP}]
- dev-python/html5lib[${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=(
- # these tests require Internet access
- tests/test_build_latex.py::test_latex_images
- tests/test_build_linkcheck.py::test_defaults
- tests/test_build_linkcheck.py::test_defaults_json
- tests/test_build_linkcheck.py::test_anchors_ignored
- # TODO
- tests/test_ext_autodoc_autoclass.py::test_classes
- tests/test_ext_autodoc_autofunction.py::test_classes
- tests/test_ext_inheritance_diagram.py::test_import_classes
- # looks like a bug in lualatex
- "tests/test_build_latex.py::test_build_latex_doc[lualatex-howto]"
- "tests/test_build_latex.py::test_build_latex_doc[lualatex-manual]"
- )
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- tests/test_ext_autodoc.py::test_autodoc_inherited_members_None
- tests/test_ext_autodoc.py::test_automethod_for_builtin
- tests/test_ext_autodoc.py::test_cython
- tests/test_ext_autodoc.py::test_partialfunction
- tests/test_ext_autodoc_autoclass.py::test_autodoc_process_bases
- tests/test_ext_autodoc_autoclass.py::test_show_inheritance_for_decendants_of_generic_type
- tests/test_ext_autodoc_autoclass.py::test_show_inheritance_for_subclass_of_generic_type
- tests/test_ext_autodoc_autofunction.py::test_builtin_function
- tests/test_ext_autodoc_autofunction.py::test_methoddescriptor
- tests/test_ext_autodoc_automodule.py::test_automodule_inherited_members
- tests/test_ext_autosummary.py::test_autosummary_generate_content_for_module
- tests/test_ext_autosummary.py::test_autosummary_generate_content_for_module_skipped
- tests/test_util_inspect.py::test_isattributedescriptor
- tests/test_util_typing.py::test_stringify_type_hints_pep_585
- )
-
- epytest
-}
diff --git a/dev-python/sphinx/sphinx-7.2.6.ebuild b/dev-python/sphinx/sphinx-7.2.6.ebuild
new file mode 100644
index 000000000000..8b4651d984c4
--- /dev/null
+++ b/dev-python/sphinx/sphinx-7.2.6.ebuild
@@ -0,0 +1,132 @@
+# 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
+
+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.8[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.9[${PYTHON_USEDEP}]
+ <dev-python/docutils-0.21[${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}]
+ 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/filelock[${PYTHON_USEDEP}]
+ dev-python/html5lib[${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=(
+ # these tests require Internet access
+ tests/test_build_latex.py::test_latex_images
+ # TODO
+ tests/test_ext_autodoc.py::test_cython
+ tests/test_ext_autodoc_autoclass.py::test_classes
+ tests/test_ext_autodoc_autofunction.py::test_classes
+ # looks like a bug in lualatex
+ "tests/test_build_latex.py::test_build_latex_doc[lualatex-howto-None]"
+ "tests/test_build_latex.py::test_build_latex_doc[lualatex-manual-None]"
+ # doesn't like paths?
+ tests/test_directive_other.py::test_include_source_read_event
+ # flaky
+ tests/test_build_linkcheck.py
+ # TODO: regressions in 7.2.6
+ tests/test_ext_autodoc.py::test_autodoc
+ tests/test_ext_autodoc_automodule.py::test_subclass_of_mocked_object
+ tests/test_ext_autodoc_configs.py::test_mocked_module_imports
+ tests/test_ext_autosummary.py::test_autosummary_mock_imports
+ tests/test_util_typing.py::test_restify_mock
+ tests/test_util_typing.py::test_stringify_mock
+ )
+ [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
+ tests/test_ext_autodoc.py::test_autodoc_inherited_members_None
+ tests/test_ext_autodoc.py::test_automethod_for_builtin
+ tests/test_ext_autodoc.py::test_partialfunction
+ tests/test_ext_autodoc_autofunction.py::test_builtin_function
+ tests/test_ext_autodoc_autofunction.py::test_methoddescriptor
+ tests/test_ext_autodoc_preserve_defaults.py::test_preserve_defaults_special_constructs
+ tests/test_ext_autosummary.py::test_autosummary_generate_content_for_module
+ tests/test_ext_autosummary.py::test_autosummary_generate_content_for_module_skipped
+ tests/test_util_inspect.py::test_isattributedescriptor
+ tests/test_util_typing.py::test_is_invalid_builtin_class
+ )
+
+ # note: pytest-xdist causes random test failures
+ epytest
+}
diff --git a/dev-python/sphinx_ansible_theme/Manifest b/dev-python/sphinx_ansible_theme/Manifest
deleted file mode 100644
index 7236995bd6fe..000000000000
--- a/dev-python/sphinx_ansible_theme/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST sphinx-ansible-theme-0.10.1.tar.gz 49575 BLAKE2B 605e153739605e85da19022ececaee8884df8d200ee5ce65a0e695e4bd4a305b5997624e18b593a3566b17c2cd9336b961280c7da6758d370a42555321a2de69 SHA512 8e5eada24f536320e3d7bb83138ebc38c1353db6b4cc0c7eaca95078ccb4d645c5e62ce83fe1ba88aa25c13999914d7d93b817eb893d47802eee9cd40cba483d
-DIST sphinx-ansible-theme-0.9.1.tar.gz 34505 BLAKE2B 533e665b30f5aa450e4a2240c55c4992340b9f6ee03d27758bf119dfe2eef987fbd4b98136349af376557d8e9a78e5391a648b9886136995d05410b0c26561f2 SHA512 f78602af8affe7be59988f466cf6a2aa67e174086f338cad855369a7bbee5a76d07bcffa8406dea5a819127b26d69e29b0d90dab38b82524b3e317f9082d0379
diff --git a/dev-python/sphinx_ansible_theme/metadata.xml b/dev-python/sphinx_ansible_theme/metadata.xml
deleted file mode 100644
index 3e45ed16c521..000000000000
--- a/dev-python/sphinx_ansible_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="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">ansible-community/sphinx_ansible_theme</remote-id>
- <remote-id type="pypi">sphinx-ansible-theme</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/sphinx_ansible_theme/sphinx_ansible_theme-0.10.1.ebuild b/dev-python/sphinx_ansible_theme/sphinx_ansible_theme-0.10.1.ebuild
deleted file mode 100644
index cf67a561daa6..000000000000
--- a/dev-python/sphinx_ansible_theme/sphinx_ansible_theme-0.10.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_{9..11} )
-
-inherit distutils-r1
-
-MY_PN="${PN//_/-}"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="A reusable Ansible Sphinx theme"
-HOMEPAGE="
- https://github.com/ansible-community/sphinx_ansible_theme/
- https://pypi.org/project/sphinx-ansible-theme/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv"
-
-RDEPEND="
- dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools_scm-7.0.5[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs \
- 'dev-python/ansible-pygments' \
- 'dev-python/sphinx-notfound-page'
diff --git a/dev-python/sphinx_ansible_theme/sphinx_ansible_theme-0.9.1.ebuild b/dev-python/sphinx_ansible_theme/sphinx_ansible_theme-0.9.1.ebuild
deleted file mode 100644
index 58016b24eb98..000000000000
--- a/dev-python/sphinx_ansible_theme/sphinx_ansible_theme-0.9.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_{9..10} )
-inherit distutils-r1
-
-MY_PN="${PN//_/-}"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="A reusable Ansible Sphinx theme"
-HOMEPAGE="https://github.com/ansible-community/sphinx_ansible_theme"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}"/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv"
-
-RDEPEND="
- dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}]
- doc? ( dev-python/ansible-pygments[${PYTHON_USEDEP}] )"
-
-distutils_enable_sphinx docs 'dev-python/sphinx-notfound-page'
diff --git a/dev-python/sphinx_celery/Manifest b/dev-python/sphinx_celery/Manifest
deleted file mode 100644
index ff08fe7356c4..000000000000
--- a/dev-python/sphinx_celery/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sphinx_celery-2.0.0.tar.gz 16203 BLAKE2B 439a9cd20e09071491338016ba83514e37c7cdfa34966e93e3c6062ed94cdaa0750351a0de9fc7b27be1b7e557b5625be73f01f1de59d15f36335e9d46d35cae SHA512 1beca69fe9b56d04cd3c42aa9244d50a364a860e9cf53f94897c0f690b8465f4e2a7b10ed6d310d3fa706d86f5882a338cd982a3ac7cec36586269756e9128a5
diff --git a/dev-python/sphinx_celery/metadata.xml b/dev-python/sphinx_celery/metadata.xml
deleted file mode 100644
index 04834adef11b..000000000000
--- a/dev-python/sphinx_celery/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="person">
- <email>zmedico@gentoo.org</email>
- </maintainer>
- <upstream>
- <remote-id type="pypi">sphinx_celery</remote-id>
- <remote-id type="github">celery/sphinx_celery</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/sphinx_celery/sphinx_celery-2.0.0-r1.ebuild b/dev-python/sphinx_celery/sphinx_celery-2.0.0-r1.ebuild
deleted file mode 100644
index 473866ff954b..000000000000
--- a/dev-python/sphinx_celery/sphinx_celery-2.0.0-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=7
-PYTHON_COMPAT=( python3_{9..10} )
-DISTUTILS_USE_SETUPTOOLS=bdepend
-
-inherit distutils-r1
-
-DESCRIPTION="Celery Sphinx Theme and Utilities"
-HOMEPAGE="https://pypi.org/project/sphinx_celery/ https://github.com/celery/sphinx_celery"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-RDEPEND=">=dev-python/sphinx-2.0.0[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
diff --git a/dev-python/sphinx_lv2_theme/Manifest b/dev-python/sphinx_lv2_theme/Manifest
deleted file mode 100644
index e6503551bbab..000000000000
--- a/dev-python/sphinx_lv2_theme/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sphinx_lv2_theme-v1.2.2.tar.bz2 10221 BLAKE2B ff4c4f2e0f359b73bc63684b9120454741aafaaaad5b521a5a3bdec904f0fb390fb1e132317607f8559bd7991847dfcf2506b5462b00335a2d003835a9b33075 SHA512 94013784d1ce75ff872eb868b7cd20ef9351facf95d684bd49a4b0dfb8155aab19914dd03b5fe7c11cf42cd972ba6af6f377c8c6e2a3993622a911e9845da1cf
diff --git a/dev-python/sphinx_lv2_theme/sphinx_lv2_theme-1.2.2.ebuild b/dev-python/sphinx_lv2_theme/sphinx_lv2_theme-1.2.2.ebuild
deleted file mode 100644
index 9b4ef0f113d8..000000000000
--- a/dev-python/sphinx_lv2_theme/sphinx_lv2_theme-1.2.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Minimal pure-CSS Sphinx theme using the LV2 plugin documentation style"
-HOMEPAGE="
- https://gitlab.com/lv2/sphinx_lv2_theme/
- https://pypi.org/project/sphinx-lv2-theme/
-"
-SRC_URI="https://gitlab.com/lv2/${PN}/-/archive/v${PV}/${PN}-v${PV}.tar.bz2"
-S="${WORKDIR}/${PN}-v${PV}"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
diff --git a/dev-python/sphinx_rtd_theme/Manifest b/dev-python/sphinx_rtd_theme/Manifest
deleted file mode 100644
index ec95e9b569cb..000000000000
--- a/dev-python/sphinx_rtd_theme/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sphinx_rtd_theme-1.1.1.tar.gz 2783043 BLAKE2B c132cc4bba5459ca29740222cc917aac0fa5afb26748b1bd3d457ed0a02e63cd973deecd9a3d509187f54ae85798cb63fdfaa293615eae278228753808fd8c50 SHA512 c3e6e3a9d25b9c48a9830e696ca5c8f0c185a0328c76032cbe6dcfb93cda7ad9a724ec4e0e2a99079db28f35aa61ef2f569b87ce98a01c47a9701a6070bc395e
diff --git a/dev-python/sphinx_rtd_theme/sphinx_rtd_theme-1.1.1.ebuild b/dev-python/sphinx_rtd_theme/sphinx_rtd_theme-1.1.1.ebuild
deleted file mode 100644
index 596136615076..000000000000
--- a/dev-python/sphinx_rtd_theme/sphinx_rtd_theme-1.1.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="ReadTheDocs.org theme for Sphinx"
-HOMEPAGE="
- https://github.com/readthedocs/sphinx_rtd_theme/
- https://pypi.org/project/sphinx-rtd-theme/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-IUSE=""
-
-RDEPEND="
- dev-python/docutils[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.6[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/readthedocs-sphinx-ext[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin docutils
- sed -i -e '/docutils/s:<0.18::' 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_selective_exclude/files/sphinx_selective_exclude-description-file.patch b/dev-python/sphinx_selective_exclude/files/sphinx_selective_exclude-description-file.patch
new file mode 100644
index 000000000000..cc81f571d8f7
--- /dev/null
+++ b/dev-python/sphinx_selective_exclude/files/sphinx_selective_exclude-description-file.patch
@@ -0,0 +1,8 @@
+diff -r -U1 sphinx_selective_exclude-1.0.3.orig/setup.cfg sphinx_selective_exclude-1.0.3/setup.cfg
+--- sphinx_selective_exclude-1.0.3.orig/setup.cfg 2019-12-24 05:59:33.000000000 +0700
++++ sphinx_selective_exclude-1.0.3/setup.cfg 2023-02-28 17:56:05.055719498 +0700
+@@ -1,3 +1,3 @@
+ [metadata]
+-description-file = README.md
++description_file = README.md
+
diff --git a/dev-python/sphinx_selective_exclude/sphinx_selective_exclude-1.0.3-r1.ebuild b/dev-python/sphinx_selective_exclude/sphinx_selective_exclude-1.0.3-r1.ebuild
new file mode 100644
index 000000000000..68910c386949
--- /dev/null
+++ b/dev-python/sphinx_selective_exclude/sphinx_selective_exclude-1.0.3-r1.ebuild
@@ -0,0 +1,20 @@
+# 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="Sphinx selective rendition extensions"
+HOMEPAGE="https://github.com/pfalcon/sphinx_selective_exclude"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+PDEPEND="dev-python/sphinx[${PYTHON_USEDEP}]"
+
+PATCHES=( "${FILESDIR}"/${PN}-description-file.patch )
diff --git a/dev-python/sphinx_selective_exclude/sphinx_selective_exclude-1.0.3.ebuild b/dev-python/sphinx_selective_exclude/sphinx_selective_exclude-1.0.3.ebuild
deleted file mode 100644
index 94f900d359e5..000000000000
--- a/dev-python/sphinx_selective_exclude/sphinx_selective_exclude-1.0.3.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=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Sphinx selective rendition extensions"
-HOMEPAGE="https://github.com/pfalcon/sphinx_selective_exclude"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-PDEPEND="dev-python/sphinx[${PYTHON_USEDEP}]"
diff --git a/dev-python/sphinxcontrib-apidoc/Manifest b/dev-python/sphinxcontrib-apidoc/Manifest
index c72ab4440d6e..30448b550920 100644
--- a/dev-python/sphinxcontrib-apidoc/Manifest
+++ b/dev-python/sphinxcontrib-apidoc/Manifest
@@ -1 +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 04518d2cd968..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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Sphinx extension for running sphinx-apidoc on each build"
-HOMEPAGE="
- https://pypi.org/project/sphinxcontrib-apidoc/
- https://github.com/sphinx-contrib/apidoc/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-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.4.0.ebuild b/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.4.0.ebuild
new file mode 100644
index 000000000000..78b537d913ed
--- /dev/null
+++ b/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.4.0.ebuild
@@ -0,0 +1,41 @@
+# 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-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-apidoc/sphinxcontrib-apidoc-0.5.0.ebuild b/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.5.0.ebuild
new file mode 100644
index 000000000000..def6e4a1ff70
--- /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..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-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 c80a5ea02b9a..735617b724ea 100644
--- a/dev-python/sphinxcontrib-applehelp/Manifest
+++ b/dev-python/sphinxcontrib-applehelp/Manifest
@@ -1,3 +1 @@
-DIST sphinxcontrib-applehelp-1.0.2.tar.gz 24548 BLAKE2B 9532cb990ed97c6773388a66895a066958187e9100d226e2274c26ba07fc5832e42ba407864b69b002da926a79e71ac2d6315125906156214df3920b585d9f71 SHA512 1325ac83ff15dd28d6f2791caf64e6c08d1dd2f0946dc8891f5c4d8fd062a1e8650c9c39a7459195ef41f3b425f5b8d6c5e277ea85621a36dd870ca5162508da
-DIST sphinxcontrib-applehelp-1.0.3.gh.tar.gz 20624 BLAKE2B d9dbd5974527044ecf2d5800da1a3e4b169fdfc2f322006c56ff70f85f3690c95f7f1161693c3bbd14c90a76b8e64035fd3f5bec1529a35f723ae0a47c5967d1 SHA512 d790a58a0b95f90f370c80d198f0e4181485d522d4dcc6e03874c2a2d53b20f84770507a0c956610135d1ad85ccaab68cb287b1e1c463d32c5a0447a5ae49f45
-DIST sphinxcontrib-applehelp-1.0.4.gh.tar.gz 20710 BLAKE2B 9aa6af5b263e6d9603fb01c5ab659bf0cc117341a2c0a6b2946cbd6cdaff0274d17d833d7703711c52e65e8363175e129e452a151fbaab186b8361809bb1a72d SHA512 f281748468a9f5d9a8b71213632d55850b8642b79f33e1e0fb3c6825b0f9b392e0b17b879a8ed0d44d5bea3f076e16f01285d9f41b587af3cf194985e61e92c6
+DIST sphinxcontrib_applehelp-1.0.8.tar.gz 19674 BLAKE2B f449cdc28cbf8374cdfa5bdacb501c3bfc8a4a93c855c220e66989d538f76653ddf4b81fb0534dd043771b60d0de01c9d3c30cecfb02cbb2fc0c0cd2320b377d SHA512 0afd38caf07e60b45b47e7e1cc8dea0d34578f7501a6000c6bc860454bb71d8c9d59c7b66ee39c173d635c1944735782762e713598d99dd4fefda51ccd1d74d3
diff --git a/dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.2-r1.ebuild b/dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.2-r1.ebuild
deleted file mode 100644
index 1bf865137f59..000000000000
--- a/dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.2-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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${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"
-
-PDEPEND="
- >=dev-python/sphinx-2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? ( ${PDEPEND} )
-"
-
-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/sphinxcontrib-applehelp-1.0.3.ebuild b/dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.3.ebuild
deleted file mode 100644
index 2c01d739d7c0..000000000000
--- a/dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.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=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="
- https://github.com/sphinx-doc/sphinxcontrib-applehelp/archive/${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"
-
-PDEPEND="
- >=dev-python/sphinx-2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? ( ${PDEPEND} )
-"
-
-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/sphinxcontrib-applehelp-1.0.4.ebuild b/dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.4.ebuild
deleted file mode 100644
index 6bfea123328c..000000000000
--- a/dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.4.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} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="
- https://github.com/sphinx-doc/sphinxcontrib-applehelp/archive/${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"
-
-PDEPEND="
- >=dev-python/sphinx-2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? ( ${PDEPEND} )
-"
-
-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/sphinxcontrib-applehelp-1.0.8.ebuild b/dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.8.ebuild
new file mode 100644
index 000000000000..3c0e95267aef
--- /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..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-asyncio/sphinxcontrib-asyncio-0.3.0-r1.ebuild b/dev-python/sphinxcontrib-asyncio/sphinxcontrib-asyncio-0.3.0-r1.ebuild
index af40fd782572..ac205e0d364a 100644
--- a/dev-python/sphinxcontrib-asyncio/sphinxcontrib-asyncio-0.3.0-r1.ebuild
+++ b/dev-python/sphinxcontrib-asyncio/sphinxcontrib-asyncio-0.3.0-r1.ebuild
@@ -4,16 +4,16 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+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/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
diff --git a/dev-python/sphinxcontrib-autoprogram/Manifest b/dev-python/sphinxcontrib-autoprogram/Manifest
index cfdefda6efdc..bc050f8ce7ab 100644
--- a/dev-python/sphinxcontrib-autoprogram/Manifest
+++ b/dev-python/sphinxcontrib-autoprogram/Manifest
@@ -1 +1,2 @@
-DIST sphinxcontrib-autoprogram-0.1.7.tar.gz 18663 BLAKE2B c1ad18df1c9ccb8fb1947ba7abbe2bc52fb531ce8142340b71bc063a6a758831d2a46913fb969f52791c3a86cb86a8eddd378c6403e1be4eb23ece2380386eea SHA512 df416759e9d6bfc69780f864bfd2c0fb847515df1d5416e4c7fb78ea0feb9cf0e360da457414a6bed5a56f69fd8ece3ccd2ed5af5fc1f56b40063765ff04f7a5
+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/metadata.xml b/dev-python/sphinxcontrib-autoprogram/metadata.xml
index cdb3abdab6ab..7fcb271774a0 100644
--- a/dev-python/sphinxcontrib-autoprogram/metadata.xml
+++ b/dev-python/sphinxcontrib-autoprogram/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">sphinx-contrib/autoprogram</remote-id>
<remote-id type="pypi">sphinxcontrib-autoprogram</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/sphinxcontrib-autoprogram/sphinxcontrib-autoprogram-0.1.7.ebuild b/dev-python/sphinxcontrib-autoprogram/sphinxcontrib-autoprogram-0.1.7.ebuild
deleted file mode 100644
index 08b65438f9e9..000000000000
--- a/dev-python/sphinxcontrib-autoprogram/sphinxcontrib-autoprogram-0.1.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=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Documenting CLI programs"
-HOMEPAGE="https://github.com/sphinx-contrib/autoprogram"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx doc \
- dev-python/sphinxcontrib-websupport \
- dev-python/sphinxcontrib-serializinghtml
-
-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.8.ebuild b/dev-python/sphinxcontrib-autoprogram/sphinxcontrib-autoprogram-0.1.8.ebuild
new file mode 100644
index 000000000000..64dae6cc3294
--- /dev/null
+++ b/dev-python/sphinxcontrib-autoprogram/sphinxcontrib-autoprogram-0.1.8.ebuild
@@ -0,0 +1,30 @@
+# 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..5109e7fb295d
--- /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..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}]
+"
+
+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 e6f67c4f309b..a6f0b8f7093c 100644
--- a/dev-python/sphinxcontrib-bibtex/Manifest
+++ b/dev-python/sphinxcontrib-bibtex/Manifest
@@ -1 +1 @@
-DIST sphinxcontrib-bibtex-2.5.0.tar.gz 113310 BLAKE2B 5bd39fccf33897bbbf8359a09f07a6e7146d4fb3c1ccb63ad96d3980cc4a256e0b9b37bbf6ceadf65eb01937741934e1f30841587eb6246b50774c81e8428998 SHA512 c99b4bf8cbc73e94e7e4486b4cb58de0dc928079b320ee7d7a473ee27b7f1e349a4765a30059aadc3fb0c6161940c6f2eaf7afdf5ac1c64ba73ed80fba5b5e45
+DIST sphinxcontrib-bibtex-2.6.2.tar.gz 117459 BLAKE2B 663521602282e360525354cc5ebffdba9e039f5d523774465f0b9318b39aa6429837164fc24e60d7646d204798a7b97d9defc176248b2793e7f7bbfeffc5c56a SHA512 a2b48306078de902cfdedbcafe94ea8aefcfff5285ec651fd1d0fe2c452818f9383ba486fb64e2ef4a294782445db2854bbdd158ab2aa1a49ed4adef85e9c82b
diff --git a/dev-python/sphinxcontrib-bibtex/metadata.xml b/dev-python/sphinxcontrib-bibtex/metadata.xml
index de28e3ff7b05..90f7dde4d2f7 100644
--- a/dev-python/sphinxcontrib-bibtex/metadata.xml
+++ b/dev-python/sphinxcontrib-bibtex/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>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
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 1a2a11d5847b..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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Sphinx extensions for BibTeX style citations"
-HOMEPAGE="https://github.com/mcmtroffaes/sphinxcontrib-bibtex"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.2.ebuild b/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.2.ebuild
new file mode 100644
index 000000000000..268943a49323
--- /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..12} )
+
+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-blockdiag/Manifest b/dev-python/sphinxcontrib-blockdiag/Manifest
deleted file mode 100644
index c01c25dad4fb..000000000000
--- a/dev-python/sphinxcontrib-blockdiag/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sphinxcontrib-blockdiag-3.0.0.gh.tar.gz 12300 BLAKE2B 4bb6e83625095aab209b3f8eff3f96dd0c0ff37c542bedd03d7b56be282bdb6929bba7ef9cbbc458492b17bfbcf80d705cb17b3f194213c1416bf1ab090fcc6a SHA512 1d03296007b0b6455fa25b1c0d3f09fb76dfaeba43ac7155033ec6fda0aaae40b757f6b77b63725489f2360eb5a80ce8e9e55eb6460b73c3b3bca363afe8aeac
diff --git a/dev-python/sphinxcontrib-blockdiag/metadata.xml b/dev-python/sphinxcontrib-blockdiag/metadata.xml
deleted file mode 100644
index b212d7d00f0f..000000000000
--- a/dev-python/sphinxcontrib-blockdiag/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>python@gentoo.org</email>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <maintainer>
- <email>i.tkomiya@gmail.com</email>
- <name>Takeshi KOMIYA</name>
- </maintainer>
- <remote-id type="github">blockdiag/sphinxcontrib-blockdiag</remote-id>
- <remote-id type="pypi">sphinxcontrib-blockdiag</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/sphinxcontrib-blockdiag/sphinxcontrib-blockdiag-3.0.0.ebuild b/dev-python/sphinxcontrib-blockdiag/sphinxcontrib-blockdiag-3.0.0.ebuild
deleted file mode 100644
index caa17bdd1940..000000000000
--- a/dev-python/sphinxcontrib-blockdiag/sphinxcontrib-blockdiag-3.0.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_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="A sphinx extension for embedding block diagrams using blockdiag"
-HOMEPAGE="
- https://github.com/blockdiag/sphinxcontrib-blockdiag/
- https://pypi.org/project/sphinxcontrib-blockdiag/
-"
-SRC_URI="
- https://github.com/blockdiag/${PN}/archive/${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/sphinx-2.0[${PYTHON_USEDEP}]
- >=dev-python/blockdiag-1.5.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/reportlab[${PYTHON_USEDEP}]
- dev-python/sphinx-testing[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-python_prepare_all() {
- sed -i -e "/build-base/d" setup.cfg || die
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_test() {
- rm -rf sphinxcontrib || die
- distutils_write_namespace sphinxcontrib
- eunittest
-}
diff --git a/dev-python/sphinxcontrib-devhelp/Manifest b/dev-python/sphinxcontrib-devhelp/Manifest
index 4c634280ef81..09b7c2a72faf 100644
--- a/dev-python/sphinxcontrib-devhelp/Manifest
+++ b/dev-python/sphinxcontrib-devhelp/Manifest
@@ -1 +1 @@
-DIST sphinxcontrib-devhelp-1.0.2.tar.gz 17398 BLAKE2B fcf04148bc4a77963517d9011c20a6b77eee499f1a5dcd4a9631b4f415f80a9f7091b254f74ba2fbc9b7106dfb741dc839e14813e088d5a0802793ed457e95df SHA512 83b46eaf26df3932ea2136cfda1c0fca4fc08ce8bca564845b3efe5bb00d6c8c93991f4edd4913d4ec796e2d85bd2c7265adf28e98f42e8094daeb5ac11a0eb1
+DIST sphinxcontrib_devhelp-1.0.6.tar.gz 12480 BLAKE2B 40fcbd13156cba5d904ee30e98284f0bc6f53e4dc2003cbeca6cb0189122d8b453ca7ab849570bbea615a2b0d4fc016b1ff6f72b2f8ec337b9424b4fc9ff8a57 SHA512 97ab48f4adc16140323220bd23447d74fdec1d223e64c06a325df9568436bbce31edf5b33103dc81e0eb937f7ac8328b012fce80d2d6fd995dc0f63e9fb15f77
diff --git a/dev-python/sphinxcontrib-devhelp/sphinxcontrib-devhelp-1.0.2-r1.ebuild b/dev-python/sphinxcontrib-devhelp/sphinxcontrib-devhelp-1.0.2-r1.ebuild
deleted file mode 100644
index 4650f9c8c5e9..000000000000
--- a/dev-python/sphinxcontrib-devhelp/sphinxcontrib-devhelp-1.0.2-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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${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"
-
-PDEPEND="
- >=dev-python/sphinx-2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? ( ${PDEPEND} )
-"
-
-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-devhelp/sphinxcontrib-devhelp-1.0.6.ebuild b/dev-python/sphinxcontrib-devhelp/sphinxcontrib-devhelp-1.0.6.ebuild
new file mode 100644
index 000000000000..edb73a4a7fc0
--- /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..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-doxylink/Manifest b/dev-python/sphinxcontrib-doxylink/Manifest
index 295dc3e5ba45..9317da98f9a1 100644
--- a/dev-python/sphinxcontrib-doxylink/Manifest
+++ b/dev-python/sphinxcontrib-doxylink/Manifest
@@ -1 +1 @@
-DIST sphinxcontrib-doxylink-1.12.2.gh.tar.gz 23556 BLAKE2B 8d71de83ec304bbf2a74f414c46d157367fc950dc52bab7f685fba24520985fb06daf8bf760d49d73d7a2418da346bf6c84a493b24edef4ab53c5c09799f7c2e SHA512 e90594031067eed0eec1c7aad9c7d2ba7d9a4ce2012a905f6631947a7135659483d52a6261b923d3fa21fcde59ae8bf24c168507c8e95296e0539595e9589ed2
+DIST sphinxcontrib-doxylink-1.12.3.gh.tar.gz 23632 BLAKE2B 4a80366f4beeb9715c69c221a8e5247c28179613b59fb7bdadb1f145b69e4afdc0c2c30affd9647ec9e56e892503a95d018fd97eda014980177282299b81d61f SHA512 d25003dab35c6877bc846552db3e663c660bd5cb6ac6d9077bf04eca32afe0f9559118390c5c884901ce8c5297e97d84f6089428e3173123da6e7869a606a05e
diff --git a/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.2.ebuild b/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.2.ebuild
deleted file mode 100644
index 1e93acec85fb..000000000000
--- a/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.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=poetry
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Extension to link to external Doxygen API documentation"
-HOMEPAGE="
- https://pypi.org/project/sphinxcontrib-doxylink/
- https://pythonhosted.org/sphinxcontrib-doxylink/
- https://github.com/sphinx-contrib/doxylink/
-"
-SRC_URI="
- https://github.com/sphinx-contrib/doxylink/archive/refs/tags/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/doxylink-${PV}"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/sphinx-1.6[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-3.0.8[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- app-doc/doxygen
- >=dev-python/testfixtures-6.18.5[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc \
- dev-python/sphinx_rtd_theme
-
-python_test() {
- distutils_write_namespace sphinxcontrib
- cd "${T}" || die
- epytest "${S}"/tests
-}
diff --git a/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.3.ebuild b/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.3.ebuild
new file mode 100644
index 000000000000..1b8f9296c7aa
--- /dev/null
+++ b/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.3.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=poetry
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Extension to link to external Doxygen API documentation"
+HOMEPAGE="
+ https://pypi.org/project/sphinxcontrib-doxylink/
+ https://pythonhosted.org/sphinxcontrib-doxylink/
+ https://github.com/sphinx-contrib/doxylink/
+"
+SRC_URI="
+ https://github.com/sphinx-contrib/doxylink/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/doxylink-${PV}"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/sphinx-1.6[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3.0.8[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ app-text/doxygen
+ >=dev-python/testfixtures-6.18.5[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx doc \
+ dev-python/sphinx-rtd-theme
+
+python_test() {
+ distutils_write_namespace sphinxcontrib
+ cd "${T}" || die
+ epytest "${S}"/tests
+}
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 5e6d2e586bb0..5db8977c227e 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
@@ -4,7 +4,7 @@
EAPI=7
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/sphinxcontrib-htmlhelp/Manifest b/dev-python/sphinxcontrib-htmlhelp/Manifest
index f27606a08b15..75fc7d08699a 100644
--- a/dev-python/sphinxcontrib-htmlhelp/Manifest
+++ b/dev-python/sphinxcontrib-htmlhelp/Manifest
@@ -1 +1 @@
-DIST sphinxcontrib-htmlhelp-2.0.0.tar.gz 28144 BLAKE2B 09b0d9bcec57140278c4476fa0bbc40d359fc167d8ea891a1585fbdeafe6eb0b52442dbbc8d1d5b6edb3953b04fc29a71f6f74e58a281ebb0d79e5a30cb02749 SHA512 6ed673966615f3e818e00de4b7e59c27f0a0d7b494294f804540777c580480870c36002c08d8ad626b7b41a676fe40edc0b0b5ffc6ad8080f38f59c24e157636
+DIST sphinxcontrib_htmlhelp-2.0.5.tar.gz 21925 BLAKE2B ba023e53c14b5427b09a9608cfc45ccdf932d4c27cce40932088fadb127ebfe50d7b2639513589469facf108fdc748e0f07195766e6e4bc67d26c50d00a2bf75 SHA512 537ef6a1a32863728a6324fcd50f9374e4f488ed7ed112f9f0ceb9e4488637f502280dda21835e8d63c6b6297d2a3db3032c3f307dce5948b516f293d07b9711
diff --git a/dev-python/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-2.0.0-r1.ebuild b/dev-python/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-2.0.0-r1.ebuild
deleted file mode 100644
index fbfcf2b6dbda..000000000000
--- a/dev-python/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-2.0.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${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"
-
-PDEPEND="
- >=dev-python/sphinx-2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${PDEPEND}
- dev-python/html5lib[${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-htmlhelp/sphinxcontrib-htmlhelp-2.0.5.ebuild b/dev-python/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-2.0.5.ebuild
new file mode 100644
index 000000000000..3aefb6cbbdeb
--- /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..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-httpdomain/Manifest b/dev-python/sphinxcontrib-httpdomain/Manifest
index 50f728db4033..35621e8618cd 100644
--- a/dev-python/sphinxcontrib-httpdomain/Manifest
+++ b/dev-python/sphinxcontrib-httpdomain/Manifest
@@ -1,2 +1 @@
-DIST sphinxcontrib-httpdomain-1.8.0.gh.tar.gz 38228 BLAKE2B 46cbe5ef0689777ef560c167c49af5830e38c7efa3a536dd36702114eb87f3c0f2f1c0c9de808738ef081e09c7d47754bc49a039b04184696ee4389acbf18454 SHA512 64d916d58282e94a4fa2b2d0e8abad5c50106b739e6e15015d347af339f517c2c7457c9bc8dc74258cfc371910d1a02b582a2c94f6f98c195a366f68c5b108c4
DIST sphinxcontrib-httpdomain-1.8.1.gh.tar.gz 41281 BLAKE2B 9ba157b1ed9494426226a8231d5a3cea420121722e5b4891049b76da567a917aebd8f2eac2c7a3ea899517fb4c64a6d0f1c50eb872fbd24418c464433a795c69 SHA512 ba0ba8d695302acedb3d51c3218748dfe25b756e8ba2eed4d8bbe012f16d09aaf822bbc93e0d6a32d3836b20345df2df7d675317aa96a802e7daef7fee792475
diff --git a/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.8.0-r1.ebuild b/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.8.0-r1.ebuild
deleted file mode 100644
index 5a74d442ba8d..000000000000
--- a/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.8.0-r1.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=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Sphinx domain for documenting HTTP APIs"
-HOMEPAGE="
- https://pypi.org/project/sphinxcontrib-httpdomain/
- https://github.com/sphinx-contrib/httpdomain/
-"
-SRC_URI="
- https://github.com/sphinx-contrib/httpdomain/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/httpdomain-${PV}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/bottle[${PYTHON_USEDEP}]
- dev-python/tornado[${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}"/test
-}
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 405b8b85bcd3..e8de5eb31e78 100644
--- a/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.8.1.ebuild
+++ b/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.8.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -21,7 +21,7 @@ S="${WORKDIR}/httpdomain-${PV}"
LICENSE="BSD"
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"
RDEPEND="
dev-python/sphinx[${PYTHON_USEDEP}]
diff --git a/dev-python/sphinxcontrib-jquery/Manifest b/dev-python/sphinxcontrib-jquery/Manifest
new file mode 100644
index 000000000000..a97e0b50078b
--- /dev/null
+++ b/dev-python/sphinxcontrib-jquery/Manifest
@@ -0,0 +1 @@
+DIST sphinxcontrib-jquery-4.1.tar.gz 122331 BLAKE2B 3f0ba80c20c13a6543968b0c7234fd86ba238fa723191956e6b125ae709db8a048d585815e6ddb152b3808bcc857bb43c025ffa722a18f74ab265a667c9574b7 SHA512 a686f59b973276e10bf6ece507d2c2f7ff26d46c3a4aef0884f359cb86a9b033bf0d5f1d1e22e0f7e4790dfb99be5ad7ffd8469193180b9ebe348c7ff3ed981c
diff --git a/dev-python/sphinxcontrib-jquery/files/sphinxcontrib-jquery-4.1-backport-pr28.patch b/dev-python/sphinxcontrib-jquery/files/sphinxcontrib-jquery-4.1-backport-pr28.patch
new file mode 100644
index 000000000000..b9b10eb793c7
--- /dev/null
+++ b/dev-python/sphinxcontrib-jquery/files/sphinxcontrib-jquery-4.1-backport-pr28.patch
@@ -0,0 +1,102 @@
+https://bugs.gentoo.org/911837
+https://github.com/sphinx-contrib/jquery/pull/28
+
+From ac97ce5202b05ddb6bf4e5b77151a8964b6bf632 Mon Sep 17 00:00:00 2001
+From: Dmitry Shachnev <mitya57@gmail.com>
+Date: Mon, 31 Jul 2023 15:22:24 +0300
+Subject: [PATCH 1/3] Make the tests pass with Sphinx 7.1
+
+Fixes #25.
+---
+ .github/workflows/test.yml | 5 ++++-
+ tests/test_jquery_installed.py | 12 ++++++++----
+ 2 files changed, 12 insertions(+), 5 deletions(-)
+
+diff --git a/tests/test_jquery_installed.py b/tests/test_jquery_installed.py
+index a402bd4..08c25ba 100644
+--- a/tests/test_jquery_installed.py
++++ b/tests/test_jquery_installed.py
+@@ -38,12 +38,14 @@ def test_jquery_installed_sphinx_ge_60_use_sri(blank_app):
+ out_dir = blank_app(confoverrides={"extensions": ["sphinxcontrib.jquery"], "jquery_use_sri": True})
+
+ text = out_dir.joinpath("index.html").read_text(encoding="utf-8")
++ checksum = '?v=5d32c60e' if sphinx.version_info[:2] >= (7, 1) else ''
+ assert ('<script '
+ 'integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" '
+- 'src="_static/jquery.js"></script>') in text
++ f'src="_static/jquery.js{checksum}"></script>') in text
++ checksum = '?v=2cd50e6c' if sphinx.version_info[:2] >= (7, 1) else ''
+ assert ('<script '
+ 'integrity="sha384-lSZeSIVKp9myfKbDQ3GkN/KHjUc+mzg17VKDN4Y2kUeBSJioB9QSM639vM9fuY//" '
+- 'src="_static/_sphinx_javascript_frameworks_compat.js"></script>') in text
++ f'src="_static/_sphinx_javascript_frameworks_compat.js{checksum}"></script>') in text
+
+ static_dir = out_dir / '_static'
+ assert static_dir.joinpath('jquery.js').is_file()
+@@ -56,10 +58,12 @@ def test_jquery_installed_sphinx_ge_60(blank_app):
+ out_dir = blank_app(confoverrides={"extensions": ["sphinxcontrib.jquery"]})
+
+ text = out_dir.joinpath("index.html").read_text(encoding="utf-8")
++ checksum = '?v=5d32c60e' if sphinx.version_info[:2] >= (7, 1) else ''
+ assert ('<script '
+- 'src="_static/jquery.js"></script>') in text
++ f'src="_static/jquery.js{checksum}"></script>') in text
++ checksum = '?v=2cd50e6c' if sphinx.version_info[:2] >= (7, 1) else ''
+ assert ('<script '
+- 'src="_static/_sphinx_javascript_frameworks_compat.js"></script>') in text
++ f'src="_static/_sphinx_javascript_frameworks_compat.js{checksum}"></script>') in text
+
+ static_dir = out_dir / '_static'
+ assert static_dir.joinpath('jquery.js').is_file()
+
+From 3318a82854fccec528cd73e12ab2ab96d8e71064 Mon Sep 17 00:00:00 2001
+From: Karolina Surma <ksurma@redhat.com>
+Date: Thu, 2 Nov 2023 10:44:24 +0100
+Subject: [PATCH 2/3] Enable testing with Sphinx 7.2+
+
+Since Sphinx is heading towards the standard Path objects, there's
+no need to monkeypatch the attributes anymore: the Path.resolve()
+method does the relevant work for us.
+---
+ tests/test_jquery_installed.py | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/tests/test_jquery_installed.py b/tests/test_jquery_installed.py
+index 08c25ba..32012e3 100644
+--- a/tests/test_jquery_installed.py
++++ b/tests/test_jquery_installed.py
+@@ -4,11 +4,18 @@
+
+ import pytest
+ import sphinx
+-from sphinx.testing.path import path
+ from sphinx.testing.util import SphinxTestApp
++from packaging.version import parse
+
+ from sphinxcontrib.jquery import _FILES, _ROOT_DIR # NoQA
+
++last_with_legacy = parse("7.1.2")
++if parse(sphinx.__version__) > last_with_legacy:
++ test_path = Path
++else:
++ from sphinx.testing.path import path
++ test_path = path
++
+
+ def run_blank_app(srcdir, **kwargs):
+ Path(srcdir, "conf.py").write_text("", encoding="ascii")
+@@ -26,9 +33,11 @@ def run_blank_app(srcdir, **kwargs):
+ @pytest.fixture(scope="function")
+ def blank_app(tmpdir, monkeypatch):
+ def inner(**kwargs):
+- return run_blank_app(path(tmpdir), **kwargs)
++ return run_blank_app(test_path(tmpdir), **kwargs)
+
+- monkeypatch.setattr("sphinx.application.abspath", lambda x: x)
++ # Sphinx 7.2.x doesn't have abspath
++ if hasattr(sphinx.application, "abspath"):
++ monkeypatch.setattr("sphinx.application.abspath", lambda x: x)
+ yield inner
+
+
+
diff --git a/dev-python/sphinxcontrib-jquery/metadata.xml b/dev-python/sphinxcontrib-jquery/metadata.xml
new file mode 100644
index 000000000000..c71b6db83c5b
--- /dev/null
+++ b/dev-python/sphinxcontrib-jquery/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="github">sphinx-contrib/jquery</remote-id>
+ <remote-id type="pypi">sphinxcontrib-jquery</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-4.1.ebuild b/dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-4.1.ebuild
new file mode 100644
index 000000000000..b8cec0dcd93e
--- /dev/null
+++ b/dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-4.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 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=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Extension to include jQuery on newer Sphinx releases"
+HOMEPAGE="
+ https://github.com/sphinx-contrib/jquery/
+ https://pypi.org/project/sphinxcontrib-jquery/
+"
+
+# MIT for jQuery
+LICENSE="0BSD MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/sphinx[${PYTHON_USEDEP}]
+"
+
+PATCHES=( "${FILESDIR}/${PN}-4.1-backport-pr28.patch" )
+
+distutils_enable_tests pytest
diff --git a/dev-python/sphinxcontrib-jsmath/sphinxcontrib-jsmath-1.0.1-r2.ebuild b/dev-python/sphinxcontrib-jsmath/sphinxcontrib-jsmath-1.0.1-r2.ebuild
deleted file mode 100644
index df118b7d7638..000000000000
--- a/dev-python/sphinxcontrib-jsmath/sphinxcontrib-jsmath-1.0.1-r2.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Sphinx extension which renders display math in HTML via JavaScript"
-HOMEPAGE="
- https://www.sphinx-doc.org/
- https://github.com/sphinx-doc/sphinxcontrib-jsmath/
- https://pypi.org/project/sphinxcontrib-jsmath/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${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"
-
-PDEPEND="
- >=dev-python/sphinx-2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? ( ${PDEPEND} )
-"
-
-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-jsmath/sphinxcontrib-jsmath-1.0.1-r3.ebuild b/dev-python/sphinxcontrib-jsmath/sphinxcontrib-jsmath-1.0.1-r3.ebuild
new file mode 100644
index 000000000000..3e48e836982a
--- /dev/null
+++ b/dev-python/sphinxcontrib-jsmath/sphinxcontrib-jsmath-1.0.1-r3.ebuild
@@ -0,0 +1,48 @@
+# 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="Sphinx extension which renders display math in HTML via JavaScript"
+HOMEPAGE="
+ https://www.sphinx-doc.org/
+ https://github.com/sphinx-doc/sphinxcontrib-jsmath/
+ https://pypi.org/project/sphinxcontrib-jsmath/
+"
+
+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-2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? ( ${PDEPEND} )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # This is already fixed in upstream, remove it on next version bump,
+ # see https://github.com/sphinx-doc/sphinxcontrib-jsmath/pull/10
+ sed -i 's/.text()/.read_text()/' tests/test_jsmath.py || die
+ distutils-r1_src_prepare
+}
+
+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-log_cabinet/Manifest b/dev-python/sphinxcontrib-log-cabinet/Manifest
index b1cd4cfd0bb0..b1cd4cfd0bb0 100644
--- a/dev-python/sphinxcontrib-log_cabinet/Manifest
+++ b/dev-python/sphinxcontrib-log-cabinet/Manifest
diff --git a/dev-python/sphinxcontrib-log_cabinet/metadata.xml b/dev-python/sphinxcontrib-log-cabinet/metadata.xml
index 47fa29e551ea..47fa29e551ea 100644
--- a/dev-python/sphinxcontrib-log_cabinet/metadata.xml
+++ b/dev-python/sphinxcontrib-log-cabinet/metadata.xml
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
new file mode 100644
index 000000000000..f91982cc4842
--- /dev/null
+++ b/dev-python/sphinxcontrib-log-cabinet/sphinxcontrib-log-cabinet-1.0.1-r1.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..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Organize changelog directives in Sphinx docs"
+HOMEPAGE="
+ https://github.com/davidism/sphinxcontrib-log-cabinet/
+ https://pypi.org/project/sphinxcontrib-log-cabinet/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/sphinx[${PYTHON_USEDEP}]
+"
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
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
deleted file mode 100644
index a19a6fd4461a..000000000000
--- a/dev-python/sphinxcontrib-log_cabinet/sphinxcontrib-log_cabinet-1.0.1-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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Organize changelog directives in Sphinx docs"
-HOMEPAGE="
- https://github.com/davidism/sphinxcontrib-log-cabinet/
- https://pypi.org/project/sphinxcontrib-log-cabinet/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P/_/-}.tar.gz"
-S="${WORKDIR}/${P/_/-}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/sphinx[${PYTHON_USEDEP}]
-"
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
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
index 36edf4246211..0391ab8720a7 100644
--- a/dev-python/sphinxcontrib-newsfeed/sphinxcontrib-newsfeed-0.1.4-r1.ebuild
+++ b/dev-python/sphinxcontrib-newsfeed/sphinxcontrib-newsfeed-0.1.4-r1.ebuild
@@ -4,16 +4,16 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="News Feed extension for Sphinx"
HOMEPAGE="
https://github.com/prometheusresearch/sphinxcontrib-newsfeed/
https://pypi.org/project/sphinxcontrib-newsfeed/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
diff --git a/dev-python/sphinxcontrib-plantuml/Manifest b/dev-python/sphinxcontrib-plantuml/Manifest
new file mode 100644
index 000000000000..5779e690cc9e
--- /dev/null
+++ b/dev-python/sphinxcontrib-plantuml/Manifest
@@ -0,0 +1 @@
+DIST sphinxcontrib-plantuml-0.29.gh.tar.gz 19376 BLAKE2B c410be6af6364e347dd1b8e782e55d9cea1c799dc3e2d5055c893b37e437c5e300cafc79e70947447979fe4b11d97fab7cddd6e0894654e274cd05cb5d4abba3 SHA512 9bcec86db5956dd9cbad097ad52b5dc915598c3324662491229268689c3c57c5ce680b38e38ff3360a109f3fd50753c92252ecaf928b124f9a515f52d1da93b4
diff --git a/dev-python/sphinxcontrib-plantuml/files/sphinxcontrib-plantuml-0.29-pytest-8.patch b/dev-python/sphinxcontrib-plantuml/files/sphinxcontrib-plantuml-0.29-pytest-8.patch
new file mode 100644
index 000000000000..2f10e1fae51d
--- /dev/null
+++ b/dev-python/sphinxcontrib-plantuml/files/sphinxcontrib-plantuml-0.29-pytest-8.patch
@@ -0,0 +1,53 @@
+From 74e31ad4dd8f4fefd5b9e430e4d9caea3002fd97 Mon Sep 17 00:00:00 2001
+From: Yuya Nishihara <yuya@tcha.org>
+Date: Sun, 10 Mar 2024 19:30:21 +0900
+Subject: [PATCH] tests: rename setup/teardown functions for pytest 8.1.1
+ compatibility
+
+I don't know if that's intended, but nose-style setup() is no longer called.
+---
+ tests/test_functional.py | 4 ++--
+ tests/test_svgstyle.py | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tests/test_functional.py b/tests/test_functional.py
+index 697b01d..8ef6a3d 100644
+--- a/tests/test_functional.py
++++ b/tests/test_functional.py
+@@ -12,7 +12,7 @@
+ _fakecmd = os.path.join(os.path.dirname(__file__), 'fakecmd.py')
+
+
+-def setup():
++def setup_module():
+ global _tempdir, _srcdir, _outdir
+ _tempdir = tempfile.mkdtemp()
+ _srcdir = os.path.join(_tempdir, 'src')
+@@ -20,7 +20,7 @@ def setup():
+ os.mkdir(_srcdir)
+
+
+-def teardown():
++def teardown_module():
+ shutil.rmtree(_tempdir)
+
+
+diff --git a/tests/test_svgstyle.py b/tests/test_svgstyle.py
+index c62e1ed..a25901f 100644
+--- a/tests/test_svgstyle.py
++++ b/tests/test_svgstyle.py
+@@ -5,12 +5,12 @@
+ from sphinxcontrib import plantuml
+
+
+-def setup():
++def setup_module():
+ global _tempdir
+ _tempdir = tempfile.mkdtemp()
+
+
+-def teardown():
++def teardown_module():
+ shutil.rmtree(_tempdir)
+
+
diff --git a/dev-python/sphinxcontrib-plantuml/metadata.xml b/dev-python/sphinxcontrib-plantuml/metadata.xml
new file mode 100644
index 000000000000..1aafd82825c1
--- /dev/null
+++ b/dev-python/sphinxcontrib-plantuml/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">
+ <name>Florian Schmaus</name>
+ <email>flow@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">sphinxcontrib-plantuml</remote-id>
+ <remote-id type="github">sphinx-contrib/plantuml</remote-id>
+ </upstream>
+ <stabilize-allarches/>
+</pkgmetadata>
diff --git a/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.29.ebuild b/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.29.ebuild
new file mode 100644
index 000000000000..f293d79e9e0e
--- /dev/null
+++ b/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.29.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_{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
+
+PATCHES=(
+ # https://github.com/sphinx-contrib/plantuml/commit/74e31ad4dd8f4fefd5b9e430e4d9caea3002fd97
+ "${FILESDIR}/${P}-pytest-8.patch"
+)
+
+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-programoutput/sphinxcontrib-programoutput-0.17-r1.ebuild b/dev-python/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.17-r1.ebuild
index b426723ce678..f5fd32763e2c 100644
--- a/dev-python/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.17-r1.ebuild
+++ b/dev-python/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.17-r1.ebuild
@@ -4,20 +4,20 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Extension to sphinx to include program output"
HOMEPAGE="
https://github.com/NextThought/sphinxcontrib-programoutput/
https://pypi.org/project/sphinxcontrib-programoutput/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips 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/sphinx[${PYTHON_USEDEP}]
diff --git a/dev-python/sphinxcontrib-qthelp/Manifest b/dev-python/sphinxcontrib-qthelp/Manifest
index a185c81d1db4..0c6c050e6cab 100644
--- a/dev-python/sphinxcontrib-qthelp/Manifest
+++ b/dev-python/sphinxcontrib-qthelp/Manifest
@@ -1 +1 @@
-DIST sphinxcontrib-qthelp-1.0.3.tar.gz 21658 BLAKE2B 7a82e8941d49836cf3e64aabe05ba65b34596f7ba0287b4dc7ed2c5940f6944d1853790d1d52637b03d934effbba8fc5094089e2924322cf1b373432c60bce6a SHA512 29f77e4b3f1a4868c2a34dbd853415e5d813f482cd23b982aeed42d53acba09b896d77ba930c34cce8af043bb7d64a19acff610430e942038d95a410b6e0b5fa
+DIST sphinxcontrib_qthelp-1.0.7.tar.gz 16685 BLAKE2B dbe4518134f31f9283a1de4a9f7c1b1fd59e3c639923dd5a84fe1c60323f8c0fbf31942ab51724241bf8865b78c5c83bc7c2187d7209b1c55027245cae2bd271 SHA512 fa11be5f663a0784a59ee18deaa8d497eeb4d5311fd86f75d48f40b70d8c0c868bd8625a001da274379d2b3412447abd810cb44af42f8a252cbcc31c400884c9
diff --git a/dev-python/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.3-r1.ebuild b/dev-python/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.3-r1.ebuild
deleted file mode 100644
index 32f869577fdd..000000000000
--- a/dev-python/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.3-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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${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"
-
-PDEPEND="
- >=dev-python/sphinx-2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? ( ${PDEPEND} )
-"
-
-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-qthelp/sphinxcontrib-qthelp-1.0.7.ebuild b/dev-python/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.7.ebuild
new file mode 100644
index 000000000000..8bef0f0407f8
--- /dev/null
+++ b/dev-python/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.7.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..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-serializinghtml/Manifest b/dev-python/sphinxcontrib-serializinghtml/Manifest
index e5aa47f5e17e..91d9a0debee6 100644
--- a/dev-python/sphinxcontrib-serializinghtml/Manifest
+++ b/dev-python/sphinxcontrib-serializinghtml/Manifest
@@ -1 +1 @@
-DIST sphinxcontrib-serializinghtml-1.1.5.tar.gz 21019 BLAKE2B e2da8b1e1300a327b8d508ce98e7c0d3eff1e0cea28cd874df4fbd9ed0bd4de6c17e107e622ec72e00bb237025ae26b2c5aaa33b2156cee2fad7c8f8d2c65ed5 SHA512 c5aabe4d29fd0455c269f8054089fdd61e1de5c35aa407740fc3baae4cfb3235d9fd5515c0489b0becd12abc8f18d0f42aa169ed315c00f30ba87e64ce851667
+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..adcb2a705336
--- /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..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-serializinghtml/sphinxcontrib-serializinghtml-1.1.5-r1.ebuild b/dev-python/sphinxcontrib-serializinghtml/sphinxcontrib-serializinghtml-1.1.5-r1.ebuild
deleted file mode 100644
index 3bba6b0a2157..000000000000
--- a/dev-python/sphinxcontrib-serializinghtml/sphinxcontrib-serializinghtml-1.1.5-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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${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"
-
-PDEPEND="
- >=dev-python/sphinx-2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? ( ${PDEPEND} )
-"
-
-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-spelling/Manifest b/dev-python/sphinxcontrib-spelling/Manifest
index 9306ae49bbd6..cedb274abe4a 100644
--- a/dev-python/sphinxcontrib-spelling/Manifest
+++ b/dev-python/sphinxcontrib-spelling/Manifest
@@ -1 +1 @@
-DIST sphinxcontrib-spelling-7.7.0.tar.gz 57444 BLAKE2B 22491369888d632cf158013cb3634e110f3c6a34c59e410a10081f5d1857b85b66f62caf8987058c133f80a8230733fc6e749404207503f0b2441a152fdd5118 SHA512 3599e2d0bcb9bf908b3e6f41184256114e4ab5378543be8bfdd4f55dca249c4feb4fbfda8db4495acfa72fd9ac6c416a0c988f5d30f530eb8deebbcee5833245
+DIST sphinxcontrib-spelling-8.0.0.tar.gz 37610 BLAKE2B 8ae9fb62a5a7d35194884ce075b27b0e54f54c18d55f9573bc53ef7b2f953011655631e37ac3bb7c988df470c8cdf1cb576e4830c61fddc068e50d382d067751 SHA512 0d8c21ea660516238c43fabb505666dfee15abb39f538c40c6b61f91e20c246b16aa170cd444263507dd51913a27fc7719cddb28f30eab26825b565f70dd3ab6
diff --git a/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-7.7.0.ebuild b/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-7.7.0.ebuild
deleted file mode 100644
index debab9f6db9a..000000000000
--- a/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-7.7.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Sphinx spelling extension"
-HOMEPAGE="
- https://github.com/sphinx-contrib/spelling/
- https://pypi.org/project/sphinxcontrib-spelling/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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/pyenchant[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/pbr[${PYTHON_USEDEP}]
- test? (
- app-dicts/myspell-en
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # requires the git repo
- tests/test_filter.py::test_contributors
-)
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_test() {
- distutils_write_namespace sphinxcontrib
- rm -rf sphinxcontrib || die
- epytest tests
-}
diff --git a/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.0.ebuild b/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.0.ebuild
new file mode 100644
index 000000000000..f433cf3a01c7
--- /dev/null
+++ b/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.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
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx spelling extension"
+HOMEPAGE="
+ https://github.com/sphinx-contrib/spelling/
+ https://pypi.org/project/sphinxcontrib-spelling/
+"
+
+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/pyenchant-3.1.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-3.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ app-dicts/myspell-en
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires the git repo
+ tests/test_filter.py::test_contributors
+)
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ distutils_write_namespace sphinxcontrib
+ rm -rf sphinxcontrib || die
+ epytest tests
+}
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
new file mode 100644
index 000000000000..66e52305a688
--- /dev/null
+++ b/dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2-r1.ebuild
@@ -0,0 +1,45 @@
+# 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="Make Sphinx better at documenting Python functions and methods"
+HOMEPAGE="
+ https://github.com/python-trio/sphinxcontrib-trio
+ https://pypi.org/project/sphinxcontrib-trio/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
+SLOT="0"
+
+RDEPEND="
+ dev-python/sphinx[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/cssselect[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ )
+"
+
+# AttributeError: 'Sphinx' object has no attribute 'add_stylesheet'
+#distutils_enable_sphinx docs/source
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # https://github.com/python-trio/sphinxcontrib-trio/issues/260
+ tests/test_sphinxcontrib_trio.py::test_end_to_end
+ )
+
+ local -x PYTHONPATH="${BUILD_DIR}/install$(python_get_sitedir)"
+ epytest
+}
diff --git a/dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2.ebuild b/dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2.ebuild
deleted file mode 100644
index 0ab33da7cf54..000000000000
--- a/dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Make Sphinx better at documenting Python functions and methods"
-HOMEPAGE="
- https://github.com/python-trio/sphinxcontrib-trio
- https://pypi.org/project/sphinxcontrib-trio
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="|| ( Apache-2.0 MIT )"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-SLOT="0"
-
-RDEPEND="dev-python/sphinx[${PYTHON_USEDEP}]"
-
-BDEPEND="
- test? (
- dev-python/async_generator[${PYTHON_USEDEP}]
- dev-python/cssselect[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
-)"
-
-# AttributeError: 'Sphinx' object has no attribute 'add_stylesheet'
-#distutils_enable_sphinx docs/source
-distutils_enable_tests pytest
-
-python_test() {
- # https://github.com/python-trio/sphinxcontrib-trio/issues/260
- epytest --deselect tests/test_sphinxcontrib_trio.py::test_end_to_end
-}
diff --git a/dev-python/sphinxcontrib-websupport/Manifest b/dev-python/sphinxcontrib-websupport/Manifest
index 4bf087c072e5..71079fde8dc4 100644
--- a/dev-python/sphinxcontrib-websupport/Manifest
+++ b/dev-python/sphinxcontrib-websupport/Manifest
@@ -1 +1 @@
-DIST sphinxcontrib-websupport-1.2.4.gh.tar.gz 599695 BLAKE2B 909fc3dd77377769b6242963c2228a01dae4c73b2c1128094ecb5c113517ddb103498fa8615a0690cc41333778a21ba62a7638e36e3d82ad89c74b76156580a4 SHA512 4b5a382037988079e12e5c022ce0351c953e65dacfee7e3a63852370deddcee083cb65914b0bb9a8dc42481015f33d1ac2b5fea61c676ab947f8b0cbe331d7f6
+DIST sphinxcontrib_websupport-1.2.7.tar.gz 599362 BLAKE2B 544e77a739e0ecd9391893f56eeec2df4d5ddc6840a30e9a92e84e35e9ed0a765d4190790a13e329621ba045ee46b5e01d4d0825b6f37e9848953f9e796ae8af SHA512 daa5ecf6fd3fb6df6a9a3b60668d42d50d93454dc3c2703a1dd43d75220b326e90c5e0ae2cca27afe62e41ae03e7144e6b4cfe70096b857af74c8981fadba9ca
diff --git a/dev-python/sphinxcontrib-websupport/sphinxcontrib-websupport-1.2.4-r2.ebuild b/dev-python/sphinxcontrib-websupport/sphinxcontrib-websupport-1.2.4-r2.ebuild
deleted file mode 100644
index d711740c4497..000000000000
--- a/dev-python/sphinxcontrib-websupport/sphinxcontrib-websupport-1.2.4-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_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Sphinx websupport extension"
-HOMEPAGE="
- https://www.sphinx-doc.org/
- https://github.com/sphinx-doc/sphinxcontrib-websupport/
- https://pypi.org/project/sphinxcontrib-websupport/
-"
-# pypi tarball is missing templates
-SRC_URI="
- https://github.com/sphinx-doc/sphinxcontrib-websupport/archive/${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 ~x64-solaris"
-
-RDEPEND="
- >=dev-python/six-1.5[${PYTHON_USEDEP}]
- dev-python/sphinxcontrib-serializinghtml[${PYTHON_USEDEP}]
-"
-# avoid circular dependency with sphinx
-PDEPEND="
- >=dev-python/sphinx-1.5.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${PDEPEND}
- >=dev-python/sqlalchemy-0.9[${PYTHON_USEDEP}]
- >=dev-python/whoosh-2.0[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # breaks tests
- sed -i -e '/pkg_resources/d' \
- sphinxcontrib/websupport/__init__.py || die
- # strip the .dev tag from version number
- sed -i -e '/tag/d' setup.cfg || die
- distutils-r1_src_prepare
-}
-
-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-websupport/sphinxcontrib-websupport-1.2.7.ebuild b/dev-python/sphinxcontrib-websupport/sphinxcontrib-websupport-1.2.7.ebuild
new file mode 100644
index 000000000000..7a43f1f22ee6
--- /dev/null
+++ b/dev-python/sphinxcontrib-websupport/sphinxcontrib-websupport-1.2.7.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=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
+BDEPEND="
+ test? (
+ ${PDEPEND}
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/whoosh[${PYTHON_USEDEP}]
+ )
+"
+
+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 a07533feafe2..000000000000
--- a/dev-python/sphinxemoji/sphinxemoji-0.2.0.ebuild
+++ /dev/null
@@ -1,19 +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
-
-DESCRIPTION="Extension to use emoji codes in your Sphinx documentation"
-HOMEPAGE="https://pypi.org/project/sphinxemoji/
- https://github.com/sphinx-contrib/emojicodes"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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
new file mode 100644
index 000000000000..03bc9c9524d9
--- /dev/null
+++ b/dev-python/sphinxygen/Manifest
@@ -0,0 +1 @@
+DIST sphinxygen-1.0.4.gh.tar.gz 17706 BLAKE2B 48c99ba80ebdc9f2ed9ef147d8d7c4f0deb7d4e1118ff6969cf510a0a10bc2335fa9ba91fb38caf60b8770a023e7a0730efa0a5606726dd1d0292650374d9271 SHA512 38ac258850fe6ab38e88c7b59d41e1400b89b13443862a0a9e7c7d1a2e3b887660f1cb17ce94737bc6366025172b40a50da0107d970120610fc9410f41c3250c
diff --git a/dev-python/sphinxygen/metadata.xml b/dev-python/sphinxygen/metadata.xml
new file mode 100644
index 000000000000..9eda4c6fd311
--- /dev/null
+++ b/dev-python/sphinxygen/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>sound@gentoo.org</email>
+ <name>Sound</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="gitlab">drobilla/sphinxygen</remote-id>
+ <remote-id type="pypi">sphinxygen</remote-id>
+ </upstream>
+</pkgmetadata>
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..78093254ef08
--- /dev/null
+++ b/dev-python/sphinxygen/sphinxygen-1.0.4-r1.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="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.gz -> ${P}.gh.tar.gz"
+
+SLOT="0"
+LICENSE="ISC"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+S="${WORKDIR}/${PN}-v${PV}"
+
+DEPEND="
+ app-text/doxygen
+ dev-python/sphinx[${PYTHON_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+BDEPEND="test? ( dev-python/html5lib[${PYTHON_USEDEP}] )"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sphobjinv/metadata.xml b/dev-python/sphobjinv/metadata.xml
index 5a144cda92e3..dd8bed6989d1 100644
--- a/dev-python/sphobjinv/metadata.xml
+++ b/dev-python/sphobjinv/metadata.xml
@@ -2,10 +2,6 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/sphobjinv/sphobjinv-2.3.1.ebuild b/dev-python/sphobjinv/sphobjinv-2.3.1.ebuild
index 50fad164fdf6..3eb641b971c7 100644
--- a/dev-python/sphobjinv/sphobjinv-2.3.1.ebuild
+++ b/dev-python/sphobjinv/sphobjinv-2.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_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -19,7 +19,7 @@ SRC_URI="
"
LICENSE="MIT"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="amd64 arm arm64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
SLOT="0"
RDEPEND="
diff --git a/dev-python/spotipy/Manifest b/dev-python/spotipy/Manifest
index 6264f1545b46..9f7c8f6e6543 100644
--- a/dev-python/spotipy/Manifest
+++ b/dev-python/spotipy/Manifest
@@ -1 +1 @@
-DIST spotipy-2.22.1.gh.tar.gz 111228 BLAKE2B df75cce406d59c9de3e4c836309262d61f7f1249761d3172be13033512944e69a56ca67f16b55e4736f760b74d3ebd8f384225ce9309a5fc1bd8c93be4099069 SHA512 d8c5871dd606e3335656fb55fa042d8c91c72a4c7d62a584bd407a7546184996694c67d499f908fc7049e406c548269286de6cba17064f0385adba3661b34c3b
+DIST spotipy-2.23.0.gh.tar.gz 112399 BLAKE2B 5510ce35624c561df61fffee78f211dfa91ff8d5b3dc15d37c96a51bf830e67aac9c6a0787c71715bee17a3ba91b84766c1ecec37d5775f2182617f2b74a2cb3 SHA512 52955fa3365d5153f19f60874ce8e96910ac8db783499e0e2ef2ab31127277844e24a045115dc522dd7b7535f7907de56da87e02a63b94ee7506b75c1e108e9b
diff --git a/dev-python/spotipy/spotipy-2.22.1.ebuild b/dev-python/spotipy/spotipy-2.22.1.ebuild
deleted file mode 100644
index cee91b6335a1..000000000000
--- a/dev-python/spotipy/spotipy-2.22.1.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_{9..11} )
-
-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-py[${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.23.0.ebuild b/dev-python/spotipy/spotipy-2.23.0.ebuild
new file mode 100644
index 000000000000..a01f9a212115
--- /dev/null
+++ b/dev-python/spotipy/spotipy-2.23.0.ebuild
@@ -0,0 +1,51 @@
+# 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/spur/Manifest b/dev-python/spur/Manifest
index d2a021e7c22e..dff8e65c3f08 100644
--- a/dev-python/spur/Manifest
+++ b/dev-python/spur/Manifest
@@ -1,2 +1 @@
-DIST spur-0.3.22-nose2pytest.diff 31953 BLAKE2B 6ff1ab74215df036101720ca7b1ed5c7f0f9e6dc000a55175da85024d771354cad33d967c7d5ce63bf47dc2009d82147d3da8091a8b605176040f1cef274429e SHA512 ed8617021fe3ea43d8e53dc601b3778026f20e472e7bea2ee9a7565ccc4568a29cb669d7892cb0e16afeb64cb04d0f3973b85a151b20e94ef7b7df4210b17f9d
-DIST spur.py-0.3.22.gh.tar.gz 17760 BLAKE2B 676484e73fa38ebcd3bcc2ace21853590b652d0ec2dc31f7635a55a8bbb213e559fbdd7b70e545091e7e28e6000862ef45eba748e13c546b765756b41c352028 SHA512 36518a080d3fff97fdab5af8e7e3045c58ad6b1acad9fb79e11da688d484565ee4d50868f3c3ee10299e135f2c01bd35348256df7bb1b4f6200aa175cafc7f0a
+DIST spur.py-0.3.23.gh.tar.gz 17853 BLAKE2B fe0d93b5c646fc3f26b996595af3d140db5d362a9e9ad4bc2bce911735bcdefd823ecaf478d732671229e6db0640c211643e6e2774e73fb36042eb0231626b9b SHA512 20b8bbee4932f3ecf202332c9e920938d4fc1e2641fcb6bf4ac52004274f81a637100771cb772009fd3fe6857ab87370c7a943cfdc6980e7f9b83bb7999ee261
diff --git a/dev-python/spur/metadata.xml b/dev-python/spur/metadata.xml
index 3afa530ad9b8..eb19d01caab9 100644
--- a/dev-python/spur/metadata.xml
+++ b/dev-python/spur/metadata.xml
@@ -6,6 +6,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">mwilliamson/spur.py</remote-id>
<remote-id type="pypi">spur</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/spur/spur-0.3.22-r1.ebuild b/dev-python/spur/spur-0.3.22-r1.ebuild
deleted file mode 100644
index 7490c9b1cd35..000000000000
--- a/dev-python/spur/spur-0.3.22-r1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2020-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
-
-MY_P=spur.py-${PV}
-DESCRIPTION="Run commands locally or over SSH using the same interface"
-HOMEPAGE="https://github.com/mwilliamson/spur.py"
-SRC_URI="
- https://github.com/mwilliamson/spur.py/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
- https://dev.gentoo.org/~andrewammerlaan/${P}-nose2pytest.diff
-"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/paramiko[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- # https://github.com/mwilliamson/spur.py/pull/95
- "${DISTDIR}/${P}-nose2pytest.diff"
-)
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # TODO: set up a local SSH server?
- rm tests/{test_ssh,testing}.py || die
-}
diff --git a/dev-python/spur/spur-0.3.23.ebuild b/dev-python/spur/spur-0.3.23.ebuild
new file mode 100644
index 000000000000..156155f2d4de
--- /dev/null
+++ b/dev-python/spur/spur-0.3.23.ebuild
@@ -0,0 +1,36 @@
+# 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=spur.py-${PV}
+DESCRIPTION="Run commands locally or over SSH using the same interface"
+HOMEPAGE="
+ https://github.com/mwilliamson/spur.py/
+ https://pypi.org/project/spur/
+"
+SRC_URI="
+ https://github.com/mwilliamson/spur.py/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+
+RDEPEND="
+ <dev-python/paramiko-4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # TODO: set up a local SSH server?
+ tests/ssh_tests.py
+)
diff --git a/dev-python/spyder-kernels/Manifest b/dev-python/spyder-kernels/Manifest
index 29b2ccc07f44..96a4d8052c4b 100644
--- a/dev-python/spyder-kernels/Manifest
+++ b/dev-python/spyder-kernels/Manifest
@@ -1 +1,3 @@
-DIST spyder-kernels-2.4.2.gh.tar.gz 92561 BLAKE2B a77ce80b2225cce1aafed737c77770396624c61197b3966403f6a7d7a03407336d0556a581441a1d28e1022d6082fe39e48364638d4f70b6240efd49fbafe169 SHA512 aa1889be8809e2fc7bccd01f04f2809df14b76d6fc18f1595db2a83038d7af9a6183c6ac26da11e1dc7556d6d4bd2a57da096063e55b4dbddc06f2d89f2bc0c8
+DIST spyder-kernels-2.5.0.tar.gz 99908 BLAKE2B 8684bdaba16bdfeb2db1e1789054e4951c6fa673dde91a1ae35972a1fd7cd6c298572c83db360553a3d94b1311d449a62d82d25d007f919a4baf6a23d2d872e2 SHA512 acdf796b450d87ee08f97bb6477383006632b6c91c862907ba43803bf88c1552749dc62c69820f948d8738a1a062614c065f861b73d5d73756cf5d00e63b58b5
+DIST spyder-kernels-2.5.1.tar.gz 99906 BLAKE2B 50cae2744ea2bb2d59046423f084d8e29385a82fe05c5d18fa15a64261c4ae0bef6e6f0427c8053ea6cc622d87660f98dc55613d954818a72babc92a119e3dc2 SHA512 bd855e95fb84014cf86dd062aeffc580ce23db7f1c5c1b4ba6d5386d0be4a4bcde625a6bc3a6d126b07a66ef720860019bab5f245a383fd0b2c7975f6d331598
+DIST spyder-kernels-3.0.0b4.tar.gz 237687 BLAKE2B 05b294acd6e000898b4ee42c1f4a64716e73eec7466c5acfec3ee017fd66909cb6f9f5904ffaf546e43fae67738554469a2129916b78c5897a187f88f53d9261 SHA512 d49d198252077bfac06bbdd520d1de68a45d7d1076d598f0a7b2a4109f5b000fb73929cb617c8428672f4d039620e05fdbaa734eb6486849d90e21b4762e61d4
diff --git a/dev-python/spyder-kernels/spyder-kernels-2.4.2.ebuild b/dev-python/spyder-kernels/spyder-kernels-2.4.2.ebuild
deleted file mode 100644
index 94f52832b965..000000000000
--- a/dev-python/spyder-kernels/spyder-kernels-2.4.2.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..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Kernels used by spyder on its ipython console"
-HOMEPAGE="
- https://github.com/spyder-ide/spyder-kernels/
- https://pypi.org/project/spyder-kernels/
-"
-SRC_URI="
- https://github.com/spyder-ide/spyder-kernels/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-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-7.31.1[${PYTHON_USEDEP}]
- <dev-python/jupyter_client-8[${PYTHON_USEDEP}]
- >=dev-python/jupyter_client-7.4.9[${PYTHON_USEDEP}]
- <dev-python/jupyter_client-8[${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
new file mode 100644
index 000000000000..0be0b4d9975e
--- /dev/null
+++ b/dev-python/spyder-kernels/spyder-kernels-2.5.0.ebuild
@@ -0,0 +1,55 @@
+# 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.1.ebuild b/dev-python/spyder-kernels/spyder-kernels-2.5.1.ebuild
new file mode 100644
index 000000000000..f5eb639ae5d3
--- /dev/null
+++ b/dev-python/spyder-kernels/spyder-kernels-2.5.1.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
+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.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/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-3.0.0_beta4.ebuild b/dev-python/spyder-kernels/spyder-kernels-3.0.0_beta4.ebuild
new file mode 100644
index 000000000000..1fd8c65f7dd1
--- /dev/null
+++ b/dev-python/spyder-kernels/spyder-kernels-3.0.0_beta4.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
+PYPI_NO_NORMALIZE=1
+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.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/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/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/Manifest b/dev-python/spyder-line-profiler/Manifest
index 80567234d77f..f9874ec5bd9d 100644
--- a/dev-python/spyder-line-profiler/Manifest
+++ b/dev-python/spyder-line-profiler/Manifest
@@ -1 +1 @@
-DIST spyder-line-profiler-0.3.1.gh.tar.gz 44042 BLAKE2B a98c5770b44b3e11d2261b371e5a806087ebcb347b54745b5bdfe5c4fe3051ff862c79e96ab9a0048e83217cba65fd48a6368bf3e1d1a3f9ab09d2dd69f8ec7c SHA512 96ddc1817adfd58362ea766b95cd58ad521c1333a6bafe9fef1e117ef7ef602bc7e7bced3990d19b85c2882253d81d27940ab409a9daacf588513a405ae4d8fb
+DIST spyder-line-profiler-0.3.2.gh.tar.gz 88725 BLAKE2B 9e15a9b88d1b36a39428e7eccafb7a2c3d3609aece2c6e5c2f379c9f9180093863472bd1e071b12bf313e7cb6ccd4993bb407785716cab2dda871a1ebd527d41 SHA512 fb2e86cc640c7cd32567852063845567634e7cec365f7f5f5f3d770316b9adabc0447d3ad8334411fe3894aeb086cde4f14b77fd3483c099296db7df15f0b46b
diff --git a/dev-python/spyder-line-profiler/spyder-line-profiler-0.3.1-r1.ebuild b/dev-python/spyder-line-profiler/spyder-line-profiler-0.3.1-r1.ebuild
deleted file mode 100644
index df59e8e226bf..000000000000
--- a/dev-python/spyder-line-profiler/spyder-line-profiler-0.3.1-r1.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
-
-PYTHON_COMPAT=( python3_{10..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Plugin to run the python line profiler from within the spyder editor"
-HOMEPAGE="https://github.com/spyder-ide/spyder-line-profiler"
-SRC_URI="https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-RESTRICT="test"
-
-RDEPEND="
- dev-python/line_profiler[${PYTHON_USEDEP}]
- dev-python/qtawesome[${PYTHON_USEDEP}]
- >=dev-python/spyder-5.2.0[${PYTHON_USEDEP}]
- <dev-python/spyder-6.0.0[${PYTHON_USEDEP}]
-"
-
-DEPEND="test? (
- dev-python/pytest-qt[${PYTHON_USEDEP}]
-)"
-
-distutils_enable_tests pytest
-
-python_test() {
- virtx epytest
-}
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
new file mode 100644
index 000000000000..57c0b98e6716
--- /dev/null
+++ b/dev-python/spyder-line-profiler/spyder-line-profiler-0.3.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=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Plugin to run the python line profiler from within the spyder editor"
+HOMEPAGE="
+ https://github.com/spyder-ide/spyder-line-profiler/
+ https://pypi.org/project/spyder-line-profiler/
+"
+SRC_URI="
+ https://github.com/spyder-ide/spyder-line-profiler/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/line-profiler[${PYTHON_USEDEP}]
+ dev-python/qtawesome[${PYTHON_USEDEP}]
+ >=dev-python/spyder-5.2.0[${PYTHON_USEDEP}]
+ <dev-python/spyder-6.0.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-qt[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ virtx epytest
+}
diff --git a/dev-python/spyder-notebook/Manifest b/dev-python/spyder-notebook/Manifest
index 1a8a3fe5afd3..d66a6430ff82 100644
--- a/dev-python/spyder-notebook/Manifest
+++ b/dev-python/spyder-notebook/Manifest
@@ -1 +1 @@
-DIST spyder-notebook-0.4.0.gh.tar.gz 3869758 BLAKE2B db809e9a2b93206ba0236e825b7d8f612efe552be5b9bbcdd60021ee143f16674e05847834bbd63a801c32e2264e5335685887aad0519033a315b3c2c0fcd3d6 SHA512 ab97429d276af815411b9a63bc04e291e5ed596bb9c551be8161e71761fc21a61b896b73ec1d93c9a2b4561ba228b93ac86f3b542a515cbfc651e9e218f6f778
+DIST spyder-notebook-0.5.1.tar.gz 5546854 BLAKE2B ccdc93c948e6b4db005cf2433794008c65e9a56574db15cd5627f44938bcc2c865341f2417bcf000e27e3d19fe11b6eb6340e6225a682bf32b2cb06ca8f4605a SHA512 daf91361344f96db0ac855b80d17388bda7bf96eab280fba7ac406915dc9b5283c09e914c07342154ed2d0d23420b5e16923cf4ccddb090364db43cf606319f3
diff --git a/dev-python/spyder-notebook/spyder-notebook-0.4.0.ebuild b/dev-python/spyder-notebook/spyder-notebook-0.4.0.ebuild
deleted file mode 100644
index 6bfac7c28690..000000000000
--- a/dev-python/spyder-notebook/spyder-notebook-0.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
-
-PYTHON_COMPAT=( python3_{10..11} )
-# ERROR: Server components are missing!! Please run 'python setup.py sdist' first.
-# DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Jupyter notebook integration with Spyder"
-HOMEPAGE="https://github.com/spyder-ide/spyder-notebook"
-SRC_URI="https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-RESTRICT="test"
-
-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.3.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" "RELEASE.md" "CHANGELOG.md" "doc/example.gif" )
-
-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
new file mode 100644
index 000000000000..ce8b954081b3
--- /dev/null
+++ b/dev-python/spyder-notebook/spyder-notebook-0.5.1.ebuild
@@ -0,0 +1,59 @@
+# 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
+
+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 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/notebook-7[${PYTHON_USEDEP}]
+ <dev-python/notebook-8[${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/tornado[${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
+
+EPYTEST_DESELECT=(
+ # Hangs
+ spyder_notebook/widgets/tests/test_main_widget.py::test_save_notebook
+ spyder_notebook/widgets/tests/test_main_widget.py::test_new_notebook
+ # Fails in sandbox
+ spyder_notebook/tests/test_plugin.py::test_open_console_when_no_kernel
+ spyder_notebook/widgets/tests/test_main_widget.py::test_shutdown_notebook_kernel
+ spyder_notebook/widgets/tests/test_main_widget.py::test_file_in_temp_dir_deleted_after_notebook_closed
+ # Some missing file
+ spyder_notebook/widgets/tests/test_main_widget.py::test_open_notebook_in_non_ascii_dir
+ spyder_notebook/widgets/tests/test_main_widget.py::test_close_nonexisting_notebook
+)
+
+python_test() {
+ virtx epytest
+}
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 59a975a72e64..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,15 +1,15 @@
-# 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
+PYPI_NO_NORMALIZE=1
+inherit distutils-r1 pypi
DESCRIPTION="Run system terminals inside Spyder"
HOMEPAGE="https://github.com/spyder-ide/spyder-terminal"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT BSD Apache-2.0 BSD-2 ISC CC-BY-4.0 ZLIB WTFPL-2"
SLOT="0"
diff --git a/dev-python/spyder-unittest/Manifest b/dev-python/spyder-unittest/Manifest
index 85e53b0801b3..0734087a0fe5 100644
--- a/dev-python/spyder-unittest/Manifest
+++ b/dev-python/spyder-unittest/Manifest
@@ -1 +1 @@
-DIST spyder-unittest-0.5.1.gh.tar.gz 80022 BLAKE2B c904196f7b0288b4d4f105037cbf75fc7ef60669ba1a24687b4f6aa672b88b139b64282c2d12340c958a3ffb65b8cf01b61256f669e167a6c15eb9471430af2a SHA512 4bea5d88b6be80435e2fa6498803ceea275b72c47bd0a54bb3be962bfe00feed2073e4d4915ea1b4dd780cb1c104f6dcd2735ee000cdedb934ed9fac059d0ca5
+DIST spyder-unittest-0.6.0.gh.tar.gz 105932 BLAKE2B b7a39e5756d27325bbe0dff32fb3922f667cdd1eb2c3a6d9e5eceb89abd921244fdf1685706bff181c75c59f86f92e405a1d08c5e86d7f15a27bfd46d32048ea SHA512 304843dcf6b51033a6acbc81a0ed274736d36967d95866075bb06a23487f29556256e39c213f685f5a6622743bba568814b5c099fa143e849fdb5608687f1c5c
diff --git a/dev-python/spyder-unittest/spyder-unittest-0.5.1.ebuild b/dev-python/spyder-unittest/spyder-unittest-0.5.1.ebuild
deleted file mode 100644
index 43ce967da1ec..000000000000
--- a/dev-python/spyder-unittest/spyder-unittest-0.5.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
-
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 virtualx
-
-COMMIT="d210d9fe6c4efbb21d680a040cc4741d76a81f49"
-
-DESCRIPTION="Plugin for Spyder to run tests and view the results"
-HOMEPAGE="https://github.com/spyder-ide/spyder-unittest"
-SRC_URI="https://github.com/spyder-ide/${PN}/archive/${COMMIT}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}/${PN}-${COMMIT}"
-
-# AttributeError: 'NoneType' object has no attribute 'split'
-RESTRICT="test"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/spyder-5.3.1[${PYTHON_USEDEP}]
- <dev-python/spyder-6[${PYTHON_USEDEP}]
- dev-python/pyzmq[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
-"
-
-DEPEND="test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-qt[${PYTHON_USEDEP}]
-)"
-
-distutils_enable_tests pytest
-
-python_test() {
- virtx epytest
-}
diff --git a/dev-python/spyder-unittest/spyder-unittest-0.6.0.ebuild b/dev-python/spyder-unittest/spyder-unittest-0.6.0.ebuild
new file mode 100644
index 000000000000..80f8b384207b
--- /dev/null
+++ b/dev-python/spyder-unittest/spyder-unittest-0.6.0.ebuild
@@ -0,0 +1,82 @@
+# 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="Plugin for Spyder to run tests and view the results"
+HOMEPAGE="https://github.com/spyder-ide/spyder-unittest"
+SRC_URI="https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/spyder-5.4.1[${PYTHON_USEDEP}]
+ <dev-python/spyder-6[${PYTHON_USEDEP}]
+ dev-python/pyzmq[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+"
+
+DEPEND="test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-qt[${PYTHON_USEDEP}]
+)"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Hangs
+ spyder_unittest/widgets/tests/test_datatree.py::test_contextMenuEvent_calls_exec
+ # clicked() does not seem to work in emerge env
+ spyder_unittest/widgets/tests/test_confpage.py::test_unittestconfigpage
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_unittestwidget_forwards_sig_edit_goto
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_unittestwidget_set_config_emits_newconfig
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_unittestwidget_set_config_does_not_emit_when_invalid
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_unittestwidget_config_with_unknown_framework_invalid
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_unittestwidget_process_finished_updates_results
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_unittestwidget_replace_pending_with_not_run
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_unittestwidget_tests_collected
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_unittestwidget_tests_started
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_unittestwidget_tests_collect_error
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_unittestwidget_tests_yield_results
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_unittestwidget_set_message
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_run_tests_starts_testrunner
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_run_tests_with_pre_test_hook_returning_true
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_run_tests_with_pre_test_hook_returning_false
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_unittestwidget_process_finished_updates_status_label
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_unittestwidget_process_finished_abnormally_status_label
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_unittestwidget_handles_sig_single_test_run_requested
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_run_tests_and_display_results
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_run_tests_using_unittest_and_display_results
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_run_tests_with_print_using_unittest_and_display_results
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_run_with_no_tests_discovered_and_display_results
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_stop_running_tests_before_testresult_is_received
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_show_versions
+ spyder_unittest/widgets/tests/test_unittestgui.py::test_get_versions
+
+ # Broken in Pyside2
+ spyder_unittest/tests/test_unittestplugin.py::test_menu_item
+ spyder_unittest/tests/test_unittestplugin.py::test_pythonpath_change
+ spyder_unittest/tests/test_unittestplugin.py::test_default_working_dir
+ spyder_unittest/tests/test_unittestplugin.py::test_plugin_config
+ spyder_unittest/tests/test_unittestplugin.py::test_go_to_test_definition
+
+ # Don't depend on nose2
+ spyder_unittest/backend/workers/tests/test_print_versions.py::test_get_nose2_info
+)
+
+EPYTEST_IGNORE=(
+ # Example test that somehow gets picked up
+ doc/example/test_foo.py
+)
+
+python_test() {
+ virtx epytest
+}
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 bcd6df115a5d..1a5fe8c9e0bc 100644
--- a/dev-python/spyder/Manifest
+++ b/dev-python/spyder/Manifest
@@ -1,2 +1,4 @@
-DIST spyder-5.4.2.gh.tar.gz 24523453 BLAKE2B 9ec3652fc60c483b96f287ad39f3280e963b8bb24a6e1326f5248373ee53465b67c5660e42b4f7d876498a8ee1652fa058b038386a3dd788d46452ba1475760c SHA512 e3650cd43d14d2ce7e6f90557904d6ac1e5db5f7846e87e8a1fd8173cdef97cdee485250caf00768482611b8318eaba60259efcaccf41f0308e888ac85eeb88d
-DIST spyder-docs-3ae8705d3eba8fc30d4600d6d1e29ce0da8cd0c6.gh.tar.gz 95448945 BLAKE2B 5e130bff9fbca71e61ed96236a6964e8f34602efbb930dbc928a22eec59ebb2d2bee39f679c27dbbf88686345e5db5894f931e7ab95a3e007444b17c4e021176 SHA512 a6ebe6b6ff057616951c0075ba7c8039dc3a304b6e1bbbb40f80bb54018cee374df230e491493f18070273dded2942e14bfecc9439d33ae1bc3edd5b47067d77
+DIST spyder-5.5.4.gh.tar.gz 16258160 BLAKE2B 4f29db0805e1d7eed33497df0b28754cd873cfa5c6bd6c7955efc881000498a7527e413de5107ca4414f2dcbf0aa55903b1bf496626e7b470942cc5142abc152 SHA512 4f68d1edc2901b4cffb67943c782ccd89e923722579ec4144064de2ec1b6bbf89f831feb3eb58a7adf7c403efc7d2529c38017b423bb32709170915792f4deb2
+DIST spyder-6.0.0_alpha4.gh.tar.gz 15503538 BLAKE2B ee896fe2c3c2afd464a8c86204f770ef08ff2fdfc68f7431d2706f76516b6e2b31c9cda8df3236cb3b85799d67f983fbbbfcdc92400a2a88f1efdcd166622f50 SHA512 8ff36feecf6ce99d90ec07fc0cc3ecab075af4e36d64ba650316a46d1f79ca1a08ca7eb2b48dee6e5eddaaafaff14445f0b687742e9a439c3e4def098e489879
+DIST spyder-docs-0aa81d44ec6490c155be1bb1acca0a27328b12e0.gh.tar.gz 94895731 BLAKE2B 468412372bf2f70f838fa89dc1b88997fa2d9d92e36d6a5abac736b6b5f2782f25121b18b876c7c6e2af9d7eda433aaccd017c2e8c8c06a223420f0ce9684fc1 SHA512 9ac0f930a1a864e81e4181f101449a6506728d0d89254409a58e68bc17a3de39f4d1bf329f11da433d8ee4f3122faf3b337654d011263a70b253459e9562e923
+DIST spyder-docs-32efdaebc11dab0b8e0767717342b7d306dc06ea.gh.tar.gz 94897009 BLAKE2B 30e0b42e34bddb60d8fc986183a363b71455067bc7f4411cb75a00c5758e87501ee07ad0b484caed2aa3cf91153be814c7faf935be8665b6984bce38ebcd0be2 SHA512 9f9aa56ab27aed8d27c3d653119d5c5454b4317a78a7ff27715d91cac9dec79143db85d4f1c87b10fa821eb33abc043912df308fa6c84ade59539bd633eefbd2
diff --git a/dev-python/spyder/files/spyder-5.4.0-unpin-qdarkstyle.patch b/dev-python/spyder/files/spyder-5.4.0-unpin-qdarkstyle.patch
deleted file mode 100644
index 87b97a94b34a..000000000000
--- a/dev-python/spyder/files/spyder-5.4.0-unpin-qdarkstyle.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 1aa7f96..5345b0a 100644
---- a/setup.py
-+++ b/setup.py
-@@ -232,7 +232,7 @@ install_requires = [
- 'python-lsp-server[all]>=1.6.0,<1.7.0',
- 'pyxdg>=0.26;platform_system=="Linux"',
- 'pyzmq>=22.1.0',
-- 'qdarkstyle>=3.0.2,<3.1.0',
-+ 'qdarkstyle>=3.0.2',
- 'qstylizer>=0.2.2',
- 'qtawesome>=1.2.1',
- 'qtconsole>=5.4.0,<5.5.0',
-diff --git a/spyder/dependencies.py b/spyder/dependencies.py
-index 244a161..f44d045 100644
---- a/spyder/dependencies.py
-+++ b/spyder/dependencies.py
-@@ -58,7 +58,7 @@ PYLSP_BLACK_REQVER = '>=1.2.0'
- PYLS_SPYDER_REQVER = '>=0.4.0'
- PYXDG_REQVER = '>=0.26'
- PYZMQ_REQVER = '>=22.1.0'
--QDARKSTYLE_REQVER = '>=3.0.2;<3.1.0'
-+QDARKSTYLE_REQVER = '>=3.0.2'
- QSTYLIZER_REQVER = '>=0.2.2'
- QTAWESOME_REQVER = '>=1.2.1'
- QTCONSOLE_REQVER = '>=5.4.0;<5.5.0'
diff --git a/dev-python/spyder/spyder-5.4.2.ebuild b/dev-python/spyder/spyder-5.4.2.ebuild
deleted file mode 100644
index 4b757c335a9c..000000000000
--- a/dev-python/spyder/spyder-5.4.2.ebuild
+++ /dev/null
@@ -1,196 +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 optfeature xdg distutils-r1
-
-# Commit of documentation to fetch
-DOCS_PV="3ae8705d3eba8fc30d4600d6d1e29ce0da8cd0c6"
-
-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"
-
-# The test suite often hangs or does not work. RESTRICTing because IMO it is
-# not worth the several hours I would have to spend every single version bump
-# checking which tests do and do not work.
-RESTRICT="test"
-
-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/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/qstylizer-0.2.2[${PYTHON_USEDEP}]
- >=dev-python/qtawesome-1.2.1[${PYTHON_USEDEP}]
- >=dev-python/qtconsole-5.4.0[${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.2[${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}]
-"
-
-# Tests are broken anyway, so lets comment this out so we can enable py3.11
-# 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-ordering[${PYTHON_USEDEP}]
-# dev-python/pytest-qt[${PYTHON_USEDEP}]
-# dev-python/pytest-xvfb[${PYTHON_USEDEP}]
-# dev-python/pyyaml[${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"
- "${FILESDIR}/${PN}-5.4.0-unpin-qdarkstyle.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" \
- -e "/'ipython[ 0-9<=>.,]*',/d" \
- setup.py || die
- 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'" \
- -e "/^IPYTHON_REQVER/c\IPYTHON_REQVER = '>=0.0.1'" \
- spyder/dependencies.py || die
-
- # 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 makes the tests freeze after completing even if successful
-# Exit code is nonzero even upon success, so can't add || die here test results
-# should be checked for success manually
-python_test() {
- "${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.4.ebuild b/dev-python/spyder/spyder-5.5.4.ebuild
new file mode 100644
index 000000000000..45aec287fb4a
--- /dev/null
+++ b/dev-python/spyder/spyder-5.5.4.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]
+ >=sci-libs/rtree-0.9.7[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}]
+ >=dev-python/spyder-kernels-2.5.1[${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_alpha4.ebuild b/dev-python/spyder/spyder-6.0.0_alpha4.ebuild
new file mode 100644
index 000000000000..b2536ab2c160
--- /dev/null
+++ b/dev-python/spyder/spyder-6.0.0_alpha4.ebuild
@@ -0,0 +1,189 @@
+# 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="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//_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/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.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]
+ >=sci-libs/rtree-0.9.7[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}]
+ >=dev-python/spyder-kernels-3.0.0_beta4[${PYTHON_USEDEP}]
+ <dev-python/spyder-kernels-3.0.0_beta5[${PYTHON_USEDEP}]
+ >=dev-python/superqt-0.6.1[${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}]
+"
+
+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
+
+ # 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 81e389480f78..2323c644c8ea 100644
--- a/dev-python/sqlalchemy-rqlite/Manifest
+++ b/dev-python/sqlalchemy-rqlite/Manifest
@@ -1 +1 @@
-DIST sqlalchemy-rqlite-1.1.1.tar.gz 4285 BLAKE2B e644238621bb0115338e31030895b4da2d250ddc6cdc7dd8bd093862debf5b59d6aa01c10d8ee19387db03420cdef9edb95e1c445e465ac838f43f80b4a23f5d SHA512 5cc37f09eb1e5c7baa370498ba1d07b0255bf18abbcb1b5213eb0acfd83990024f5f5030ed20cac1a2b240c26b799c00f2400fffd79455d14d122b75406614bb
+DIST sqlalchemy-rqlite-1.2.gh.tar.gz 4880 BLAKE2B ff07c0ee1c80cdbe0c743a4d25946cb260336766ed43a4496c014de4bb1cde0646250e4ede5f2bb73b8e5ecbe9816ec0b5a82e1c7c35ff66bac62b839bba72ab SHA512 35e11b09c961e6af3bd658c583a0f3621b5798baa2bfd5f85b3d4136b4f134ad4af96e84e7cc52ab3025668ab05fc9e4f178803d8ae570ddbcd5405a43fdedf4
diff --git a/dev-python/sqlalchemy-rqlite/metadata.xml b/dev-python/sqlalchemy-rqlite/metadata.xml
index b8642debee3c..f02bf9c4b6ce 100644
--- a/dev-python/sqlalchemy-rqlite/metadata.xml
+++ b/dev-python/sqlalchemy-rqlite/metadata.xml
@@ -3,6 +3,7 @@
<pkgmetadata>
<upstream>
<remote-id type="github">rqlite/sqlalchemy-rqlite</remote-id>
+ <remote-id type="pypi">sqlalchemy-rqlite</remote-id>
</upstream>
<maintainer type="person">
<email>zmedico@gentoo.org</email>
diff --git a/dev-python/sqlalchemy-rqlite/sqlalchemy-rqlite-1.1.1.ebuild b/dev-python/sqlalchemy-rqlite/sqlalchemy-rqlite-1.1.1.ebuild
deleted file mode 100644
index aea0c60c2759..000000000000
--- a/dev-python/sqlalchemy-rqlite/sqlalchemy-rqlite-1.1.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-DISTUTILS_USE_SETUPTOOLS=bdepend
-
-inherit distutils-r1
-
-DESCRIPTION="A SQLAlchemy dialect for rqlite"
-EGIT_REPO_URI="https://github.com/rqlite/sqlalchemy-rqlite.git"
-HOMEPAGE="https://github.com/rqlite/sqlalchemy-rqlite"
-SRC_URI="https://github.com/rqlite/sqlalchemy-rqlite/archive//v${PV}.tar.gz -> ${P}.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-rqlite/sqlalchemy-rqlite-1.2.ebuild b/dev-python/sqlalchemy-rqlite/sqlalchemy-rqlite-1.2.ebuild
new file mode 100644
index 000000000000..3ecc442cf491
--- /dev/null
+++ b/dev-python/sqlalchemy-rqlite/sqlalchemy-rqlite-1.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 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 0323da67d311..74ea861af240 100644
--- a/dev-python/sqlalchemy/Manifest
+++ b/dev-python/sqlalchemy/Manifest
@@ -1,4 +1,3 @@
-DIST SQLAlchemy-1.4.44.tar.gz 8516775 BLAKE2B 647a43b2c01bcf066891e6bf2247271ff051ebc0d75c2e06b04879d058aacc54dced5d1af00c9489ba515621c56bb6f358836e1658f0069295f125675956797e SHA512 ba4e022f7af77cdf099b59a7af088852d7d4e0b4c6d632a63d244f501ff0b76837e601de63619f219fe50e6d526cd13415c4e623a6127afb0a2f24b87a4c3ece
-DIST SQLAlchemy-1.4.45.tar.gz 8535958 BLAKE2B 09e777584067532ed77d8dca9d86996b22317395338aa056d91d7ae1600d6b7111ef714d04980f87ab517007dd6a581c5552efa9c4a676e88c567f339f227fe6 SHA512 4c6e9ef84c6517f47493ad6ce6d366bc0e7222e7a668d43c7b9f4919e87076a5f7687dc525060e430be23c5d9f12e7ef9d97d679040ff132244aa2b3418974a9
-DIST SQLAlchemy-1.4.46.tar.gz 8544238 BLAKE2B 8ef4aae61bee3c9c54b953a9ba34074d8cac0d54d8ae3389f40fa99f57755b2ee0a8a7826e0835fada2d82b96559d974172c9d9781ec746c79006f59d7a5bba0 SHA512 1977c6125e9f45a45b7941c1e0164866bd5ea72839e619d4e259db9a5370fe2b4f191257f3c9ddb28b5c22617a71d359620601c54d9273c38b3281a6c2f5ff03
-DIST SQLAlchemy-2.0.0.tar.gz 9188064 BLAKE2B 2c81b9663c14851f10d6987645b9c7185067ad680107d2c59ccb3a67ffec0507d30e646d8fb283919ed120203b64591b089f6b840ab97d8e7c59bddd4793319e SHA512 54bde6047a94fc6b050ca6e4b6136ab2a62de0f55665c07a7bec953c75462e32908e88de5c2dc42ee45cd0b8b9f155dd33d148408ab5e3cc579b0e13cdf00801
+DIST SQLAlchemy-1.4.52.tar.gz 8514200 BLAKE2B b41fccb885ce6761e29621a654c97537610a1875d66302ba56fac560f5c85db35b14595efd903aebfd0186ee39b75a8666e1304cdee6a6ec6eb9923bc602b9e5 SHA512 afda6a3503c9d2baba8c1dd9e7216d5ac1561f52f5f11009c41a1a98ac998643c980c60cf8ba4d84c4af8808be26ead9fd2e7a2c8bf15b2fdb521b4e5de7748e
+DIST SQLAlchemy-2.0.27.tar.gz 9527460 BLAKE2B 06c3649c00fad1a82305502fce00938b85098a6e283eccc5992bc6b1df564a2947557db6bbd3633f96096fabca1fcf8fb1edee125b86be3a31508d6878fcc3be SHA512 78f0aeda4352e05282b86bdcaaf369804e4294e10f944a15cacd518b3741cf6359880d7400ec689e234ad6f8227d32822aa9073ed33f40825c3542102ebcada5
+DIST SQLAlchemy-2.0.29.tar.gz 9543967 BLAKE2B 04425618b6e0bcf98a7a32a4a6b1c092120a9f3eb55761879b072ac3a3e08c8f1b97fb4d2df4b35b2fd810e11146f4d83cf67cd8ec23fb4d96c5d6cfff7657af SHA512 d1143c65fb26335d652083b9a90afaecf78ed312cea5c26f989380204e909c341c1bc3bb1e07274353e1c409d21737fad4d7391f186b2d2373814582d3baaf78
diff --git a/dev-python/sqlalchemy/sqlalchemy-1.4.44.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.4.44.ebuild
deleted file mode 100644
index 637bcbfc00de..000000000000
--- a/dev-python/sqlalchemy/sqlalchemy-1.4.44.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# 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_{9..11} )
-PYTHON_REQ_USE="sqlite?"
-
-inherit distutils-r1 optfeature
-
-MY_PN="SQLAlchemy"
-MY_P="${MY_PN}-${PV/_beta/b}"
-
-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="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.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 +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
- )
- [[ ${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_3_39_4::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
- 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 \
- dev-python/mysql-connector-python
- optfeature "postgresql support" dev-python/psycopg:2
-}
diff --git a/dev-python/sqlalchemy/sqlalchemy-1.4.45.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.4.45.ebuild
deleted file mode 100644
index 637bcbfc00de..000000000000
--- a/dev-python/sqlalchemy/sqlalchemy-1.4.45.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# 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_{9..11} )
-PYTHON_REQ_USE="sqlite?"
-
-inherit distutils-r1 optfeature
-
-MY_PN="SQLAlchemy"
-MY_P="${MY_PN}-${PV/_beta/b}"
-
-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="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.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 +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
- )
- [[ ${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_3_39_4::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
- 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 \
- dev-python/mysql-connector-python
- optfeature "postgresql support" dev-python/psycopg:2
-}
diff --git a/dev-python/sqlalchemy/sqlalchemy-1.4.46.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.4.46.ebuild
deleted file mode 100644
index cc3d243a9db0..000000000000
--- a/dev-python/sqlalchemy/sqlalchemy-1.4.46.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# 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_{9..11} )
-PYTHON_REQ_USE="sqlite?"
-
-inherit distutils-r1 optfeature
-
-MY_PN="SQLAlchemy"
-MY_P="${MY_PN}-${PV/_beta/b}"
-
-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="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.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 +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
- )
- [[ ${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_3_39_4::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
- 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 \
- dev-python/mysql-connector-python
- 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.0.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.0.ebuild
deleted file mode 100644
index 3242eab60351..000000000000
--- a/dev-python/sqlalchemy/sqlalchemy-2.0.0.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_COMPAT=( pypy3 python3_{9..11} )
-PYTHON_REQ_USE="sqlite?"
-
-inherit distutils-r1 optfeature
-
-MY_PN="SQLAlchemy"
-MY_P="${MY_PN}-${PV/_beta/b}"
-
-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="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.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 +sqlite test"
-
-RDEPEND="
- >=dev-python/typing-extensions-4.2.0[${PYTHON_USEDEP}]
-"
-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_IGNORE=(
- test/ext/mypy/test_mypy_plugin_py3k.py
- )
- local EPYTEST_DESELECT=(
- # warning tests are unreliable
- test/base/test_warnings.py
- # TODO
- test/orm/test_versioning.py::ServerVersioningTest_sqlite+pysqlite_3_40_1::test_sql_expr_w_mods_bump
- )
- [[ ${EPYTHON} == 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_3_40_1::test_cant_parse_datetime_message
- test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_3_40_1::test_delete_single
- test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_3_40_1::test_insert_single
- test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_3_40_1::test_update_single
- test/base/test_utils.py::ImmutableDictTest::test_pep584
- )
- 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
- 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 \
- dev-python/mysql-connector-python
- optfeature "postgresql support" dev-python/psycopg:2
-}
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.27.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.27.ebuild
new file mode 100644
index 000000000000..7d275169242d
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-2.0.27.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.29.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.29.ebuild
new file mode 100644
index 000000000000..0ea36df4e9dc
--- /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/sqlglot/Manifest b/dev-python/sqlglot/Manifest
new file mode 100644
index 000000000000..8248ca3d5a84
--- /dev/null
+++ b/dev-python/sqlglot/Manifest
@@ -0,0 +1,38 @@
+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-23.10.0.tar.gz 12967869 BLAKE2B da7f6bb47c359d564de40e5a13d1fc77526602e62a8a1f8952fbe01b56f9c1e6ec3163660b5b811ed79c5b79b4743bbedfa9b54da35365d7a72f906908c07387 SHA512 84b6fa716e129dfb304c98e8b72fb418f86d90e653f5b9986b82ccc750d9dcc71df419c69a67c95401afb0a0a1a46ea1659b5717f66ba63e6a1586ccffc539aa
+DIST sqlglot-23.7.0.tar.gz 12930040 BLAKE2B 2edd122e351286948f7adeaea6ead40a4c4ffbe9ff141f8fb0ded2ba8153ff90d051b4c6e5335f0ebb07c816956cb39164918bddc7ab2ef6c805e8713338243e SHA512 31d7eba56a74943cbff4275280c527a1ceeaa69b26fc992b7b227e9bcb836487ce57dfb1f562df1b6780128b1479d2c7f65a8497cb237e6618d8be9ad972130d
+DIST sqlglot-23.8.0.tar.gz 12933026 BLAKE2B 4f29458d6fc4e45b81e37882a3722dcc82a3cc5e3103234f81629c01fb14ff5aa157d6faf006ed10be15d275b0e5a5575b320aa54d673ddd7be08135c67b5d55 SHA512 dd69eb0fe28cbfb6b928c1e2cfe020469da759e75fa73912160e743ae3285cef816b898f3668dd4da87f9f37649310ff67d0f02ee0787c32eff09a15b4ed7138
+DIST sqlglot-23.8.1.tar.gz 12945839 BLAKE2B f9b182c0d1a5929ea9cc2b508d681fdef2b22c8c89f81eeb428bd94760a548446fd113573d466b87d51f71688c3ed2605c1626987dfdd4e834aa34b686e3b092 SHA512 8ad53f29bd99cb55db8cad09f17b301eb56a0add53b81e322acb997d822be075c4f28324643b3f5740be1bf69f58c03f163ab3506852e038381d6148502ebc47
+DIST sqlglot-23.8.2.tar.gz 12946196 BLAKE2B 5836f252bb80886a4e7160c17010670dda1de3387df57d076f74e7186ba18ea306e5ec86f4bfe4002dc22ff0aa0eda088c994fb23a075e86319b10c1150a12fb SHA512 95d356d55aeeb796f27bbebf7f1372e07f4569a52dfbae51bfd72ba29483975955afb7e7d1cbdd938e41695794728001c5169e94a1f5f8e448375c01127e97cb
+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
new file mode 100644
index 000000000000..c21c821e9216
--- /dev/null
+++ b/dev-python/sqlglot/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="person">
+ <email>parona@protonmail.com</email>
+ <name>Alfred Wingate</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>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tobymao/sqlglot</remote-id>
+ <remote-id type="pypi">sqlglot</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sqlglot/sqlglot-23.10.0.ebuild b/dev-python/sqlglot/sqlglot-23.10.0.ebuild
new file mode 100644
index 000000000000..058fa81df816
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-23.10.0.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..12} )
+
+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-23.7.0.ebuild b/dev-python/sqlglot/sqlglot-23.7.0.ebuild
new file mode 100644
index 000000000000..058fa81df816
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-23.7.0.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..12} )
+
+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-23.8.0.ebuild b/dev-python/sqlglot/sqlglot-23.8.0.ebuild
new file mode 100644
index 000000000000..058fa81df816
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-23.8.0.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..12} )
+
+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-23.8.1.ebuild b/dev-python/sqlglot/sqlglot-23.8.1.ebuild
new file mode 100644
index 000000000000..058fa81df816
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-23.8.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..12} )
+
+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-23.8.2.ebuild b/dev-python/sqlglot/sqlglot-23.8.2.ebuild
new file mode 100644
index 000000000000..058fa81df816
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-23.8.2.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..12} )
+
+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/sqlitedict-2.1.0.ebuild b/dev-python/sqlitedict/sqlitedict-2.1.0.ebuild
index 630cc9fb988b..da7495ac1ac3 100644
--- a/dev-python/sqlitedict/sqlitedict-2.1.0.ebuild
+++ b/dev-python/sqlitedict/sqlitedict-2.1.0.ebuild
@@ -4,17 +4,16 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="sqlite"
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Persistent dict in Python, backed by SQLite and pickle"
HOMEPAGE="
https://github.com/RaRe-Technologies/sqlitedict/
https://pypi.org/project/sqlitedict/
"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
diff --git a/dev-python/sqlparse/Manifest b/dev-python/sqlparse/Manifest
index 34e9900766cd..6001ab34dfe0 100644
--- a/dev-python/sqlparse/Manifest
+++ b/dev-python/sqlparse/Manifest
@@ -1 +1,2 @@
-DIST sqlparse-0.4.3.tar.gz 70771 BLAKE2B 23c80d2ef9ef094cfcc9742213d7db07cf927cd415f93db29e71bfd1c9033f2a392d69691606c8c32b9a4148630d2c5621a9e3feaab2fe27d61fb8f243783997 SHA512 4061653705a7a44af4e89d370f0b21f276271f9fa75a30b8b1df278abe742e579c7f15008e65d2e1f29e0e815fd946cb9f3c35f1aa391e5698705b8c7bc0945f
+DIST sqlparse-0.4.4.tar.gz 72383 BLAKE2B 722db31c3344ec1ed2f1be3406142bf3a1cfb890f459f99778d8a7d8ee213311706f6729f68ccee7beefaddc55583135171397d05e37d41e56568fd39ca23830 SHA512 bb655f8de2466c2ed51aca901b6561b8ac7730bf65f1254d218d7b9dabbece609cadd8a52a092b301895ad83813ddf02691e2de49cf55a26e676a2661c240a2b
+DIST sqlparse-0.5.0.tar.gz 83475 BLAKE2B 6553de08385e90bbb0b7ce45db5894aabceb997885f1c610d83725b1a5d632caae1944e022ef43b3ed586ed05d160d5e88e450a077a6531955abda8a794dc173 SHA512 eade99e832054ddbc466d1c56a4d5ce6f79d31be8dbfa0b175b8413e4326af18baa20a42d9661bc09e91f04edd8329d4c0df2ca6f62983df3daef67d38342269
diff --git a/dev-python/sqlparse/sqlparse-0.4.3.ebuild b/dev-python/sqlparse/sqlparse-0.4.3.ebuild
deleted file mode 100644
index c2230527e235..000000000000
--- a/dev-python/sqlparse/sqlparse-0.4.3.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
-
-MY_PN="${PN##python-}"
-MY_P="${MY_PN}-${PV}"
-DESCRIPTION="A non-validating SQL parser module for Python"
-HOMEPAGE="https://github.com/andialbrecht/sqlparse"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}"/${P#python-}
-
-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.4.4.ebuild b/dev-python/sqlparse/sqlparse-0.4.4.ebuild
new file mode 100644
index 000000000000..df9f126bd4e4
--- /dev/null
+++ b/dev-python/sqlparse/sqlparse-0.4.4.ebuild
@@ -0,0 +1,22 @@
+# 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..f3745b336de6
--- /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..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/
+"
+
+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/sshpubkeys/Manifest b/dev-python/sshpubkeys/Manifest
new file mode 100644
index 000000000000..f17d049ead9e
--- /dev/null
+++ b/dev-python/sshpubkeys/Manifest
@@ -0,0 +1 @@
+DIST python-sshpubkeys-3.3.1.gh.tar.gz 57896 BLAKE2B 3212ea0c38377255258a831cc942f71c0b0efb040ba8ca3283200b638dcae7a31ad5763ae0de4f51a7ae0c3f0a1b83ca6db96f00384ecd1e1e3a369028e4ed41 SHA512 8a59e73eddd795a71b64fc7433292ca03a9f447a13c8ef40d68fc599776c37f5e4a1fdbbf2f2ab00b0091a513e2412f213f6a21474ae0784af2df9a7107a2ed6
diff --git a/dev-python/python-sshpubkeys/metadata.xml b/dev-python/sshpubkeys/metadata.xml
index 7ddc300d2654..7ddc300d2654 100644
--- a/dev-python/python-sshpubkeys/metadata.xml
+++ b/dev-python/sshpubkeys/metadata.xml
diff --git a/dev-python/sshpubkeys/sshpubkeys-3.3.1-r1.ebuild b/dev-python/sshpubkeys/sshpubkeys-3.3.1-r1.ebuild
new file mode 100644
index 000000000000..47c497dfe8bb
--- /dev/null
+++ b/dev-python/sshpubkeys/sshpubkeys-3.3.1-r1.ebuild
@@ -0,0 +1,32 @@
+# 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-sshpubkeys-${PV}
+DESCRIPTION="OpenSSH public key parser for Python"
+HOMEPAGE="
+ https://pypi.org/project/sshpubkeys/
+ https://github.com/ojarva/python-sshpubkeys/
+"
+SRC_URI="
+ https://github.com/ojarva/python-sshpubkeys/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+
+RDEPEND="
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/ecdsa[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/sshtunnel/Manifest b/dev-python/sshtunnel/Manifest
index 90adee069cac..76a674d1b151 100644
--- a/dev-python/sshtunnel/Manifest
+++ b/dev-python/sshtunnel/Manifest
@@ -1 +1,2 @@
DIST sshtunnel-0.3.1.tar.gz 51392 BLAKE2B 9cf5c0e1f12489e482abf73e74d1a59bdc619b5248265add15744357ef49bf502e013b9d4494efff27e45817e0728f2cee3629f5cf21ba9849f564e84ac9c4a9 SHA512 5c24243cae959cf38f2cdcad4351950ca3abd1c6d289829b6603cd8e93b8d61480c4c7b3607bb38615854825c0bf08890c2362f79104c8bae7f9bf8e0931aa85
+DIST sshtunnel-0.4.0.tar.gz 62716 BLAKE2B 7ed2a1317d257be39c364b2a10acf53b14e701ddad13e35cbb47972625ac73da9ab68099886e36d4025c635537ecf016a52fa5e0064c2b2172abcde6192966d3 SHA512 c0e1fd9838369f3679cdf71f59994cdf658358bdbbb745cf4e765b4b82edfada966b131220c56e4b3bb88229607b17f2ce520bf3204d5aae8084dd4035024366
diff --git a/dev-python/sshtunnel/sshtunnel-0.3.1.ebuild b/dev-python/sshtunnel/sshtunnel-0.3.1.ebuild
index 76e089ade567..bf393ff70dad 100644
--- a/dev-python/sshtunnel/sshtunnel-0.3.1.ebuild
+++ b/dev-python/sshtunnel/sshtunnel-0.3.1.ebuild
@@ -4,11 +4,10 @@
EAPI=7
PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Pure Python SSH tunnels"
HOMEPAGE="https://pypi.org/project/sshtunnel/"
-SRC_URI="mirror://pypi/s/sshtunnel/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/sshtunnel/sshtunnel-0.4.0.ebuild b/dev-python/sshtunnel/sshtunnel-0.4.0.ebuild
new file mode 100644
index 000000000000..2f69b50fa02e
--- /dev/null
+++ b/dev-python/sshtunnel/sshtunnel-0.4.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Pure Python SSH tunnels"
+HOMEPAGE="https://pypi.org/project/sshtunnel/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+
+RESTRICT="test"
+
+RDEPEND="dev-python/paramiko[${PYTHON_USEDEP}]"
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 c6397e4f8ab2..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
@@ -14,7 +14,7 @@ SRC_URI="https://dev.gentoo.org/~dolsen/releases/ssl-fetch/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos"
+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/requests-1.2.1[${PYTHON_USEDEP}]"
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/Manifest b/dev-python/stack-data/Manifest
new file mode 100644
index 000000000000..d324265772ac
--- /dev/null
+++ b/dev-python/stack-data/Manifest
@@ -0,0 +1 @@
+DIST stack_data-0.6.3.tar.gz 44707 BLAKE2B d50e8c8e925cd9a4a19f883422aa487543836b36e20861f9bdf41551484ba02f7bdfb729f8bc051b3a97e76b4df7e7833b53bd3c47daf85dc2aa4e8d5d1c11b1 SHA512 629c112c09a1f69566160039c4d5fd49e59bdc206ad76799c67418e08b93a0990dd802078b646da175ab719b448394b723aab37479be14d09c0fb1c72cdbd0b8
diff --git a/dev-python/stack_data/metadata.xml b/dev-python/stack-data/metadata.xml
index f81ea3de7e61..f81ea3de7e61 100644
--- a/dev-python/stack_data/metadata.xml
+++ b/dev-python/stack-data/metadata.xml
diff --git a/dev-python/stack-data/stack-data-0.6.3.ebuild b/dev-python/stack-data/stack-data-0.6.3.ebuild
new file mode 100644
index 000000000000..441925167275
--- /dev/null
+++ b/dev-python/stack-data/stack-data-0.6.3.ebuild
@@ -0,0 +1,40 @@
+# 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="Extract data from Python tracebacks for informative displays"
+HOMEPAGE="
+ https://github.com/alexmojaki/stack_data/
+ https://pypi.org/project/stack-data/
+"
+
+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/asttokens-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/executing-1.2.0[${PYTHON_USEDEP}]
+ dev-python/pure-eval[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/typeguard[${PYTHON_USEDEP}]
+ dev-python/littleutils[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Cython looks for the module in the wrong directory, for some reason
+ tests/test_formatter.py::test_example
+)
diff --git a/dev-python/stack_data/Manifest b/dev-python/stack_data/Manifest
deleted file mode 100644
index 49fbecb4576b..000000000000
--- a/dev-python/stack_data/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST stack_data-0.6.2.tar.gz 44146 BLAKE2B 1344b48a597af3df3a00036412c513faa97824f183a4337566a1a8efafcb6ec6597cf5fad3c6d532e8df2173900bdf87d0071efc66a801bd93743a92619fb5dd SHA512 cdc623f8efc2fc4a968fd537c2147f4de90c0878554b3d3d741cf916ae549da8756d6ac943dbdee94721cc6a0c433d04d73e30bccee2b4ec1f5027efc3c9b90d
diff --git a/dev-python/stack_data/stack_data-0.6.2.ebuild b/dev-python/stack_data/stack_data-0.6.2.ebuild
deleted file mode 100644
index 41f861b9517b..000000000000
--- a/dev-python/stack_data/stack_data-0.6.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Extract data from Python tracebacks for informative displays"
-HOMEPAGE="
- https://github.com/alexmojaki/stack_data/
- https://pypi.org/project/stack-data/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/asttokens-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/executing-1.2.0[${PYTHON_USEDEP}]
- dev-python/pure_eval[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/typeguard[${PYTHON_USEDEP}]
- dev-python/littleutils[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/stapler/files/stapler-1.0.0_p20220330-PyPDF2-to-pypdf-r1.patch b/dev-python/stapler/files/stapler-1.0.0_p20220330-PyPDF2-to-pypdf-r1.patch
new file mode 100644
index 000000000000..8e4a30327ee5
--- /dev/null
+++ b/dev-python/stapler/files/stapler-1.0.0_p20220330-PyPDF2-to-pypdf-r1.patch
@@ -0,0 +1,52 @@
+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/pyproject.toml b/pyproject.toml
+index d34823e..765db3d 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -15,7 +15,7 @@ packages = [
+
+ [tool.poetry.dependencies]
+ python = "^3.4"
+-PyPDF2 = ">=1.26"
++pypdf = ">=3.1.0"
+
+ [tool.poetry.dev-dependencies]
+ pytest = "*"
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 7c84ad2402d5..000000000000
--- a/dev-python/stapler/stapler-1.0.0_p20220330-r3.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_{9..11} )
-DISTUTILS_USE_PEP517=poetry
-
-inherit distutils-r1
-
-COMMIT="382f1edc62296e071093a5419811a2fca9d78d93"
-
-DESCRIPTION="Suite of tools for PDF files manipulation written in Python"
-HOMEPAGE="https://github.com/hellerbarde/stapler"
-SRC_URI="https://github.com/hellerbarde/${PN}/archive/${COMMIT}.tar.gz -> ${PN}-${COMMIT}.tar.gz"
-S="${WORKDIR}/${PN}-${COMMIT}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="test? ( dev-python/pypdf[${PYTHON_USEDEP}] )"
-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/stapler/stapler-1.0.0_p20220330-r4.ebuild b/dev-python/stapler/stapler-1.0.0_p20220330-r4.ebuild
new file mode 100644
index 000000000000..8eb992a958c6
--- /dev/null
+++ b/dev-python/stapler/stapler-1.0.0_p20220330-r4.ebuild
@@ -0,0 +1,39 @@
+# 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 ~arm64 ~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-r1.patch
+)
diff --git a/dev-python/starlette/Manifest b/dev-python/starlette/Manifest
index a42b7ecb12ee..1c0a3afa328c 100644
--- a/dev-python/starlette/Manifest
+++ b/dev-python/starlette/Manifest
@@ -1,2 +1 @@
-DIST starlette-0.21.0.gh.tar.gz 2830353 BLAKE2B 7ff818d4687757ec8699dcd0e2582af78211787b7a0f2110da045eb4f7a8760262cf144b0af7dc9f72140b5dae1e65f7a4207ee3b165db4091c5139ce0bfcc85 SHA512 c246862604ba807141313857321d898d996eaa771ccb197546d0928a75cbb69f0e485fe90d2c817e70323146077c487436516384e1401d815c59c0ac75845e2b
-DIST starlette-0.23.1.gh.tar.gz 2830865 BLAKE2B b1eaf59421d413179ad294b240babb9b1beabbf10d8364187eb406a3b87a1412b3959b90f44ac1bbada7858c3ffc90560208bc433ca5aaf835dda1766282fe65 SHA512 9af4ab2b2e3af4e7acd2e93a9a4b4f4c8c3b56ba971f7a8faf65308d76a4f30b8ab0ab263535480af614a5082420cafb3d939c7477472710cce9241bd947139b
+DIST starlette-0.37.2.gh.tar.gz 2846433 BLAKE2B 489fe0d3148f8f006d32d3e52e82cc2c07d9b1a8e3a3cadabe2aa2eb9dd7e00b35e2093dc1de0cb4a6a4606395ed4d19b26778686216a7f8b55a15e61701c9da SHA512 27240c706553e610da05cfc92f818c61e97a891ea7c960fef925a122100a61931cbca973a0995aa1e79d192cda2250139f471929a3f4a7b0f4600d00b6287744
diff --git a/dev-python/starlette/starlette-0.21.0-r1.ebuild b/dev-python/starlette/starlette-0.21.0-r1.ebuild
deleted file mode 100644
index 49961c42e274..000000000000
--- a/dev-python/starlette/starlette-0.21.0-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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="The little ASGI framework that shines"
-HOMEPAGE="
- https://www.starlette.io/
- https://github.com/encode/starlette/
- https://pypi.org/project/starlette/
-"
-SRC_URI="
- https://github.com/encode/starlette/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~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}]
- $(python_gen_cond_dep '
- >=dev-python/typing-extensions-3.10.0[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-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.23.1.ebuild b/dev-python/starlette/starlette-0.23.1.ebuild
deleted file mode 100644
index 1e826f4696fc..000000000000
--- a/dev-python/starlette/starlette-0.23.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=hatchling
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="The little ASGI framework that shines"
-HOMEPAGE="
- https://www.starlette.io/
- https://github.com/encode/starlette/
- https://pypi.org/project/starlette/
-"
-SRC_URI="
- https://github.com/encode/starlette/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~loong ppc ppc64 ~riscv 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}]
- $(python_gen_cond_dep '
- >=dev-python/typing-extensions-3.10.0[${PYTHON_USEDEP}]
- ' 3.8 3.9)
-"
-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..9b7944b96259
--- /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..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-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/statsd/statsd-4.0.1.ebuild b/dev-python/statsd/statsd-4.0.1.ebuild
index c80d3f8dc651..1d406f51acaf 100644
--- a/dev-python/statsd/statsd-4.0.1.ebuild
+++ b/dev-python/statsd/statsd-4.0.1.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A simple statsd client"
HOMEPAGE="
https://github.com/jsocol/pystatsd/
https://pypi.org/project/statsd/
"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/statsmodels/Manifest b/dev-python/statsmodels/Manifest
index 3cb3d897e5da..cd4c982a0c50 100644
--- a/dev-python/statsmodels/Manifest
+++ b/dev-python/statsmodels/Manifest
@@ -1,2 +1,2 @@
-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.1.tar.gz 20309647 BLAKE2B ef9b70671b78eb45b48997c5a8ea35828b7722b31a6c77d55b81f4aad6ddb3608305a3319a0d284797654ef2bbd5f25416459450a6b26be56b9e3e3137fccac8 SHA512 e382ca807205e2aeff76dd22b42e7824914472588ea040d90835fd46e0c993e155828c58e81f53f9539ad9bdf195bbbd1a49a45658187498d60287374112fd68
+DIST statsmodels-0.14.2.tar.gz 20352531 BLAKE2B 65053842ab979b6c2541baddc09f9ade4f55ca988451218b2e4fd2caf7af0e7891eaccf317e9715f35c3d002f8976ea637712173d58db1b5b7822658bdfc79dd SHA512 0a38482bccac61081ff0c8de3b9fcf81689ec15437c53d79a8949df058e0ac8a4e93136a50a37a06577108dc29f1a51e0d00e041ee7e8f9dff93b6e8cf1f0f16
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 e814c6bfdf9c..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
-
-DESCRIPTION="Statistical computations and models for use with SciPy"
-HOMEPAGE="https://www.statsmodels.org/stable/index.html"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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}]
-"
-BDEPEND="
- ${DEPEND}
- dev-python/cython[${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 f4dd32aa044d..000000000000
--- a/dev-python/statsmodels/statsmodels-0.13.5.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 multiprocessing optfeature
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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}]
-"
-BDEPEND="
- ${DEPEND}
- dev-python/cython[${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.1.ebuild b/dev-python/statsmodels/statsmodels-0.14.1.ebuild
new file mode 100644
index 000000000000..d3e49aeb005b
--- /dev/null
+++ b/dev-python/statsmodels/statsmodels-0.14.1.ebuild
@@ -0,0 +1,88 @@
+# 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 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 ~s390 ~amd64-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}]
+"
+BDEPEND="
+ ${DEPEND}
+ >=dev-python/cython-0.29.33[${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/statsmodels/statsmodels-0.14.2.ebuild b/dev-python/statsmodels/statsmodels-0.14.2.ebuild
new file mode 100644
index 000000000000..5144fa7daad7
--- /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..12} )
+
+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 ~s390 ~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/Manifest b/dev-python/stdio-mgr/Manifest
index 59da72d82f9b..b918f04bf9d9 100644
--- a/dev-python/stdio-mgr/Manifest
+++ b/dev-python/stdio-mgr/Manifest
@@ -1 +1 @@
-DIST stdio-mgr-1.0.1.tar.gz 8447 BLAKE2B 72038ea34177829d77ac239585775557b5a0a253879c027b2aad64045ec8bafbfdc250d94fe61cde96f06616f774edf42b384bfef7fbf69af442b0a9b703cf9a SHA512 2d18e5d65faa7a73373b56fdac3893768a65a36bed17f017b647e71431a6bff44ce1d39022f1dbbd31ddc9c0e704743a164f4b7610fb62d75aa34ecb53331366
+DIST stdio-mgr-1.0.1.gh.tar.gz 8447 BLAKE2B 72038ea34177829d77ac239585775557b5a0a253879c027b2aad64045ec8bafbfdc250d94fe61cde96f06616f774edf42b384bfef7fbf69af442b0a9b703cf9a SHA512 2d18e5d65faa7a73373b56fdac3893768a65a36bed17f017b647e71431a6bff44ce1d39022f1dbbd31ddc9c0e704743a164f4b7610fb62d75aa34ecb53331366
diff --git a/dev-python/stdio-mgr/metadata.xml b/dev-python/stdio-mgr/metadata.xml
index ddba9a0047fc..2fe7a2ea7daa 100644
--- a/dev-python/stdio-mgr/metadata.xml
+++ b/dev-python/stdio-mgr/metadata.xml
@@ -2,10 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription lang="en">
Have a CLI Python application?
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
new file mode 100644
index 000000000000..8480e72b7844
--- /dev/null
+++ b/dev-python/stdio-mgr/stdio-mgr-1.0.1-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Context manager for mocking/wrapping stdin/stdout/stderr"
+HOMEPAGE="
+ https://github.com/bskinn/stdio-mgr/
+ https://pypi.org/project/stdio-mgr/
+"
+SRC_URI="
+ https://github.com/bskinn/stdio-mgr/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+SLOT="0"
+
+RDEPEND="
+ >=dev-python/attrs-17.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+# doc directory is not included in the release tarball for some reason
+#distutils_enable_sphinx doc \
+# dev-python/sphinxcontrib-programoutput \
+# dev-python/sphinx-rtd-theme
+
+python_test() {
+ # skip the doctests
+ epytest tests
+}
diff --git a/dev-python/stdio-mgr/stdio-mgr-1.0.1.ebuild b/dev-python/stdio-mgr/stdio-mgr-1.0.1.ebuild
deleted file mode 100644
index 3b1cf881f202..000000000000
--- a/dev-python/stdio-mgr/stdio-mgr-1.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=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Context manager for mocking/wrapping stdin/stdout/stderr"
-HOMEPAGE="
- https://github.com/bskinn/stdio-mgr/
- https://pypi.org/project/stdio-mgr/
-"
-SRC_URI="https://github.com/bskinn/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-SLOT="0"
-
-RDEPEND=">=dev-python/attrs-17.1[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
-# doc directory is not included in the release tarball for some reason
-#distutils_enable_sphinx doc \
-# dev-python/sphinxcontrib-programoutput \
-# dev-python/sphinx_rtd_theme
-
-python_test() {
- # skip the doctests
- epytest tests
-}
diff --git a/dev-python/stestr/Manifest b/dev-python/stestr/Manifest
index 310dea6bb7d3..cbb82d763777 100644
--- a/dev-python/stestr/Manifest
+++ b/dev-python/stestr/Manifest
@@ -1 +1 @@
-DIST stestr-4.0.1.tar.gz 111695 BLAKE2B e9ced9237f3c889c2eb116b51645a6d8b86d8085e2991b421b8955772225342325eb66276f43e710a57d79392974cc42072e0a05b7022c666181b9ca66d51735 SHA512 a74b9278b1941da62af58a087a10e5a0624901ceb81dcdd25eab3a05f003756773551fe6eec46dfb371f7b726cf296abfe0116444fb32c94fb6811440ee22a58
+DIST stestr-4.1.0.tar.gz 113187 BLAKE2B 6bd423aaad6189c90fe9b43db9390e85a5f458cfa899c33bd34b1340ca7f111d2edd2981d9c664d63ec6b880a904b08a26c09c332548ac5f2ebdabd2bad6a00a SHA512 77287ffdfe59042c4d189aa6c662df4357633d3a134ea60a4533b5b8b1b433ffd6f265a430977da175f242cc1c8e8514f876a486cc900a436cf93ab629fe7b7d
diff --git a/dev-python/stestr/stestr-4.0.1.ebuild b/dev-python/stestr/stestr-4.0.1.ebuild
deleted file mode 100644
index bf0fa2f04b89..000000000000
--- a/dev-python/stestr/stestr-4.0.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_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="A parallel Python test runner built around subunit"
-HOMEPAGE="https://github.com/mtreinish/stestr"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
- dev-python/future[${PYTHON_USEDEP}]
- >=dev-python/cliff-2.8.0[${PYTHON_USEDEP}]
- >=dev-python/subunit-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.10.0[${PYTHON_USEDEP}]
- >=dev-python/voluptuous-0.8.9[${PYTHON_USEDEP}]"
-BDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
- test? (
- >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
- )"
-
-python_test() {
- distutils_install_for_testing
- stestr init || die
- stestr run || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/stestr/stestr-4.1.0.ebuild b/dev-python/stestr/stestr-4.1.0.ebuild
new file mode 100644
index 000000000000..ef3e93650c41
--- /dev/null
+++ b/dev-python/stestr/stestr-4.1.0.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..12} )
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="A parallel Python test runner built around subunit"
+HOMEPAGE="
+ https://github.com/mtreinish/stestr/
+ https://pypi.org/project/stestr/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/cliff-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/extras-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.11.6[${PYTHON_USEDEP}]
+ >=dev-python/voluptuous-0.8.9[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ local -x PYTHONPATH="${BUILD_DIR}/install$(python_get_sitedir)"
+ stestr init || die
+ stestr run --concurrency "${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
+ die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/stevedore/Manifest b/dev-python/stevedore/Manifest
index ca4ba4b9fd51..d9d4b9225c92 100644
--- a/dev-python/stevedore/Manifest
+++ b/dev-python/stevedore/Manifest
@@ -1 +1 @@
-DIST stevedore-4.1.1.tar.gz 514168 BLAKE2B b3b37bfae408adb1664562b99c9951ac035196babec8424068bcffa8226fed8da54044e6efe5b1b739b1caeb49bdaf1b65eca38ec6b4e200b837714d926e2dfb SHA512 9f75af586e4fff1bebb88351a242b171d6cce795d86cfffd021c47bafd9ced84a78a838a589d8828fa7bb0f183e767fe888b0780aeda9129895182bf4e0ff717
+DIST stevedore-5.2.0.tar.gz 513817 BLAKE2B 598e479c18a01fb315f43d0257d555ab7d5c3a67833d3af1f38ac2d0e911e14c3927381b50827d40ae63bdd189c0095daec73daa8bd3cf815aacc6b2d6c813c6 SHA512 ab7afe7d238b7cf1ecdc0cce0b60f0bddc1b59c28c126006bc49c7dbdfa7991fc3813822502ecb4952226b9caf5a80a2809f3b5bd910525c1feab336a5017d26
diff --git a/dev-python/stevedore/stevedore-4.1.1.ebuild b/dev-python/stevedore/stevedore-4.1.1.ebuild
deleted file mode 100644
index 0d1d6e08debb..000000000000
--- a/dev-python/stevedore/stevedore-4.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="Manage dynamic plugins for Python applications"
-HOMEPAGE="
- https://opendev.org/openstack/stevedore/
- https://github.com/openstack/stevedore/
- https://pypi.org/project/stevedore/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
-"
-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..b5d2a110aa06
--- /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..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/stomp-py/Manifest b/dev-python/stomp-py/Manifest
index 110bda934ae0..7534972635f4 100644
--- a/dev-python/stomp-py/Manifest
+++ b/dev-python/stomp-py/Manifest
@@ -1 +1 @@
-DIST stomp.py-8.0.1.tar.gz 35300 BLAKE2B 12209e99066fb5bb1f3015398f5eb27186322ce9d92feca46adc4d275aff1d5138908da69abe3be512325bd30a3a21773886ba5fa21917c71d13bc53b0977de4 SHA512 009189cd07c379641c9fa3b3af1df70c9e26b77bbb6d2443a78b56ff9895b4382e90a753db83f4a863fae5ef5765c660d2f82ef14ab6e74817bc83e7ea8ba6d3
+DIST stomp.py-8.1.0.tar.gz 39808 BLAKE2B c6efb19fbee81142f251c4bf4114b445878b81fa457260a306cb82ef5e9c57f0b75e3dc8cd6035676e688f1d33081cdf936ac6ccc0628819722849d60f4d8602 SHA512 7385842a23fbe6022c386489641948932e805430ce71c09079d9484fe17d02241ee705d92a1bcdf873eebcbacf68f44bbf884ea103c8963944b84758073fdac7
diff --git a/dev-python/stomp-py/stomp-py-8.0.1.ebuild b/dev-python/stomp-py/stomp-py-8.0.1.ebuild
deleted file mode 100644
index 49382e320ab6..000000000000
--- a/dev-python/stomp-py/stomp-py-8.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_{9..10} )
-
-inherit distutils-r1
-
-MY_PN="${PN//-/.}"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Python client library for the STOMP messaging protocol"
-HOMEPAGE="https://pypi.org/project/stomp.py/ https://github.com/jasonrbriggs/stomp.py/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}"/${MY_P}
-
-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.0.ebuild b/dev-python/stomp-py/stomp-py-8.1.0.ebuild
new file mode 100644
index 000000000000..efea6287b7db
--- /dev/null
+++ b/dev-python/stomp-py/stomp-py-8.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=poetry
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+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}]"
+
+# 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/strict-rfc3339/strict-rfc3339-0.7-r2.ebuild b/dev-python/strict-rfc3339/strict-rfc3339-0.7-r2.ebuild
index ffca302958d4..dc4b7da3736f 100644
--- a/dev-python/strict-rfc3339/strict-rfc3339-0.7-r2.ebuild
+++ b/dev-python/strict-rfc3339/strict-rfc3339-0.7-r2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
@@ -22,6 +22,6 @@ S="${WORKDIR}/${MY_P}"
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"
+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/stripe/Manifest b/dev-python/stripe/Manifest
index 64c65167e623..7aac6fb8379b 100644
--- a/dev-python/stripe/Manifest
+++ b/dev-python/stripe/Manifest
@@ -1 +1,5 @@
-DIST stripe-5.0.0.tar.gz 267241 BLAKE2B 6b4a58a355baf2d16d6de8667d1dff655c3334b58933c6172b25963f90bf072ebb5fae197faafd69285ceaaf06ba952c7012c35222df873d0453ec9fcee45cd5 SHA512 3d782abd3d6983734b6248fcb44cb69609475e14b820062882439c11ba8ba64e19f3db7984902157adaf0a80f9c26d18e7fbe414eb27bfeda95a7fae78a07577
+DIST stripe-8.11.0.tar.gz 1215071 BLAKE2B 7e3eec2008582a7ba52bf6c9a9676f5886cb3a52aed06302f2a21c572db01c759f5a48a743ee32d76cd54d28acb507b46ee556a10b277c6727e0737f055506bf SHA512 9d53ed3e253f18de36dfaf3c28fbcba7ef957f35b6f117c0dcb50040e0484f6fde1f3deb816d51aac62ddad64a20ae344acd25d680ec10c7fa7ddde1cf16c0ec
+DIST stripe-8.9.0.tar.gz 1124248 BLAKE2B 158b070256404dfa7f5d2a13f076c08834fc0ec5c3f0564912bcd461276d790faf0530260f291f8681c357de727465ab900339b4d53ddf93972ace7411748ff8 SHA512 e4505262720eaccffd5b5e12858df1ca81117bdb9103ac7f9425ae50f93ac621b13587a314edc80546f1f6c4b28c5908fcd34f31dacc8e2c80b4532bf56fb63e
+DIST stripe-9.1.0.tar.gz 1219814 BLAKE2B 1a84dab6743e92423cb376f1dc03d01140f93dd74a89a0eb89c9697911c70abf108dd2f51ac422948d73c9ca024ca50e93c0552a2f4df642d60df6d1c521a71b SHA512 6f8484f99ecc0a66d778ef9e3140224adff79391f03acba594b2da3c0096433990d77f2eedb91812626b25aca7063d824cb3511c02eb2b489909cfc78fc0dca4
+DIST stripe-9.2.0.tar.gz 1221000 BLAKE2B efa869e7f9039fbf5ec2c7308b1f2b098f870289224f5f941ae3555c2f9177cf18210f813e26fb068841855d62697d25302b10dd8db0aa7de2af74b827ea151c SHA512 a579c537b3cfea245638d649734f62f6734e237db4d2bc733f933ecf03ac2576e9fdce2ad1adf5891db72c68e2166907b93e4e5d98b6ef92962423f7d8241ee2
+DIST stripe-9.3.0.tar.gz 1257309 BLAKE2B 819f2ece26282020383953b2f9436023796897b7928ac9f07c753a56a79aa8b80cadad9b1f8b1021224f6a4f704a3c2a92aa807d60a6bc769992d7fc6793aecb SHA512 708ffe2b36946de7e5780f582bc0db6a7b3dc82c163a0839491060944e882fa1f7679900d398b87fd2dc336d2e74eccc0f4f821095ce0465affd49b813d2b4fa
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-5.0.0.ebuild b/dev-python/stripe/stripe-5.0.0.ebuild
deleted file mode 100644
index fa2766359154..000000000000
--- a/dev-python/stripe/stripe-5.0.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="Stripe python bindings"
-HOMEPAGE="
- https://github.com/stripe/stripe-python/
- https://pypi.org/project/stripe/
-"
-SRC_URI="mirror://pypi/s/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- >=dev-python/requests-2.20[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-util/stripe-mock-0.141.0
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- net-misc/curl
- )
-"
-
-distutils_enable_tests pytest
-
-DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
-
-python_test() {
- epytest tests
-}
-
-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-8.11.0.ebuild b/dev-python/stripe/stripe-8.11.0.ebuild
new file mode 100644
index 000000000000..eb4a5aa2c699
--- /dev/null
+++ b/dev-python/stripe/stripe-8.11.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..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"
+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.183.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-8.9.0.ebuild b/dev-python/stripe/stripe-8.9.0.ebuild
new file mode 100644
index 000000000000..eb50bfae0690
--- /dev/null
+++ b/dev-python/stripe/stripe-8.9.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} 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.183.0
+ dev-python/pytest-mock[${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
+ distutils-r1_src_prepare
+}
+
+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-9.1.0.ebuild b/dev-python/stripe/stripe-9.1.0.ebuild
new file mode 100644
index 000000000000..eb4a5aa2c699
--- /dev/null
+++ b/dev-python/stripe/stripe-9.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..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"
+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.183.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-9.2.0.ebuild b/dev-python/stripe/stripe-9.2.0.ebuild
new file mode 100644
index 000000000000..67734a537617
--- /dev/null
+++ b/dev-python/stripe/stripe-9.2.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..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"
+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.184.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-9.3.0.ebuild b/dev-python/stripe/stripe-9.3.0.ebuild
new file mode 100644
index 000000000000..67734a537617
--- /dev/null
+++ b/dev-python/stripe/stripe-9.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..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"
+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.184.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/structlog/Manifest b/dev-python/structlog/Manifest
new file mode 100644
index 000000000000..7b8a184f39dd
--- /dev/null
+++ b/dev-python/structlog/Manifest
@@ -0,0 +1 @@
+DIST structlog-24.1.0.tar.gz 1340948 BLAKE2B ad92e145a8a45f7aaf08f26e637b4de42e56d3c5931f022b4524126a5650f30a8e7185ce87bd7e2c91fd48853dfc94585c13184bded1792d2c50153625379c3b SHA512 bb64d8d4ab9afe7482bdaafc3efae833426a256575ff99d013ae1438f3d5d0261842e598028ea644824577f579c5c4704108ce597de0a2eab5ffc1615a609ea6
diff --git a/dev-python/structlog/metadata.xml b/dev-python/structlog/metadata.xml
new file mode 100644
index 000000000000..6b1f3de11334
--- /dev/null
+++ b/dev-python/structlog/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>voyageur@gentoo.org</email>
+ <name>Bernard Cafarelli</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">structlog</remote-id>
+ <remote-id type="github">hynek/structlog</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/structlog/structlog-24.1.0.ebuild b/dev-python/structlog/structlog-24.1.0.ebuild
new file mode 100644
index 000000000000..fee4f15d2277
--- /dev/null
+++ b/dev-python/structlog/structlog-24.1.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="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/subprocess-tee-0.4.1.ebuild b/dev-python/subprocess-tee/subprocess-tee-0.4.1.ebuild
index 65b20a745bfa..7fe26d7f68c5 100644
--- a/dev-python/subprocess-tee/subprocess-tee-0.4.1.ebuild
+++ b/dev-python/subprocess-tee/subprocess-tee-0.4.1.ebuild
@@ -3,27 +3,27 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+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/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~riscv"
+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}]
+ >=dev-python/setuptools-scm-7.0.0[${PYTHON_USEDEP}]
test? (
dev-python/enrich[${PYTHON_USEDEP}]
test-full? ( app-admin/ansible-molecule )
diff --git a/dev-python/subunit/Manifest b/dev-python/subunit/Manifest
index 50e380262f10..fc68f55c9485 100644
--- a/dev-python/subunit/Manifest
+++ b/dev-python/subunit/Manifest
@@ -1 +1 @@
-DIST subunit-1.4.2.gh.tar.gz 112283 BLAKE2B 195318de120f1fd7cff7173ba056bf5b37983db3527ca7d0f6be7ae9889b99e9c143c92a71d7bd1bada9458b7af402bfbee4153292e58a546e88ca2212ee547b SHA512 21413f0ed26f5f0572249ff4bcf948ea25d9185a1df73421836b9b21e11f323300f93a0275f0d64dc7c81a8e038fa0661a34f818bb038abf79c0637e051bc69e
+DIST subunit-1.4.4.gh.tar.gz 105357 BLAKE2B 5937c62357d9cb70e25242aa7678d89f79fed3d8d28fb5306bc21e28d643665e563078a84a9dd64b9192809e542d69218154227c8e5d281c861085d3175c73c4 SHA512 a666e45951afab70ea85cf9614d5e60c8884c0e2d7987e690bf7acedec5c544c412407b02134a125b4dca8772c0b1ce17fdbd9546d97ef06592119ec49b2a21f
diff --git a/dev-python/subunit/subunit-1.4.2.ebuild b/dev-python/subunit/subunit-1.4.2.ebuild
deleted file mode 100644
index aeffed44ac22..000000000000
--- a/dev-python/subunit/subunit-1.4.2.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 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 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/extras[${PYTHON_USEDEP}]
- dev-lang/perl:=
-"
-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() {
- # Install perl modules in vendor_perl, bug 534654.
- export PERL_INSTALLDIRS=vendor
-
- 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-exec-local
- 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
new file mode 100644
index 000000000000..5530709ef362
--- /dev/null
+++ b/dev-python/subunit/subunit-1.4.4.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2023 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/suds-community/suds-community-1.1.2.ebuild b/dev-python/suds-community/suds-community-1.1.2.ebuild
index 6c798a39a1ce..81b3bd2cb4cc 100644
--- a/dev-python/suds-community/suds-community-1.1.2.ebuild
+++ b/dev-python/suds-community/suds-community-1.1.2.ebuild
@@ -4,21 +4,21 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
PYTHON_REQ_USE="xml(+)"
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Lightweight SOAP client"
HOMEPAGE="
https://github.com/suds-community/suds/
https://pypi.org/project/suds-community/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="LGPL-3"
SLOT="0"
-KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm64 x86 ~amd64-linux ~x86-linux"
DOCS=( README.md notes/. )
diff --git a/dev-python/sumtypes/Manifest b/dev-python/sumtypes/Manifest
new file mode 100644
index 000000000000..e043228984de
--- /dev/null
+++ b/dev-python/sumtypes/Manifest
@@ -0,0 +1 @@
+DIST sumtypes-0.1a6.gh.tar.gz 6535 BLAKE2B 5441b2c89515e9c24b0ca8e5ee6294272290bc452391ca6ce5adbd5befcf2f1879859e84d011b0a5be5a3690a138e9f2e30c38c15171160556eb863d6465b4ab SHA512 1e2fbcb6fe42db4aeeadb3e45d1629027eb99786fffaed03c61056c24a760e6bcb75001e700e4a40b67647f09d0c83d200ee381f62a1483874553f59121f866a
diff --git a/dev-python/sumtypes/metadata.xml b/dev-python/sumtypes/metadata.xml
new file mode 100644
index 000000000000..98c7a6352e36
--- /dev/null
+++ b/dev-python/sumtypes/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">radix/sumtypes</remote-id>
+ <remote-id type="pypi">sumtypes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sumtypes/sumtypes-0.1_alpha6.ebuild b/dev-python/sumtypes/sumtypes-0.1_alpha6.ebuild
new file mode 100644
index 000000000000..d19843050e69
--- /dev/null
+++ b/dev-python/sumtypes/sumtypes-0.1_alpha6.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
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1
+
+MY_P=${P/_alpha/a}
+DESCRIPTION="Sum Types, aka Tagged Unions, for Python"
+HOMEPAGE="
+ https://github.com/radix/sumtypes/
+ https://pypi.org/project/sumtypes/
+"
+SRC_URI="
+ https://github.com/radix/sumtypes/archive/${PV/_alpha/a}.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"
+
+RDEPEND="
+ dev-python/attrs[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/superqt/Manifest b/dev-python/superqt/Manifest
new file mode 100644
index 000000000000..6e9d6be38ebb
--- /dev/null
+++ b/dev-python/superqt/Manifest
@@ -0,0 +1,2 @@
+DIST superqt-0.6.2.tar.gz 94990 BLAKE2B 1990dcd048fd18913d2c68eb41dd3a0fb1778e468e6c74608f6171e92c0f2a4bf828fb3f73fbbf47f2404fda9864af8bcac66a0a490c35c596e5b5090be39a3a SHA512 8c794ea8dfb8e5aedb3390ce895d392e76faa714f08c1a43c4d8b82ca6353317d9050e5b79d0696e85247fb8772c5fea20642bd7914b1713cd63a737c64397fb
+DIST superqt-0.6.3.tar.gz 95200 BLAKE2B 8cd751cd3aefeca192c795ecac4002b8556ea9f6f3a9f7be3b44ff5327dc0dd578cf81aef899453892a5fb43636016abbe808f89e46e3ab8ad88e2094c65f385 SHA512 f50a23cd2999f911160c2b4881501110ea3157640d5801d220f84e38f92cdf7c405194ddf26c990057103c75238ceebef77ec42f7da5f438b702dea10db7232b
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.2.ebuild b/dev-python/superqt/superqt-0.6.2.ebuild
new file mode 100644
index 000000000000..d28d26f40bb0
--- /dev/null
+++ b/dev-python/superqt/superqt-0.6.2.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.3.ebuild b/dev-python/superqt/superqt-0.6.3.ebuild
new file mode 100644
index 000000000000..d28d26f40bb0
--- /dev/null
+++ b/dev-python/superqt/superqt-0.6.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=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/Manifest b/dev-python/sure/Manifest
index 0b8dc59777a0..de28d9c446df 100644
--- a/dev-python/sure/Manifest
+++ b/dev-python/sure/Manifest
@@ -1 +1 @@
-DIST sure-2.0.0.tar.gz 46747 BLAKE2B 631923bf2fc0a972e276fbfd1918abbafec28e662669993b40ff8ca72944952d092ac662728f98a286fc9b5c8e3765d10a4d6ef1f17b17655802b971b97410af SHA512 8286846374c2bfc773444e90bf4f9c0b0d66d0229afa53af63025bfec690bf8bcc959f86c238ca5244c6a29099e955691771b0eb954af479bde2f17e51f6f1de
+DIST sure-2.0.1.tar.gz 48467 BLAKE2B 2143d073c09e46fa987c6d62ebf59aac61e1304079707cf517d7d1ee10303c21369517a1fc2836d8f1081ebbe7d9c3e68aa629d432f85622b9ff8eaab1dd2abc SHA512 f319685ebb1c00bb064bff3e86543789ec94c9a6a8192ca2e97da3513208f9cac66e9db44e945f68ab39eec696880a2c211627f9881623492946e1a14f2444f5
diff --git a/dev-python/sure/sure-2.0.0-r1.ebuild b/dev-python/sure/sure-2.0.0-r1.ebuild
deleted file mode 100644
index febd02d7db38..000000000000
--- a/dev-python/sure/sure-2.0.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
-
-DESCRIPTION="idiomatic assertion toolkit with human-friendly failure messages"
-HOMEPAGE="
- https://github.com/gabrielfalcao/sure/
- https://pypi.org/project/sure/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86"
-
-RDEPEND="
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # requires dev-python/nose
- tests/test_old_api.py
-)
-
-src_prepare() {
- sed -i -e 's:--cov=sure::' setup.cfg || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/sure/sure-2.0.1.ebuild b/dev-python/sure/sure-2.0.1.ebuild
new file mode 100644
index 000000000000..3cb8830cae60
--- /dev/null
+++ b/dev-python/sure/sure-2.0.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="idiomatic assertion toolkit with human-friendly failure messages"
+HOMEPAGE="
+ https://github.com/gabrielfalcao/sure/
+ https://pypi.org/project/sure/
+"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86"
+
+RDEPEND="
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # requires dev-python/nose
+ tests/test_old_api.py
+)
+
+src_prepare() {
+ sed -i -e 's:--cov=sure::' setup.cfg || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/svg-path/Manifest b/dev-python/svg-path/Manifest
index 0561203e4fae..4fad85a77b32 100644
--- a/dev-python/svg-path/Manifest
+++ b/dev-python/svg-path/Manifest
@@ -1 +1 @@
-DIST svg-path-6.2.gh.tar.gz 39478 BLAKE2B ef5a5c7aca3dc0e3f383f5e2810bad8960e32a55d00b6300e30c81fbe837f380d073bae60b891d371f8a9be3ca556ef11821d5b7c2fe5db519465b099d35e3f9 SHA512 7c9a67467e888f4961d54daf2706125c4ae21bb0cd1010f335eb072df78f12b1da99ddcf64a33a85a0e82a8b347f19e876161e3da8ebf43e5e7b45bbaf7d3325
+DIST svg-path-6.3.gh.tar.gz 51479 BLAKE2B 895069baa0c9577fe222c16a5763cccc6bb18ebcb62471faba0b2e9cd06793b2f8e07790ca8153feaa3ee5ca35b2b11ab7ec821dc3ad98e510f6ec76e00f058e SHA512 fd9dd9e1e603be5e212e3eb247c9f3778203f5285397a4cdde4c038c3f31f7bc2b8904491c208256996e2fbd39b4e5f7ea58d964bd5d22bc09c57e4bc2c70317
diff --git a/dev-python/svg-path/svg-path-6.2.ebuild b/dev-python/svg-path/svg-path-6.2.ebuild
deleted file mode 100644
index 1bfdfc6aa64e..000000000000
--- a/dev-python/svg-path/svg-path-6.2.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
-
-MY_P=${P/-/.}
-DESCRIPTION="SVG path objects and parser"
-HOMEPAGE="
- https://github.com/regebro/svg.path/
- https://pypi.org/project/svg.path/
-"
-SRC_URI="
- https://github.com/regebro/svg.path/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
-
-BDEPEND="
- test? (
- dev-python/pillow[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/svg-path/svg-path-6.3.ebuild b/dev-python/svg-path/svg-path-6.3.ebuild
new file mode 100644
index 000000000000..692ad833b23d
--- /dev/null
+++ b/dev-python/svg-path/svg-path-6.3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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=${P/-/.}
+DESCRIPTION="SVG path objects and parser"
+HOMEPAGE="
+ https://github.com/regebro/svg.path/
+ https://pypi.org/project/svg.path/
+"
+# no tests in sdist, as of 6.3
+SRC_URI="
+ https://github.com/regebro/svg.path/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # broken with new pillow version (also potentially super-fragile)
+ # https://github.com/regebro/svg.path/issues/103
+ tests/test_boundingbox_image.py::BoundingBoxImageTest::test_image
+ tests/test_image.py::ImageTest::test_image
+)
diff --git a/dev-python/svglib/svglib-1.5.1.ebuild b/dev-python/svglib/svglib-1.5.1.ebuild
index 00086eb46ed1..bb2a6690df6b 100644
--- a/dev-python/svglib/svglib-1.5.1.ebuild
+++ b/dev-python/svglib/svglib-1.5.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="LGPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
dev-python/cssselect2[${PYTHON_USEDEP}]
diff --git a/dev-python/svgwrite/metadata.xml b/dev-python/svgwrite/metadata.xml
index ba1cd5f6fb56..975c39175e6f 100644
--- a/dev-python/svgwrite/metadata.xml
+++ b/dev-python/svgwrite/metadata.xml
@@ -8,5 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">svgwrite</remote-id>
+ <remote-id type="github">mozman/svgwrite</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/svgwrite/svgwrite-1.4.3.ebuild b/dev-python/svgwrite/svgwrite-1.4.3.ebuild
index a1d229ac5110..6132c966d11c 100644
--- a/dev-python/svgwrite/svgwrite-1.4.3.ebuild
+++ b/dev-python/svgwrite/svgwrite-1.4.3.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
distutils_enable_tests pytest
diff --git a/dev-python/swagger_spec_validator/Manifest b/dev-python/swagger-spec-validator/Manifest
index 302dfaf890c7..302dfaf890c7 100644
--- a/dev-python/swagger_spec_validator/Manifest
+++ b/dev-python/swagger-spec-validator/Manifest
diff --git a/dev-python/swagger_spec_validator/metadata.xml b/dev-python/swagger-spec-validator/metadata.xml
index 68d5d8eac660..68d5d8eac660 100644
--- a/dev-python/swagger_spec_validator/metadata.xml
+++ b/dev-python/swagger-spec-validator/metadata.xml
diff --git a/dev-python/swagger-spec-validator/swagger-spec-validator-3.0.3.ebuild b/dev-python/swagger-spec-validator/swagger-spec-validator-3.0.3.ebuild
new file mode 100644
index 000000000000..28fbb742ba76
--- /dev/null
+++ b/dev-python/swagger-spec-validator/swagger-spec-validator-3.0.3.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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=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}]
+"
+
+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/swagger_spec_validator/swagger_spec_validator-3.0.3.ebuild b/dev-python/swagger_spec_validator/swagger_spec_validator-3.0.3.ebuild
deleted file mode 100644
index 95026f292021..000000000000
--- a/dev-python/swagger_spec_validator/swagger_spec_validator-3.0.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_{9..11} )
-
-inherit distutils-r1
-
-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
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
-"
-
-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 4c733f1eb53c..6334c9906f97 100644
--- a/dev-python/sybil/Manifest
+++ b/dev-python/sybil/Manifest
@@ -1 +1 @@
-DIST sybil-4.0.0.gh.tar.gz 50845 BLAKE2B 5c7144ad1dd131f98c48f18cf6770782529a3c86a3f976461f032c9024ef93dc2de3c8bc327421a55a3f505982608e15cdcfe022f964c4fd871bd9de61205d68 SHA512 6cf0422ba856a85ba5dd105481cb2d06eb2ff196aee263a36e7ab44c7d45185df022bd859afc92b3b42dc418142e441f377adda82c0b5b0d1410697b563db994
+DIST sybil-6.0.3.gh.tar.gz 67772 BLAKE2B e90b7a01373d931ca056bfce1336bab8a579a25e17000675d77cd849081275970b455c7bc77f30e0fd104073115915fc4f4477b010eafd35e57aec322fb42fc4 SHA512 1fb42b944b237556012ace6fcc5eb3d0f067f0ca043ceafa0e201a8076870fc7e06ae62813eec90d486de6e4b71ebf29176dfff6573de423480c688ff005004d
diff --git a/dev-python/sybil/sybil-4.0.0.ebuild b/dev-python/sybil/sybil-4.0.0.ebuild
deleted file mode 100644
index 6f6dc80a567f..000000000000
--- a/dev-python/sybil/sybil-4.0.0.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="Automated testing for the examples in your documentation"
-HOMEPAGE="
- https://github.com/simplistix/sybil/
- https://pypi.org/project/sybil/
-"
-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.3.ebuild b/dev-python/sybil/sybil-6.0.3.ebuild
new file mode 100644
index 000000000000..44638d2db406
--- /dev/null
+++ b/dev-python/sybil/sybil-6.0.3.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..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 ~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 60ee3df7c39f..deb51f65dd3c 100644
--- a/dev-python/symengine/Manifest
+++ b/dev-python/symengine/Manifest
@@ -1 +1 @@
-DIST symengine.py-0.9.2.tar.gz 110856 BLAKE2B 11330acc04970d367fe66787521776dbd803929d91802ea09d1bc54a96c8fd87e85114042f57fc8c007de2dcaa1b0503a8389ac677797cc2efc866d71d76d1db SHA512 ea9e8cb7dd789b551f5372c32b98365ab251bac838204b5c832783f9866c2774f5d411f2f59e5e60f17939a1c341702acfc3e3f7e77246330ab3cb74f5ba7cca
+DIST symengine.py-0.11.0.gh.tar.gz 111973 BLAKE2B 0e85e97b55b6a537a1a13cf308ddd878fe02968f0da648fafb8a11583b1ca39758ef38625cb95fbdeb03713d9e84ab6f0d3a092c1b9365cdfca179c4173c70a2 SHA512 9e70d84126b65fb8a9f7acf076ef8de39c3c65f1868708541cd861f694fb36cf4cc09ed676bac00b40460287c90ec411b56aba35e43308438a4830087c02e42e
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.11.0.ebuild b/dev-python/symengine/symengine-0.11.0.ebuild
new file mode 100644
index 000000000000..6f1e47a9786b
--- /dev/null
+++ b/dev-python/symengine/symengine-0.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_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1
+
+MY_P=symengine.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-build/cmake
+ dev-python/cython[${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.9.2-r1.ebuild b/dev-python/symengine/symengine-0.9.2-r1.ebuild
deleted file mode 100644
index dfa352562a36..000000000000
--- a/dev-python/symengine/symengine-0.9.2-r1.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
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-MY_P=${PN}.py-${PV}
-DESCRIPTION="Python wrappers to the symengine C++ library"
-HOMEPAGE="https://github.com/symengine/symengine.py/"
-SRC_URI="
- https://github.com/symengine/symengine.py/archive/v${PV}.tar.gz
- -> ${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-BDEPEND="
- dev-util/cmake
- dev-python/cython[${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
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
- >=sci-libs/symengine-$(ver_cut 1-2):=
-"
-DEPEND="${RDEPEND}"
-
-# 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
-}
-
-python_install() {
- distutils-r1_python_install
- python_optimize
-}
diff --git a/dev-python/sympy/Manifest b/dev-python/sympy/Manifest
index 825c0fca0309..f19c73e34f72 100644
--- a/dev-python/sympy/Manifest
+++ b/dev-python/sympy/Manifest
@@ -1 +1 @@
-DIST sympy-1.11.1.gh.tar.gz 13462495 BLAKE2B a45320d087057595d3574490c6dc07bcdf7870543e9adcbaca9abe293d84875c123bbc91a7263a87b0b71568dece4e1304b6bf76f60ae64e353520f0ca686b1f SHA512 6cc720b673cf31a2e8f56a5cae24ec15024ea43dee92196adb0a87f28561b5d2404fbbfd3d55a8414930a31d4d0f4a731d458ad528c8cbb03c37555f5c14ce4a
+DIST sympy-1.12.gh.tar.gz 7212937 BLAKE2B 1d37a019e7a6700e69e16d6ca7fdc563711165fc226ac6ec745d20fa6dc689ee9ea01a92549d851aacff763230872c2d1d0cb5bde581c4f960f5de515ffb5f06 SHA512 96a89b88f6912d70c56f5bd1903dd3c518963118ff25d033cdcb7da2f260b8ee209d3ab4a4394dd2b5dc0b4585b71ccd55d55c8e5c6e28024cccbedf07ee4360
diff --git a/dev-python/sympy/files/sympy-1.12-c99.patch b/dev-python/sympy/files/sympy-1.12-c99.patch
new file mode 100644
index 000000000000..311311cfcea3
--- /dev/null
+++ b/dev-python/sympy/files/sympy-1.12-c99.patch
@@ -0,0 +1,48 @@
+https://github.com/sympy/sympy/pull/25968
+
+From 2251ba15d33656fce53668d789c390923eeae919 Mon Sep 17 00:00:00 2001
+From: Jerry James <loganjerry@gmail.com>
+Date: Fri, 8 Dec 2023 15:12:26 -0700
+Subject: [PATCH] Avoid incompatible pointer type error with GCC 14
+
+--- a/sympy/utilities/autowrap.py
++++ b/sympy/utilities/autowrap.py
+@@ -714,7 +714,11 @@ def binary_function(symfunc, expr, **kwargs):
+ _ufunc_outcalls = Template("*((double *)out${outnum}) = ${funcname}(${call_args});")
+
+ _ufunc_body = Template("""\
++#ifdef NPY_1_19_API_VERSION
++static void ${funcname}_ufunc(char **args, const npy_intp *dimensions, const npy_intp* steps, void* data)
++#else
+ static void ${funcname}_ufunc(char **args, npy_intp *dimensions, npy_intp* steps, void* data)
++#endif
+ {
+ npy_intp i;
+ npy_intp n = dimensions[0];
+--- a/sympy/utilities/tests/test_autowrap.py
++++ b/sympy/utilities/tests/test_autowrap.py
+@@ -284,7 +284,11 @@ def test_ufuncify_source():
+ {NULL, NULL, 0, NULL}
+ };
+
++#ifdef NPY_1_19_API_VERSION
++static void test_ufunc(char **args, const npy_intp *dimensions, const npy_intp* steps, void* data)
++#else
+ static void test_ufunc(char **args, npy_intp *dimensions, npy_intp* steps, void* data)
++#endif
+ {
+ npy_intp i;
+ npy_intp n = dimensions[0];
+@@ -378,7 +382,11 @@ def test_ufuncify_source_multioutput():
+ {NULL, NULL, 0, NULL}
+ };
+
++#ifdef NPY_1_19_API_VERSION
++static void multitest_ufunc(char **args, const npy_intp *dimensions, const npy_intp* steps, void* data)
++#else
+ static void multitest_ufunc(char **args, npy_intp *dimensions, npy_intp* steps, void* data)
++#endif
+ {
+ npy_intp i;
+ npy_intp n = dimensions[0];
+
diff --git a/dev-python/sympy/files/sympy-1.12-py312.patch b/dev-python/sympy/files/sympy-1.12-py312.patch
new file mode 100644
index 000000000000..13501c3fb34d
--- /dev/null
+++ b/dev-python/sympy/files/sympy-1.12-py312.patch
@@ -0,0 +1,42 @@
+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/sympy-1.11.1.ebuild b/dev-python/sympy/sympy-1.11.1.ebuild
deleted file mode 100644
index abc403f75124..000000000000
--- a/dev-python/sympy/sympy-1.11.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_{9..10} )
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Computer Algebra System in pure Python"
-HOMEPAGE="https://www.sympy.org/"
-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 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="aesara examples imaging ipython latex mathml opengl pdf png pyglet symengine test texmacs"
-
-RDEPEND="
- dev-python/mpmath[${PYTHON_USEDEP}]
- dev-python/pexpect[${PYTHON_USEDEP}]
- aesara? ( dev-python/aesara[${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-libs/libxml2:2[${PYTHON_USEDEP}] )
- opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
- pyglet? ( dev-python/pyglet[${PYTHON_USEDEP}] )
- symengine? ( dev-python/symengine[${PYTHON_USEDEP}] )
- texmacs? ( app-office/texmacs )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- esetup.py test
-}
-
-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-r1.ebuild b/dev-python/sympy/sympy-1.12-r1.ebuild
new file mode 100644
index 000000000000..875f50d21831
--- /dev/null
+++ b/dev-python/sympy/sympy-1.12-r1.ebuild
@@ -0,0 +1,116 @@
+# 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"
+ "${FILESDIR}/${PN}-1.12-c99.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/tables/Manifest b/dev-python/tables/Manifest
new file mode 100644
index 000000000000..f7af5d667ecc
--- /dev/null
+++ b/dev-python/tables/Manifest
@@ -0,0 +1,4 @@
+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/pytables/files/pytables-3.8.0-blosc2.patch b/dev-python/tables/files/tables-3.8.0-blosc2.patch
index 59403cdec12d..59403cdec12d 100644
--- a/dev-python/pytables/files/pytables-3.8.0-blosc2.patch
+++ b/dev-python/tables/files/tables-3.8.0-blosc2.patch
diff --git a/dev-python/tables/files/tables-3.8.0-cython3.patch b/dev-python/tables/files/tables-3.8.0-cython3.patch
new file mode 100644
index 000000000000..9ad0b72d224a
--- /dev/null
+++ b/dev-python/tables/files/tables-3.8.0-cython3.patch
@@ -0,0 +1,40 @@
+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
new file mode 100644
index 000000000000..2843914f4a87
--- /dev/null
+++ b/dev-python/tables/files/tables-3.8.0-optional-cpuinfo.patch
@@ -0,0 +1,69 @@
+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/metadata.xml b/dev-python/tables/metadata.xml
new file mode 100644
index 000000000000..2fea045e5982
--- /dev/null
+++ b/dev-python/tables/metadata.xml
@@ -0,0 +1,27 @@
+<?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="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ PyTables is a hierarchical database package designed to efficently
+ manage very large amounts of data. PyTables is built on top of the
+ HDF5 library and the NumPy package. It features an object-oriented
+ interface that, combined with natural naming and C-code generated
+ from Pyrex sources, makes it a fast, yet extremely easy to use tool
+ for interactively save and retrieve large amounts of data.
+ </longdescription>
+ <use>
+ <flag name="cpudetection">Enables runtime CPU detection (useful for bindist, compatibility on other CPUs)</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">PyTables/PyTables</remote-id>
+ <remote-id type="pypi">tables</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/tables/tables-3.8.0-r3.ebuild b/dev-python/tables/tables-3.8.0-r3.ebuild
new file mode 100644
index 000000000000..30252497c3f6
--- /dev/null
+++ b/dev-python/tables/tables-3.8.0-r3.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 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-2[${PYTHON_USEDEP}]
+ >=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
new file mode 100644
index 000000000000..39352a717e50
--- /dev/null
+++ b/dev-python/tables/tables-3.9.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..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-2[${PYTHON_USEDEP}]
+ >=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
new file mode 100644
index 000000000000..3c62e7d519f3
--- /dev/null
+++ b/dev-python/tables/tables-3.9.1-r1.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..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-2[${PYTHON_USEDEP}]
+ >=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.ebuild b/dev-python/tables/tables-3.9.2.ebuild
new file mode 100644
index 000000000000..145317fcd5ac
--- /dev/null
+++ b/dev-python/tables/tables-3.9.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_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 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 ~loong ~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.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:=
+"
+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/tabulate/tabulate-0.9.0-r1.ebuild b/dev-python/tabulate/tabulate-0.9.0-r1.ebuild
new file mode 100644
index 000000000000..45b1278a6008
--- /dev/null
+++ b/dev-python/tabulate/tabulate-0.9.0-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2023 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=python-${P}
+DESCRIPTION="Pretty-print tabular data"
+HOMEPAGE="
+ https://github.com/astanin/python-tabulate/
+ https://pypi.org/project/tabulate/
+"
+SRC_URI="
+ https://github.com/astanin/python-${PN}/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+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"
+
+RDEPEND="
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep 'sqlite')
+ dev-python/colorclass[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ' 'python3*')
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ test/test_input.py::test_pandas
+ test/test_input.py::test_pandas_firstrow
+ test/test_input.py::test_pandas_keys
+ test/test_output.py::test_pandas_with_index
+ test/test_output.py::test_pandas_without_index
+ test/test_output.py::test_pandas_rst_with_index
+ test/test_output.py::test_pandas_rst_with_named_index
+ )
+ fi
+ epytest
+}
diff --git a/dev-python/tabulate/tabulate-0.9.0.ebuild b/dev-python/tabulate/tabulate-0.9.0.ebuild
deleted file mode 100644
index 26f8a7898049..000000000000
--- a/dev-python/tabulate/tabulate-0.9.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} pypy3 )
-
-inherit distutils-r1
-
-MY_P=python-${P}
-DESCRIPTION="Pretty-print tabular data"
-HOMEPAGE="
- https://github.com/astanin/python-tabulate/
- https://pypi.org/project/tabulate/
-"
-SRC_URI="
- https://github.com/astanin/python-${PN}/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/wcwidth[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep 'sqlite')
- dev-python/colorclass[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- ' 'python3*')
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_test() {
- local EPYTEST_DESELECT=()
- if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- test/test_input.py::test_pandas
- test/test_input.py::test_pandas_firstrow
- test/test_input.py::test_pandas_keys
- test/test_output.py::test_pandas_with_index
- test/test_output.py::test_pandas_without_index
- test/test_output.py::test_pandas_rst_with_index
- test/test_output.py::test_pandas_rst_with_named_index
- )
- fi
- epytest
-}
diff --git a/dev-python/tagpy/Manifest b/dev-python/tagpy/Manifest
index a9b938d0bf45..cae7e14312ac 100644
--- a/dev-python/tagpy/Manifest
+++ b/dev-python/tagpy/Manifest
@@ -1,2 +1 @@
-DIST tagpy-2018.1.tar.gz 145501 BLAKE2B acdda6789dae000ba2f664e4a5582f6218f312bed20ec81c4ea54f358bec70d41aceed6704f392a7a32c39d263da81f9c832922942fa179e1865e423dcf28bcf SHA512 2010baa919adadc9fc231deeb093953622ec54c8b6011e2d6a3489b086032de0a71cc26f42439435f26bd7a1ff069e3944dafc61217abe6ea5e81b01b9d18c50
DIST tagpy-2022.1.gh.tar.gz 198744 BLAKE2B 1a0722017ae532444cf97171c04964453bdb6c427a49bace4ad9fe3a3be9be7f0903a9ae3fb8dbf0c8450112ed5f83677044c6b2546dddec3550d8251cef4cff SHA512 d740bf17abe6a2a7cd7fe037c024c8361d49d2ec4e8d03dbdc27c9ec273696b0a41d087a7159692e9b849e807af493f68239562da01d5191bee95060b32aabda
diff --git a/dev-python/tagpy/files/tagpy-2018.1-readme.rst b/dev-python/tagpy/files/tagpy-2018.1-readme.rst
deleted file mode 100644
index 83bb4d2671e3..000000000000
--- a/dev-python/tagpy/files/tagpy-2018.1-readme.rst
+++ /dev/null
@@ -1,16 +0,0 @@
-TagPy is a set of Python bindings for Scott Wheeler's
-`TagLib <http://developer.kde.org/~wheeler/taglib.html>`_.
-It builds upon `Boost.Python <http://www.boost.org/libs/python/doc/>`_,
-a wrapper generation library which is part of the renowned Boost
-set of C++ libraries.
-
-Just like TagLib, TagPy can:
-
-* read and write ID3 tags of version 1 and 2, with many supported frame types
- for version 2 (in MPEG Layer 2 and MPEG Layer 3, FLAC and MPC),
-* access Xiph Comments in Ogg Vorbis Files and Ogg Flac Files,
-* access APE tags in Musepack and MP3 files.
-
-All these features have their own specific interfaces, but
-TagLib's generic tag reading and writing mechanism is also
-supported. It comes with a bunch of examples. \ No newline at end of file
diff --git a/dev-python/tagpy/files/tagpy-2018.1-taglib-1.8.patch b/dev-python/tagpy/files/tagpy-2018.1-taglib-1.8.patch
deleted file mode 100644
index 90c49a29af74..000000000000
--- a/dev-python/tagpy/files/tagpy-2018.1-taglib-1.8.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -Naur a/src/wrapper/id3.cpp b/src/wrapper/id3.cpp
---- a/src/wrapper/id3.cpp 2019-03-23 08:26:04.975722018 -0400
-+++ b/src/wrapper/id3.cpp 2019-03-23 08:26:54.438399217 -0400
-@@ -220,12 +220,7 @@
- .DEF_SIMPLE_METHOD(removeFrame)
- .DEF_SIMPLE_METHOD(removeFrames)
-
-- #if (TAGPY_TAGLIB_HEX_VERSION >= 0x10800)
-- .DEF_OVERLOADED_METHOD(render, ByteVector (cl::*)() const)
-- .DEF_OVERLOADED_METHOD(render, ByteVector (cl::*)(int) const)
-- #else
-- .def("render", (ByteVector (cl::*)() const) &cl::render)
-- #endif
-+ .def("render", (ByteVector (cl::*)() const) &cl::render)
- ;
- }
-
diff --git a/dev-python/tagpy/tagpy-2018.1-r3.ebuild b/dev-python/tagpy/tagpy-2018.1-r3.ebuild
deleted file mode 100644
index c664e846c5f6..000000000000
--- a/dev-python/tagpy/tagpy-2018.1-r3.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-DISTUTILS_IN_SOURCE_BUILD=1
-inherit edo distutils-r1
-
-DESCRIPTION="Python Bindings for TagLib"
-HOMEPAGE="
- https://mathema.tician.de//software/tagpy
- https://pypi.org/project/tagpy/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 ~sparc x86"
-IUSE="examples"
-
-RDEPEND="
- dev-libs/boost:=[python,${PYTHON_USEDEP}]
- >=media-libs/taglib-1.8"
-DEPEND="${RDEPEND}"
-
-PATCHES=( "${FILESDIR}"/${P}-taglib-1.8.patch )
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- cp "${FILESDIR}"/${P}-readme.rst README.rst || die
- distutils-r1_python_prepare_all
-}
-
-python_configure() {
- local boostpy_ver="${EPYTHON#python}"
-
- edo "${EPYTHON}" configure.py \
- --taglib-inc-dir="${ESYSROOT}"/usr/include/taglib \
- --boost-python-libname="boost_python${boostpy_ver/\.}"
-}
-
-python_install_all() {
- if use examples; then
- docinto examples
- dodoc -r test/.
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/tagpy/tagpy-2022.1.ebuild b/dev-python/tagpy/tagpy-2022.1.ebuild
index 2879c0f039f4..2a8e65aca5eb 100644
--- a/dev-python/tagpy/tagpy-2022.1.ebuild
+++ b/dev-python/tagpy/tagpy-2022.1.ebuild
@@ -3,8 +3,9 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -20,7 +21,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="amd64 ppc ppc64 ~sparc x86"
DEPEND="
dev-libs/boost:=[python,${PYTHON_USEDEP}]
diff --git a/dev-python/tappy/tappy-3.1-r1.ebuild b/dev-python/tappy/tappy-3.1-r1.ebuild
index a8fa697f4a0a..01aeed69447c 100644
--- a/dev-python/tappy/tappy-3.1-r1.ebuild
+++ b/dev-python/tappy/tappy-3.1-r1.ebuild
@@ -4,14 +4,17 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1 optfeature
+PYPI_NO_NORMALIZE=1
+PYPI_PN="tap.py"
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 optfeature pypi
-MY_PN=tap.py
DESCRIPTION="Test Anything Protocol (TAP) tools"
-HOMEPAGE="https://github.com/python-tap/tappy https://pypi.org/project/tap.py/"
-SRC_URI="mirror://pypi/${MY_PN::1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S=${WORKDIR}/${MY_PN}-${PV}
+HOMEPAGE="
+ https://github.com/python-tap/tappy/
+ https://pypi.org/project/tap.py/
+"
LICENSE="BSD-2"
SLOT="0"
@@ -22,7 +25,8 @@ BDEPEND="
test? (
dev-python/more-itertools[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
- )"
+ )
+"
distutils_enable_tests unittest
distutils_enable_sphinx docs
diff --git a/dev-python/taskgroup/Manifest b/dev-python/taskgroup/Manifest
new file mode 100644
index 000000000000..91e081575398
--- /dev/null
+++ b/dev-python/taskgroup/Manifest
@@ -0,0 +1 @@
+DIST taskgroup-0.0.0a4.tar.gz 8553 BLAKE2B b9fe9e2442ef8ea5972599a150ad8d2e41004a0aee2112e455d0b850c3833fb266fe2a6b730a4d8371eb3fff0d7101f2803d8708f3f9ea1159338495ca9255be SHA512 fc5a78de3d20fecd82a2c9a142ecf1df8f33f185a792f50b86558d7bb38d49307977a4db0709dbb806cca2a1d3aba46c86833c24973e155c3295437038581ab7
diff --git a/dev-python/taskgroup/metadata.xml b/dev-python/taskgroup/metadata.xml
new file mode 100644
index 000000000000..19dd71f0897d
--- /dev/null
+++ b/dev-python/taskgroup/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">graingert/taskgroup</remote-id>
+ <remote-id type="pypi">taskgroup</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/taskgroup/taskgroup-0.0.0_alpha4.ebuild b/dev-python/taskgroup/taskgroup-0.0.0_alpha4.ebuild
new file mode 100644
index 000000000000..923715773e8e
--- /dev/null
+++ b/dev-python/taskgroup/taskgroup-0.0.0_alpha4.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+# py3.11: this is a backport to py3.10, please do not add more targets
+PYTHON_COMPAT=( pypy3 python3_10 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Backport of asyncio.TaskGroup, asyncio.Runner and asyncio.timeout"
+HOMEPAGE="
+ https://github.com/graingert/taskgroup/
+ https://pypi.org/project/taskgroup/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.8[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/tasklib/Manifest b/dev-python/tasklib/Manifest
new file mode 100644
index 000000000000..58c909507410
--- /dev/null
+++ b/dev-python/tasklib/Manifest
@@ -0,0 +1 @@
+DIST tasklib-2.5.1.tar.gz 23805 BLAKE2B 354c2719bd73f992d1d7ed1d6d14ed25bab4eb417397f3c4d3e1fc9c000957634547c615b5a6a90d8defbc4eb35a70067e12a0ea181796c77fb3dbca18f032e6 SHA512 ab1a681558c22017d36da9bdcc8fd7367550d8b8375dd6967188647d21525bc0a6f0e7645c9bb6505087ab539a4173bf3988b6ad2449ba8bc37f062f38b12d78
diff --git a/dev-python/tasklib/metadata.xml b/dev-python/tasklib/metadata.xml
new file mode 100644
index 000000000000..0630c0e02e8c
--- /dev/null
+++ b/dev-python/tasklib/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>mattst88@gentoo.org</email>
+ <name>Matt Turner</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">GothenburgBitFactory/tasklib</remote-id>
+ <remote-id type="pypi">tasklib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/tasklib/tasklib-2.5.1.ebuild b/dev-python/tasklib/tasklib-2.5.1.ebuild
new file mode 100644
index 000000000000..4a829c32262a
--- /dev/null
+++ b/dev-python/tasklib/tasklib-2.5.1.ebuild
@@ -0,0 +1,23 @@
+# 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 Python library for interacting with taskwarrior databases"
+HOMEPAGE="
+ https://github.com/GothenburgBitFactory/tasklib
+ https://pypi.org/project/tasklib/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND=">=app-misc/task-2.4.0"
+
+distutils_enable_tests unittest
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 c8fb584de742..35a456295086 100644
--- a/dev-python/tavalidate/tavalidate-0.0.6-r1.ebuild
+++ b/dev-python/tavalidate/tavalidate-0.0.6-r1.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Utities to validate Tavern responses"
HOMEPAGE="
https://github.com/sohoffice/tavalidate/
https://pypi.org/project/tavalidate/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/tavern/Manifest b/dev-python/tavern/Manifest
index 363c298e9b18..fed9ee2b2ab6 100644
--- a/dev-python/tavern/Manifest
+++ b/dev-python/tavern/Manifest
@@ -1,3 +1,2 @@
-DIST tavern-1.24.1.gh.tar.gz 163938 BLAKE2B 661160fe203e5117452e23178a74279a982cb3e4b4cdb84df074d5cd8481796cb9a05b2c5d42b225c6a2d2cf34283166d59a3242ff5df76a457d89c6acf60576 SHA512 9a9f7e46172a62a0dbf0c42aa0521d0fbde644f05a650dd768a32b3c8652bb17209b8073519830e52b2865bbe646825e650cce251184b85f0a5343cfd2ceb1c3
-DIST tavern-2.0.0.gh.tar.gz 207901 BLAKE2B 8b5c68a16361afcf3ff5936e0d7e3d706da5052422e2c7a6aef97c8dcdfc370c8d0236bf40c9b03e12120f06279d4af39d321964214ddc0e2db7bf4e91c389b3 SHA512 aed751dccc26317c35d96b29e0b3ed6bc5d4f4bd70261c296dfd5573a83cb9b10e022a247eb9df72a2879f2d324098233b6fbae8847472052eb1536f457f7592
-DIST tavern-2.0.1.gh.tar.gz 208510 BLAKE2B a1b6f19d188437758690eced663556e9e3a5cfc8cedf4e04baba0478efd9507faa5dce2c6f308b2ce6e806617a5e75a8a1b2e60d9afe804b2294ca772ffbc7e9 SHA512 72025db6efa7d41f7dfe80ffc83033e12941ac3a9c4b71170647e571f6ce5022c84c0976d7d50fdfe38da06a4b516e334eed2334e016cfb013613fcc05eeaa9e
+DIST tavern-2.10.1.gh.tar.gz 239917 BLAKE2B 836f4940ba7b9a17455e757a7bdec578effc6753162d0ff0b05c46d293cad840924f3e8d66aac08553478d63eb0edb61ad39f53e4e36d9a7681bae303e71a614 SHA512 a09e55e2fa71d2601833137e51fc94cb8bd65086fc21e6c26055406a6be3dce44b57f89d91d7a766aa88c0b5b4214f28eeda69812f1f623ed60f45f57dcf2ded
+DIST tavern-2.10.3.gh.tar.gz 240386 BLAKE2B eb01cdabb171de101784c4fecf99c59fad892e9819e4b047e9d6f30a27b742ac49eb1840a66225466f2de09f8e0883941de92a4051898fe479e35ee06151a0d4 SHA512 e27da0da1d9eb8302ba34191bb9e157a28335c90012569218709f65b761c2f01d47c2e60a4a72df320cb7a2575ee3e890c3dc37027fb91fc90d97305d2afe277
diff --git a/dev-python/tavern/files/tavern-2.10.1-pytest-8.patch b/dev-python/tavern/files/tavern-2.10.1-pytest-8.patch
new file mode 100644
index 000000000000..6820164b50e1
--- /dev/null
+++ b/dev-python/tavern/files/tavern-2.10.1-pytest-8.patch
@@ -0,0 +1,36 @@
+From 3aa8cc92e474e91c2a4014b4b4ec2f1e4b2e620a 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 13:20:00 +0100
+Subject: [PATCH] Replace deprecated `pytest.warns(None)`
+
+Replace the deprecated `pytest.warns(None)` use with the `error` warning
+filter, as recommended
+in https://github.com/pytest-dev/pytest/issues/9404#issue-1076710891.
+With this change, the tests pass with pytest-8.1.1.
+---
+ tests/unit/test_call_run.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/tests/unit/test_call_run.py b/tests/unit/test_call_run.py
+index 30972c1a..88a72714 100644
+--- a/tests/unit/test_call_run.py
++++ b/tests/unit/test_call_run.py
+@@ -1,3 +1,4 @@
++import warnings
+ from unittest.mock import patch
+
+ import pytest
+@@ -35,11 +36,10 @@ def test_run_with_cfg(self):
+ )
+ def test_doesnt_warn_about_expected_kwargs(self, expected_kwarg):
+ kw = {expected_kwarg: 123}
+- with pytest.warns(None) as warn_rec:
++ with warnings.catch_warnings():
++ warnings.simplefilter("error")
+ run("", **kw)
+
+- assert not len(warn_rec)
+-
+
+ class TestParseGlobalCfg:
+ def test_path_correct(self):
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-1.24.1.ebuild b/dev-python/tavern/tavern-1.24.1.ebuild
deleted file mode 100644
index 3bb6cf68a411..000000000000
--- a/dev-python/tavern/tavern-1.24.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_{9..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[${PYTHON_USEDEP}]
- dev-python/pykwalify[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/python-box[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/stevedore[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/colorlog[${PYTHON_USEDEP}]
- dev-python/Faker[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/tavern/tavern-2.0.0-r1.ebuild b/dev-python/tavern/tavern-2.0.0-r1.ebuild
deleted file mode 100644
index 90e2ddad599e..000000000000
--- a/dev-python/tavern/tavern-2.0.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=flit
-PYTHON_COMPAT=( python3_{9..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/attrs[${PYTHON_USEDEP}]
- dev-python/jmespath[${PYTHON_USEDEP}]
- dev-python/paho-mqtt[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
- dev-python/pykwalify[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/python-box[${PYTHON_USEDEP}]
- dev-python/pyyaml[${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.]+::' -e 's:~=:>=:' pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/tavern/tavern-2.0.1.ebuild b/dev-python/tavern/tavern-2.0.1.ebuild
deleted file mode 100644
index 8c27233e3771..000000000000
--- a/dev-python/tavern/tavern-2.0.1.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=flit
-PYTHON_COMPAT=( python3_{9..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[${PYTHON_USEDEP}]
- dev-python/pykwalify[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/python-box[${PYTHON_USEDEP}]
- dev-python/pyyaml[${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
-}
diff --git a/dev-python/tavern/tavern-2.10.1.ebuild b/dev-python/tavern/tavern-2.10.1.ebuild
new file mode 100644
index 000000000000..f5352b16d9c3
--- /dev/null
+++ b/dev-python/tavern/tavern-2.10.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=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-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() {
+ local PATCHES=(
+ # https://github.com/taverntesting/tavern/pull/922
+ "${FILESDIR}/${P}-pytest-8.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 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.10.3.ebuild b/dev-python/tavern/tavern-2.10.3.ebuild
new file mode 100644
index 000000000000..4b7176787254
--- /dev/null
+++ b/dev-python/tavern/tavern-2.10.3.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=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() {
+ local PATCHES=(
+ # https://github.com/taverntesting/tavern/pull/922
+ "${FILESDIR}/${PN}-2.10.1-pytest-8.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 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/tblib/Manifest b/dev-python/tblib/Manifest
index ba48320ce09b..ae7418165359 100644
--- a/dev-python/tblib/Manifest
+++ b/dev-python/tblib/Manifest
@@ -1 +1 @@
-DIST tblib-1.7.0.tar.gz 33074 BLAKE2B e05b94b9a36efde4d3fe76e9b72502674554e84e49916ea585de4f6cf9e898d1544535b1a8935fe15ffc100fcbf2b5d4f9edfdcf0ce5c86d479f2f412d3ea83f SHA512 10dcff18a1da386d9dd6bae35608f4a2d3bc8f87c15fcf49d886f98d95a6defd348ef0dc5637e03f4c553a933a0ecb4c215cf15b1e78fca58fea10052f9fb4e9
+DIST tblib-3.0.0.tar.gz 30616 BLAKE2B 4e2ea0e0f09894f1a8dee4d0dbdc61c054964e4ec5a8a1fbb31f3793268ab8607b5b6e547f7771264c9863522b01cdd39ef6aa4a91d757f1c37f9fac37d6cbaf SHA512 9914709846a4a9b0d9fe0f58eb321085f69e11ce364930f67cc5fec008d6ca57963b17699b0a136e2de91ff01004275fc43a38f318b9faab7cb2fac861108297
diff --git a/dev-python/tblib/tblib-1.7.0-r1.ebuild b/dev-python/tblib/tblib-1.7.0-r1.ebuild
deleted file mode 100644
index c4c4b9e13f90..000000000000
--- a/dev-python/tblib/tblib-1.7.0-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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Traceback fiddling library for Python"
-HOMEPAGE="
- https://github.com/ionelmc/python-tblib/
- https://pypi.org/project/tblib/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-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
new file mode 100644
index 000000000000..b855ade8b4b4
--- /dev/null
+++ b/dev-python/tblib/tblib-3.0.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 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="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
+ local -x PYTHONNODEBUGRANGES=yes
+ epytest
+}
diff --git a/dev-python/tcolorpy/Manifest b/dev-python/tcolorpy/Manifest
index 988ffba3f9b3..5d84ad3c2507 100644
--- a/dev-python/tcolorpy/Manifest
+++ b/dev-python/tcolorpy/Manifest
@@ -1 +1 @@
-DIST tcolorpy-0.1.2.tar.gz 11024 BLAKE2B 7d2b8e525f507f2061c7401e452e06b76e3f85db1611a579b6f80d3a781c640b0379c22da85b4ec5878bf9762e1c471303e5bf79f51393c3a0ae8ff8fa3bcd51 SHA512 e5a0b26439291d0c7a045cf92818ad50a5c9fcf5d31e8140231ce8bb4c52a1ce163d125a2094e3738a6a14d29b99036ee7a9d5014ea8578f09307d4a4e5674e8
+DIST tcolorpy-0.1.4.tar.gz 11072 BLAKE2B 2ceefe31475d44546efbf919c6353caf3d023f269f1cf373185900704c88d318bd7c96beae2e0ef287a695ef1cf7367fd5e5dd21d73a61400b17a9a40d1d727a SHA512 4be98b0819c6eca0af55170e473e26b90d0c62b81c00fb1fe66b197f1fd6e7aec38cdd2b24dcc1b059af0ed1a54cfdc0900fad2e9145bf49b578d90edc65e74c
diff --git a/dev-python/tcolorpy/tcolorpy-0.1.2-r1.ebuild b/dev-python/tcolorpy/tcolorpy-0.1.2-r1.ebuild
deleted file mode 100644
index cad805688d6e..000000000000
--- a/dev-python/tcolorpy/tcolorpy-0.1.2-r1.ebuild
+++ /dev/null
@@ -1,19 +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="tcolorpy is a Python library to apply true color for terminal text"
-HOMEPAGE="https://github.com/thombashi/tcolorpy"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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
new file mode 100644
index 000000000000..7837ecb04fe0
--- /dev/null
+++ b/dev-python/tcolorpy/tcolorpy-0.1.4.ebuild
@@ -0,0 +1,21 @@
+# 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/tekore/Manifest b/dev-python/tekore/Manifest
index c70c21574e9a..9f7109958368 100644
--- a/dev-python/tekore/Manifest
+++ b/dev-python/tekore/Manifest
@@ -1 +1,2 @@
-DIST tekore-4.5.0.gh.tar.gz 265075 BLAKE2B 830a7c006ea13650ecc639bc8277d7022eed29fb92e13d4ff0bd98cb30f9bf2c53c9fb5dc88f3195938c22e12c8cc73a52517629c1db2d7bdc5e80360ea7b8bc SHA512 c69f47611447fec72fe2c4f09689dc93b8ff4dc94d430f213866b349c5867eeefd5351f3707b05648a74bd30576e4fd5d7e0c81203f5c7f90d54710433e25980
+DIST tekore-5.3.1.tar.gz 270742 BLAKE2B 08fd8a4deeaa5024f5bb138c4f9bc3fae25f5a2b21c4298bf5d12932793b33e778dd2b15cbdbeec2f62cba841f55a59e6f2c43d51f968d01603dcadd5883d91a SHA512 8d81af1528bedcc4d76ee96f2b310d0522262b0466bbc30bf3849eb7b936067e42311acf9fe724377ec801f2863fa50de61f409363d00486c6d596ab01acb09e
+DIST tekore-5.4.0.tar.gz 270967 BLAKE2B 6cfaa8a113707e6944c445f3fda4d55a66fe9719870ce97a7e8f1a5f556ba9fa3a2ee09ff4e98a1e976cbeedbed23dd6268dfd47d06c159f29d30eb5d3fb041b SHA512 a2b943c066ad344a247b5861719965a57f151bdadd50c660a789f59a60bebd82ccbe88fc19cff4d50d21675f35d98c131069f700ff88952b58fe989d098242b5
diff --git a/dev-python/tekore/tekore-4.5.0.ebuild b/dev-python/tekore/tekore-4.5.0.ebuild
deleted file mode 100644
index 24ac3b41b7c3..000000000000
--- a/dev-python/tekore/tekore-4.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_{9..11} )
-
-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.24[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- >=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..34aae5f71d45
--- /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..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/tempest/Manifest b/dev-python/tempest/Manifest
index 0f72648107ee..b3cadfa0b903 100644
--- a/dev-python/tempest/Manifest
+++ b/dev-python/tempest/Manifest
@@ -1 +1 @@
-DIST tempest-33.0.0.tar.gz 1126464 BLAKE2B 14bce9e0baf1878fc30cc5026c7849cda5abc0291706c7cd051827ffb1e15670e653a20ba6c0c898e86a7e1bee498d14139f82887606f5587b7775d18f96595f SHA512 1a34bc81a18121e3be05ab1a2b637aa8bfc41a0a8e11824294c78468762fb5f303ebf9607f5e72aed1cc5b130b26e22bf72c0574472a0de4eca083e899ff6eb0
+DIST tempest-38.0.0.tar.gz 1148398 BLAKE2B 2905b24ebad4b5e5c83575f0d51de7eae23567dc508367a1c7a40eccbde33990152f7eebe6b7af7b9a1379b72178684b2dbf1e6d87b848b85c06ace98c8f4116 SHA512 d3a57b73e58b4898abc57e004da4a7d7e544612c498d03d4b8b2e88b36f5a160c2e74e6fea0ebd022f86dc6eb963125c45df8b932e7e012210a36e9318b548cd
diff --git a/dev-python/tempest/tempest-33.0.0.ebuild b/dev-python/tempest/tempest-33.0.0.ebuild
deleted file mode 100644
index cdbd7f2b98be..000000000000
--- a/dev-python/tempest/tempest-33.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="OpenStack Integration Testing"
-HOMEPAGE="
- https://pypi.org/project/tempest/
- https://docs.openstack.org/tempest/latest/
- https://launchpad.net/tempest/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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}]
-"
-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-38.0.0.ebuild b/dev-python/tempest/tempest-38.0.0.ebuild
new file mode 100644
index 000000000000..f022f1461ccb
--- /dev/null
+++ b/dev-python/tempest/tempest-38.0.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="OpenStack Integration Testing"
+HOMEPAGE="
+ https://pypi.org/project/tempest/
+ https://docs.openstack.org/tempest/latest/
+ https://launchpad.net/tempest/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >dev-python/cliff-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-4.7.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
+ >=dev-python/subunit-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.21.1[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/fasteners-0.16.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ dev-python/stestr[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ # Small subset of tests, which fail as result of not using specific
+ # testing environment.
+ rm -r tempest/tests/lib/services/volume/v3/ || die
+
+ # remove dep on hacking
+ rm tempest/tests/test_hacking.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ mv "${BUILD_DIR}"/install/{usr/,}etc || die
+}
+
+python_test() {
+ local -x OS_LOG_CAPTURE=1 OS_STDOUT_CAPTURE=1 OS_STDERR_CAPTURE=1
+ local -x OS_TEST_TIMEOUT=300
+ stestr --test-path ./tempest/tests run --concurrency="$(makeopts_jobs)" ||
+ die "Tests failed for ${EPYTHON}"
+}
diff --git a/dev-python/tempora/Manifest b/dev-python/tempora/Manifest
index be88c8367153..46d3a53be930 100644
--- a/dev-python/tempora/Manifest
+++ b/dev-python/tempora/Manifest
@@ -1,3 +1 @@
-DIST tempora-5.1.0.tar.gz 20402 BLAKE2B 8dcb70dd1491228c9f7daeda40a07e07236fa4f4aa8ad76ecb9514b922732468cbf4360726421420ce8478bba2287815a1473c5231afae82bda222a7401478e2 SHA512 33b48884c024f82e3220c2cc28a307bbb3c813a895df82640b5627266355c78cced3e5ab61df9b0619bf9697e18d70390939189ba31dd57c58fbb3e97b5db216
-DIST tempora-5.2.0.tar.gz 20775 BLAKE2B 3348e9899ce2e8867b334bf66e692ab79decd3c3b1aa572709d65346c37eb334eabbe905a50d4c73dda8844ca7ee6437f8f78320c8084fac06f32c30d51eee2e SHA512 66ac6319f1e62a003125c00af2a520fa6f60e57541dccee9d57348b51404fa0736e0ff2deaea0cc903434ae76e22bbe674b69235cd388fb50fa1cbc41d55681d
-DIST tempora-5.2.1.tar.gz 20787 BLAKE2B 67e9bf07e79dca0f31b6558824ab54fe2cab0556e7fddbac0e0e61c863eff0e0f0c4d6162a2856cf05b4ca9bedef1440811330638cb2f94d2c5e140c4b6401e3 SHA512 18e352bfa82ac81dac26907a6bcc5e68c018410a9cfc7a1b4d6d8609c1a6a35fb3be3c374449109ed5c32b679c3835aa31d2ce0dc814d3697e6f7f5c6976eefe
+DIST tempora-5.5.1.tar.gz 21145 BLAKE2B b034b85272faefc884e098c1ca58b3e4b1f6598487f4678ed3b0b9f353d70b9862d8eaed425fb812e23630f123a28a25fefc8916a1c9cc882e5ed8c3da98dfa6 SHA512 642c4176ea14504e2f831f738e1064c1fb888ad89a67c74d5bcf2a5389923af3933981393855c7eceaf6c7fc16bbbf4126015d2d1dfa0fdfd38d528d16854dce
diff --git a/dev-python/tempora/metadata.xml b/dev-python/tempora/metadata.xml
index 3f4cae255a64..84178f053bde 100644
--- a/dev-python/tempora/metadata.xml
+++ b/dev-python/tempora/metadata.xml
@@ -14,6 +14,5 @@
<remote-id type="pypi">tempora</remote-id>
<remote-id type="github">jaraco/tempora</remote-id>
<bugs-to>https://github.com/jaraco/tempora/issues</bugs-to>
- <changelog>https://github.com/jaraco/tempora/blob/master/CHANGES.rst</changelog>
</upstream>
</pkgmetadata>
diff --git a/dev-python/tempora/tempora-5.1.0.ebuild b/dev-python/tempora/tempora-5.1.0.ebuild
deleted file mode 100644
index 49c140fb0753..000000000000
--- a/dev-python/tempora/tempora-5.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
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-MY_PN="${PN/-/.}"
-DESCRIPTION="Objects and routines pertaining to date and time"
-HOMEPAGE="https://github.com/jaraco/tempora"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-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.2.0.ebuild b/dev-python/tempora/tempora-5.2.0.ebuild
deleted file mode 100644
index e18cb8a08c61..000000000000
--- a/dev-python/tempora/tempora-5.2.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-MY_PN="${PN/-/.}"
-DESCRIPTION="Objects and routines pertaining to date and time"
-HOMEPAGE="https://github.com/jaraco/tempora"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-RDEPEND="
- 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.2.1.ebuild b/dev-python/tempora/tempora-5.2.1.ebuild
deleted file mode 100644
index 555f2ff33323..000000000000
--- a/dev-python/tempora/tempora-5.2.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-MY_PN="${PN/-/.}"
-DESCRIPTION="Objects and routines pertaining to date and time"
-HOMEPAGE="https://github.com/jaraco/tempora"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-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.5.1.ebuild b/dev-python/tempora/tempora-5.5.1.ebuild
new file mode 100644
index 000000000000..736a04fbab4f
--- /dev/null
+++ b/dev-python/tempora/tempora-5.5.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=( 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 ~m68k 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/tenacity/Manifest b/dev-python/tenacity/Manifest
index 0e1ffa2920c8..633938a3c16a 100644
--- a/dev-python/tenacity/Manifest
+++ b/dev-python/tenacity/Manifest
@@ -1 +1 @@
-DIST tenacity-8.1.0.tar.gz 37658 BLAKE2B 4f9e2ea44ac0f0ed8b694b0f60e938fadbcf65bd989e9d641f7a40750f499aa9635a70d80e406aa2ebf436ebd37cde0d88e8ecb6cb3436ba755c2d921541c8e8 SHA512 194312e80233d6edcdf30496a355b272a4de4809bbe187948a7ce9c1382958845d12401498569f2b8d4251ede2857317820779f13a65bb2e69dcb97dde9bb501
+DIST tenacity-8.2.3.tar.gz 40651 BLAKE2B c79af0a6e0ee0af52fe47579b830ee911b10bd780467eaa22308443830a29cf76583455acbe53c92805abb51686db32696e94cb83ca2ce576a5508272e016fe4 SHA512 c1e82867c0be8a0a38d05ecee04568c3c4eebff85d8c1b90713e3ca953197da7a857d8dc20083afc4fa4b92cc5e43a8aabe8022bc104394acbe6a0aba7602613
diff --git a/dev-python/tenacity/tenacity-8.1.0.ebuild b/dev-python/tenacity/tenacity-8.1.0.ebuild
deleted file mode 100644
index 9917fe196bb9..000000000000
--- a/dev-python/tenacity/tenacity-8.1.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="General-purpose retrying library"
-HOMEPAGE="
- https://github.com/jd/tenacity/
- https://pypi.org/project/tenacity/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.2.3.ebuild b/dev-python/tenacity/tenacity-8.2.3.ebuild
new file mode 100644
index 000000000000..69d9328ea794
--- /dev/null
+++ b/dev-python/tenacity/tenacity-8.2.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..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/termcolor/Manifest b/dev-python/termcolor/Manifest
index 51d41b62b982..b290d3416c14 100644
--- a/dev-python/termcolor/Manifest
+++ b/dev-python/termcolor/Manifest
@@ -1,2 +1 @@
-DIST python-termcolor-2.1.1.tar.gz 10831 BLAKE2B 0c5537f81234411ddb117266e45ac7ec8ea0af0f62e08883f4893aec21d83d03534200d1ad1633bed4c57cfd7a83305aaff5af7b0574d948854b7762c9e631f4 SHA512 f652d8ce07e192820c57d62fe76495e81e859a709e61b8a1418985da51a92ce8b71865b362d10331d40a914497fa2bf81e95c924c88ae281663a430ef065ca18
-DIST python-termcolor-2.2.0.tar.gz 11340 BLAKE2B c1a7119bf4b6a137784e1b395d65ce2222e78c3747d1198b0c3407a15b02aa2f0343a12ac067696f19e94b4add0f8968164223f77cc79ffb703601003b8ce8fd SHA512 24a686c6589a56d2ae9ef9a974dc2308d23e9dcbc586df2c2e6ce938f4a6d85bcd20e4ecafcdee8b5b859917defd2965804e10ef761ce7929dc44826f0fca402
+DIST termcolor-2.4.0.py.tar.gz 12664 BLAKE2B e5cf8f3ce1d27ffc0128cd9c1e38323e1e579a7a4017254a1d03c5f5baf0fa897522134ea68929c2e492b933fe8a6c3d79b55cb674fa3af134445581d870bf85 SHA512 e715940ccc8863baae020345cabc8fc90b5bbbd5ef4b384de96920a90d97508cee6f863aa39a2c08971e58f45cf85ec73c0659715f54072bbc57612681138355
diff --git a/dev-python/termcolor/termcolor-2.1.1.ebuild b/dev-python/termcolor/termcolor-2.1.1.ebuild
deleted file mode 100644
index e7c6f974d1af..000000000000
--- a/dev-python/termcolor/termcolor-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=hatchling
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz -> python-${P}.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.2.0.ebuild b/dev-python/termcolor/termcolor-2.2.0.ebuild
deleted file mode 100644
index 1486a16ec7dd..000000000000
--- a/dev-python/termcolor/termcolor-2.2.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz -> python-${P}.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
new file mode 100644
index 000000000000..997bbd927f97
--- /dev/null
+++ b/dev-python/termcolor/termcolor-2.4.0.ebuild
@@ -0,0 +1,27 @@
+# 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/terminado/Manifest b/dev-python/terminado/Manifest
index 6da8c611b524..eac4d1ddf22a 100644
--- a/dev-python/terminado/Manifest
+++ b/dev-python/terminado/Manifest
@@ -1 +1 @@
-DIST terminado-0.17.1.tar.gz 30603 BLAKE2B e21087ab332076df3462f765ef839ed1b99580fd86acb2aa36626a656972c08ce4fff349e47d27847799d6550f6f31489ce7bf5fc67988fb74f7403b77d8fc79 SHA512 c61987e6ccb75fef6428c4557a690be3f48ff186b2bd6765d4f5b71d4443833def7025921e7f1362a47bf77163846294080c2d81f6d2ff15236d499f480ec8e9
+DIST terminado-0.18.1.tar.gz 32701 BLAKE2B 136a4b8e9cd60c96d2e67c612bdcaa58c3e740d0782ecd9c15235d9a7b74ccab6e8f86502f6f73af355630446bcc3d4181b46922ae074bbb171be68bc04caaf6 SHA512 a7b5a420cef31926756fcfd6b7353868f9a5f169969940695348d7bd04501fc0f5e1e1814f8580f4e47edfc0218d29e145244102d66aaecb48fbe2afb39a7482
diff --git a/dev-python/terminado/terminado-0.17.1.ebuild b/dev-python/terminado/terminado-0.17.1.ebuild
deleted file mode 100644
index 0bff94e7c8e3..000000000000
--- a/dev-python/terminado/terminado-0.17.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Terminals served to term.js using Tornado websockets"
-HOMEPAGE="
- https://github.com/jupyter/terminado/
- https://pypi.org/project/terminado/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="BSD-2"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~m68k 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..de206f17830c
--- /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..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/
+"
+
+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/Manifest b/dev-python/terminaltables/Manifest
index eb45f1bce5a9..e7d4a8b1e4e0 100644
--- a/dev-python/terminaltables/Manifest
+++ b/dev-python/terminaltables/Manifest
@@ -1 +1 @@
-DIST terminaltables-3.1.10.tar.gz 282122 BLAKE2B 53d5ecde38370f5b05d3eaae4b618ada6991214feadc7e826467dafede5baaf8292e47e6b2be903eb8ae6d46e3066314fe7950d7330056cd3053e0d643ad1a9e SHA512 84fa403cee4206b6b19de0206d89535bd2965a0796e1890dd9b0a9c6593c5f41d0d24b88ee9db426067c777712a4e810d67d4d0246496239a7a96b53a24e8174
+DIST terminaltables-3.1.10.gh.tar.gz 282122 BLAKE2B 53d5ecde38370f5b05d3eaae4b618ada6991214feadc7e826467dafede5baaf8292e47e6b2be903eb8ae6d46e3066314fe7950d7330056cd3053e0d643ad1a9e SHA512 84fa403cee4206b6b19de0206d89535bd2965a0796e1890dd9b0a9c6593c5f41d0d24b88ee9db426067c777712a4e810d67d4d0246496239a7a96b53a24e8174
diff --git a/dev-python/terminaltables/metadata.xml b/dev-python/terminaltables/metadata.xml
index 38af7ae0ae2b..2506f3e8e71c 100644
--- a/dev-python/terminaltables/metadata.xml
+++ b/dev-python/terminaltables/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>grknight@gentoo.org</email>
- <name>Brian Evans</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
diff --git a/dev-python/terminaltables/terminaltables-3.1.10-r1.ebuild b/dev-python/terminaltables/terminaltables-3.1.10-r1.ebuild
index 6c47f303466c..50ffbc6b6a46 100644
--- a/dev-python/terminaltables/terminaltables-3.1.10-r1.ebuild
+++ b/dev-python/terminaltables/terminaltables-3.1.10-r1.ebuild
@@ -4,19 +4,24 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="Generate simple tables in terminals from a nested list of strings"
-HOMEPAGE="https://robpol86.github.io/terminaltables/"
+HOMEPAGE="
+ https://robpol86.github.io/terminaltables/
+ https://github.com/matthewdeanmartin/terminaltables/
+ https://pypi.org/project/terminaltables/
+"
SRC_URI="
https://github.com/matthewdeanmartin/terminaltables/archive/v${PV}.tar.gz
- -> ${P}.tar.gz"
+ -> ${P}.gh.tar.gz
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 ~arm64 x86"
BDEPEND="
test? (
diff --git a/dev-python/terminaltables/terminaltables-9999.ebuild b/dev-python/terminaltables/terminaltables-9999.ebuild
index 9cc45516afc3..10b2ae4c6d5c 100644
--- a/dev-python/terminaltables/terminaltables-9999.ebuild
+++ b/dev-python/terminaltables/terminaltables-9999.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 git-r3
@@ -14,7 +14,6 @@ EGIT_REPO_URI="https://github.com/matthewdeanmartin/${PN}.git"
LICENSE="MIT"
SLOT="0"
-KEYWORDS=""
BDEPEND="
test? (
diff --git a/dev-python/testfixtures/Manifest b/dev-python/testfixtures/Manifest
index 2fa30b114f2f..7c17d9ea56ae 100644
--- a/dev-python/testfixtures/Manifest
+++ b/dev-python/testfixtures/Manifest
@@ -1 +1 @@
-DIST testfixtures-7.0.3.tar.gz 127280 BLAKE2B 14725f5a04a77453f1a6e1cb07b2ee8e907dcf49a845c9c75951d77160448c1037c7bfa0a759cf4061d92448203b8f4b14d611cdde32f46269b484985e654e67 SHA512 875aba5102bd43800b2f6464dc93185cd2bb5e117523cb4b3c458b2f8f8eb71f309c0a5266eeca70a7928f9992ccfe7807c67e42531c17fd82ca1c3b838d02a5
+DIST testfixtures-8.1.0.tar.gz 134639 BLAKE2B 9f930d15b039a808717e06d86711553c4b165b39927c36901a78a028d227a9aaa39b05091192bcaf15a579f08262e8f9561670e959d6cfa58541f2213f8c15ef SHA512 17aa2be892e8095d2386b72e72daa73689fb44283a168a0cb3fad8c847cd9527e4e273cf0ac527cdd2579f2e0689074de77b26c1124e3ae7aa7efce0f5909fec
diff --git a/dev-python/testfixtures/testfixtures-7.0.3.ebuild b/dev-python/testfixtures/testfixtures-7.0.3.ebuild
deleted file mode 100644
index 0b81500e2883..000000000000
--- a/dev-python/testfixtures/testfixtures-7.0.3.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_{9..11} )
-
-inherit distutils-r1
-
-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"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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_prepare_all() {
- # kill weird way of declaring build deps
- sed -e '/build=/d' -i setup.py || die
-
- distutils-r1_python_prepare_all
-}
-
-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
- )
-
- epytest
-}
diff --git a/dev-python/testfixtures/testfixtures-8.1.0.ebuild b/dev-python/testfixtures/testfixtures-8.1.0.ebuild
new file mode 100644
index 000000000000..e47659f67b7a
--- /dev/null
+++ b/dev-python/testfixtures/testfixtures-8.1.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..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/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="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
+ )
+
+ epytest
+}
diff --git a/dev-python/testpath/Manifest b/dev-python/testpath/Manifest
index 271f8acba8f6..2c9ab84301aa 100644
--- a/dev-python/testpath/Manifest
+++ b/dev-python/testpath/Manifest
@@ -1 +1 @@
-DIST testpath-0.6.0.tar.gz 92307 BLAKE2B 320695b4224803214759a74e64e969a244814f4767eb6092b758ba9fcbfadce81afa3fa5eee65b8c8fe9c54e486d9abf75a18b867883740052c58d1eb2671e23 SHA512 fe13523138c1e67f33a3aa707e81b8cc8b5a720ab231ea2c2407da003178d779a649f664213822022e26325fed4ddf468cf727737b94eb2ebf7315aacbce6857
+DIST testpath-0.6.0.gh.tar.gz 92307 BLAKE2B 320695b4224803214759a74e64e969a244814f4767eb6092b758ba9fcbfadce81afa3fa5eee65b8c8fe9c54e486d9abf75a18b867883740052c58d1eb2671e23 SHA512 fe13523138c1e67f33a3aa707e81b8cc8b5a720ab231ea2c2407da003178d779a649f664213822022e26325fed4ddf468cf727737b94eb2ebf7315aacbce6857
diff --git a/dev-python/testpath/testpath-0.6.0.ebuild b/dev-python/testpath/testpath-0.6.0.ebuild
index a6df6f859200..cd0fac55c802 100644
--- a/dev-python/testpath/testpath-0.6.0.ebuild
+++ b/dev-python/testpath/testpath-0.6.0.ebuild
@@ -4,13 +4,20 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
DESCRIPTION="Test utilities for code working with files and commands"
-HOMEPAGE="https://github.com/jupyter/testpath https://testpath.readthedocs.io/en/latest/"
-SRC_URI="https://github.com/jupyter/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/jupyter/testpath/
+ https://testpath.readthedocs.io/en/latest/
+ https://pypi.org/project/testpath/
+"
+SRC_URI="
+ https://github.com/jupyter/testpath/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/testresources/files/testresources-2.0.1-py312-tests.patch b/dev-python/testresources/files/testresources-2.0.1-py312-tests.patch
new file mode 100644
index 000000000000..7d4451ca43b9
--- /dev/null
+++ b/dev-python/testresources/files/testresources-2.0.1-py312-tests.patch
@@ -0,0 +1,35 @@
+Subject: [PATCH] Refactor failIf to assertFalse for Python 3.12 Compatibility
+
+This commit replaces deprecated failIf calls with assertFalse in the
+test_resourced_test_case.py file. The failIf method was removed in
+Python 3.12 [1-3].
+
+[1] https://docs.python.org/3.12/whatsnew/3.12.html#removed
+[2] https://github.com/python/cpython/issues/89325
+[3] https://github.com/python/cpython/pull/28268
+
+Upstream-PR: https://github.com/testing-cabal/testresources/pull/15
+
+diff --git a/testresources/tests/test_resourced_test_case.py b/testresources/tests/test_resourced_test_case.py
+index 7d2cfba..3c8a1b3 100644
+--- a/testresources/tests/test_resourced_test_case.py
++++ b/testresources/tests/test_resourced_test_case.py
+@@ -129,7 +129,7 @@ class TestResourcedTestCase(testtools.TestCase):
+ self.resourced_case.resources = [("foo", self.resource_manager)]
+ self.resourced_case.setUpResources()
+ self.resourced_case.tearDownResources()
+- self.failIf(hasattr(self.resourced_case, "foo"))
++ self.assertFalse(hasattr(self.resourced_case, "foo"))
+
+ def testTearDownResourcesStopsUsingResource(self):
+ # tearDownResources records that there is one less use of each
+@@ -158,5 +158,5 @@ class TestResourcedTestCase(testtools.TestCase):
+ self.assertEqual(self.resourced_case.foo, self.resource)
+ self.assertEqual(self.resource_manager._uses, 1)
+ self.resourced_case.tearDown()
+- self.failIf(hasattr(self.resourced_case, "foo"))
++ self.assertFalse(hasattr(self.resourced_case, "foo"))
+ self.assertEqual(self.resource_manager._uses, 0)
+--
+2.39.2
+
diff --git a/dev-python/testresources/metadata.xml b/dev-python/testresources/metadata.xml
index db9726aac1d4..dae62b0347a1 100644
--- a/dev-python/testresources/metadata.xml
+++ b/dev-python/testresources/metadata.xml
@@ -21,7 +21,8 @@
</longdescription>
<stabilize-allarches/>
<upstream>
- <remote-id type="pypi">testresources</remote-id>
+ <remote-id type="github">testing-cabal/testresources</remote-id>
<remote-id type="launchpad">testresources</remote-id>
+ <remote-id type="pypi">testresources</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/testresources/testresources-2.0.1-r2.ebuild b/dev-python/testresources/testresources-2.0.1-r2.ebuild
deleted file mode 100644
index 31900c7b8cf1..000000000000
--- a/dev-python/testresources/testresources-2.0.1-r2.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A pyunit extension for managing expensive test resources"
-HOMEPAGE="
- https://launchpad.net/testresources/
- https://github.com/testing-cabal/testresources/
- https://pypi.org/project/testresources/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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"
-
-RDEPEND="
- dev-python/pbr[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/pbr[${PYTHON_USEDEP}]
- test? (
- dev-python/testtools[${PYTHON_USEDEP}]
- dev-python/fixtures[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-python_prepare_all() {
-# sed \
-# -e 's:testBasicSortTests:_&:g' \
-# -i testresources/tests/test_optimising_test_suite.py || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/testresources/testresources-2.0.1-r3.ebuild b/dev-python/testresources/testresources-2.0.1-r3.ebuild
new file mode 100644
index 000000000000..9d28740da7fd
--- /dev/null
+++ b/dev-python/testresources/testresources-2.0.1-r3.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 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 pyunit extension for managing expensive test resources"
+HOMEPAGE="
+ https://launchpad.net/testresources/
+ https://github.com/testing-cabal/testresources/
+ https://pypi.org/project/testresources/
+"
+
+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"
+
+RDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ dev-python/testtools[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-py312-tests.patch"
+)
+
+distutils_enable_tests unittest
diff --git a/dev-python/testscenarios/metadata.xml b/dev-python/testscenarios/metadata.xml
index 97c52ec91adf..f8a6d151702e 100644
--- a/dev-python/testscenarios/metadata.xml
+++ b/dev-python/testscenarios/metadata.xml
@@ -22,7 +22,8 @@
</longdescription>
<stabilize-allarches/>
<upstream>
- <remote-id type="pypi">testscenarios</remote-id>
+ <remote-id type="github">testing-cabal/testscenarios</remote-id>
<remote-id type="launchpad">testscenarios</remote-id>
+ <remote-id type="pypi">testscenarios</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/testscenarios/testscenarios-0.5.0-r3.ebuild b/dev-python/testscenarios/testscenarios-0.5.0-r3.ebuild
index 759ab7de8029..2af67c1a1ba8 100644
--- a/dev-python/testscenarios/testscenarios-0.5.0-r3.ebuild
+++ b/dev-python/testscenarios/testscenarios-0.5.0-r3.ebuild
@@ -4,9 +4,9 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A pyunit extension for dependency injection"
HOMEPAGE="
@@ -14,7 +14,6 @@ HOMEPAGE="
https://github.com/testing-cabal/testscenarios/
https://pypi.org/project/testscenarios/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
diff --git a/dev-python/testtools/Manifest b/dev-python/testtools/Manifest
index 2869c469f74e..a428d17f9cc8 100644
--- a/dev-python/testtools/Manifest
+++ b/dev-python/testtools/Manifest
@@ -1 +1 @@
-DIST testtools-2.5.0.tar.gz 235399 BLAKE2B 62d62cd12f19eb3fad419dc06e7f0152bf8f70a9f60927b1d791f2905b34e13199ceac93b3d30735acae2c5db1e8554cc5a7f6c8588d1f05fb213c424e90a12b SHA512 6adbf9e90f0647a44130e99cd94e4c0cbfab3a1b5c28b6bb124d061defe69d8043186cfe554099936effe16a6b07d59927bfeb6820f5a0fb34970ff243030fd4
+DIST testtools-2.7.1.tar.gz 200953 BLAKE2B b410735faf153749e3996c8889f56fbffab67a8f49b52f21afa60e72af201a12891d4db00b808324d52159b02e9212b81ab958c1dcf0cae5551471540f8fec0b SHA512 78af1c2af6f93671074dafedeaaf3ddbcc806e78c3153a3b90f88874c967e34a18cb85e5649b08fabb4ba4ae649eeb401e79c77c3b9233d9eee2a3c2267a4596
diff --git a/dev-python/testtools/files/testtools-2.5.0-py311.patch b/dev-python/testtools/files/testtools-2.5.0-py311.patch
deleted file mode 100644
index ee457f6119c3..000000000000
--- a/dev-python/testtools/files/testtools-2.5.0-py311.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From 77953cf633ecd149b2c29e616f8d9d4e0cf8e5fa Mon Sep 17 00:00:00 2001
-From: Colin Watson <cjwatson@canonical.com>
-Date: Sat, 23 Apr 2022 22:53:48 +0100
-Subject: [PATCH] Fix various test failures with Python 3.11
-
-The changes for https://peps.python.org/pep-0657/ require a number of
-changes in our tests.
-
-Some tests still fail due to
-https://twistedmatrix.com/trac/ticket/10336, so I'm not adding
-3.11 to the test matrix yet.
-
-Fixes #325.
----
- testtools/tests/test_run.py | 4 ++--
- testtools/tests/test_testresult.py | 23 +++++++++++++----------
- testtools/tests/test_testsuite.py | 2 +-
- 3 files changed, 16 insertions(+), 13 deletions(-)
-
-diff --git a/testtools/tests/test_run.py b/testtools/tests/test_run.py
-index ee96eec9..9808421b 100644
---- a/testtools/tests/test_run.py
-+++ b/testtools/tests/test_run.py
-@@ -202,9 +202,9 @@ def test_run_list_failed_import(self):
- Failed to import test module: runexample
- Traceback (most recent call last):
- File ".../loader.py", line ..., in _find_test_path
-- package = self._get_module_from_name(name)
-+ package = self._get_module_from_name(name)...
- File ".../loader.py", line ..., in _get_module_from_name
-- __import__(name)
-+ __import__(name)...
- File ".../runexample/__init__.py", line 1
- class not in
- ...^...
-diff --git a/testtools/tests/test_testresult.py b/testtools/tests/test_testresult.py
-index 4fbf15d1..7824ff46 100644
---- a/testtools/tests/test_testresult.py
-+++ b/testtools/tests/test_testresult.py
-@@ -1266,11 +1266,11 @@ def test_traceback_formatting_without_stack_hidden(self):
- DocTestMatches(
- 'Traceback (most recent call last):\n'
- ' File "...testtools...runtest.py", line ..., in _run_user\n'
-- ' return fn(*args, **kwargs)\n'
-+ ' return fn(*args, **kwargs)\n...'
- ' File "...testtools...testcase.py", line ..., in _run_test_method\n'
-- ' return self._get_test_method()()\n'
-+ ' return self._get_test_method()()\n...'
- ' File "...testtools...tests...test_testresult.py", line ..., in error\n'
-- ' 1/0\n'
-+ ' 1/0\n...'
- 'ZeroDivisionError: ...\n',
- doctest.ELLIPSIS | doctest.REPORT_UDIFF))
-
-@@ -1283,7 +1283,7 @@ def test_traceback_formatting_with_stack_hidden(self):
- DocTestMatches(
- 'Traceback (most recent call last):\n'
- ' File "...testtools...tests...test_testresult.py", line ..., in error\n'
-- ' 1/0\n'
-+ ' 1/0\n...'
- 'ZeroDivisionError: ...\n',
- doctest.ELLIPSIS))
-
-@@ -1322,17 +1322,17 @@ def test_traceback_with_locals(self):
- DocTestMatches(
- 'Traceback (most recent call last):\n'
- ' File "...testtools...runtest.py", line ..., in _run_user\n'
-- ' return fn(*args, **kwargs)\n'
-+ ' return fn(*args, **kwargs)\n...'
- ' args = ...\n'
- ' fn = ...\n'
- ' kwargs = ...\n'
- ' self = ...\n'
- ' File "...testtools...testcase.py", line ..., in _run_test_method\n'
-- ' return self._get_test_method()()\n'
-+ ' return self._get_test_method()()\n...'
- ' result = ...\n'
- ' self = ...\n'
- ' File "...testtools...tests...test_testresult.py", line ..., in error\n'
-- ' 1/0\n'
-+ ' 1/0\n...'
- ' a = 1\n'
- ' self = ...\n'
- 'ZeroDivisionError: ...\n',
-@@ -2645,12 +2645,15 @@ def test_unprintable_exception(self):
- " raise RuntimeError\n"
- " def __repr__(self):\n"
- " raise RuntimeError\n")
-+ if sys.version_info >= (3, 11):
-+ expected = "UnprintableError: <exception str() failed>\n"
-+ else:
-+ expected = (
-+ "UnprintableError: <unprintable UnprintableError object>\n")
- textoutput = self._test_external_case(
- modulelevel=exception_class,
- testline="raise UnprintableError")
-- self.assertIn(self._as_output(
-- "UnprintableError: <unprintable UnprintableError object>\n"),
-- textoutput)
-+ self.assertIn(self._as_output(expected), textoutput)
-
- def test_non_ascii_dirname(self):
- """Script paths in the traceback can be non-ascii"""
-diff --git a/testtools/tests/test_testsuite.py b/testtools/tests/test_testsuite.py
-index 65cb88d7..01abb23c 100644
---- a/testtools/tests/test_testsuite.py
-+++ b/testtools/tests/test_testsuite.py
-@@ -178,7 +178,7 @@ def run(self):
- "Traceback (most recent call last):\n")
- self.assertThat(events[2][6].decode('utf8'), DocTestMatches("""\
- File "...testtools/testsuite.py", line ..., in _run_test
-- test.run(process_result)
-+ test.run(process_result)...
- """, doctest.ELLIPSIS))
- self.assertThat(events[3][6].decode('utf8'), DocTestMatches("""\
- TypeError: ...run() takes ...1 ...argument...2...given...
diff --git a/dev-python/testtools/testtools-2.5.0-r1.ebuild b/dev-python/testtools/testtools-2.5.0-r1.ebuild
deleted file mode 100644
index 47987f955024..000000000000
--- a/dev-python/testtools/testtools-2.5.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Extensions to the Python standard library unit testing framework"
-HOMEPAGE="
- https://github.com/testing-cabal/testtools/
- https://pypi.org/project/testtools/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.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 ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/extras-1.0.0[${PYTHON_USEDEP}]
- dev-python/python-mimeparse[${PYTHON_USEDEP}]
- >=dev-python/pbr-0.11[${PYTHON_USEDEP}]
- dev-python/pyrsistent[${PYTHON_USEDEP}]
- >=dev-python/six-1.4.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/fixtures-1.3.0[${PYTHON_USEDEP}]
- dev-python/testscenarios[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- >=dev-python/fixtures-1.3.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx doc
-
-PATCHES=(
- # https://github.com/testing-cabal/testtools/pull/328
- "${FILESDIR}"/${P}-py311.patch
-)
-
-src_prepare() {
- # very fragile to formatting changes (broken on py3.10 & pypy3)
- sed -i -e 's:test_syntax_error(:_&:' \
- testtools/tests/test_testresult.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- "${PYTHON}" -m testtools.run testtools.tests.test_suite ||
- die "tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/testtools/testtools-2.7.1.ebuild b/dev-python/testtools/testtools-2.7.1.ebuild
new file mode 100644
index 000000000000..b152880134c7
--- /dev/null
+++ b/dev-python/testtools/testtools-2.7.1.ebuild
@@ -0,0 +1,38 @@
+# 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/text-unidecode/text-unidecode-1.3-r1.ebuild b/dev-python/text-unidecode/text-unidecode-1.3-r1.ebuild
index 9c29a532efa0..c43db6e5c99f 100644
--- a/dev-python/text-unidecode/text-unidecode-1.3-r1.ebuild
+++ b/dev-python/text-unidecode/text-unidecode-1.3-r1.ebuild
@@ -4,19 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="The most basic port of the Text::Unidecode Perl library"
HOMEPAGE="
https://pypi.org/project/text-unidecode/
https://github.com/kmike/text-unidecode/
"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
LICENSE="|| ( Artistic GPL-2+ )"
SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86 ~arm64-macos ~x64-macos"
distutils_enable_tests pytest
diff --git a/dev-python/textX/Manifest b/dev-python/textX/Manifest
index eb2765dfa11d..d7165bfffee2 100644
--- a/dev-python/textX/Manifest
+++ b/dev-python/textX/Manifest
@@ -1 +1 @@
-DIST textX-3.0.0.gh.tar.gz 1827894 BLAKE2B 1b4dff3919838b8aa27faee9387fafd6771891b730c221e10a5f2593d138634950d6ced5a7344944913d99e591ed87adfac403add582baa50b0b94c9c6498572 SHA512 59b175a3f68b0a5b9b3522e814602c791df3fa7dffb8fabffdeed79ce746ae698ee61c748ce991d8cfee15e094c9437530912e84bdeed4531d0bd96d07477c90
+DIST textX-4.0.1.gh.tar.gz 1824450 BLAKE2B 35c18f4f3acbccb57a027c40438099c17eaf97b6124f6cd2fef5b407fb51fc0810ec46daf563ab724ee3e3e6a2775308a0513dab91d6cff5e88d2c18fc6f6af0 SHA512 036eab82760f5f7f11f5da553097a3c1264070516d868568aebc09c6f143ca5f94fcaa21bff90c94e136860269789eda7b704e66e3396d25db491155dceb5bf0
diff --git a/dev-python/textX/metadata.xml b/dev-python/textX/metadata.xml
index de4b16fe0e05..2ba693ae45a9 100644
--- a/dev-python/textX/metadata.xml
+++ b/dev-python/textX/metadata.xml
@@ -4,6 +4,11 @@
<maintainer type="person">
<email>zmedico@gentoo.org</email>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">textX</remote-id>
<remote-id type="github">textX/textX</remote-id>
diff --git a/dev-python/textX/textX-3.0.0.ebuild b/dev-python/textX/textX-3.0.0.ebuild
deleted file mode 100644
index 560f5673c4dd..000000000000
--- a/dev-python/textX/textX-3.0.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Meta-language for DSL implementation inspired by Xtext"
-HOMEPAGE="
- https://pypi.org/project/textX/
- https://github.com/textX/textX/
-"
-SRC_URI="
- https://github.com/textX/textX/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/Arpeggio-2.0.0[${PYTHON_USEDEP}]
- dev-python/future[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/html5lib[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- cp -a "${BUILD_DIR}"/{install,test} || die
- local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
-
- # Update the shebang
- sed -e "s:install/usr/bin/${EPYTHON}:test/usr/bin/${EPYTHON}:" \
- -i "${BUILD_DIR}"/test/usr/bin/textx || die
-
- # Install necessary plugins
- local plugins=(
- tests/functional/subcommands/example_project
- tests/functional/registration/projects/*
- )
- local p
- for p in "${plugins[@]}"; do
- pushd "${p}" >/dev/null || die
- distutils_pep517_install "${BUILD_DIR}"/test
- popd >/dev/null || die
- done
-
- epytest tests/functional
-}
diff --git a/dev-python/textX/textX-4.0.1.ebuild b/dev-python/textX/textX-4.0.1.ebuild
new file mode 100644
index 000000000000..8d63e4c0ada0
--- /dev/null
+++ b/dev-python/textX/textX-4.0.1.ebuild
@@ -0,0 +1,59 @@
+# 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="Meta-language for DSL implementation inspired by Xtext"
+HOMEPAGE="
+ https://pypi.org/project/textX/
+ https://github.com/textX/textX/
+"
+SRC_URI="
+ https://github.com/textX/textX/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/Arpeggio-2.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ cp -a "${BUILD_DIR}"/{install,test} || die
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ # Update the shebang
+ sed -e "s:install/usr/bin/${EPYTHON}:test/usr/bin/${EPYTHON}:" \
+ -i "${BUILD_DIR}"/test/usr/bin/textx || die
+
+ # Install necessary plugins
+ local plugins=(
+ tests/functional/subcommands/example_project
+ tests/functional/registration/projects/*
+ )
+ local p
+ for p in "${plugins[@]}"; do
+ pushd "${p}" >/dev/null || die
+ distutils_pep517_install "${BUILD_DIR}"/test
+ popd >/dev/null || die
+ done
+
+ epytest tests/functional
+}
diff --git a/dev-python/textdistance/Manifest b/dev-python/textdistance/Manifest
index 6e6194733a3c..39446ae940d2 100644
--- a/dev-python/textdistance/Manifest
+++ b/dev-python/textdistance/Manifest
@@ -1 +1 @@
-DIST textdistance-4.5.0.gh.tar.gz 46674 BLAKE2B 5bac2690c48fc518b56f7d781803684c1ccccbb54e62c613f87a58f2acf81d28b405be5ffc41c7a304e62bd19732cdf99a03816c00765698439073b76c5be6c0 SHA512 ae51a2a0b69acd5fd64cab9509ad58713044a1307eee884ecf00508f406a9442414b1d8c71798f2c3ed0e9f5b22cca0a467f6d5a5928510adda43c6997ea497c
+DIST textdistance-4.6.1.gh.tar.gz 46618 BLAKE2B 168737e2380380570e67e873913823851e6e50a52f5180d4c5519a71f7899074aff2514f0df1a5d920c1c6a8313522fda6eb987862008eda9221ea8cc5be2902 SHA512 a27256c8ad9a228711acb6d54c5ea05634c89537686751c50623411238ee0b519cf0415e345c83b5cd347bda855751562c37ad88f06c1eacfea959cf2798b97c
diff --git a/dev-python/textdistance/textdistance-4.5.0.ebuild b/dev-python/textdistance/textdistance-4.5.0.ebuild
deleted file mode 100644
index 76d16b52a4ce..000000000000
--- a/dev-python/textdistance/textdistance-4.5.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_{9..11} )
-
-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 ~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.1.ebuild b/dev-python/textdistance/textdistance-4.6.1.ebuild
new file mode 100644
index 000000000000..8535a5636ffc
--- /dev/null
+++ b/dev-python/textdistance/textdistance-4.6.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..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/textile/Manifest b/dev-python/textile/Manifest
new file mode 100644
index 000000000000..7f0d8ee5ac4d
--- /dev/null
+++ b/dev-python/textile/Manifest
@@ -0,0 +1 @@
+DIST python-textile-4.0.2.gh.tar.gz 49296 BLAKE2B e9ac36b0ecf401a07aea1037c1f4390e440123d7e16f8fef64c257d27f6ef9c6918018ff34e9f8ad367767f3ebc5ce7957be424b2e6dac62fe8a1f7736b8eff7 SHA512 eb59e44b9a8521bcfa98f476e23efd727ffd867277d24f102bbb9511a99a0d636c324e22f8562382074007f304490c4ec6a5fde529f41b15f055a9cf16d49b8e
diff --git a/dev-python/textile/metadata.xml b/dev-python/textile/metadata.xml
new file mode 100644
index 000000000000..9fcb3d2c7ea1
--- /dev/null
+++ b/dev-python/textile/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>
+ <longdescription lang="en">A Python implementation of Textile, Dean Allen's Human Text Generator.
+ Textile simplifies the work of creating (X)HTML.</longdescription>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">textile</remote-id>
+ <remote-id type="github">textile/python-textile</remote-id>
+ </upstream>
+</pkgmetadata>
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..781934deeb8b
--- /dev/null
+++ b/dev-python/textile/textile-4.0.2-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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}]
+"
+
+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/Manifest b/dev-python/texttable/Manifest
index 443a20b544ef..4336e9355516 100644
--- a/dev-python/texttable/Manifest
+++ b/dev-python/texttable/Manifest
@@ -1 +1 @@
-DIST texttable-1.6.7.gh.tar.gz 11698 BLAKE2B e34f5d6b49de379493697638305b428a1921b93ad95902334f8315263657f4570f6c3770f99bd0fbbce7be29c73f9638922f2c0b19df137a9fde425170d3b0e3 SHA512 204dcad0d2438dab8880088d1ea6ab1d0a5d81348294547a6967938bf8e1c27a6c5f91c59c2fe22ce8d1266d7efdb165749e0aebc738644215ab9b1d5a28c419
+DIST texttable-1.7.0.gh.tar.gz 11928 BLAKE2B 7f8ae7b7c249d72dcc6b75ee78128bfe46f49b4ca8612a6fc23967f19b6f5ac1fd5e8ebf1b53734cfb7e067c8ee06e2b15dec8be58b0186bfbef8379d0d87464 SHA512 30b99abe0448fd4ab7a0ef70f5762a388978c2c09acd843e0a669a7870b6b73df8bc638e94853d77186df104bfa2d689f8b72d11df90b6844355ae0b38f6e549
diff --git a/dev-python/texttable/texttable-1.6.7.ebuild b/dev-python/texttable/texttable-1.6.7.ebuild
deleted file mode 100644
index 1d3e16476526..000000000000
--- a/dev-python/texttable/texttable-1.6.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Module to create simple ASCII tables"
-HOMEPAGE="
- https://github.com/foutaise/texttable/
- https://pypi.org/project/texttable/
-"
-SRC_URI="
- https://github.com/foutaise/texttable/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="
- dev-python/wcwidth[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest tests.py
-}
-
-pkg_postinst() {
- optfeature "better wrapping of CJK text" dev-python/cjkwrap
-}
diff --git a/dev-python/texttable/texttable-1.7.0.ebuild b/dev-python/texttable/texttable-1.7.0.ebuild
new file mode 100644
index 000000000000..668ec2f5e46f
--- /dev/null
+++ b/dev-python/texttable/texttable-1.7.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Module to create simple ASCII tables"
+HOMEPAGE="https://github.com/foutaise/texttable/
+ https://pypi.org/project/texttable/"
+SRC_URI="https://github.com/foutaise/texttable/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest tests.py
+}
+
+pkg_postinst() {
+ optfeature "better wrapping of CJK text" dev-python/cjkwrap
+}
diff --git a/dev-python/threadpoolctl/Manifest b/dev-python/threadpoolctl/Manifest
index 04471494d275..30103847fe40 100644
--- a/dev-python/threadpoolctl/Manifest
+++ b/dev-python/threadpoolctl/Manifest
@@ -1 +1 @@
-DIST threadpoolctl-3.1.0.tar.gz 29899 BLAKE2B 41bddace1231107a108fd57e281541a4e9f04c9bee957d16cfbff49361f9dcb0b879bf376617480b1ca2929c09d07fd1f8f704afa4ad85e34e38c4a82fb48a3c SHA512 551dad4c93a62382583a96187f795aaeb6954700647c984ad618d3d1bede50d6859e75f676c557fa875db37c798c0347131f6b136148f71b8208783c7f8f717e
+DIST threadpoolctl-3.4.0.gh.tar.gz 36777 BLAKE2B f5ac09cb2d15ee7c46ebedde61b2ad4e583f4a787bcce8189901f97a56ec030f67fa5dcb20e675b541710db3a48b1983162aa1109b6648a99bb50068590107ac SHA512 3ee49d9936811dd373d25e036e9165aedd1e4d740f0e6a30c5f114c6d58d33321e279919093f1d076c6510fd92dd77273c6d24bf7f6e06030194512093fcc266
diff --git a/dev-python/threadpoolctl/metadata.xml b/dev-python/threadpoolctl/metadata.xml
index eba9ec605bae..e556ca8c76c9 100644
--- a/dev-python/threadpoolctl/metadata.xml
+++ b/dev-python/threadpoolctl/metadata.xml
@@ -10,6 +10,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">joblib/threadpoolctl</remote-id>
<remote-id type="pypi">threadpoolctl</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/threadpoolctl/threadpoolctl-3.1.0.ebuild b/dev-python/threadpoolctl/threadpoolctl-3.1.0.ebuild
deleted file mode 100644
index 32cc47e53a93..000000000000
--- a/dev-python/threadpoolctl/threadpoolctl-3.1.0.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=flit
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Limit the number of threads used in native libs that have their own threadpool"
-HOMEPAGE="https://github.com/joblib/threadpoolctl"
-SRC_URI="https://github.com/joblib/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ppc64 ~riscv x86"
-
-BDEPEND="dev-python/cython[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/threadpoolctl/threadpoolctl-3.4.0.ebuild b/dev-python/threadpoolctl/threadpoolctl-3.4.0.ebuild
new file mode 100644
index 000000000000..ef74d3575f0f
--- /dev/null
+++ b/dev-python/threadpoolctl/threadpoolctl-3.4.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..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/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/Manifest b/dev-python/three-merge/Manifest
index 6555f1532621..d615ccde7c58 100644
--- a/dev-python/three-merge/Manifest
+++ b/dev-python/three-merge/Manifest
@@ -1 +1 @@
-DIST three-merge-0.1.1-gh.tar.gz 7312 BLAKE2B 06aa9e88b258bdd418276b418da338625e60cc95872db0147fc4a1ede7d7b9c1a716d3c0662236d289a0bd583d405c33259ba6e26af0033be499f68e1298a38b SHA512 3219e7b5813942fac5317673fcb6b051cdf0efbbe6cb2ee7d0ce6eabeeddb9a2dc7c88677f732833192c6a864d2191bd21afb06b3e110ded8712a03bf6bfcdcc
+DIST three-merge-0.1.1.gh.tar.gz 7312 BLAKE2B 06aa9e88b258bdd418276b418da338625e60cc95872db0147fc4a1ede7d7b9c1a716d3c0662236d289a0bd583d405c33259ba6e26af0033be499f68e1298a38b SHA512 3219e7b5813942fac5317673fcb6b051cdf0efbbe6cb2ee7d0ce6eabeeddb9a2dc7c88677f732833192c6a864d2191bd21afb06b3e110ded8712a03bf6bfcdcc
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
new file mode 100644
index 000000000000..c2f76ff6341e
--- /dev/null
+++ b/dev-python/three-merge/three-merge-0.1.1-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 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="Simple Python library to perform a 3-way merge between strings"
+HOMEPAGE="
+ https://github.com/spyder-ide/three-merge/
+ https://pypi.org/project/three-merge/
+"
+SRC_URI="
+ https://github.com/spyder-ide/three-merge/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ dev-python/diff-match-patch[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/three-merge/three-merge-0.1.1.ebuild b/dev-python/three-merge/three-merge-0.1.1.ebuild
deleted file mode 100644
index 21f79fc691f7..000000000000
--- a/dev-python/three-merge/three-merge-0.1.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=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple Python library to perform a 3-way merge between strings"
-HOMEPAGE="https://github.com/spyder-ide/three-merge
- https://pypi.org/project/three-merge/"
-SRC_URI="https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}-gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="dev-python/diff-match-patch[${PYTHON_USEDEP}]"
-
-BDEPEND="test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
-)"
-
-distutils_enable_tests pytest
diff --git a/dev-python/thrift/metadata.xml b/dev-python/thrift/metadata.xml
index abb484e6dd78..09527b1c7c73 100644
--- a/dev-python/thrift/metadata.xml
+++ b/dev-python/thrift/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>grobian@gentoo.org</email>
- <name>Fabian Groffen</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">thrift</remote-id>
</upstream>
diff --git a/dev-python/thriftpy2/Manifest b/dev-python/thriftpy2/Manifest
index 7de6acd094f8..9aee88453931 100644
--- a/dev-python/thriftpy2/Manifest
+++ b/dev-python/thriftpy2/Manifest
@@ -1 +1,3 @@
-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.4.19.tar.gz 689034 BLAKE2B 556d47b65b0f9801627515ab7e3fc9907af50b43e8197142626e51b8110ffd740285c895e9ee98e6e0bd8074b9e2f4e9811ce309a68d006dc504f80b3ca38ae6 SHA512 a67160e742683ecd4e47007cd4a6a52f78ab3ae492aa4c170f725d25f1a78fb6a0054cab691752b20a43ff855df61207d302af65ae5966ee5c3f961ff1e42650
+DIST thriftpy2-0.4.20.tar.gz 689003 BLAKE2B b7ceb8345e984d6b3524fadff359bb125b0c94900afbfa4c3e64de7034bd816e3fd37fe721b7c35bee0c7fa7a6416ab859c2987cb66ed3fa4a66f6ca06eac952 SHA512 e06b22e1b63df3425eccdd3c83d1154413744ee387c3882d783a5168635087e6e38fd73d24c173e76854c4fe3f57631f4dd59fbb8e5b28cd380dd27d1d51caf3
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 13eb04b44750..000000000000
--- a/dev-python/thriftpy2/thriftpy2-0.4.16.ebuild
+++ /dev/null
@@ -1,47 +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="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}]
- )
-"
-
-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
new file mode 100644
index 000000000000..f4882f38def2
--- /dev/null
+++ b/dev-python/thriftpy2/thriftpy2-0.4.17.ebuild
@@ -0,0 +1,44 @@
+# 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.4.19.ebuild b/dev-python/thriftpy2/thriftpy2-0.4.19.ebuild
new file mode 100644
index 000000000000..7fb9eb1ee949
--- /dev/null
+++ b/dev-python/thriftpy2/thriftpy2-0.4.19.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..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.4.20.ebuild b/dev-python/thriftpy2/thriftpy2-0.4.20.ebuild
new file mode 100644
index 000000000000..732ec5cfd189
--- /dev/null
+++ b/dev-python/thriftpy2/thriftpy2-0.4.20.ebuild
@@ -0,0 +1,56 @@
+# 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..11} )
+
+inherit distutils-r1 flag-o-matic 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
+
+src_compile() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/857105
+ # https://github.com/Thriftpy/thriftpy2/issues/246
+ #
+ # Don't trust this to LTO
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ distutils-r1_src_compile
+}
+
+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/thunarx-python/Manifest b/dev-python/thunarx-python/Manifest
deleted file mode 100644
index 758751831747..000000000000
--- a/dev-python/thunarx-python/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST thunarx-python-0.5.2.tar.bz2 348120 BLAKE2B ddb098857a7411c1ce4dedf8b406cf6583e78f2ca4b012a9e0346c5a7132c40fd9cf279dc5d054ec827028cdc67321a65fab5e9d3912287ea9ed1f0cf4e72248 SHA512 49d009c84d69f0a1938ed6cb46fe04326c7323edecd79f6d9978ce2306fb95f20c901174f1cea31d5e436c85537efcb79c8613be857a3e4143f7b55b895616b6
diff --git a/dev-python/thunarx-python/metadata.xml b/dev-python/thunarx-python/metadata.xml
deleted file mode 100644
index ec857f1cbe4b..000000000000
--- a/dev-python/thunarx-python/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>xfce@gentoo.org</email>
- <name>XFCE Team</name>
- </maintainer>
- </pkgmetadata>
diff --git a/dev-python/thunarx-python/thunarx-python-0.5.2.ebuild b/dev-python/thunarx-python/thunarx-python-0.5.2.ebuild
deleted file mode 100644
index 63e760a0db13..000000000000
--- a/dev-python/thunarx-python/thunarx-python-0.5.2.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit python-single-r1
-
-DESCRIPTION="Python bindings for the Thunar file manager"
-HOMEPAGE="https://goodies.xfce.org/projects/bindings/thunarx-python"
-SRC_URI="https://archive.xfce.org/src/bindings/${PN}/${PV%.*}/${P}.tar.bz2"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-REQUIRED_USE=${PYTHON_REQUIRED_USE}
-
-RDEPEND="
- ${PYTHON_DEPS}
- >=dev-libs/glib-2.30:2
- >=x11-libs/gtk+-3.20:3
- >=xfce-base/thunar-1.7.0
- $(python_gen_cond_dep '
- >=dev-python/pygobject-3.20:3[${PYTHON_USEDEP}]
- ')
-"
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- virtual/pkgconfig
-"
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-python/tifffile/Manifest b/dev-python/tifffile/Manifest
index 7276f9200f9d..e8f02f56abd5 100644
--- a/dev-python/tifffile/Manifest
+++ b/dev-python/tifffile/Manifest
@@ -1 +1,2 @@
-DIST tifffile-2023.1.23.1.gh.tar.gz 324017 BLAKE2B ffc4a329096ac3eb44990635dea4f5d0211564d5a8847795671d3d816148721d3c6fab059514764eb45bc48c8a114382c0a1705cc606d750ef869d49e67b2c85 SHA512 fad8e2f40cc550a83030b29b528566d7b5b9cbe016c9fd04911ab4cca4e8e69523d9b17db83eee018d1ff3005cab0f36762b4a1271859b504c77a0809e07b0be
+DIST tifffile-2024.2.12.gh.tar.gz 344964 BLAKE2B 13b1697258daa6643f87d7d8a44f638789b3182029ac1d97b1695ac9add3bee4f295d1485b35273a031ce17b0c41b5fdb12d43f03765d96960869bb82c78adb8 SHA512 0cb1f33b879047b311d4ba7b8a00164230935bbd1403f33d3a1a44bedf1797e5f4b066fae865ae990da5356c0a868e4a5722f1da36ff77d8cd9b550d58286552
+DIST tifffile-2024.4.18.gh.tar.gz 346262 BLAKE2B d281e14a4bf9f29c81973a3b6bb52205b2657945b41592862a07f306957a5aa3bd8cab40db8ed5872f8544fc293deb247dbc765e94ef2d70bfefa4b5592f4d6d SHA512 bcd7f23979595d1c74a0aabe94429d6952e3a86d135b78eda0219254664a557cab13efad05ce52b9d9b60b96d8f088af7e5cfd0f07f001da5488ad6758a421bf
diff --git a/dev-python/tifffile/tifffile-2023.1.23.1.ebuild b/dev-python/tifffile/tifffile-2023.1.23.1.ebuild
deleted file mode 100644
index 66babf481615..000000000000
--- a/dev-python/tifffile/tifffile-2023.1.23.1.ebuild
+++ /dev/null
@@ -1,60 +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 ~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
-)
diff --git a/dev-python/tifffile/tifffile-2024.2.12.ebuild b/dev-python/tifffile/tifffile-2024.2.12.ebuild
new file mode 100644
index 000000000000..d58751a45db4
--- /dev/null
+++ b/dev-python/tifffile/tifffile-2024.2.12.ebuild
@@ -0,0 +1,57 @@
+# 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/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'
+)
diff --git a/dev-python/tifffile/tifffile-2024.4.18.ebuild b/dev-python/tifffile/tifffile-2024.4.18.ebuild
new file mode 100644
index 000000000000..d58751a45db4
--- /dev/null
+++ b/dev-python/tifffile/tifffile-2024.4.18.ebuild
@@ -0,0 +1,57 @@
+# 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/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'
+)
diff --git a/dev-python/tikzplotlib/Manifest b/dev-python/tikzplotlib/Manifest
deleted file mode 100644
index 3b505fe0be91..000000000000
--- a/dev-python/tikzplotlib/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tikzplotlib-0.10.1.tar.gz 98265 BLAKE2B 7664e702afb38580af78f2b0887000215a5a0c2ef57e4f9ca5d1100bcba257365b89aee805e800e3a9b5a992487c1ee9733088dadc53941405c0055336478130 SHA512 13a750d9929db1d4ce4608a296523be55878c702846b0b339c6c002cbdf4e8f7b1ffea84db612d8932a379fafce9b4fe6ab6ce4325bf780f211cc0b885a15818
diff --git a/dev-python/tikzplotlib/metadata.xml b/dev-python/tikzplotlib/metadata.xml
deleted file mode 100644
index c432fbaf0427..000000000000
--- a/dev-python/tikzplotlib/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>
- <longdescription>tikzplotlib is a Python tool for converting matplotlib figures into PGFPlots (TikZ) figures like for native inclusion into LaTeX documents. The output of tikzplotlib is in PGFPlots, a LaTeX library that sits on top of TikZ and describes graphs in terms of axes, data etc. Consequently, the output of tikzplotlib retains more information, can be more easily understood, and is more easily editable than raw TikZ output.</longdescription>
- <upstream>
- <remote-id type="github">texworld/tikzplotlib</remote-id>
- <remote-id type="pypi">tikzplotlib</remote-id>
- </upstream>
- <stabilize-allarches/>
-</pkgmetadata>
diff --git a/dev-python/tikzplotlib/tikzplotlib-0.10.1.ebuild b/dev-python/tikzplotlib/tikzplotlib-0.10.1.ebuild
deleted file mode 100644
index 67419d0063ef..000000000000
--- a/dev-python/tikzplotlib/tikzplotlib-0.10.1.ebuild
+++ /dev/null
@@ -1,43 +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..10} )
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Convert matplotlib figures into TikZ/PGFPlots"
-HOMEPAGE="
- https://github.com/texworld/tikzplotlib/
- https://pypi.org/project/tikzplotlib/
-"
-SRC_URI="https://github.com/texworld/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- app-text/texlive[extra]
- dev-python/matplotlib[latex,${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/webcolors[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/pytest-codeblocks[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc dev-python/mock
-
-src_test() {
- local -x MPLBACKEND=Agg
- virtx distutils-r1_src_test
-}
diff --git a/dev-python/time-machine/Manifest b/dev-python/time-machine/Manifest
index fe3c9dbbdccc..c04e351318ca 100644
--- a/dev-python/time-machine/Manifest
+++ b/dev-python/time-machine/Manifest
@@ -1 +1,3 @@
-DIST time-machine-2.9.0.gh.tar.gz 28043 BLAKE2B 9a9a521c94b72a7464853661da791b6f57f5155ddc62ffceeb82f808903f4c337e6bf48fe8300bb4f9f5673fd175fd85038a4e80a39e8f3e096c12c27ee790ec SHA512 ecc780a72d279b49d026a8f3f89210cb4c90e02c5a517c08eadbabcb65216a24c603ace39afd76ea1e6ccdef589d5997581d0db7477bb28fe4d1e0510daf17a0
+DIST time-machine-2.13.0.gh.tar.gz 28747 BLAKE2B 88836d2b9ad34c8d256b576ab6b2bfe263232fb50d2e95f13049f84dbc838283811ebc54c5bb68493ef966e64777983ab6bcb7fafccda6dc74e00d3bb6a2108f SHA512 26a852d93633e037585ec8fcd563c86af8d977a87633dbeb66cf23c9ca49ca0ae536bdcdcdf809ee2ab423c197610c630d506bc3bf4f13c373d806cee2d8c598
+DIST time-machine-2.14.0.gh.tar.gz 29270 BLAKE2B 55050879fe221204f14c77a90190c2ef5232e182d281885d60686230365b9249f8e90ec80e7a842d43a2c52b72bf463cd59b4a22fdc8b0cd25c5ad5b0306fc98 SHA512 7bc9d6d53da68c18ccdae1af6282ea482a0758a4fda9acabe9fa39bfe217a57e65b8041ae4436b7cef2c0b39835f3aae9590515d200b9b2962bd0610370e8454
+DIST time-machine-2.14.1.gh.tar.gz 29600 BLAKE2B b118e3a2f08f75cc6cd89181a9e533c89bc6e5312a520b2a854fb8aa7ac59f1570e48a85788261f781ef83f9864380318074724f6eadab9cda7a3374b2322e7d SHA512 42a127e2dc5a86e33896010e6d141fc9248fe685d3477ec71ec8a72315914cea99ae4a4d6623a59fd69505d935d2feadcfd831a7fff5617c3f98a93d48652ecf
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
new file mode 100644
index 000000000000..b7fa55c2e267
--- /dev/null
+++ b/dev-python/time-machine/files/time-machine-2.13.0-backport-pr400.patch
@@ -0,0 +1,252 @@
+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
new file mode 100644
index 000000000000..040dc0489bc5
--- /dev/null
+++ b/dev-python/time-machine/time-machine-2.13.0.ebuild
@@ -0,0 +1,32 @@
+# 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.0.ebuild b/dev-python/time-machine/time-machine-2.14.0.ebuild
new file mode 100644
index 000000000000..462fe2809ad3
--- /dev/null
+++ b/dev-python/time-machine/time-machine-2.14.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_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}]
+"
+
+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..462fe2809ad3
--- /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..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}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/time-machine/time-machine-2.9.0.ebuild b/dev-python/time-machine/time-machine-2.9.0.ebuild
deleted file mode 100644
index 0f892d6ef9fc..000000000000
--- a/dev-python/time-machine/time-machine-2.9.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-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="~amd64 ~ppc ~ppc64 ~riscv"
-
-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 164c257df163..d629eb42d6fa 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
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -24,6 +24,6 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips 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/tiny-proxy/Manifest b/dev-python/tiny-proxy/Manifest
index 4d9159acc16f..8462960b7c5d 100644
--- a/dev-python/tiny-proxy/Manifest
+++ b/dev-python/tiny-proxy/Manifest
@@ -1 +1 @@
-DIST tiny-proxy-0.1.1.gh.tar.gz 14940 BLAKE2B eba17082bf832127c36468db37d9214e45d236c9c1fa7e357e05269df8671f4a06992e03224147642221220aeb89d91479332038e09bf1aa22ce1f0c0316ff20 SHA512 aaf677d18058e6c7c1133398e03d7b0d8b9b4e500fc89174bb3dda1145eb0382492b227f892f672d7a558a30f1d4b92b20eef62922e0e6983f93fcd17850d825
+DIST tiny-proxy-0.2.1.gh.tar.gz 17090 BLAKE2B 971c0f6d4c1624f89ccf0753adf375f34e35be7108251b8acd54fe724989d8e9799ba933c8dc2e53ba9a3b5d603c873ae9556b74d403883627ff51591b0d8111 SHA512 26dcf470fa0d59b4d1abc7ddf8eddc40df7d599ae5e82c8ce788141410f07e94427eb8282a9c9ccb99f39ec19914280849dd86841d92f25f109abf28557449fc
diff --git a/dev-python/tiny-proxy/tiny-proxy-0.1.1.ebuild b/dev-python/tiny-proxy/tiny-proxy-0.1.1.ebuild
deleted file mode 100644
index 765de73d5716..000000000000
--- a/dev-python/tiny-proxy/tiny-proxy-0.1.1.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple proxy server (SOCKS4(a), SOCKS5(h), HTTP tunnel)"
-HOMEPAGE="
- https://github.com/romis2012/tiny-proxy/
- https://pypi.org/project/tiny-proxy/
-"
-SRC_URI="
- https://github.com/romis2012/tiny-proxy/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~loong ppc ppc64 ~riscv x86"
-
-RDEPEND="
- <dev-python/anyio-4.0.0[${PYTHON_USEDEP}]
- >=dev-python/anyio-3.6.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/aiohttp-3.8.1[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.23.0[${PYTHON_USEDEP}]
- >=dev-python/httpx-socks-0.7.4[${PYTHON_USEDEP}]
- >=dev-python/pytest-asyncio-0.18.3[${PYTHON_USEDEP}]
- >=dev-python/trustme-0.9.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/tiny-proxy/tiny-proxy-0.2.1.ebuild b/dev-python/tiny-proxy/tiny-proxy-0.2.1.ebuild
new file mode 100644
index 000000000000..8409f4ab171c
--- /dev/null
+++ b/dev-python/tiny-proxy/tiny-proxy-0.2.1.ebuild
@@ -0,0 +1,39 @@
+# 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="Simple proxy server (SOCKS4(a), SOCKS5(h), HTTP tunnel)"
+HOMEPAGE="
+ https://github.com/romis2012/tiny-proxy/
+ https://pypi.org/project/tiny-proxy/
+"
+SRC_URI="
+ https://github.com/romis2012/tiny-proxy/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/anyio-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/anyio-3.6.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/aiohttp-3.8.1[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.23.0[${PYTHON_USEDEP}]
+ >=dev-python/httpx-socks-0.7.4[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.18.3[${PYTHON_USEDEP}]
+ >=dev-python/trustme-0.9.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/tinycss/metadata.xml b/dev-python/tinycss/metadata.xml
index 73f2cab917ec..64f0c74ea5cd 100644
--- a/dev-python/tinycss/metadata.xml
+++ b/dev-python/tinycss/metadata.xml
@@ -9,5 +9,4 @@
<remote-id type="pypi">tinycss</remote-id>
<remote-id type="github">Kozea/tinycss</remote-id>
</upstream>
- <stabilize-allarches/>
</pkgmetadata>
diff --git a/dev-python/tinycss/tinycss-0.4-r1.ebuild b/dev-python/tinycss/tinycss-0.4-r1.ebuild
index e64b082d4c57..c6b2dae8d2f2 100644
--- a/dev-python/tinycss/tinycss-0.4-r1.ebuild
+++ b/dev-python/tinycss/tinycss-0.4-r1.ebuild
@@ -3,10 +3,11 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A complete yet simple CSS parser for Python"
HOMEPAGE="
@@ -14,7 +15,6 @@ HOMEPAGE="
https://pypi.org/project/tinycss/
https://tinycss.readthedocs.io/en/latest/
"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
@@ -23,6 +23,9 @@ KEYWORDS="amd64 x86"
RDEPEND="
dev-python/lxml[${PYTHON_USEDEP}]
"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
DOCS=( CHANGES README.rst )
@@ -35,6 +38,6 @@ python_prepare_all() {
}
python_test() {
- export TINYCSS_SKIP_SPEEDUPS_TESTS=1
- epytest ${PN}/tests/test_*.py
+ rm -rf tinycss || die
+ epytest --pyargs tinycss
}
diff --git a/dev-python/tinycss2/tinycss2-1.2.1.ebuild b/dev-python/tinycss2/tinycss2-1.2.1.ebuild
index 80a1b6dc8c6d..6e65527eda2a 100644
--- a/dev-python/tinycss2/tinycss2-1.2.1.ebuild
+++ b/dev-python/tinycss2/tinycss2-1.2.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -16,7 +16,6 @@ HOMEPAGE="
https://github.com/Kozea/tinycss2/
https://pypi.org/project/tinycss2/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SRC_URI="
https://github.com/Kozea/tinycss2/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
test? (
@@ -27,7 +26,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="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/webencodings-0.4[${PYTHON_USEDEP}]
diff --git a/dev-python/tld/Manifest b/dev-python/tld/Manifest
index 3acb3a964288..54d915d2e989 100644
--- a/dev-python/tld/Manifest
+++ b/dev-python/tld/Manifest
@@ -1 +1 @@
-DIST tld-0.12.6.tar.gz 358405 BLAKE2B cf7bd68f26507cd4ac1c681705d8c495131a8b3aa64115e0259f7ef33f61c5db4911cc8cb1493e901237d401bd4eff4bda9cd687d19d9e1e275c3d87980069ae SHA512 ff10041178976af97c920a519ce3bb5a0a46f4299c24419db9a0502e89296e2bd66885dac5927e940c3abc22d6b390336916622cab771a57ba1c8f0960de2583
+DIST tld-0.13.gh.tar.gz 443877 BLAKE2B 9f84307ce704500096dd2abff75ead534dbd17b59ea0d3dae84394b791aeee873638e6e224ddd3b5c598293a46ead964ae36022b0c3c7411de7c64096d0c69cc SHA512 87157ca2fc8977a96f6289269015bc5a90f3f033fb8ea96552eb8d00d05a346d8f3c61123a311803aa301c735a510a2c0986364f3b2ae4366e2c34aea15b538d
diff --git a/dev-python/tld/tld-0.12.6.ebuild b/dev-python/tld/tld-0.12.6.ebuild
deleted file mode 100644
index 1a3c41e8bfe3..000000000000
--- a/dev-python/tld/tld-0.12.6.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..10} )
-inherit distutils-r1
-
-DESCRIPTION="Extract the top level domain (TLD) from the URL given"
-HOMEPAGE="https://github.com/barseghyanartur/tld"
-SRC_URI="https://github.com/barseghyanartur/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND="
- test? (
- dev-python/Faker[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests --install pytest
-
-src_prepare() {
- distutils-r1_src_prepare
- sed -i -e '/--cov/d' pytest.ini || die
-}
diff --git a/dev-python/tld/tld-0.13.ebuild b/dev-python/tld/tld-0.13.ebuild
new file mode 100644
index 000000000000..172b1488c2bd
--- /dev/null
+++ b/dev-python/tld/tld-0.13.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Extract the top level domain (TLD) from the URL given"
+HOMEPAGE="
+ https://github.com/barseghyanartur/tld/
+ https://pypi.org/project/tld/
+"
+SRC_URI="
+ https://github.com/barseghyanartur/tld/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/Faker[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+ sed -i -e '/--cov/d' pytest.ini || die
+}
diff --git a/dev-python/tldextract/Manifest b/dev-python/tldextract/Manifest
index bd5bdeccd7e2..17f59e0acca5 100644
--- a/dev-python/tldextract/Manifest
+++ b/dev-python/tldextract/Manifest
@@ -1 +1 @@
-DIST tldextract-3.4.0.tar.gz 111437 BLAKE2B 94a3a77144fcaddebdf2129cea8fd43e971f0ac9b40029c6c1735ee06f499f4bf48823fc61540d99f71fd62192742c10168ef8f25b534eec9e2a04d3879be63a SHA512 6cd6b079c35af62e4f8da67c687630471d1a57ebfab7d982abe411b03fb6673dd238a1f676de5624d13bd2eb42b91ae0a97708e33579217916d88bca4db218db
+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-3.4.0.ebuild b/dev-python/tldextract/tldextract-3.4.0.ebuild
deleted file mode 100644
index 6ff1ff846f77..000000000000
--- a/dev-python/tldextract/tldextract-3.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/filelock[${PYTHON_USEDEP}]
- dev-python/idna[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/requests-file[${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..1f34cc13e3e9
--- /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..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
+
+EPYTEST_IGNORE=(
+ # we don't need release tests, also deps
+ tests/test_release.py
+)
diff --git a/dev-python/tlsh/tlsh-4.8.2.ebuild b/dev-python/tlsh/tlsh-4.8.2.ebuild
index 32069fa93036..0973a0cbb0a7 100644
--- a/dev-python/tlsh/tlsh-4.8.2.ebuild
+++ b/dev-python/tlsh/tlsh-4.8.2.ebuild
@@ -4,7 +4,8 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_EXT=1
inherit distutils-r1
DESCRIPTION="Fuzzy matching library - C++ extension for Python"
diff --git a/dev-python/tokenize-rt/Manifest b/dev-python/tokenize-rt/Manifest
index 40c12e3c1006..3477fdb114de 100644
--- a/dev-python/tokenize-rt/Manifest
+++ b/dev-python/tokenize-rt/Manifest
@@ -1 +1 @@
-DIST tokenize-rt-5.0.0.gh.tar.gz 7235 BLAKE2B d5e5dd3637615c451463d85e63b6d48670ed18de58e111625b106cfc0af2616726d2ff510412decd32db2c67dea5807d5f9b64ecfa902f56fd32b739085698c3 SHA512 03e609b1a951e62fed797a10aad1813d324c96019bdf1ad0e413b278d04395d8c4e0d2f10189309338524d928b33441a1c0141cce922f25b9f8c2764415475f3
+DIST tokenize-rt-5.2.0.gh.tar.gz 7239 BLAKE2B a81251b6b8b336a6b1b1095e0b31456e834196fc2174958299ac293e5fc979dcdd2b4fc9c7e2e231e73fd09e116d0538dadf9436b4efdcf1390b2db9a025a4b8 SHA512 4288d474dfa260dea710bfbf529c722215bf8883360d281f41a456c79d4aa029bff9fa22a89e11d83c4095a43738f0751416a53c7e116a484a32937b58c20ff1
diff --git a/dev-python/tokenize-rt/tokenize-rt-5.0.0.ebuild b/dev-python/tokenize-rt/tokenize-rt-5.0.0.ebuild
deleted file mode 100644
index 2bbfa02d7f94..000000000000
--- a/dev-python/tokenize-rt/tokenize-rt-5.0.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="A wrapper around the stdlib 'tokenize' which roundtrips"
-HOMEPAGE="https://github.com/asottile/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"
-
-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
new file mode 100644
index 000000000000..b5892fd0a2e1
--- /dev/null
+++ b/dev-python/tokenize-rt/tokenize-rt-5.2.0.ebuild
@@ -0,0 +1,25 @@
+# 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 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/toml/Manifest b/dev-python/toml/Manifest
deleted file mode 100644
index cb2d13b7ae5e..000000000000
--- a/dev-python/toml/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST toml-0.10.2-1.tar.gz 23325 BLAKE2B dedab7d08dadca963e62d64e9108e254dd73b78761985faa892792823027befc6473ae02c35c275a216b4544d1af8776afa78e39c63c95eb856e2bccf1de49c4 SHA512 5c706a3ae336e6b29bdce9752b91c677f7610cbcc1af4169cc24779e248031406cd19ac367725b2aa7903e4b1db71fa59255238c0270b2c146fd5d7e12d9a5da
-DIST toml-test-280497fa5f12e43d7233aed0d74e07ca61ef176b.tar.gz 19593 BLAKE2B e9deba7c5d1eea7bd87fcf5e5c74bda4c2b9e9686e597e3ad51516f60eb8d192fb01d052ac57729c6f0851e2715cc6409a904affd637c9b099cabc1b12ad5d52 SHA512 7bd69b8c14f09bf431094b52d988eb233922527719ba5047ff769d2e709c2039fb6fb1c8144e630ad2a58835d19e0e4cc51433a427596d37f8eccb6d73d7e5c0
diff --git a/dev-python/toml/metadata.xml b/dev-python/toml/metadata.xml
deleted file mode 100644
index 12cbe328f8d2..000000000000
--- a/dev-python/toml/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">uiri/toml</remote-id>
- <remote-id type="pypi">toml</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/toml/toml-0.10.2-r1.ebuild b/dev-python/toml/toml-0.10.2-r1.ebuild
deleted file mode 100644
index 36116e0827ce..000000000000
--- a/dev-python/toml/toml-0.10.2-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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-TOML_TEST_VER="280497fa5f12e43d7233aed0d74e07ca61ef176b"
-
-DESCRIPTION="Python library for handling TOML files"
-HOMEPAGE="
- https://github.com/uiri/toml/
- https://pypi.org/project/toml/
-"
-SRC_URI="
- https://github.com/uiri/${PN}/archive/${PV}.tar.gz -> ${P}-1.tar.gz
- test? (
- https://github.com/BurntSushi/toml-test/archive/${TOML_TEST_VER}.tar.gz
- -> toml-test-${TOML_TEST_VER}.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"
-
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- ' python3_{8..10})
- )
-"
-
-DOCS=( README.rst )
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- if use test; then
- mv "${WORKDIR}/toml-test-${TOML_TEST_VER#v}" "${S}/toml-test" || die
- fi
-
- distutils-r1_python_prepare_all
-}
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 87ed4d4fd877..b5d2c5e48ed7 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
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{9..12} 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 8a65a1c1633a..c54478954c55 100644
--- a/dev-python/tomli/tomli-2.0.1-r1.ebuild
+++ b/dev-python/tomli/tomli-2.0.1-r1.ebuild
@@ -5,9 +5,9 @@
EAPI=7
DISTUTILS_USE_PEP517=no
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A lil' TOML parser"
HOMEPAGE="
@@ -17,13 +17,12 @@ HOMEPAGE="
SRC_URI="
https://github.com/hukkin/tomli/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
- https://files.pythonhosted.org/packages/py3/${PN::1}/${PN}/${P}-py3-none-any.whl
- -> ${P}-py3-none-any.whl.zip
+ $(pypi_wheel_url --unpack)
"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos ~x64-macos ~x64-solaris"
+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="
app-arch/unzip
diff --git a/dev-python/tomlkit/Manifest b/dev-python/tomlkit/Manifest
index 4437634f1971..0613bf1a0ac4 100644
--- a/dev-python/tomlkit/Manifest
+++ b/dev-python/tomlkit/Manifest
@@ -1 +1 @@
-DIST tomlkit-0.11.6.tar.gz 188290 BLAKE2B c0fc64177dff2254ab4d377f15bada1093e69ed66f815b04f698359f096b123b256949e871344276e6fcda26e43ac22c505460c4f906505ea9676774cbfb0c5f SHA512 692f2facb18440609b63995f690f4ba29e82d696f5ce612f872499b4a42bb0ab33fcbf52abf36057c25448b3e29f30955dbc7e0ba34f10d21cb9b5d36e9ad9bf
+DIST tomlkit-0.12.4.tar.gz 191162 BLAKE2B 3a5f8f01c7965a6d445fa96d0253d0dad55414bf9cae875fe9d9bc670d5b0a20a76fbf655695396ea188cddcea7ad034a38eed05d85f48c47301a3f23a9c7ded SHA512 b6b1cbb954202a256411388eea46852964bbdd02026086a42eab9107c55b961718398ec504f0289560894e9b46cf1c2f4b7e943267454509f6212e899e161d05
diff --git a/dev-python/tomlkit/tomlkit-0.11.6.ebuild b/dev-python/tomlkit/tomlkit-0.11.6.ebuild
deleted file mode 100644
index b6723d3e9fd5..000000000000
--- a/dev-python/tomlkit/tomlkit-0.11.6.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Style preserving TOML library"
-HOMEPAGE="
- https://github.com/sdispater/tomlkit/
- https://pypi.org/project/tomlkit/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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/pyyaml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_configure() {
- # use setup.py to avoid circular dep with poetry-core
- cat > pyproject.toml <<-EOF || die
- [build-system]
- requires = ["setuptools"]
- build-backend = "setuptools.build_meta"
- EOF
-}
diff --git a/dev-python/tomlkit/tomlkit-0.12.4.ebuild b/dev-python/tomlkit/tomlkit-0.12.4.ebuild
new file mode 100644
index 000000000000..5ac99e35d0a9
--- /dev/null
+++ b/dev-python/tomlkit/tomlkit-0.12.4.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=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/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/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 453d26a330aa..000000000000
--- a/dev-python/toolz/toolz-0.12.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="List processing tools and functional utilities"
-HOMEPAGE="
- https://github.com/pytoolz/toolz/
- https://pypi.org/project/toolz/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 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..111952a712ff
--- /dev/null
+++ b/dev-python/toolz/toolz-0.12.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=setuptools
+PYTHON_COMPAT=( pypy3 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/toposort/Manifest b/dev-python/toposort/Manifest
index e0352e8e82f3..641e7ea9bf0a 100644
--- a/dev-python/toposort/Manifest
+++ b/dev-python/toposort/Manifest
@@ -1 +1 @@
-DIST toposort-1.9.tar.gz 10878 BLAKE2B fc2f6543ae74ea6e448ffe2be4e47438842b5ba95eac2f45fcc8d72e682054af0b80a0d453c5afaebeb1c9881d6874ab16ea523b19aad589545c8aae0b8cf255 SHA512 ec86f59f5e61b6d1c783965095f71693306a83a8b54a0661cddb3c51a5e2f9314075b453a901b5e3664b77d9e047901120622dbc23d642269a9546f41395388a
+DIST toposort-1.10.tar.gz 11132 BLAKE2B 373c9549cb5e64d2636fe8bd67d73a8eeab671243b562654660bc59c2ceddc4196fad3882bd68d873647ddf504a6c90174b5c995dbd7c8e457744b4daceaa099 SHA512 7578706b2b383f4e1c7228aebc2f590ec51953e36d594572d494bc928d4f207da7419a9b662a2f77426347f49d33f355f67f45e28226a7e4546d6c16c743dc4e
diff --git a/dev-python/toposort/toposort-1.10.ebuild b/dev-python/toposort/toposort-1.10.ebuild
new file mode 100644
index 000000000000..e68a027789a6
--- /dev/null
+++ b/dev-python/toposort/toposort-1.10.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Implements a topological sort algorithm"
+HOMEPAGE="
+ https://gitlab.com/ericvsmith/toposort/
+ https://pypi.org/project/toposort/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+python_test() {
+ "${EPYTHON}" test/test_toposort.py -v || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/toposort/toposort-1.9.ebuild b/dev-python/toposort/toposort-1.9.ebuild
deleted file mode 100644
index b42a68d9b06f..000000000000
--- a/dev-python/toposort/toposort-1.9.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} )
-
-inherit distutils-r1
-
-DESCRIPTION="Implements a topological sort algorithm"
-HOMEPAGE="
- https://gitlab.com/ericvsmith/toposort/
- https://pypi.org/project/toposort/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-python_test() {
- "${EPYTHON}" test/test_toposort.py -v || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/tornado/Manifest b/dev-python/tornado/Manifest
index 76ef193658e1..17479fd3986d 100644
--- a/dev-python/tornado/Manifest
+++ b/dev-python/tornado/Manifest
@@ -1 +1 @@
-DIST tornado-6.2.tar.gz 504849 BLAKE2B 18fee464e043e20dcdd5677bc3a72949140a64ce353e09a21242fcade6d8b668517553c649d65e892d9c3fabacea96903d4e42b70676a62759900abc8f4a202f SHA512 157cbeee21bef29ac68b319329e7fc57db4c68dbb5a245e2171b7a28427ebbfe16b745e3bdbdec5912caae5eaa60c3cbbf8830c9c76fec5ffdf025e234468517
+DIST tornado-6.4.tar.gz 498845 BLAKE2B ebcdcfa93490107addfe69f722e2d85058a92fc366b09a4794a4d6e0a93040ef9791095a5a94d21937d4e88dea09521644cf92d0f2c7e98238dc58e6b864a009 SHA512 c063509d4c385e410c63cccdc1e9c66aa2bb739473667ede56cb801b7379b910c8059dec831d609109f3076222b588b257afd960dffa422d7a872867dcdda7c7
diff --git a/dev-python/tornado/files/tornado-6.3.2-ignore-deprecationwarning.patch b/dev-python/tornado/files/tornado-6.3.2-ignore-deprecationwarning.patch
new file mode 100644
index 000000000000..7a6139173faf
--- /dev/null
+++ b/dev-python/tornado/files/tornado-6.3.2-ignore-deprecationwarning.patch
@@ -0,0 +1,12 @@
+https://src.fedoraproject.org/rpms/python-tornado/raw/rawhide/f/Do-not-turn-DeprecationWarning-into-Exception.patch
+--- a/tornado/test/runtests.py
++++ b/tornado/test/runtests.py
+@@ -126,7 +126,6 @@
+ # Tornado generally shouldn't use anything deprecated, but some of
+ # our dependencies do (last match wins).
+ warnings.filterwarnings("ignore", category=DeprecationWarning)
+- warnings.filterwarnings("error", category=DeprecationWarning, module=r"tornado\..*")
+ warnings.filterwarnings("ignore", category=PendingDeprecationWarning)
+ warnings.filterwarnings(
+ "error", category=PendingDeprecationWarning, module=r"tornado\..*"
+
diff --git a/dev-python/tornado/files/tornado-6.3.2-test-timeout-increase.patch b/dev-python/tornado/files/tornado-6.3.2-test-timeout-increase.patch
new file mode 100644
index 000000000000..271880c28469
--- /dev/null
+++ b/dev-python/tornado/files/tornado-6.3.2-test-timeout-increase.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/727934
+--- a/tornado/test/simple_httpclient_test.py
++++ b/tornado/test/simple_httpclient_test.py
+@@ -293,9 +293,9 @@ class SimpleHTTPClientTestMixin(object):
+
+ @skipOnTravis
+ def test_request_timeout(self: typing.Any):
+- timeout = 0.1
++ timeout = 5
+ if os.name == "nt":
+- timeout = 0.5
++ timeout = 10
+
+ with self.assertRaises(HTTPTimeoutError):
+ self.fetch("/trigger?wake=false", request_timeout=timeout, raise_error=True)
diff --git a/dev-python/tornado/tornado-6.2.ebuild b/dev-python/tornado/tornado-6.2.ebuild
deleted file mode 100644
index 376af573e887..000000000000
--- a/dev-python/tornado/tornado-6.2.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_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Python web framework and asynchronous networking library"
-HOMEPAGE="
- https://www.tornadoweb.org/
- https://github.com/tornadoweb/tornado/
- https://pypi.org/project/tornado/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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 ~x64-macos"
-IUSE="examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/pycurl-7.19.3.1[${PYTHON_USEDEP}]
- >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx_rtd_theme \
- dev-python/sphinxcontrib-asyncio
-
-src_prepare() {
- # Disable deprecation-warnings-as-errors because tornado has a lot of stuff deprecated in 3.10
- sed 's/warnings.filterwarnings("error", category=DeprecationWarning, module=r"tornado\\..*")//' \
- -i tornado/test/runtests.py || die
- # broken upstream
- sed -i -e 's:test_multi_line_headers:_&:' \
- tornado/test/httpclient_test.py || die
- # 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
- 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.ebuild b/dev-python/tornado/tornado-6.4.ebuild
new file mode 100644
index 000000000000..f5e0af488e82
--- /dev/null
+++ b/dev-python/tornado/tornado-6.4.ebuild
@@ -0,0 +1,61 @@
+# 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/Manifest b/dev-python/towncrier/Manifest
index 35e0762bd80d..7c628ce9eddc 100644
--- a/dev-python/towncrier/Manifest
+++ b/dev-python/towncrier/Manifest
@@ -1 +1 @@
-DIST towncrier-22.12.0.gh.tar.gz 54670 BLAKE2B b6baf6970cc8a5f798f378ae7c0637184a869c3c72907205c6493786353f1a5f26e1bca0faa7f4685236e3a1fc9d4b2cfe6632f01d36926ae9e74cb188460674 SHA512 6fad515b2368f2c1ee27673080607460949d6651d3c9b9ab106b8e7f0298d0748a4ec1424f73bb7bf8a81eef5b0fa74de6a0b7295f02f02f354f20a99eb30814
+DIST towncrier-23.11.0.gh.tar.gz 63343 BLAKE2B d628ce1ad3f8efc2880ca2321d81ab0b2c40ec6473527c74a12ca48f58dfdc65029f5a9f025f69a3c45ff3b52594728c8e4168b0ce75199794298c941f1dcbaf SHA512 6226ef75c163748872f0f5d60c03629365cf0a942412ca791ea28762a227942d974f8573205551678735380629eadf2bf726478b0ef1d4d1e6ee14b47e25fbae
diff --git a/dev-python/towncrier/towncrier-22.12.0.ebuild b/dev-python/towncrier/towncrier-22.12.0.ebuild
deleted file mode 100644
index 30a541d1ca58..000000000000
--- a/dev-python/towncrier/towncrier-22.12.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
-
-DESCRIPTION="Building newsfiles for your project"
-HOMEPAGE="
- https://github.com/twisted/towncrier/
- https://pypi.org/project/towncrier/
-"
-SRC_URI="
- https://github.com/twisted/${PN}/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 ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/click-default-group[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/incremental[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/incremental[${PYTHON_USEDEP}]
- test? (
- dev-vcs/git
- dev-python/mock[${PYTHON_USEDEP}]
- >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- "${EPYTHON}" -m twisted.trial towncrier ||
- die "tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/towncrier/towncrier-23.11.0.ebuild b/dev-python/towncrier/towncrier-23.11.0.ebuild
new file mode 100644
index 000000000000..427623968ad4
--- /dev/null
+++ b/dev-python/towncrier/towncrier-23.11.0.ebuild
@@ -0,0 +1,55 @@
+# 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="Building newsfiles for your project"
+HOMEPAGE="
+ https://github.com/twisted/towncrier/
+ https://pypi.org/project/towncrier/
+"
+SRC_URI="
+ https://github.com/twisted/${PN}/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 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/click-default-group[${PYTHON_USEDEP}]
+ dev-python/incremental[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ dev-python/incremental[${PYTHON_USEDEP}]
+ test? (
+ dev-vcs/git
+ >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ # unbundle click-default-group, sigh
+ rm src/towncrier/click_default_group.py || die
+ sed -i -e '/click_default_group/s:[.]::' src/towncrier/_shell.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ "${EPYTHON}" -m twisted.trial towncrier ||
+ die "tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/tox/Manifest b/dev-python/tox/Manifest
index 3e22d1282d06..197638f3473d 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.3.5.gh.tar.gz 298866 BLAKE2B 86f6d76d2600f6acc3ac02f0998e818acf053991b3a2e89c3c206d36a32f1427f14ba2e5524124172a353c51d4fab8dfd7161b0d2d437f80cfc7b554befcc91c SHA512 18347306857c616801fc0975dff94fcd5097dc16741a0fdd0c885d4f43bbc8620a419b53fd8a5c97b8f80220ba6a2d3911e42b42c767233260337152784b732b
-DIST tox-4.4.2.gh.tar.gz 303341 BLAKE2B 812394e15996b04138e2a8167b3d332b48217c5ecfb807d8ed77ff106d8ad31cfc6b43e07737dec39e1deba7165aa7778471894823b0dbe795b1ccddd2396602 SHA512 1e5b8f025c93bea5b9071d5cfcb4e4e68f1925e7b70c4c838b9f4ba70f8f077ed752176c2a7349b96d125842312c4fa8ccbd23d79665ba46667f4b408bf58f78
+DIST tox-4.14.2.tar.gz 178515 BLAKE2B 812a4e0ffe218c5799a5bdf76cc5f1f99f60c7de464953349283e3951c91aded247941cb173bfdff670c9c079b9efb3645220ff7126b7e0cf341071d561a375b SHA512 45bbd3f8d00eee05158452295230321947ec16a8bfff43e84ea9825d514976526f3889709255ed042cfb7a7ebfed020707cfc2d25b69ce90c148f4472092350d
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 5df435fb9f9d..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.14.2.ebuild b/dev-python/tox/tox-4.14.2.ebuild
new file mode 100644
index 000000000000..fc92d9c5ac96
--- /dev/null
+++ b/dev-python/tox/tox-4.14.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_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 ~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
+ )
+
+ [[ ${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
+}
diff --git a/dev-python/tox/tox-4.3.5.ebuild b/dev-python/tox/tox-4.3.5.ebuild
deleted file mode 100644
index 86ff7b745303..000000000000
--- a/dev-python/tox/tox-4.3.5.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/_}
-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
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~riscv"
-
-RDEPEND="
- >=dev-python/cachetools-5.2.1[${PYTHON_USEDEP}]
- >=dev-python/chardet-5.1[${PYTHON_USEDEP}]
- >=dev-python/colorama-0.4.6[${PYTHON_USEDEP}]
- >=dev-python/filelock-3.8.2[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.6[${PYTHON_USEDEP}]
- >=dev-python/pluggy-1[${PYTHON_USEDEP}]
- >=dev-python/pyproject-api-1.5[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
- >=dev-python/virtualenv-20.17.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/hatch-vcs-0.3[${PYTHON_USEDEP}]
- test? (
- dev-python/build[${PYTHON_USEDEP}]
- >=dev-python/distlib-0.3.6[${PYTHON_USEDEP}]
- >=dev-python/flaky-3.7[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.9.4[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- >=dev-python/pytest-xdist-3.1[${PYTHON_USEDEP}]
- >=dev-python/re-assert-1.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/time-machine-2.8.2[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-src_prepare() {
- # the minimal bounds in tox are entirely meaningless and new packaging
- # breaks setuptools
- sed -i -e '/packaging/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
- )
-
- epytest
-}
diff --git a/dev-python/tox/tox-4.4.2.ebuild b/dev-python/tox/tox-4.4.2.ebuild
deleted file mode 100644
index 3f569fd7734b..000000000000
--- a/dev-python/tox/tox-4.4.2.ebuild
+++ /dev/null
@@ -1,95 +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} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/_}
-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
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~riscv"
-
-RDEPEND="
- >=dev-python/cachetools-5.2.1[${PYTHON_USEDEP}]
- >=dev-python/chardet-5.1[${PYTHON_USEDEP}]
- >=dev-python/colorama-0.4.6[${PYTHON_USEDEP}]
- >=dev-python/filelock-3.8.2[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.6[${PYTHON_USEDEP}]
- >=dev-python/pluggy-1[${PYTHON_USEDEP}]
- >=dev-python/pyproject-api-1.5[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
- >=dev-python/virtualenv-20.17.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/hatch-vcs-0.3[${PYTHON_USEDEP}]
- test? (
- dev-python/build[${PYTHON_USEDEP}]
- >=dev-python/distlib-0.3.6[${PYTHON_USEDEP}]
- >=dev-python/flaky-3.7[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.9.4[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- >=dev-python/pytest-xdist-3.1[${PYTHON_USEDEP}]
- >=dev-python/re-assert-1.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/time-machine-2.8.2[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-src_prepare() {
- # the minimal bounds in tox are entirely meaningless and new packaging
- # breaks setuptools
- sed -i -e '/packaging/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
-}
diff --git a/dev-python/tpm2-pytss/Manifest b/dev-python/tpm2-pytss/Manifest
index 589b1dd23ffb..e52433cd8399 100644
--- a/dev-python/tpm2-pytss/Manifest
+++ b/dev-python/tpm2-pytss/Manifest
@@ -1 +1 @@
-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
diff --git a/dev-python/tpm2-pytss/tpm2-pytss-2.1.0.ebuild b/dev-python/tpm2-pytss/tpm2-pytss-2.1.0.ebuild
deleted file mode 100644
index f90a1dc9aa96..000000000000
--- a/dev-python/tpm2-pytss/tpm2-pytss-2.1.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 TSS"
-HOMEPAGE="
- https://pypi.org/project/tpm2-pytss
- https://github.com/tpm2-software/tpm2-pytss
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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}]"
-
-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..aa01cc807256
--- /dev/null
+++ b/dev-python/tpm2-pytss/tpm2-pytss-2.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_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}]
+"
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+distutils_enable_tests pytest
diff --git a/dev-python/tqdm/Manifest b/dev-python/tqdm/Manifest
index 9be99bd87782..0ac73517caa8 100644
--- a/dev-python/tqdm/Manifest
+++ b/dev-python/tqdm/Manifest
@@ -1 +1 @@
-DIST tqdm-4.64.1.tar.gz 169599 BLAKE2B 4c48f647beb46f22e3c065e2e9c1dc29755c74a2fd29cb8ad8b0dfeab529499d0fbca9296d06453012b3bbf9f9870f95da5e2f37f4c8ba29a71cbee3bd15116b SHA512 bc7ab34145722229737d25d87895c8760b82271c345e1174c83f5896cc893f92a27901d83575472ad124329acdad69bd21e7d68e79aeeefb0e66c83b11989d18
+DIST tqdm-4.66.2.tar.gz 169462 BLAKE2B 57a1e5895ed2e1f99246fd6bdfc08fb75a24451e358bbf38324cdcfe35559b6748dbe63dcdaf65024b12165daa404c98d5b6db81673e7d0f930142cab1b623d7 SHA512 49abd9006ca7c8672835b202e4e722602035a0e21723337b4227e114d6d50b678edb6c5f2b0cf4e6741eae5e86551ba59233f87989f6b69bb4d4414d5a3c80e5
diff --git a/dev-python/tqdm/tqdm-4.64.1.ebuild b/dev-python/tqdm/tqdm-4.64.1.ebuild
deleted file mode 100644
index 71515eaefc89..000000000000
--- a/dev-python/tqdm/tqdm-4.64.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=( pypy3 python3_{9..11} )
-
-inherit bash-completion-r1 distutils-r1
-
-DESCRIPTION="Add a progress meter to your loops in a second"
-HOMEPAGE="
- https://github.com/tqdm/tqdm/
- https://pypi.org/project/tqdm/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~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.2.ebuild b/dev-python/tqdm/tqdm-4.66.2.ebuild
new file mode 100644
index 000000000000..17fcf05d9ae5
--- /dev/null
+++ b/dev-python/tqdm/tqdm-4.66.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=( 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/traitlets/Manifest b/dev-python/traitlets/Manifest
index e54290562a4c..e2c37411411d 100644
--- a/dev-python/traitlets/Manifest
+++ b/dev-python/traitlets/Manifest
@@ -1,2 +1 @@
-DIST traitlets-5.8.0.tar.gz 149460 BLAKE2B 4e5d0344e2c6a2236202875708b28e2966cc8c9ee365ece423aa091dcbc9a3215c236ee63c5e88cf72a3ef9873671fadd83953e700e613360da90da4954b065d SHA512 e65efb5c52940bc2b12e64c932d55c3e5f7b7a3d5cbd49b3c7cbae972ac22e3c2b374f5a35f7c685e7f9ecb9c0b697e626ee942dc6f7f281c9b7857b9a4487d8
-DIST traitlets-5.8.1.tar.gz 149641 BLAKE2B 8939bee76d317f7fb0fc8ad2ded1bc056262de5000d625fd6e318289dea6af4982a2aacb0f25c536485defb35dab983bba1402c6ae7ab907ec8ca993b862afa2 SHA512 3840c9b1fba62610d52c979d5159291ae5d774ecefb729ef79765e61b4cba0128469a0b16991cf06649dd9afe5c4afc692e4aaeb3ec5f095617517882de369ef
+DIST traitlets-5.14.2.tar.gz 161435 BLAKE2B 63ffb85bb857f67bf986051a595294cc3ab541a9e410e4757d3d42c616f8605ca547f37f7e476b855e2060b5c8bef111bd5b0abc5a7e3d30f969802d94480b40 SHA512 44300ef05acfb243abd3005ab23699299fbe12a70e1aa88e05ffe3d5ef7e3e35107bf6bf55b652cb011e47e7e24191c1ca7967d9f0288078fda329be7107c771
diff --git a/dev-python/traitlets/traitlets-5.14.2.ebuild b/dev-python/traitlets/traitlets-5.14.2.ebuild
new file mode 100644
index 000000000000..1eabacf54469
--- /dev/null
+++ b/dev-python/traitlets/traitlets-5.14.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=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.8.0.ebuild b/dev-python/traitlets/traitlets-5.8.0.ebuild
deleted file mode 100644
index 4917b48cf534..000000000000
--- a/dev-python/traitlets/traitlets-5.8.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=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A configuration system for Python applications"
-HOMEPAGE="
- https://github.com/ipython/traitlets/
- https://pypi.org/project/traitlets/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-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 -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_mock
-}
diff --git a/dev-python/traitlets/traitlets-5.8.1.ebuild b/dev-python/traitlets/traitlets-5.8.1.ebuild
deleted file mode 100644
index 771e0b78c3ba..000000000000
--- a/dev-python/traitlets/traitlets-5.8.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
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A configuration system for Python applications"
-HOMEPAGE="
- https://github.com/ipython/traitlets/
- https://pypi.org/project/traitlets/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-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 -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_mock
-}
diff --git a/dev-python/transitions/transitions-0.9.0.ebuild b/dev-python/transitions/transitions-0.9.0.ebuild
index 308582c0f8e8..e2e2b36fea8f 100644
--- a/dev-python/transitions/transitions-0.9.0.ebuild
+++ b/dev-python/transitions/transitions-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=( python3_{9..11} )
+DISTUTILS_USE_PEP517="setuptools"
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -17,7 +17,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 ~arm64 x86"
IUSE="examples"
RDEPEND="
diff --git a/dev-python/translate-toolkit/Manifest b/dev-python/translate-toolkit/Manifest
index f2d20869d820..d3ddeb988efd 100644
--- a/dev-python/translate-toolkit/Manifest
+++ b/dev-python/translate-toolkit/Manifest
@@ -1,5 +1 @@
-DIST translate-3.7.4.gh.tar.gz 1153973 BLAKE2B 55fd5d8f8d9c53d3aabaaece54272650fc412c778cbbc86d83b391946aebb627c7ad3dd8e10d5bc0bd6380f8396fd5c373a47d9323365886a50299f392238b4c SHA512 0eb93712de9fd7324e0e99cd31996694356452df51ac9f081f27f7bf15391e9630d4b042e2af4ca5b06d43d92f35cfd8806f18ad936c293bd08bdd465b09789e
-DIST translate-3.8.0.gh.tar.gz 1155430 BLAKE2B 53b9964373c49d2eaaa11f13c0a80aefef8572077561fbc2666b5c4f2f7b7731cda9ef665b0f077a84237bb7ccc6251b23308c18672d6397b08a6a64e91426bb SHA512 9ebacfa76e16e179cb000e9f60b1f91ddacf70644764d215df43c55876bc684c6e4c2c1d52e2c1aa00c6e757f87167f04ee7dac7ce996c5b9d3d39aff4bb7484
-DIST translate-3.8.1.gh.tar.gz 1157283 BLAKE2B fffe95aa8d874a98cb6bc45a37ae03752ba9903b151ba894ca4bcaff48fbec524fadef4133b2bdf0c65b0d834c094bd6897d7ecca33ce00ef89840d1eb4fcf81 SHA512 a7739f0ddd64677e8a5236f017b9a36b7c4c2ea7b3710ffcae5dea5e738049b12f77a1b7cb6755712bdc55184258fb80e48ffa082abce886322614049d68dca9
-DIST translate-3.8.2.gh.tar.gz 1157429 BLAKE2B 3e611d2f1843fefd0d335a1f9a307b4239ab634499324631dd678a79c28ee17d909be621a0e0e00950ab97ea1dd2a46682f45f713895db85f62feacee8cbeef6 SHA512 3875a711dc7d070d4d857304848bd454fab0c5f78bc6722da4a905c21fa7a95d8b9f165397ea3c0e82216f312ecdd9ee0763da8a58338c51853d526b5956895b
-DIST translate-3.8.3.gh.tar.gz 1157587 BLAKE2B 4dc8ca9cb7f0040364ceeb6fae47d9189642e8383fb1c808713aeb82452690ffe5957c63d649994eae486efaa51aee664fa7b0bb199036d869a87d7a0bf21806 SHA512 ad5a814cc03ed0d41aeac60bea72133fcd47470ab254849647d674bc00b71f2afe1c0956891decc6906fafbd07c4e3d5efcf4212c0e449f3fb3fb4fdbee9aab8
+DIST translate-3.12.2.gh.tar.gz 1202828 BLAKE2B fdfc6ea91d0e0fe9f36e1352247463fe04ff3f4cdd13dd969077ccf0dde984250303872f6bb605dcd1628a1089d81dd98b36dfd68e92c3030c740d65899a70ba SHA512 7488f45521f1744d8d457ce5f74a4955a0e4468af8b3f5be06410667f2c1e52a3dacd3b959330e6c2eb5b3a443c1e2c761538896352576f5090ce27dbfc8edab
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.7.4.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.7.4.ebuild
deleted file mode 100644
index b13315e59e23..000000000000
--- a/dev-python/translate-toolkit/translate-toolkit-3.7.4.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-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/pycountry-19.8.18[${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}] )
-"
-BDEPEND="
- test? ( dev-python/phply[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_tests pytest
-
-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'
- # Apparently a change in line wrapping x_x
- translate/storage/test_cpo.py::TestCPOFile::test_wrap_gettext
- )
- local EPYTEST_IGNORE=(
- # unpackaged fluent.*
- translate/storage/test_fluent.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
-
- # translate/storage/test_mo.py needs 'pocompile'
- distutils_install_for_testing
- epytest
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- 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
-
- python_optimize
-}
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.8.0.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.8.0.ebuild
deleted file mode 100644
index 5628bcd1f693..000000000000
--- a/dev-python/translate-toolkit/translate-toolkit-3.8.0.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-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/pycountry-19.8.18[${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}] )
-"
-BDEPEND="
- test? ( dev-python/phply[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_tests pytest
-
-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'
- # Apparently a change in line wrapping x_x
- translate/storage/test_cpo.py::TestCPOFile::test_wrap_gettext
- )
- local EPYTEST_IGNORE=(
- # unpackaged fluent.*
- translate/storage/test_fluent.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
-
- # translate/storage/test_mo.py needs 'pocompile'
- distutils_install_for_testing
- epytest
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- 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
-
- python_optimize
-}
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.8.1.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.8.1.ebuild
deleted file mode 100644
index 5628bcd1f693..000000000000
--- a/dev-python/translate-toolkit/translate-toolkit-3.8.1.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-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/pycountry-19.8.18[${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}] )
-"
-BDEPEND="
- test? ( dev-python/phply[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_tests pytest
-
-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'
- # Apparently a change in line wrapping x_x
- translate/storage/test_cpo.py::TestCPOFile::test_wrap_gettext
- )
- local EPYTEST_IGNORE=(
- # unpackaged fluent.*
- translate/storage/test_fluent.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
-
- # translate/storage/test_mo.py needs 'pocompile'
- distutils_install_for_testing
- epytest
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- 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
-
- python_optimize
-}
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.8.2.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.8.2.ebuild
deleted file mode 100644
index 5628bcd1f693..000000000000
--- a/dev-python/translate-toolkit/translate-toolkit-3.8.2.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-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/pycountry-19.8.18[${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}] )
-"
-BDEPEND="
- test? ( dev-python/phply[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_tests pytest
-
-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'
- # Apparently a change in line wrapping x_x
- translate/storage/test_cpo.py::TestCPOFile::test_wrap_gettext
- )
- local EPYTEST_IGNORE=(
- # unpackaged fluent.*
- translate/storage/test_fluent.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
-
- # translate/storage/test_mo.py needs 'pocompile'
- distutils_install_for_testing
- epytest
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- 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
-
- python_optimize
-}
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.8.3.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.8.3.ebuild
deleted file mode 100644
index 5628bcd1f693..000000000000
--- a/dev-python/translate-toolkit/translate-toolkit-3.8.3.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-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/pycountry-19.8.18[${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}] )
-"
-BDEPEND="
- test? ( dev-python/phply[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_tests pytest
-
-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'
- # Apparently a change in line wrapping x_x
- translate/storage/test_cpo.py::TestCPOFile::test_wrap_gettext
- )
- local EPYTEST_IGNORE=(
- # unpackaged fluent.*
- translate/storage/test_fluent.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
-
- # translate/storage/test_mo.py needs 'pocompile'
- distutils_install_for_testing
- epytest
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- 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
-
- python_optimize
-}
diff --git a/dev-python/tree-sitter/Manifest b/dev-python/tree-sitter/Manifest
index 2f05eae55caa..53cafe0a6813 100644
--- a/dev-python/tree-sitter/Manifest
+++ b/dev-python/tree-sitter/Manifest
@@ -1,3 +1,17 @@
DIST tree-sitter-0.20.1.gh.tar.gz 22013 BLAKE2B 961619ab28b71c4051708695f245246e9c9197987c3ce7f162c87af1cfeb2ae378301cce160c071d4df872124274c7984bcaf938c611a91f45515c44cea53e5a SHA512 d6db28fcfb0ea46840ae863a625ef1d8794015b147137e8ef1e113ea6d04e2b87a3bd44dcabe6e41a65230b8da09ce0563a5d9d5aeac30d279547a9085720da3
+DIST tree-sitter-0.20.4.gh.tar.gz 36177 BLAKE2B 617b649c33c73b313034269db7adb7eaf7294195d7c7eaf91182db6844111877fc9745f31185af1c6f2406fad3d0379c4776f76bfb6c43037be918fd34cef12a SHA512 28a2042fa9f7ed43202548b9844126383b36796650e1eb815c138a25538dae12b16512c3cd45f02fa99b32a29c8c7257bb84d901da1e5ebbf6445e3778d7dfa1
+DIST tree-sitter-0.21.0.gh.tar.gz 38263 BLAKE2B 27c1b52c40e94368c66e222fbc1f5e64734d7d9243e0b76d9607edebaee80211f228323db23cd83c6bc338e7d933a28be8eff13f7ee49495c282d8e9afed4bfb SHA512 f62896edebcb305d1216e540d4a10a2622228b12b1f969dd9722e2d56615f05aea4e681b6d933beaeed52ce59d36641c80c9a4a1ac79b038fb2a75e079987231
+DIST tree-sitter-embedded-template-0.20.0.tar.gz 11679 BLAKE2B 552c64a499b80f1648cd568fd87d5f2774a28cb3d2a61bfc0ec1f9a73910df41921e06c8f94ac5500a3a5b7668a2b8fe641b2ecf13a9b06b7a119daeef4e3b1a SHA512 1c4a63f85fae1ebb9fa90674a4c27d4402ae0957268faa08dd77c5ec6103720c80befd009d04090a80d994377676b103e2efcc25bd291186efc0c1f4962be086
+DIST tree-sitter-embedded-template-6d791b897ecda59baa0689a85a9906348a2a6414.tar.gz 12420 BLAKE2B 9b9c6dd135cef4490e145657c5eeeb1fd470faee3846007638d8247daf07227029c6e7e323a0ed30c5cf6d35602be6bfb62dc1c22076fd4a0e76b161d55cca38 SHA512 7744852711cb1659607298fa373ce3ef79de3212ff55c0fb4e9aebcb715548934065ee3b5b12e9d08169a6207879e154a94c9de8bff892c32729c35d49964736
+DIST tree-sitter-html-0.20.0.tar.gz 26098 BLAKE2B 524aed631fa7a2e6da59fae05af99b74019222d7c93c44f294af5f36c7f2c8582c847324bcef3b6bdc719e5fde1d015bb2633a81d3123eb1120ba0909282af28 SHA512 fa688d8c5487d894ff9bfdd549095cc9bf01dbf667cc3f05c07a1d10343178666802deae79ad1040866ba74d26bf415814bb5324632ce0ea8c1b4c663252e649
+DIST tree-sitter-html-b5d9758e22b4d3d25704b72526670759a9e4d195.tar.gz 26609 BLAKE2B 223fe82ea18bf61b2b7ec664ad68ec1f324c9e0a1c78578db6063b9037c62be2bb762a9e47d0af81f7f244889f1f72683da3751c1d1c609c4a27fdcd0dc008b8 SHA512 15fd961c18d55a20487f48ef6a6f1822f9033baba8995f2e00cf8db1750036d69e19607f578fe90676aab30a173874969c69b91605b6073eb298f32f5f24f81d
DIST tree-sitter-javascript-0.19.0.tar.gz 257637 BLAKE2B dc28bcbb003d623f5930dbf575f94f51c00eb008a77ba080f05e730fae63fb24d29c02ebb62d179a59d0f9cb8a02dbd3971440f299d952b1ec29b25bc6d21e34 SHA512 ef842787742e76d2534528ec710800df91958feaa4ba351558b5315f58a4bd85c729d088d139e15e0395726a690a97c05e03846c9176af0fd482777ae57087ed
+DIST tree-sitter-javascript-0.20.1.tar.gz 371027 BLAKE2B 5bd9b11f1e10ff37950b2142031bebd3b5f6111818a21bf5a7d97a8a27a5340bd09cd139d76846141ed64a824f82f1e1394b90d8622192524d7db9a02ed95223 SHA512 5341311b419cf763c0a6d23348eba0e38b417ba07c2def341027223347d850c28b86db6add136dbf73cd5296133823a4548493ee649e09247dfbe5bcbaaab76d
+DIST tree-sitter-javascript-de1e682289a417354df5b4437a3e4f92e0722a0f.tar.gz 396570 BLAKE2B d80cecb070bd1c82737ee1d38fff293ac4c96fde02563ecc910d30c920b902bd5c25a7ac50585f8cb7a26203d98f4a9e6feeebd4ac0d54bede9486ff642e03be SHA512 4a509a886ebeae0d960360113aff89fb56090f1fe4bb5a7866952736a04838a8b6421cc7d19473acc48b135bca4615325c59c0f0f7f3734f23a78fff9cc2050e
+DIST tree-sitter-json-0.20.2.tar.gz 15647 BLAKE2B 524933bf7af4df87d78497912c7865c20b2cc3e9b099401aac612c8c6d382fbc8f8704515abcb1e579fbac7734d23545f91ac7600e978a2924567998e5166834 SHA512 511376b7be02c624bc48b0a46dd937f1a5d6def3d2a15a7b61cf71b846ecf98ef8af93f05f861152270ea0dcacc18940f8c25bfbad69e9d5c520485d25dab7f5
+DIST tree-sitter-json-3b129203f4b72d532f58e72c5310c0a7db3b8e6d.tar.gz 15580 BLAKE2B d31b38f959fed785e8f26782e7de3da94502cd3c65de2caf4ad0621287d80e95dcc317b4f224461fa70b59f7a8ca933a235bdffbbcc1d9ca8d7cc0b31b3b2862 SHA512 90dd3e757d384d1b95cec892c5b465a0413ba61df35669fd7afc47037596c8d6b72b4f0fd9a39512ebda0d5d078ce7a408455ae11e535591e1515740cdcf9f6f
DIST tree-sitter-python-0.19.0.tar.gz 129336 BLAKE2B 8a37b0d74ab89aa56d7164bd38ac527b7b9676cafd8f53faaee3d10316f91decd30c02078b1bb785a474615ae58e6edba1b28bc3311e6ff094435e5f53d64cd6 SHA512 df7c72f988a62af0774df1b3a60c86397725aaeb1e2ffaa9b1295ab22eec09bffaf391cad20fb0d08a20914b22af430c2248c26cad179fd68c9f2b32419c0b60
+DIST tree-sitter-python-0.20.4.tar.gz 249840 BLAKE2B 563895c46ca1de400d51168473cceaed61b3df486cbf9f33ae9f63acc16268b9147917f0bc0f18d3c8cad0ab0684b4c51900a7e1c6b898735621676353630650 SHA512 2cfd327a1c0033ebb5bc1a4efe4f8b7a776ad45da6b12ad3d496fe3500e2a99ac0ecefbc6eec81d724bcdb060a0ebb8a24496dee23c83c7802e0226f495751d3
+DIST tree-sitter-python-03e88c170cb23142559a406b6e7621c4af3128f5.tar.gz 272632 BLAKE2B 72f2e7f48456bad7b495605171c1c5ed3aa2790e832a4bc152ef522ee2ce210a922f7d38ad1154c58a8c621f81739071ab3404135dbb79a12ba28ca7c97ff3c7 SHA512 7ed72e6ad464935423aaca1a829c51eefd4a4b5651eeda4b7f1ed2a67ec4088f17267796872a1e1cf5666fc8a920c2b1763a9cb4cd82924ee7214e01d7fe8ab8
+DIST tree-sitter-rust-0.20.4.tar.gz 358924 BLAKE2B 16c7918d352163ebb866f34865c68f5d9e19bbc3ffcec0f0c61ba38a8c828cee3eb50c97ddaea01d7575e23496bca18dc5161daee8bbdaa075ba75de608be999 SHA512 f1b2e9537286921056eda4e96faa9f61131b9ca5684e7ab8aa7bd07e46d91e5eab18e6e292cfad7cdcb7ba195e80f7f1e35f04992cb8011bbd29dd2d95116f9d
+DIST tree-sitter-rust-3a56481f8d13b6874a28752502a58520b9139dc7.tar.gz 419237 BLAKE2B 681b9656c872bcd15abbf11923d07df61b80b36b2972461a29f249dc53915e6d18a6dfdc65d71c863f7b38a27c8b3a47376f590d86afa44caa71f103e710fed5 SHA512 a8ce10080b984aa469d952ff8e862165676e10dc30c3d1762f7141d9fe83734aec3cb92c48552cb8f24575b538dd53fe0a80f1337f5d0d4c8767dd6bf564143e
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/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
new file mode 100644
index 000000000000..f7fa52853dbd
--- /dev/null
+++ b/dev-python/tree-sitter/tree-sitter-0.20.1-r1.ebuild
@@ -0,0 +1,64 @@
+# 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.20.1.ebuild b/dev-python/tree-sitter/tree-sitter-0.20.1.ebuild
deleted file mode 100644
index a5aa7ded1987..000000000000
--- a/dev-python/tree-sitter/tree-sitter-0.20.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_{9..11} )
-
-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"
-
-RDEPEND="dev-libs/tree-sitter:="
-DEPEND="${RDEPEND}"
-
-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.20.4.ebuild b/dev-python/tree-sitter/tree-sitter-0.20.4.ebuild
new file mode 100644
index 000000000000..504c48453be6
--- /dev/null
+++ b/dev-python/tree-sitter/tree-sitter-0.20.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_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+# If you get failures from using the latest, check the language used for
+# the failing test(s) and roll back the individual fixtures one-by-one.
+declare -A TEST_FIXTURES=(
+ ["embedded-template"]="0.20.0"
+ ["html"]="0.20.0"
+ ["javascript"]="0.20.1"
+ ["json"]="0.20.2"
+ ["python"]="0.20.4"
+ ["rust"]="0.20.4"
+)
+
+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/v${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"
+
+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 fixture
+ for fixture in "${!TEST_FIXTURES[@]}" ; do
+ mv "tree-sitter-${fixture}-${TEST_FIXTURES[${fixture}]}" "${S}/tests/fixtures/tree-sitter-${fixture}" || die
+ done
+
+ # In 0.20.4, this test has a comment saying it's broken, and changing
+ # tree-sitter-python (grammar) versions doesn't help, so presumably
+ # newer dev-libs/tree-sitter broke it. Revisit on a newer version.
+ sed -i -e 's/def test_point_range_captures/def _test_point_range_captures/' "${S}/tests/test_tree_sitter.py" || die
+ fi
+}
+
+src_test() {
+ rm -r tree_sitter || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/tree-sitter/tree-sitter-0.21.0-r1.ebuild b/dev-python/tree-sitter/tree-sitter-0.21.0-r1.ebuild
new file mode 100644
index 000000000000..38e748bf24d6
--- /dev/null
+++ b/dev-python/tree-sitter/tree-sitter-0.21.0-r1.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/treq/Manifest b/dev-python/treq/Manifest
index 8da39867802d..3a6265aa8f4b 100644
--- a/dev-python/treq/Manifest
+++ b/dev-python/treq/Manifest
@@ -1 +1 @@
-DIST treq-22.2.0.tar.gz 72922 BLAKE2B ab4637c801e5e777f81f6e6a6e12e36ef47e052a4103eb70bf4e10d3fb44b60f144f32734625b4babb375acc96e3cad1895634d3d2fc08ac3095769180e65328 SHA512 465a02481a51ac246ac85f561f2e7a59d97aeeda9f0953dd83678ff836802a187a6aedcce830a9e3095a9c72227bd06113610c3be0967f1362a645a31278bde0
+DIST treq-23.11.0.tar.gz 74450 BLAKE2B 0e10b070e1623b1aaaaf8ce53c98d29a44e9e5e76a84d6004e21cac74564cbb4b22c4015b4d999967ee519f6356016d3cb3fd8304df68967ec46dd2c1005d3ee SHA512 bf62373f51a0552e040a628c86fe0f8d136ab5dfefaa2fa46d9ab173a58c20c0211f94370561e07fafb7da87140e88c10cf336ff7a61e5b3fc1a47fd1193cc27
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-22.2.0-r1.ebuild b/dev-python/treq/treq-22.2.0-r1.ebuild
deleted file mode 100644
index f0c6ca103b9f..000000000000
--- a/dev-python/treq/treq-22.2.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A requests-like API built on top of twisted.web's Agent"
-HOMEPAGE="
- https://github.com/twisted/treq/
- https://pypi.org/project/treq/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/attrs[${PYTHON_USEDEP}]
- >=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}]
- )
-"
-BDEPEND="
- test? (
- dev-python/httpbin[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs
-
-src_prepare() {
- # fix relative path for docs generation
- sed -e "s@('..')@('../src')@" -i docs/conf.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- "${EPYTHON}" -m twisted.trial treq || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/treq/treq-23.11.0.ebuild b/dev-python/treq/treq-23.11.0.ebuild
new file mode 100644
index 000000000000..d748ffee03d0
--- /dev/null
+++ b/dev-python/treq/treq-23.11.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 requests-like API built on top of twisted.web's Agent"
+HOMEPAGE="
+ https://github.com/twisted/treq/
+ https://pypi.org/project/treq/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/attrs[${PYTHON_USEDEP}]
+ >=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}]
+ )
+"
+BDEPEND="
+ dev-python/incremental[${PYTHON_USEDEP}]
+ test? (
+ dev-python/httpbin[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs
+
+src_prepare() {
+ # fix relative path for docs generation
+ sed -e 's@("..")@("../src")@' -i docs/conf.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ "${EPYTHON}" -m twisted.trial treq || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/trimesh/Manifest b/dev-python/trimesh/Manifest
index 1ee596e22fed..c59324eba95d 100644
--- a/dev-python/trimesh/Manifest
+++ b/dev-python/trimesh/Manifest
@@ -1,3 +1,4 @@
-DIST trimesh-3.17.1.gh.tar.gz 12653345 BLAKE2B df286132ca01e1a7e8c226b7c98ffa0682b9bf2e225c4114c88395611d1a65a02be4395940ad04b67ae3b6909664b46e18e9fd018d892c86f8f5a4fcfe532210 SHA512 8cbf0bedd21c0867c5aa307e9bb8b4e4caff2aabee89cfadfa11513293304caa4b6a5ecce21064b7fa157a2453b58d401eb6010d0ea32bbd5a99c3075f38b826
-DIST trimesh-3.18.0.gh.tar.gz 12656666 BLAKE2B e183ab1b5ff904b54a7801aaf9e6a3ac24a277107dae03dd37be7a37c56835ac99b617af1c12ea4119c39c3c064d8d1e783ce6effa51ebc0bc65103e688ad363 SHA512 309e1c5dd17a2d1875254a732d96708b98635cbd17ceea80c5386d6ea4675f943e1760f7a4383e9c24ec5711d30ea0732883a691952da1d1079a81a87fcca6cc
-DIST trimesh-3.18.1.gh.tar.gz 12657109 BLAKE2B 8e5370193e7d47f1dc2d7d43c356df1a56c2b4b8af6f47ac6aa889b04a3b950ec507b5cc0fe6f99f874cf66111aa72773025ba3821013466bb34baced3a361ca SHA512 72936c0fc6f89ffa35b80928dc5abac8ca4fac023f5be1d4adec6d020f3da6ee2c7a97efb0cecf58faad94ef6f33949533ac789affcecee07696ca0188fd47f0
+DIST trimesh-4.1.8.gh.tar.gz 13440336 BLAKE2B aa4bddc3d613144a0e304ec320a2b38df213846260e2525dae0f0f35a4146561e7b81dc88e197a5b0f0a76ff4b757c30df2a68fe0db0d4a37cdc8a91aedc41ba SHA512 e20ca45f08a4d65c44c214b104af7c6d9d27121716ed7efd53a521c5b896ce788dba91b7794db518f26bb2ae86a1b8269af94f9b9381f8fdd342372b4ba86ce4
+DIST trimesh-4.2.4.gh.tar.gz 13554819 BLAKE2B 233f4d5404793ed1b5dc475da2dd371ca3a792239ae9ffea95ef3609a19b2701f66ad7aeb72b7b078b7a58d812ebe59b3bc12fedc6b9c34213c60378a2959d1c SHA512 3d37a429a21250a26f0a46c29c432b97158849bc0fbba7dec441bdd2453c4ef6a917483604f1c7ecb0e2415b9a270a80e36225cb951e59af1db54d20ebf60902
+DIST trimesh-4.3.0.gh.tar.gz 13595823 BLAKE2B 2d7d74be7eff74513e7758944f57e6bd9d1003ce5591e1a6b261bf3d797b8f7fb5ed9de3f7a1a863650dda6575dfdd250a129bf561e7cdf65f90d33c2df8474c SHA512 e27394abc8cea8f09df14329842cca6dcfd79dc9eb00e961138c3ce1fa61bb85a6585daa376cd7f80c3c64968001686f0de4ad685c121d08415d5c4e088093cc
+DIST trimesh-4.3.1.gh.tar.gz 13596739 BLAKE2B 3d14fc70c29c70c93d4b63c6486a66eb7d059b2c6856702696e5f07668810019d98f2b0f1d964d80be9fafd702924e505762283b476a554960ea37b554031b7f SHA512 01d7bcca7c1d36488f236a45481ed0cda2b63cd4a1308b0067ba95392b2517df143e3afb93c8632ad117e2dfea12e3eec80c057f8367a465a8f26b554d29614c
diff --git a/dev-python/trimesh/trimesh-3.17.1.ebuild b/dev-python/trimesh/trimesh-3.17.1.ebuild
deleted file mode 100644
index f9ed1e3cda78..000000000000
--- a/dev-python/trimesh/trimesh-3.17.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=( python3_{9..10} )
-
-inherit distutils-r1 multiprocessing optfeature
-
-DESCRIPTION="Python library for loading and using triangular meshes"
-HOMEPAGE="
- https://trimsh.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/msgpack[${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-2[${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/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/mapbox_earcut[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # remove pyinstrument from tests, as only used for profiling
- sed -e '/pyinstrument/d' -i tests/{regression,corpus,generic}.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # does profiling with pyinstrument
- tests/test_scenegraph.py::GraphTests::test_shortest_path
- )
- epytest -n "$(makeopts_jobs)"
-}
-
-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-3.18.0.ebuild b/dev-python/trimesh/trimesh-3.18.0.ebuild
deleted file mode 100644
index 982d211c51f1..000000000000
--- a/dev-python/trimesh/trimesh-3.18.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_{9..10} )
-
-inherit distutils-r1 multiprocessing optfeature
-
-DESCRIPTION="Python library for loading and using triangular meshes"
-HOMEPAGE="
- https://trimsh.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/msgpack[${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-2[${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/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/mapbox_earcut[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # remove pyinstrument from tests, as only used for profiling
- sed -e '/pyinstrument/d' -i tests/{regression,corpus,generic}.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # does profiling with pyinstrument
- tests/test_scenegraph.py::GraphTests::test_shortest_path
- )
- epytest -n "$(makeopts_jobs)"
-}
-
-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-3.18.1.ebuild b/dev-python/trimesh/trimesh-3.18.1.ebuild
deleted file mode 100644
index 982d211c51f1..000000000000
--- a/dev-python/trimesh/trimesh-3.18.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=( python3_{9..10} )
-
-inherit distutils-r1 multiprocessing optfeature
-
-DESCRIPTION="Python library for loading and using triangular meshes"
-HOMEPAGE="
- https://trimsh.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/msgpack[${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-2[${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/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/mapbox_earcut[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # remove pyinstrument from tests, as only used for profiling
- sed -e '/pyinstrument/d' -i tests/{regression,corpus,generic}.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # does profiling with pyinstrument
- tests/test_scenegraph.py::GraphTests::test_shortest_path
- )
- epytest -n "$(makeopts_jobs)"
-}
-
-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.1.8.ebuild b/dev-python/trimesh/trimesh-4.1.8.ebuild
new file mode 100644
index 000000000000..22597eb9468e
--- /dev/null
+++ b/dev-python/trimesh/trimesh-4.1.8.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
+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[${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}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_TIMEOUT=1800
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ 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.2.4.ebuild b/dev-python/trimesh/trimesh-4.2.4.ebuild
new file mode 100644
index 000000000000..1efbb5f219c0
--- /dev/null
+++ b/dev-python/trimesh/trimesh-4.2.4.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
+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}]
+ sci-libs/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 -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.3.0.ebuild b/dev-python/trimesh/trimesh-4.3.0.ebuild
new file mode 100644
index 000000000000..90df68a2c9dc
--- /dev/null
+++ b/dev-python/trimesh/trimesh-4.3.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}]
+ sci-libs/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.3.1.ebuild b/dev-python/trimesh/trimesh-4.3.1.ebuild
new file mode 100644
index 000000000000..90df68a2c9dc
--- /dev/null
+++ b/dev-python/trimesh/trimesh-4.3.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..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}]
+ sci-libs/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-asyncio/Manifest b/dev-python/trio-asyncio/Manifest
deleted file mode 100644
index bc3289b8e24d..000000000000
--- a/dev-python/trio-asyncio/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST trio-asyncio-0.12.0.gh.tar.gz 72508 BLAKE2B f2dad48e20dadb81f603f8e7edf5d108f5c1dec332e65599e06495a9e3b919d20a15e3cb0d4f06c46a0e844cd79a88c172043b5cae2bc632661679a9ac854c04 SHA512 da630bf95d0736efd419a7b84d3fcb55f4440ef5f3ac584f36b2eca9188145d4581b20d4842b1322b07f176822f7c76e32ae57ac71899ea2445ce1783bcd382c
diff --git a/dev-python/trio-asyncio/files/no-pytest-runner.patch b/dev-python/trio-asyncio/files/no-pytest-runner.patch
deleted file mode 100644
index 6eec59da4286..000000000000
--- a/dev-python/trio-asyncio/files/no-pytest-runner.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/setup.py 2021-03-27 18:54:07.104800689 +0100
-+++ b/setup.py 2021-03-27 18:54:23.197091635 +0100
-@@ -77,7 +77,6 @@
- include_package_data=True,
- python_requires=">=3.6", # temporary, for RTD
- keywords=["async", "io", "trio", "asyncio", "trio-asyncio"],
-- setup_requires=['pytest-runner'],
- tests_require=['pytest >= 5.4', 'pytest-trio >= 0.6', 'outcome'],
- classifiers=[
- "Development Status :: 4 - Beta",
diff --git a/dev-python/trio-asyncio/metadata.xml b/dev-python/trio-asyncio/metadata.xml
deleted file mode 100644
index 867a2587c7ff..000000000000
--- a/dev-python/trio-asyncio/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>
- <maintainer type="person">
- <email>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
- <stabilize-allarches/>
- <longdescription lang="en">
-Rationale
-
-Trio has native concepts of tasks and task cancellation. Asyncio is based on callbacks and chaining Futures, albeit with nicer syntax, which make handling of failures and timeouts fundamentally less reliable, especially in larger programs. Thus, you really want to base your async project on Trio.
-
-On the other hand, there are quite a few asyncio-enhanced libraries. You really don't want to re-invent any wheels in your project.
-
-Thus, being able to use asyncio libraries from Trio is useful. trio-asyncio enables you to do that, and more.
-Transparent vs. explicit translation
-
-trio_asyncio does not try to magically allow calling await trio_code() from asyncio or vice versa. There are multiple reasons for this; the executive summary is that cross-domain calls can't be made to work correctly, and any such call is likely to result in an irrecoverable error. You need to keep your code's asyncio and trio domains rigidly separate.
-
-Fortunately, this is not difficult.
- </longdescription>
- <upstream>
- <remote-id type="github">python-trio/trio-asyncio</remote-id>
- <remote-id type="pypi">trio-asyncio</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/trio-asyncio/trio-asyncio-0.12.0-r1.ebuild b/dev-python/trio-asyncio/trio-asyncio-0.12.0-r1.ebuild
deleted file mode 100644
index e9089d219c04..000000000000
--- a/dev-python/trio-asyncio/trio-asyncio-0.12.0-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
-
-PYTHON_COMPAT=( python3_{9..10} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="a re-implementation of the asyncio mainloop on top of Trio"
-HOMEPAGE="
- https://github.com/python-trio/trio-asyncio
- https://pypi.org/project/trio-asyncio/
-"
-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"
-
-RDEPEND="
- dev-python/outcome[${PYTHON_USEDEP}]
- dev-python/sniffio[${PYTHON_USEDEP}]
- >=dev-python/trio-0.15.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/pytest-trio-0.6[${PYTHON_USEDEP}]
- )
-"
-PATCHES=( "${FILESDIR}/no-pytest-runner.patch" )
-
-EPYTEST_DESELECT=(
- # RuntimeError: You're within a Trio environment.
- # https://bugs.gentoo.org/834955
- /Python-3.8/test_asyncio/test_locks.py::ConditionTests::test_ambiguo
- /Python-3.9/test_asyncio/test_locks.py::ConditionTests::test_ambiguo
- /Python-3.10/test_asyncio/test_locks.py::ConditionTests::test_ambiguo
- /Python-3.11/test_asyncio/test_locks.py::ConditionTests::test_ambiguo
-)
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs/source dev-python/sphinxcontrib-trio dev-python/sphinx_rtd_theme
diff --git a/dev-python/trio-websocket/Manifest b/dev-python/trio-websocket/Manifest
new file mode 100644
index 000000000000..fe2bbffe906f
--- /dev/null
+++ b/dev-python/trio-websocket/Manifest
@@ -0,0 +1 @@
+DIST trio-websocket-0.11.1.gh.tar.gz 45682 BLAKE2B 0f926421828476c9e23cf962df7a17a2cf4470e0898dddbc4690497521205ea11973a188ca460685739d08c34be237682b0bbbbe2c279d35e5c2fdce9b3ce020 SHA512 4b0eb6f0c012cefedb69b97e9452ba979336fbe9f154799c4c68871b8013e728374e4872a2343ab4d27fa6e25e40c3063e681e80470123d37f13f531be4f6644
diff --git a/dev-python/trio-websocket/metadata.xml b/dev-python/trio-websocket/metadata.xml
new file mode 100644
index 000000000000..681f9a70ad2c
--- /dev/null
+++ b/dev-python/trio-websocket/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="github">python-trio/trio-websocket</remote-id>
+ <remote-id type="pypi">trio-websocket</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/trio-websocket/trio-websocket-0.11.1.ebuild b/dev-python/trio-websocket/trio-websocket-0.11.1.ebuild
new file mode 100644
index 000000000000..fc8389fa3907
--- /dev/null
+++ b/dev-python/trio-websocket/trio-websocket-0.11.1.ebuild
@@ -0,0 +1,44 @@
+# 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="WebSocket client and server implementation for Python Trio"
+HOMEPAGE="
+ https://github.com/python-trio/trio-websocket/
+ https://pypi.org/project/trio-websocket/
+"
+SRC_URI="
+ https://github.com/python-trio/trio-websocket/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ ' 3.10)
+ >=dev-python/trio-0.11[${PYTHON_USEDEP}]
+ >=dev-python/wsproto-0.14[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/pytest-trio-0.5.0[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p trio
+}
diff --git a/dev-python/trio/Manifest b/dev-python/trio/Manifest
index 719ae9d2c64e..24faf192634e 100644
--- a/dev-python/trio/Manifest
+++ b/dev-python/trio/Manifest
@@ -1,2 +1 @@
-DIST trio-0.21.0.gh.tar.gz 491228 BLAKE2B e5f65d3aa9e4bc0c449e3986048d63fe3001a2eee96dbe5d8c088e0fce786b1d50861b47170baa7cced097938b16c92f0efd51518404a5e0ea6a17a48d656823 SHA512 383b11f264ddf4c78eb75829472826ebacf32d063790e8d4681d5df2f21c4f9287884db1752fd19976b674643adf7299816d4404e3032193ef90f522ad9cfa79
-DIST trio-0.22.0.gh.tar.gz 517482 BLAKE2B ab1fcb22d8f0ed9c8de831a9384b55ab433811863974cb767cb0ea4eb3a0df7372b5ea2c2d4c2af3ca1d3c8c3144d5546ad8cc68276b17ecb3d20ea1858ba9e0 SHA512 45b813d6cc65f8d49f70cb0ea7f33593fed0cc5989c60ba449f0b38c4759604aa7360cd016758fd364438b92516be549edf1efd583c7f5ee2de8813334f182bc
+DIST trio-0.25.0.gh.tar.gz 599079 BLAKE2B d0615111fba3981c89d72a6eff93e9f500854e94f7227f3f235d4effa4ab53b9a280278b62db90c4a9612028edc5c9892b56464c9ee5b7e3c8120086dfc64e56 SHA512 0690193c501e054b5c2d96ea208d6a49b9ac860dd63a58c4b5cec5b5f6f197fc5eae0e2fae99ef498d5d1513b189a75504905bd5cc6dc34ae791e3451655933a
diff --git a/dev-python/trio/trio-0.21.0.ebuild b/dev-python/trio/trio-0.21.0.ebuild
deleted file mode 100644
index 37065d0b156e..000000000000
--- a/dev-python/trio/trio-0.21.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=( pypy3 python3_{9..11} )
-
-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/async_generator-1.9[${PYTHON_USEDEP}]
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- dev-python/idna[${PYTHON_USEDEP}]
- dev-python/outcome[${PYTHON_USEDEP}]
- dev-python/sniffio[${PYTHON_USEDEP}]
- dev-python/sortedcontainers[${PYTHON_USEDEP}]
-"
-# NB: we're ignoring tests that require trustme+pyopenssl
-BDEPEND="
- test? (
- >=dev-python/astor-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/immutables-0.6[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-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
- )
-
- 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
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -m "not redistributors_should_skip"
-}
diff --git a/dev-python/trio/trio-0.22.0-r1.ebuild b/dev-python/trio/trio-0.22.0-r1.ebuild
deleted file mode 100644
index 337e39864b28..000000000000
--- a/dev-python/trio/trio-0.22.0-r1.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=( pypy3 python3_{9..11} )
-
-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/async_generator-1.9[${PYTHON_USEDEP}]
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- >=dev-python/exceptiongroup-1.0.0_rc9[${PYTHON_USEDEP}]
- 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
-distutils_enable_sphinx docs/source \
- dev-python/immutables \
- dev-python/sphinxcontrib-trio \
- dev-python/sphinx_rtd_theme \
- dev-python/towncrier
-
-src_prepare() {
- # fix incorrect version
- # https://github.com/python-trio/trio/issues/2485
- sed -i -e "s:0.21.0+dev:${PV}:" trio/_version.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # these tests require internet access
- trio/tests/test_ssl.py
- trio/tests/test_highlevel_ssl_helpers.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
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -m "not redistributors_should_skip"
-}
diff --git a/dev-python/trio/trio-0.25.0.ebuild b/dev-python/trio/trio-0.25.0.ebuild
new file mode 100644
index 000000000000..9a7f71be22f6
--- /dev/null
+++ b/dev-python/trio/trio-0.25.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..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-23.2.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${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 719f44032698..7f4ccd7801e9 100644
--- a/dev-python/trove-classifiers/Manifest
+++ b/dev-python/trove-classifiers/Manifest
@@ -1 +1,2 @@
-DIST trove-classifiers-2023.1.20.gh.tar.gz 15075 BLAKE2B 04b5902c0318d495be8ef5f3602ae93d0a540f34382dd269202f4b0e6773d9c0adf023df9c45afece0ae27da8dad25d0018b602dc2a02e775c40ea73afb77195 SHA512 f99dee6f42ef3d1e42d0d1f520d882af2d430133a317de693464a526849bf6d9990307c189b5bacf2fa97c316d0c806ecfe9cfcd05a6734e79992763f597dfd2
+DIST trove-classifiers-2024.3.25.tar.gz 16040 BLAKE2B 001a307d041e76213f3d2d115a10467b8434afecb0dc268ed9a1943aa7961c9021b49794a593102372c41b6776f3e513db44f680dda700c9897f65ef593ec860 SHA512 3b1d0c08d9a90bfe2314b092270677397d5150f0b641dfaf6ffda7a3447b898ea2c1d2dceab0f61ddceeb6b42945aec19e7a1028bf72ac3a119454f66945db7c
+DIST trove-classifiers-2024.4.10.tar.gz 16036 BLAKE2B bfd0ae5e3e1dc2dab67e66dc9cdf90b3ff789d00fff5f13ddf8974736adf3e37c505488d4aea32b0c4b43a6d77617e9a0672def2e66baf813734b1e3bebb8bd3 SHA512 2705ea82869bb3092dd37c817d5263955249b44ad64c0fcedc523ecc78eaeb2a327500adbafe70c5d08b5961bf8095748e34a0daa1a2ba8db3fa27e1a35a645b
diff --git a/dev-python/trove-classifiers/metadata.xml b/dev-python/trove-classifiers/metadata.xml
index 210953a4e27e..cd20ea4bd90f 100644
--- a/dev-python/trove-classifiers/metadata.xml
+++ b/dev-python/trove-classifiers/metadata.xml
@@ -4,6 +4,7 @@
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">pypa/trove-classifiers</remote-id>
<remote-id type="pypi">trove-classifiers</remote-id>
diff --git a/dev-python/trove-classifiers/trove-classifiers-2023.1.20.ebuild b/dev-python/trove-classifiers/trove-classifiers-2023.1.20.ebuild
deleted file mode 100644
index 850f0b5ffda7..000000000000
--- a/dev-python/trove-classifiers/trove-classifiers-2023.1.20.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Canonical source for classifiers on PyPI (pypi.org)"
-HOMEPAGE="
- https://github.com/pypa/trove-classifiers/
- https://pypi.org/project/trove-classifiers/
-"
-SRC_URI="
- https://github.com/pypa/trove-classifiers/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-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.3.25.ebuild b/dev-python/trove-classifiers/trove-classifiers-2024.3.25.ebuild
new file mode 100644
index 000000000000..35832d4c838e
--- /dev/null
+++ b/dev-python/trove-classifiers/trove-classifiers-2024.3.25.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2022-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} )
+
+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/trove-classifiers/trove-classifiers-2024.4.10.ebuild b/dev-python/trove-classifiers/trove-classifiers-2024.4.10.ebuild
new file mode 100644
index 000000000000..3172a692bdd9
--- /dev/null
+++ b/dev-python/trove-classifiers/trove-classifiers-2024.4.10.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2022-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} )
+
+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/Manifest b/dev-python/trustme/Manifest
index 4cdf9ea4df48..ec7d7832b7b2 100644
--- a/dev-python/trustme/Manifest
+++ b/dev-python/trustme/Manifest
@@ -1 +1 @@
-DIST trustme-0.9.0.tar.gz 30081 BLAKE2B 5623fba91f07027032f48ee355b5c4f853518bc6a5c1e93b4ea387ff25838302efa42476db8eb64e364980805aa1c3be97f827260efc31ffb536c53fe30ba988 SHA512 f0d983a4c52374f178c0bf96f758fdb5f132e7f7c4bac187c84fbc8dc82dc36d6c801c340bf8871e872178f7b2ac66d6159b5462d073beec9a13a086f64b58b7
+DIST trustme-1.1.0.tar.gz 29611 BLAKE2B 71210845c3bb919b731ab14db72376aa701c547c4b062e4dab9ccbb6b97c3416cb48b92a998aa26c85720b38514998e62005dd310513fc80a54502432ee4000b SHA512 f0ad39ffd9f4074107c90258738412ff8ca8ed1b4138e38edc6edad9a5cb8787a53a47fa78b12eba189774902ee3728961feed54b3b5e944e4737749912627b2
diff --git a/dev-python/trustme/metadata.xml b/dev-python/trustme/metadata.xml
index 3c537583cec6..9e60974400cc 100644
--- a/dev-python/trustme/metadata.xml
+++ b/dev-python/trustme/metadata.xml
@@ -11,6 +11,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">python-trio/trustme</remote-id>
<remote-id type="pypi">trustme</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/trustme/trustme-0.9.0-r1.ebuild b/dev-python/trustme/trustme-0.9.0-r1.ebuild
deleted file mode 100644
index 0b7cabb98df7..000000000000
--- a/dev-python/trustme/trustme-0.9.0-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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="#1 quality TLS certs while you wait, for the discerning tester"
-HOMEPAGE="
- https://github.com/python-trio/trustme/
- https://pypi.org/project/trustme/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="|| ( Apache-2.0 MIT )"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/idna[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/service_identity[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # unhappy with new tls defaults?
- tests/test_trustme.py::test_stdlib_end_to_end
- tests/test_trustme.py::test_pyopenssl_end_to_end
-)
diff --git a/dev-python/trustme/trustme-1.1.0.ebuild b/dev-python/trustme/trustme-1.1.0.ebuild
new file mode 100644
index 000000000000..5e7472ed3ef0
--- /dev/null
+++ b/dev-python/trustme/trustme-1.1.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 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
new file mode 100644
index 000000000000..edeba996d29d
--- /dev/null
+++ b/dev-python/truststore/Manifest
@@ -0,0 +1 @@
+DIST truststore-0.8.0.gh.tar.gz 25619 BLAKE2B 3c1beeea036274349e31ea45741e2cdfb84f468a3073dcb67618cb4907831a83aac90f774c7a0309c35b5c303e490a56ed0623ae1b3d5ba4189a2ffefd05f56f SHA512 9492874b2c0eb5ba011c0d4af6fc4e2d1664686458775344c928e25248b0d54f776d9400138330b225146402345ab8d5ccb9f73b5db51e566342855a8b4ac579
diff --git a/dev-python/truststore/metadata.xml b/dev-python/truststore/metadata.xml
new file mode 100644
index 000000000000..a06c3e471d2e
--- /dev/null
+++ b/dev-python/truststore/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">sethmlarson/truststore</remote-id>
+ <remote-id type="pypi">truststore</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/truststore/truststore-0.8.0.ebuild b/dev-python/truststore/truststore-0.8.0.ebuild
new file mode 100644
index 000000000000..ae12c7ac4fa2
--- /dev/null
+++ b/dev-python/truststore/truststore-0.8.0.ebuild
@@ -0,0 +1,46 @@
+# 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/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 4b6ba32fdcb3..faebc059d5b7 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
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}]
@@ -28,3 +28,11 @@ RDEPEND="
"
distutils_enable_tests pytest
+
+src_prepare() {
+ # fix tests on py3.12
+ # https://github.com/twisted/tubes/pull/95
+ sed -i -e 's:assertEquals:assertEqual:' tubes/test/*.py || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/tweedledum/Manifest b/dev-python/tweedledum/Manifest
deleted file mode 100644
index 0ca31a66f0e4..000000000000
--- a/dev-python/tweedledum/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST tweedledum-1.1.1-fmt-e73beb23a3feeba02a851e3f8131e3c85a29de2b.patch 4394926 BLAKE2B 1035945714e7a5f5ac8cc41f9b799c6a3f0ded13b2f86098be11705d09029578d7e019cd784c6fb783c1bbaddb49425b5e2ec4bed142f01436620c6ac793e8f5 SHA512 1307e63be3366ec0b52e4238e3ac58c793f437acca95840b0bf15499efb3eae0e339d3c75c61b9a0c2734eaa6be416b6a35b51f784884aef98d86613e0b540d1
-DIST tweedledum-1.1.1.gh.tar.gz 5105832 BLAKE2B 71e3e9baaccc345910d5be3831ea0476b06bc3171311d17fc3f160b7d4c9026bab719b1e80f1d462183cdcc1feb750542e2649c2aab5cdc6d4551ab258866649 SHA512 eda9c0d895d59450150946d52d942174652d305a863a10bafa60300cde63a692a8105b7bb5dcc86aeb610b666945215905cf95859f3726b875c88d5cd3d34891
diff --git a/dev-python/tweedledum/metadata.xml b/dev-python/tweedledum/metadata.xml
deleted file mode 100644
index ef80e29ba7f0..000000000000
--- a/dev-python/tweedledum/metadata.xml
+++ /dev/null
@@ -1,24 +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>
- tweedledum is a library for synthesis, compilation, and optimization of quantum circuits. The library is written to be scalable up to problem sizes in which quantum circuits outperform classical ones. Also, it is meant to be used both independently and alongside established tools.
- </longdescription>
- <upstream>
- <remote-id type="github">boschmitt/tweedledum</remote-id>
- <remote-id type="pypi">tweedledum</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/tweedledum/tweedledum-1.1.1-r1.ebuild b/dev-python/tweedledum/tweedledum-1.1.1-r1.ebuild
deleted file mode 100644
index b9c644ccb3bb..000000000000
--- a/dev-python/tweedledum/tweedledum-1.1.1-r1.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=( python3_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Library for analysis, compilation, synthesis, optimization of quantum circuits"
-HOMEPAGE="https://github.com/boschmitt/tweedledum"
-SRC_URI="https://github.com/boschmitt/tweedledum/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-# Drop on next bump, see bug #858200
-SRC_URI+=" https://github.com/boschmitt/tweedledum/commit/e73beb23a3feeba02a851e3f8131e3c85a29de2b.patch -> ${P}-fmt-e73beb23a3feeba02a851e3f8131e3c85a29de2b.patch"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-# Unbundle dev-python/pybind11[${PYTHON_USEDEP}]?
-RDEPEND="
- dev-cpp/nlohmann_json
- dev-libs/libfmt:=
-"
-DEPEND="
- ${RDEPEND}
- dev-cpp/eigen
-"
-BDEPEND=">=dev-python/scikit-build-0.12.0"
-
-PATCHES=(
- "${DISTDIR}"/${P}-fmt-e73beb23a3feeba02a851e3f8131e3c85a29de2b.patch
-)
-
-distutils_enable_tests pytest
-
-python_compile() {
- # -DTWEEDLEDUM_USE_EXTERNAL_PYBIND11=ON
- local -x SKBUILD_CONFIGURE_OPTIONS="-DCMAKE_BUILD_TYPE=RelWithDebInfo"
- distutils-r1_python_compile
-}
-
-python_test() {
- epytest python/test
-}
diff --git a/dev-python/twine/Manifest b/dev-python/twine/Manifest
index 29b838b50621..86a36bb60287 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.0.0.gh.tar.gz 218873 BLAKE2B 0f4f92d3ee9ae0f154c68cbc165ce014cbd5c34d88f8067c5f9ab4b6cfd3fc9d435f9c1ada6911af2f711bef3c5607fdfd969ad454c06e3a9bbce4f23ebc2a07 SHA512 a1701844df03f0ca0e4b15eeae97e1a1a5788f13f04bbd5b084a9dc6637c2404aefc354705c974edd53b2f09517e088f5857cb211ed45ed7dbcedecb0f6392d5
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 fec325a37f8c..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_{9..11} 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 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.0.0.ebuild b/dev-python/twine/twine-5.0.0.ebuild
new file mode 100644
index 000000000000..70421c663a1c
--- /dev/null
+++ b/dev-python/twine/twine-5.0.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
+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}]
+ )
+"
+
+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
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/twisted/Manifest b/dev-python/twisted/Manifest
index fc853dde42d1..92a82f833ad9 100644
--- a/dev-python/twisted/Manifest
+++ b/dev-python/twisted/Manifest
@@ -1,2 +1,4 @@
-DIST twisted-22.10.0.gh.tar.gz 3512714 BLAKE2B 2fd36ec6922f428e959ce0169bb9a3592b8b3e43aff8d34872883ecf0fad8d0fff01a52f06b54df3dc377f4fc1a488b6d66f9287b108b4749bb7d3c749b96061 SHA512 cf9ed96430376d499ae9627a7d0656c05cb99bc9e9b15a8f4166355363818f090bc3c2b383ed4cf19e1e38fb569e8618d35a0ddde2a90a06f3c9a4ea769837e4
+DIST twisted-23.10.0.tar.gz 3495627 BLAKE2B 3b5c2dc56686203cfe7c863211f0be34f49b26273af7b0f54a891851cf5f32096da880f35dd549b8ff82c6885fda2f644ef747fc9574e830da4fe2ddb588e70f SHA512 da6cc663005776fca716503ec53ae367576e9c89ec2b90a367e73afb1e63c51a24dfad39b9ed1edb597e77e1d805dcbd179cefc1685faddd4044efc8f6c82d5f
+DIST twisted-24.2.0rc1.tar.gz 3500738 BLAKE2B d286b8bbd8e3c9bef82bf3b6a3ea3714358f4447a2bd4b3e82a0f4be0bda89c9a0804f807592dd951b6bb4ff74076b4a35a13b98d9d99e4334a644fe668f7802 SHA512 6f8946e65ec6affce5cac79a6b6019a48ba6bb9c2eb42bc2a251a50bd33eb429dd6aec570ed51ce98c618cc220451a935f8e32c93281953ef4b2a9e658793b68
+DIST twisted-24.3.0.tar.gz 3500456 BLAKE2B b2cebb2f3482dbeba250786b1977ddbb09e1a9a81f71ce5906efe8289b0e134a8b26c191c2262e8ee8ba3fccccea508c34145016b29ecf301541134dcea19e08 SHA512 c3dd227f5936ffa586a0b7447f5df4c2257dce0c0ba740373d82197a72029e7eeb0aef9789247dde73e2f24dd043f3b0b7d795f16e6e908583b054aad9b9eb6a
DIST twisted-regen-cache.gz 911 BLAKE2B ffd3fcda6c67ffe6fd3ef581c8d507548396b66ed0708e9a5c790095e579c0d5f0f71596acf05712989da2ddef2b8d437eca973bc4d80ef8a9fa852915f38305 SHA512 95a9b931c73017d16d1b5e6b41345dddffe62b6af1a8e93b5e40d06d3d15be17b0dd0181c767ffeeb791534d463764ef9e066fa6c2ee2ac4b53c86d1da8fce03
diff --git a/dev-python/twisted/files/twisted-22.1.0-force-gtk3.patch b/dev-python/twisted/files/twisted-22.1.0-force-gtk3.patch
deleted file mode 100644
index 7c9f2d558d65..000000000000
--- a/dev-python/twisted/files/twisted-22.1.0-force-gtk3.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 9344f8cd80ecb2907dbfddfeeb8cc9ffdb50bc94 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sat, 22 May 2021 01:11:48 +0200
-Subject: [PATCH] Force using GTK+3 in twisted.internet.gireactor
-
-Modify twisted.internet.gireactor to explicitly request GTK+ version 3.
-Otherwise it uses the newest version installed which could be GTK+4
-that gireactor is currently incompatible with.
----
- src/twisted/internet/gireactor.py | 3 +++
- src/twisted/internet/test/test_gireactor.py | 3 +++
- src/twisted/newsfragments/10200.bugfix | 1 +
- 3 files changed, 7 insertions(+)
- create mode 100644 src/twisted/newsfragments/10200.bugfix
-
-diff --git a/src/twisted/internet/gireactor.py b/src/twisted/internet/gireactor.py
-index e2d24b599..838fa982e 100644
---- a/src/twisted/internet/gireactor.py
-+++ b/src/twisted/internet/gireactor.py
-@@ -21,6 +21,7 @@ On Python 3, pygobject v3.4 or later is required.
- """
-
-
-+import gi # type: ignore[import]
- import gi.pygtkcompat # type: ignore[import]
- from gi.repository import GLib # type: ignore[import]
-
-@@ -69,6 +70,7 @@ class GIReactor(_glibbase.GlibReactorBase):
- def __init__(self, useGtk=False):
- _gtk = None
- if useGtk is True:
-+ gi.require_version("Gtk", "3.0")
- from gi.repository import Gtk as _gtk
-
- _glibbase.GlibReactorBase.__init__(self, GLib, _gtk, useGtk=useGtk)
-@@ -113,6 +115,7 @@ class PortableGIReactor(_glibbase.PortableGlibReactorBase):
- def __init__(self, useGtk=False):
- _gtk = None
- if useGtk is True:
-+ gi.require_version("Gtk", "3.0")
- from gi.repository import Gtk as _gtk
-
- _glibbase.PortableGlibReactorBase.__init__(self, GLib, _gtk, useGtk=useGtk)
-diff --git a/src/twisted/internet/test/test_gireactor.py b/src/twisted/internet/test/test_gireactor.py
-index c25ada63f..3bb88a07f 100644
---- a/src/twisted/internet/test/test_gireactor.py
-+++ b/src/twisted/internet/test/test_gireactor.py
-@@ -26,6 +26,9 @@ else:
- gtk3reactor = None
- else:
- gtk3reactor = _gtk3reactor
-+ import gi # type: ignore[import]
-+
-+ gi.require_version("Gtk", "3.0")
- from gi.repository import Gtk
-
- from twisted.internet.error import ReactorAlreadyRunning
-diff --git a/src/twisted/newsfragments/10200.bugfix b/src/twisted/newsfragments/10200.bugfix
-new file mode 100644
-index 000000000..7afb343be
---- /dev/null
-+++ b/src/twisted/newsfragments/10200.bugfix
-@@ -0,0 +1 @@
-+twisted.internet.gireactor was fixed to force GTK+3 in order to fix use of incompatible GTK+4 API when installed
---
-2.35.1
-
diff --git a/dev-python/twisted/metadata.xml b/dev-python/twisted/metadata.xml
index 1c3b98248f3b..5fb905aee3f7 100644
--- a/dev-python/twisted/metadata.xml
+++ b/dev-python/twisted/metadata.xml
@@ -6,16 +6,11 @@
<name>Python</name>
</maintainer>
<upstream>
- <maintainer>
- <email>twisted-python@twistedmatrix.com</email>
- <name>Twisted Matrix Laboratories</name>
- </maintainer>
<remote-id type="pypi">Twisted</remote-id>
<remote-id type="github">twisted/twisted</remote-id>
</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-22.10.0.ebuild b/dev-python/twisted/twisted-22.10.0.ebuild
deleted file mode 100644
index 6827bc77e0a1..000000000000
--- a/dev-python/twisted/twisted-22.10.0.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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="An asynchronous networking framework written in Python"
-HOMEPAGE="https://www.twistedmatrix.com/trac/"
-SRC_URI="
- https://github.com/twisted/twisted/archive/${P}.tar.gz -> ${P}.gh.tar.gz
- https://dev.gentoo.org/~mgorny/dist/twisted-regen-cache.gz
-"
-S=${WORKDIR}/${PN}-${P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-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-21.3.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-3.6.5[${PYTHON_USEDEP}]
- >=dev-python/zope-interface-4.4.2[${PYTHON_USEDEP}]
- conch? (
- >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/bcrypt-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/cryptography-2.6[${PYTHON_USEDEP}]
- dev-python/pyasn1[${PYTHON_USEDEP}]
- )
- http2? (
- <dev-python/h2-5.0.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/incremental-21.3.0[${PYTHON_USEDEP}]
- test? (
- $(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-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/idna-2.4[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pyasn1[${PYTHON_USEDEP}]
- >=dev-python/pyhamcrest-1.9.0[${PYTHON_USEDEP}]
- >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
- net-misc/openssh
- conch? (
- >=dev-python/bcrypt-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/cryptography-2.6[${PYTHON_USEDEP}]
- )
- ssl? (
- >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
- >=dev-python/service_identity-18.1.0[${PYTHON_USEDEP}]
- )
- ' python3_{8..10} pypy3)
- $(python_gen_cond_dep '
- dev-python/gmpy[${PYTHON_USEDEP}]
- ' python3_{8..10})
- )
-"
-
-PATCHES=(
- # https://twistedmatrix.com/trac/ticket/10200
- "${FILESDIR}/${PN}-22.1.0-force-gtk3.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
-
- # puts system in EMFILE state, then the exception handler may fail
- # trying to open more files due to some gi magic
- sed -e '/SKIP_EMFILE/s:False:True:' \
- -i src/twisted/internet/test/test_tcp.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
-
- # These tests rely on warnings which seems work unreliably between python versions
- sed -e 's:test_currentEUID:_&:' \
- -e 's:test_currentUID:_&:' -i src/twisted/python/test/test_util.py || die
-
- # broken by new expat
- sed -e 's:test_namespaceWithWhitespace:_&:' \
- -i src/twisted/words/test/test_domish.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() {
- # please keep in sync with python_gen_cond_dep!
- if ! has "${EPYTHON}" python3_{8..10} pypy3; 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.ebuild b/dev-python/twisted/twisted-23.10.0.ebuild
new file mode 100644
index 000000000000..edb96fcce0dd
--- /dev/null
+++ b/dev-python/twisted/twisted-23.10.0.ebuild
@@ -0,0 +1,150 @@
+# 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
+
+ "${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.2.0_rc1.ebuild b/dev-python/twisted/twisted-24.2.0_rc1.ebuild
new file mode 100644
index 000000000000..4869d844543e
--- /dev/null
+++ b/dev-python/twisted/twisted-24.2.0_rc1.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.ebuild b/dev-python/twisted/twisted-24.3.0.ebuild
new file mode 100644
index 000000000000..a615d924022e
--- /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/twython/twython-3.9.1-r1.ebuild b/dev-python/twython/twython-3.9.1-r1.ebuild
index 2337ddcfa9c9..25d43535088f 100644
--- a/dev-python/twython/twython-3.9.1-r1.ebuild
+++ b/dev-python/twython/twython-3.9.1-r1.ebuild
@@ -4,19 +4,23 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="An easy way to access Twitter data with Python"
-HOMEPAGE="https://github.com/ryanmcgrath/twython"
+HOMEPAGE="
+ https://github.com/ryanmcgrath/twython/
+ https://pypi.org/project/twython/
+"
SRC_URI="
https://github.com/ryanmcgrath/twython/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz"
+ -> ${P}.gh.tar.gz
+"
SLOT="0"
LICENSE="MIT"
-KEYWORDS="amd64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
RDEPEND="
>=dev-python/requests-2.1.0[${PYTHON_USEDEP}]
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..2f98f787eaed 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..12} )
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/Manifest b/dev-python/txaio/Manifest
index 07877b5ba3ea..459f42edc441 100644
--- a/dev-python/txaio/Manifest
+++ b/dev-python/txaio/Manifest
@@ -1,2 +1 @@
-DIST txaio-22.2.1.tar.gz 53645 BLAKE2B 375203ddbe65d293ba0bf85e316880d552f47cbc9008bd41e50976ee097940c626ec66ad25e0b5322493f71f77141d03f543ce9c9d83268a1a896b16f434ccaa SHA512 b5e33ba671ab215dadf4c348b01e9d5057d080c21707d31e38912fe596aabd7b388e8c5e0f2dd2b7d0d09fe0a175a0906e2a2ee428c1a943e786afa79182631e
DIST txaio-23.1.1.tar.gz 53704 BLAKE2B 1c12892c34cc848732d718a715e83059a6be0973cbabe619639c67d230b0d4e55b4e6d1b13baa05b13fe9faa266dadb6f2913bc01491af381fde5ca78ce6941e SHA512 41320501ec3e2555edc63326f2c5ee9bbc2fd103198a515b6dc4c44603a41d633c99a8f12c92ffc85f43546f0382d40f0c9748b13f7a7e70d98c5c4a2de85e2e
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-22.2.1.ebuild b/dev-python/txaio/txaio-22.2.1.ebuild
deleted file mode 100644
index c989de03396a..000000000000
--- a/dev-python/txaio/txaio-22.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Compatibility API between asyncio/Twisted/Trollius"
-HOMEPAGE="
- https://github.com/crossbario/txaio/
- https://pypi.org/project/txaio/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-distutils_enable_sphinx docs \
- '>=dev-python/sphinxcontrib-spelling-2.1.2' \
- '>=dev-python/sphinx_rtd_theme-0.1.9'
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # we certainly don't need to test "python setup.py sdist" here
- test/test_packaging.py
- )
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # tests for removed asyncio.coroutine
- test/test_as_future.py::test_as_future_coroutine
- test/test_call_later.py::test_explicit_reactor_coroutine
- test/test_is_future.py::test_is_future_coroutine
- )
-
- epytest
-}
-
-pkg_postinst() {
- optfeature "Twisted support" "dev-python/twisted dev-python/zope-interface"
-}
diff --git a/dev-python/txaio/txaio-23.1.1.ebuild b/dev-python/txaio/txaio-23.1.1.ebuild
index 8a5a87523478..babec5abf80d 100644
--- a/dev-python/txaio/txaio-23.1.1.ebuild
+++ b/dev-python/txaio/txaio-23.1.1.ebuild
@@ -1,27 +1,26 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 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 optfeature
+inherit distutils-r1 optfeature pypi
DESCRIPTION="Compatibility API between asyncio/Twisted/Trollius"
HOMEPAGE="
https://github.com/crossbario/txaio/
https://pypi.org/project/txaio/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
distutils_enable_sphinx docs \
'>=dev-python/sphinxcontrib-spelling-2.1.2' \
- '>=dev-python/sphinx_rtd_theme-0.1.9'
+ '>=dev-python/sphinx-rtd-theme-0.1.9'
distutils_enable_tests pytest
EPYTEST_DESELECT=(
diff --git a/dev-python/txredisapi/Manifest b/dev-python/txredisapi/Manifest
new file mode 100644
index 000000000000..9ea106b0e0f0
--- /dev/null
+++ b/dev-python/txredisapi/Manifest
@@ -0,0 +1 @@
+DIST txredisapi-1.4.10.gh.tar.gz 54536 BLAKE2B d1224a95516323bfe3cf57b66612cea6b5fe7a4bd9aba0d2202f19575e1607209dc018ad6f754530ba07f09e89f38238f7ae3213898a33f317dc347722e055d7 SHA512 f0ba61c48807de90ec1dde5100b735f7fe0fb8168895d99ee77cbbfe741bae77e0495bf60f719d6cda65d6403c011c9bb15e6057e717afc4051cfdd7e514ddf9
diff --git a/dev-python/txredisapi/metadata.xml b/dev-python/txredisapi/metadata.xml
new file mode 100644
index 000000000000..fd2c1cf24a64
--- /dev/null
+++ b/dev-python/txredisapi/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>arkamar@gentoo.org</email>
+ <name>Petr Vaněk</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">IlyaSkriblovsky/txredisapi</remote-id>
+ <remote-id type="pypi">txredisapi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/txredisapi/txredisapi-1.4.10.ebuild b/dev-python/txredisapi/txredisapi-1.4.10.ebuild
new file mode 100644
index 000000000000..1cdd81b01412
--- /dev/null
+++ b/dev-python/txredisapi/txredisapi-1.4.10.ebuild
@@ -0,0 +1,84 @@
+# 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 optfeature
+
+DESCRIPTION="Non-blocking redis client for python"
+HOMEPAGE="
+ https://github.com/IlyaSkriblovsky/txredisapi/
+ https://pypi.org/project/txredisapi/
+"
+# Github is used because PyPI archive does not contain tests,
+# see https://github.com/IlyaSkriblovsky/txredisapi/issues/149
+SRC_URI="
+ https://github.com/IlyaSkriblovsky/${PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~ppc64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/twisted[${PYTHON_USEDEP},ssl(-)]
+"
+BDEPEND="
+ test? (
+ <dev-db/redis-7.2
+ dev-python/hiredis[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ sed -i "/redis_sock =/s:/tmp:${T}:" tests/test_unix_connection.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # paralellized tests with -j parameter fail
+ "${EPYTHON}" -m twisted.trial tests || die "tests failed with ${EPYTHON}"
+}
+
+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
+ unixsocket ${T}/redis.sock
+ unixsocketperm 700
+ ${extra_conf}
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
+
+pkg_postinst() {
+ optfeature "Use hiredis protocol parser" dev-python/hiredis
+}
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 0f44b28c4a6b..76b501b28431 100644
--- a/dev-python/txrequests/txrequests-0.9.6-r1.ebuild
+++ b/dev-python/txrequests/txrequests-0.9.6-r1.ebuild
@@ -1,29 +1,37 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 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
+inherit distutils-r1 pypi
DESCRIPTION="Asynchronous Python HTTP for Humans"
-HOMEPAGE="https://github.com/tardyp/txrequests"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/tardyp/txrequests/
+ https://pypi.org/project/txrequests/
+"
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}]
dev-python/twisted[${PYTHON_USEDEP}]
"
-BDEPEND="test? ( ${RDEPEND} )"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ )
+"
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
new file mode 100644
index 000000000000..a86c5713e677
--- /dev/null
+++ b/dev-python/txtorcon/Manifest
@@ -0,0 +1 @@
+DIST txtorcon-23.11.0.gh.tar.gz 395211 BLAKE2B 156c1c1d7e1d88939051ea19f4cd955e3a329dd1a550ea1a35d6c984db66d9b8e7fff35b2aa5caa12589273b46c1ce65d802fe89ce2a57443e0b5ce592247ee0 SHA512 815aecd8b6f3d12be1f903ba4dbb037e5f5920d925ca06c9f92a040d8258c4c1182ae5fca0be26fd2adb529c1726ad9ee080ddcada56e3e8b9922f7295731df3
diff --git a/dev-python/txtorcon/metadata.xml b/dev-python/txtorcon/metadata.xml
new file mode 100644
index 000000000000..41f36acb77d0
--- /dev/null
+++ b/dev-python/txtorcon/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>tamiko@gentoo.org</email>
+ <name>Matthias Maier</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">txtorcon</remote-id>
+ <remote-id type="github">meejah/txtorcon</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/txtorcon/txtorcon-23.11.0.ebuild b/dev-python/txtorcon/txtorcon-23.11.0.ebuild
new file mode 100644
index 000000000000..abd577bf70e9
--- /dev/null
+++ b/dev-python/txtorcon/txtorcon-23.11.0.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
+
+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 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/automat[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/twisted[ssl,${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ sys-process/lsof
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/typed-ast/Manifest b/dev-python/typed-ast/Manifest
deleted file mode 100644
index d4d09da4f5c4..000000000000
--- a/dev-python/typed-ast/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST typed_ast-1.4.3.tar.gz 210893 BLAKE2B 9e0bbaac73d97c13303c783d4e91b015570d9b9ad74361e1bcfe67259982459003ea6c24602ce004fe1447c4375090d5fa58006e18af28da256f6b25d9aa20b1 SHA512 7ac06e277c883afd1a7161601ffca0114aa63db257695a4bf4c64d819a7192fe52167edb57991aefc7accc6a9902b5faf2ba9e4032c4b9be31f1db7a091607c9
-DIST typed_ast-1.5.4.tar.gz 252491 BLAKE2B 07a97a881cd4c015897ca85e0b46acd6f63c48dbc69f4d73ad5e3bfd42b1b995a614d97b81c8d21c8d5dcbdddc838bffde033e11b55d866fa8e8db0aa8048731 SHA512 1ff27316d8e07219ad5b3744c167b7a7dfebb992f8ebc4623bf510f8b5d2b939cc9f659428e3228a42cdec0e63215cca973458aa914f2efdc59d5f33c150e153
diff --git a/dev-python/typed-ast/files/typed-ast-1.4.3-python310.patch b/dev-python/typed-ast/files/typed-ast-1.4.3-python310.patch
deleted file mode 100644
index 7c95f2465f0d..000000000000
--- a/dev-python/typed-ast/files/typed-ast-1.4.3-python310.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-https://github.com/python/typed_ast/commit/123286721923ae8f3885dbfbad94d6ca940d5c96
-https://bugs.gentoo.org/874900
-
-From 123286721923ae8f3885dbfbad94d6ca940d5c96 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
-Date: Wed, 10 Nov 2021 19:15:50 +0100
-Subject: [PATCH] Define _PyUnicode_DecodeUnicodeEscape even on Python 3.6+
- (#171)
-
---- a/ast3/Python/ast.c
-+++ b/ast3/Python/ast.c
-@@ -56,6 +56,8 @@ _PyBytes_DecodeEscape(const char *s,
- return PyBytes_DecodeEscape(s, len, errors, unicode, recode_encoding);
- }
-
-+#endif
-+
- PyObject *
- _PyUnicode_DecodeUnicodeEscape(const char *s,
- Py_ssize_t size,
-@@ -66,8 +68,6 @@ _PyUnicode_DecodeUnicodeEscape(const char *s,
- return PyUnicode_DecodeUnicodeEscape(s, size, errors);
- }
-
--#endif
--
- static int validate_stmts(asdl_seq *);
- static int validate_exprs(asdl_seq *, expr_context_ty, int);
- static int validate_nonempty_seq(asdl_seq *, const char *, const char *);
-
diff --git a/dev-python/typed-ast/metadata.xml b/dev-python/typed-ast/metadata.xml
deleted file mode 100644
index a3ffaaa88237..000000000000
--- a/dev-python/typed-ast/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">python/typed_ast</remote-id>
- <remote-id type="pypi">typed-ast</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/typed-ast/typed-ast-1.4.3-r1.ebuild b/dev-python/typed-ast/typed-ast-1.4.3-r1.ebuild
deleted file mode 100644
index ac8dac640289..000000000000
--- a/dev-python/typed-ast/typed-ast-1.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..10} )
-inherit distutils-r1
-
-DESCRIPTION="Python typed-ast backported"
-HOMEPAGE="https://pypi.org/project/typed-ast/ https://github.com/python/typed_ast"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/_}/${P/-/_}.tar.gz"
-S="${WORKDIR}/${P/-/_}"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-PATCHES=(
- "${FILESDIR}"/${P}-python310.patch
-)
-
-distutils_enable_tests pytest
-
-python_test() {
- cd "${BUILD_DIR}" || die
- epytest
-}
diff --git a/dev-python/typed-ast/typed-ast-1.5.4.ebuild b/dev-python/typed-ast/typed-ast-1.5.4.ebuild
deleted file mode 100644
index 7e4b8d6eb039..000000000000
--- a/dev-python/typed-ast/typed-ast-1.5.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python typed-ast backported"
-HOMEPAGE="
- https://github.com/python/typed_ast/
- https://pypi.org/project/typed-ast/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/_}/${P/-/_}.tar.gz"
-S="${WORKDIR}/${P/-/_}"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-distutils_enable_tests pytest
-
-python_test() {
- cd "${BUILD_DIR}" || die
- epytest
-}
diff --git a/dev-python/typeguard/Manifest b/dev-python/typeguard/Manifest
index 1f9c43e6470b..397c03f3d417 100644
--- a/dev-python/typeguard/Manifest
+++ b/dev-python/typeguard/Manifest
@@ -1 +1,2 @@
-DIST typeguard-2.13.3.gh.tar.gz 37436 BLAKE2B a3cb616692119c64a9dc0d0bae25cc661b7974a0b6cf6632fa403f7c5430873570b1aaa310bc03843deee6f77a831c303ea9d9091db596eb565fce43980bbb13 SHA512 26c31ee9670650d1969320187a924d29d986894a38f1026af58f705b132b64be3b6e2ac34729f966f5d302d486334b5a5d9e65fb206245b82b0ff0852020b609
+DIST typeguard-4.1.5.tar.gz 69228 BLAKE2B 2af39b1cb179483e167b8cfbf053e633f5947b3a17c496aaa2bdf22f3a69f7b41e2c9f317534eb12ffb781364cf81d117ced9fafd389aadd85d16d05e42bff0b SHA512 50bf3760246dba5de2e98038c78acbd6f2fd2d69ae8c688c3efeface5ef6cc4c2521f82d6084dabc1258286ac589ff94f1b9e3c9b67e9b019d725bf13884fce2
+DIST typeguard-4.2.1.tar.gz 71292 BLAKE2B ad529ce88c7d38d4491734c5ac8e465bbde66ccd76a18f83c0f61837fa10c50450bc8535bbab48e913cea9593795a6b16d82650eed38c277f65cd5d5556d71a1 SHA512 2bfe2836cbcca0f223d16e5772c9c53169b75391f062eb6fc5f1abc22297b7482f3482812f15b3ed92dd31b86f803072245370dce5ba19fc4d31723b1d2f38b3
diff --git a/dev-python/typeguard/files/typeguard-2.13.3-test.patch b/dev-python/typeguard/files/typeguard-2.13.3-test.patch
deleted file mode 100644
index 3c01c018ea86..000000000000
--- a/dev-python/typeguard/files/typeguard-2.13.3-test.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff --git a/src/typeguard/__init__.py b/src/typeguard/__init__.py
-index 5684d63..27fa30b 100644
---- a/src/typeguard/__init__.py
-+++ b/src/typeguard/__init__.py
-@@ -61,22 +61,25 @@ except ImportError:
- from typing import _ForwardRef as ForwardRef
- evaluate_forwardref = ForwardRef._eval_type
-
--if sys.version_info >= (3, 10):
-- from typing import is_typeddict
--else:
-- _typed_dict_meta_types = ()
-- if sys.version_info >= (3, 8):
-- from typing import _TypedDictMeta
-- _typed_dict_meta_types += (_TypedDictMeta,)
-+try:
-+ from typing_extensions import is_typeddict
-+except ImportError:
-+ if sys.version_info >= (3, 10):
-+ from typing import is_typeddict
-+ else:
-+ _typed_dict_meta_types = ()
-+ if sys.version_info >= (3, 8):
-+ from typing import _TypedDictMeta
-+ _typed_dict_meta_types += (_TypedDictMeta,)
-
-- try:
-- from typing_extensions import _TypedDictMeta
-- _typed_dict_meta_types += (_TypedDictMeta,)
-- except ImportError:
-- pass
-+ try:
-+ from typing_extensions import _TypedDictMeta
-+ _typed_dict_meta_types += (_TypedDictMeta,)
-+ except ImportError:
-+ pass
-
-- def is_typeddict(tp) -> bool:
-- return isinstance(tp, _typed_dict_meta_types)
-+ def is_typeddict(tp) -> bool:
-+ return isinstance(tp, _typed_dict_meta_types)
-
-
- if TYPE_CHECKING:
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-2.13.3-r1.ebuild b/dev-python/typeguard/typeguard-2.13.3-r1.ebuild
deleted file mode 100644
index daefd24aab60..000000000000
--- a/dev-python/typeguard/typeguard-2.13.3-r1.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Run-time type checker for Python"
-HOMEPAGE="
- https://pypi.org/project/typeguard/
- https://github.com/agronholm/typeguard/
-"
-SRC_URI="
- https://github.com/agronholm/typeguard/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-PATCHES=(
- # backport from https://github.com/agronholm/typeguard/pull/243
- "${FILESDIR}"/${P}-test.patch
-)
-
-python_test() {
- local EPYTEST_IGNORE=(
- # mypy changes results from version to version
- tests/mypy
- )
-
- local -x PYTHONDONTWRITEBYTECODE=
- epytest
-}
diff --git a/dev-python/typeguard/typeguard-4.1.5.ebuild b/dev-python/typeguard/typeguard-4.1.5.ebuild
new file mode 100644
index 000000000000..b63143ee3d93
--- /dev/null
+++ b/dev-python/typeguard/typeguard-4.1.5.ebuild
@@ -0,0 +1,42 @@
+# 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.2.1.ebuild b/dev-python/typeguard/typeguard-4.2.1.ebuild
new file mode 100644
index 000000000000..6a1669a1ed28
--- /dev/null
+++ b/dev-python/typeguard/typeguard-4.2.1.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=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.10.0[${PYTHON_USEDEP}]
+ ' 3.{10..12})
+"
+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 -p typeguard
+}
diff --git a/dev-python/types-docutils/Manifest b/dev-python/types-docutils/Manifest
index 7e7e1e717c2c..2504cae1276a 100644
--- a/dev-python/types-docutils/Manifest
+++ b/dev-python/types-docutils/Manifest
@@ -1 +1 @@
-DIST types-docutils-0.19.1.2.tar.gz 8973 BLAKE2B 7303c3ce16c9521215f29d2129394a92d436b2c75441189a6c3bbb0279c504ccb34995e9e40c777af7d6a09524043d05640d0419bfdbdc93b83b7daa91c6a9f3 SHA512 b9c4fff2f56bc77209f771996c24eef0c4d902dccb932e50b0f7207cccee8aef8335dfdf2cea7ff63f8c80de00be9293fd8367b78562dd7190f25228811177aa
+DIST types-docutils-0.20.0.20240406.tar.gz 19423 BLAKE2B 13292676e4f46ebd273962eae09961f7f7ab86168ff49b5372ecbf3ef0c13a95857bc65b22447016779f608b92e76e9310e746394e68e174a3d98a5f7003d442 SHA512 94a742e151e66497e96b761279913c741f4e79194a37def496cd71930803668ab5c96c76eab584cbeb491a3750ba0a45727894d24a123fd01f3bb72cbc36a8a8
diff --git a/dev-python/types-docutils/types-docutils-0.19.1.2.ebuild b/dev-python/types-docutils/types-docutils-0.19.1.2.ebuild
deleted file mode 100644
index 13149a76e44c..000000000000
--- a/dev-python/types-docutils/types-docutils-0.19.1.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Typing stubs for docutils"
-HOMEPAGE="https://pypi.org/project/types-docutils/"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/types-docutils/types-docutils-0.20.0.20240406.ebuild b/dev-python/types-docutils/types-docutils-0.20.0.20240406.ebuild
new file mode 100644
index 000000000000..cb335ec2836f
--- /dev/null
+++ b/dev-python/types-docutils/types-docutils-0.20.0.20240406.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 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 062c26515e36..0fef35f89316 100644
--- a/dev-python/types-gdb/Manifest
+++ b/dev-python/types-gdb/Manifest
@@ -1 +1,2 @@
-DIST types-gdb-12.1.4.tar.gz 9561 BLAKE2B c6dda155f23e36570c2e00b5fe8e9fc36a42d2cc16aa79529865498b331768bf308d177842e20d1b0d941fc0a3d2e7559699e4eef8f02c1cbbdf83698751a144 SHA512 40653c68341aa73f2bd0e48b6631ad151ce5ec32011a189ae340e0a40c8713f2178d0a0ab47b6433a72a8482e8aa11fcffb12c230c41445f41c1056120f22f5c
+DIST types-gdb-12.1.4.20240401.tar.gz 11710 BLAKE2B 63a0e6aa2bc738bf05c24a81d3f031dc5be0010a66c445a8bc485e6617b8d3bd2cc85894e5caf68e7dcc619e72e80ab0a0eb4b4fc0d5c90e50345e0658620aad SHA512 0a145da20e847da00a1fdfb29e56845878b67bb99f344e6059f86d1fc4d84a6b32f1d16eadd19616b9a7619b7f832fa41772beea1bd314678d337e2fc009afa4
+DIST types-gdb-12.1.4.20240408.tar.gz 11767 BLAKE2B 3968f1edff0b809404091864683a13d6c5037077aad0435dd425a159cea5c5b906552028bd05136af98db8fe2715809287cb36ae9706d408561a43138667cd3c SHA512 8bb5d4508d456a1e55e9bac8eeaa15745fb5546cfd1749d28c22cc03db3a6a35145a7c1adcfdfa617ca2636c18ea8fac41c7b1043f49a8acd63d1475de3f3456
diff --git a/dev-python/types-gdb/types-gdb-12.1.4.20240401.ebuild b/dev-python/types-gdb/types-gdb-12.1.4.20240401.ebuild
new file mode 100644
index 000000000000..bb9b717448e5
--- /dev/null
+++ b/dev-python/types-gdb/types-gdb-12.1.4.20240401.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.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.ebuild b/dev-python/types-gdb/types-gdb-12.1.4.ebuild
deleted file mode 100644
index e5482a7c60db..000000000000
--- a/dev-python/types-gdb/types-gdb-12.1.4.ebuild
+++ /dev/null
@@ -1,16 +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="Typing stubs for gdb"
-HOMEPAGE="https://pypi.org/project/types-gdb/"
-SRC_URI="https://files.pythonhosted.org/packages/8a/a9/d95bc3268e21b460639806ccb48a5a95526c6018862f1aa852c69bce8f1d/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/types-psutil/Manifest b/dev-python/types-psutil/Manifest
new file mode 100644
index 000000000000..286240fea080
--- /dev/null
+++ b/dev-python/types-psutil/Manifest
@@ -0,0 +1 @@
+DIST types-psutil-5.9.5.20240316.tar.gz 14419 BLAKE2B f42116f8dc8dcec2fb224fa9a40e9cd7b4432c47d658e3e35cbf8d2c48c50b516116ddbe1fb3dd2ac37d05187adbcdeb75a3d303a6d8872dada76cc8820d1e93 SHA512 8d41ab6ab134f4e150fbc7529d153023ec63ab558db16e4693885a693c0956eaf9eb84e3a8a14e26549e21dfc3a999a6b9661d1930fc4ac2b0015e7e7c88f990
diff --git a/dev-python/types-psutil/metadata.xml b/dev-python/types-psutil/metadata.xml
new file mode 100644
index 000000000000..11bbf2400c0c
--- /dev/null
+++ b/dev-python/types-psutil/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">types-psutil</remote-id>
+ <remote-id type="github">python/typeshed</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/types-psutil/types-psutil-5.9.5.20240316.ebuild b/dev-python/types-psutil/types-psutil-5.9.5.20240316.ebuild
new file mode 100644
index 000000000000..2f3b385784e8
--- /dev/null
+++ b/dev-python/types-psutil/types-psutil-5.9.5.20240316.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..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-setuptools/Manifest b/dev-python/types-setuptools/Manifest
new file mode 100644
index 000000000000..80edc49a9396
--- /dev/null
+++ b/dev-python/types-setuptools/Manifest
@@ -0,0 +1,2 @@
+DIST types-setuptools-69.2.0.20240317.tar.gz 36743 BLAKE2B 1e3a318993b3f802cb0fac94400d5859e57f009a26a1448586420e14a62b4296414c2d43ee860f53b65ddf6e5d42278a5757e96e62d0db2df1739f94d5974003 SHA512 58bd476d81a5f423b733efe5b7bd4a961849ec0cf558a45b52347bca3ae99692463ba26ae0fbc4df9a895ba88937393159541d2d00a2d026b9a5388beafcafbb
+DIST types-setuptools-69.5.0.20240415.tar.gz 37530 BLAKE2B a67b2e7dfc22e7c3511714f085422e1333f3608876b48b1dbcaa38b10a402db1d92075cbcbed28c197e22aa1b285eb68b245923b9f010d655c160d881e7cc07b SHA512 14f01869712db92a97febb9852dd095980041220ab61241dd7909a916e2b5405903506480ce20132da8da10e3e67d8fc6b4ea00aa1b84a051fa5852237765372
diff --git a/dev-python/types-setuptools/metadata.xml b/dev-python/types-setuptools/metadata.xml
new file mode 100644
index 000000000000..72d068150f1f
--- /dev/null
+++ b/dev-python/types-setuptools/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">types-setuptools</remote-id>
+ <remote-id type="github">python/typeshed</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/types-setuptools/types-setuptools-69.2.0.20240317.ebuild b/dev-python/types-setuptools/types-setuptools-69.2.0.20240317.ebuild
new file mode 100644
index 000000000000..4ac1e9e449a5
--- /dev/null
+++ b/dev-python/types-setuptools/types-setuptools-69.2.0.20240317.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..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.5.0.20240415.ebuild b/dev-python/types-setuptools/types-setuptools-69.5.0.20240415.ebuild
new file mode 100644
index 000000000000..69fd1036f5c6
--- /dev/null
+++ b/dev-python/types-setuptools/types-setuptools-69.5.0.20240415.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..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/typing-extensions/Manifest b/dev-python/typing-extensions/Manifest
index 7e34bcb7ef58..96b7a1552153 100644
--- a/dev-python/typing-extensions/Manifest
+++ b/dev-python/typing-extensions/Manifest
@@ -1,2 +1,2 @@
-DIST typing_extensions-4.3.0.gh.tar.gz 47842 BLAKE2B 23a600dcded95a1109da46537bab49a6a478c77334d7c9effe65564bf236371c413a07220df3fa1de1bd0451e90961df908e097e7c7cb6d2534102369ce2590e SHA512 3c4a9073dc89e71b8027d535853d35725163961f7feeaba817e28f93b236bcae805d9b1f6e2be8e9fc3651c283b662935ba0352e5de25ff74df4dc18373e8f7a
-DIST typing_extensions-4.4.0.gh.tar.gz 50027 BLAKE2B 4cb757eadcfce85842dc5625e620f01f8fda00fe3712d5895d8b0aa07a9e649cd20f9f820cb2801e3b34c84c1d3b79d5e71fc49cd37014924825b6cdef0152c7 SHA512 1c046e6dab22fb399acf7ab8771d035aa24c88b09cbd023e80a41cd04851c5f8b1d297275012e933658e963e008b073b8d3815f5703042545b57130daa38f143
+DIST typing_extensions-4.10.0.tar.gz 77558 BLAKE2B eddcee7d33437d10d599a7f0e03932525945bc57be5bc62ffa27417458f0fcb96c4fdddb3749f9a6db4615dee88221338cdb2de775db8b503ba3586b9fcf6b6f SHA512 d3d840719ed0cf1435a959f84a65df93f55fb4bfdda926cd74a34a8bb6ab0407108ee8941f40b6cb570e2f7c440abffb0bc1d0f0414814047de6e9c3eeb24093
+DIST typing_extensions-4.11.0.tar.gz 78744 BLAKE2B 641d4a13fcd10151a0b7059d11393c78974883710a860805dc132a148677c80a0be06dc32f66cffc4ae2dd838c607bdaa8d3f44e4e3cf55848d2a315bd74ce5a SHA512 d795fadbe9c0a24c4d3190f375d72576f5b42a14dc3a999127c1356f2ae77d4bffdc04a23b7a05331cc8b703a81f504328aaf5d6c1247ea24cbeed25dccb0a37
diff --git a/dev-python/typing-extensions/files/typing-extensions-4.4.0-pypy-tests.patch b/dev-python/typing-extensions/files/typing-extensions-4.4.0-pypy-tests.patch
deleted file mode 100644
index 479e11a7657b..000000000000
--- a/dev-python/typing-extensions/files/typing-extensions-4.4.0-pypy-tests.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 3a54ef1ff6cab8c2946a78b066fd5bba6529945a Mon Sep 17 00:00:00 2001
-From: Sebastian Rittau <srittau@rittau.biz>
-Date: Fri, 7 Oct 2022 14:47:24 +0200
-Subject: [PATCH] Fix tests when running pypy (#84)
-
-Also run CI against pypy and update actions.
-
-Closes: #83
----
- .github/workflows/ci.yml | 14 +++++++-------
- src/test_typing_extensions.py | 4 ++++
- 2 files changed, 11 insertions(+), 7 deletions(-)
-
-diff --git a/src/test_typing_extensions.py b/src/test_typing_extensions.py
-index 15b2147..7110f96 100644
---- a/src/test_typing_extensions.py
-+++ b/src/test_typing_extensions.py
-@@ -509,6 +509,10 @@ def blah():
-
- blah()
-
-+ @skipIf(
-+ sys.implementation.name == "pypy",
-+ "sum() and print() are not compiled in pypy"
-+ )
- @patch(
- f"{registry_holder.__name__}._overload_registry",
- defaultdict(lambda: defaultdict(dict))
diff --git a/dev-python/typing-extensions/typing-extensions-4.10.0.ebuild b/dev-python/typing-extensions/typing-extensions-4.10.0.ebuild
new file mode 100644
index 000000000000..2b2ddff925ca
--- /dev/null
+++ b/dev-python/typing-extensions/typing-extensions-4.10.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=flit
+PYTHON_COMPAT=( python3_{10..12} 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.11.0.ebuild b/dev-python/typing-extensions/typing-extensions-4.11.0.ebuild
new file mode 100644
index 000000000000..795492eaf7bc
--- /dev/null
+++ b/dev-python/typing-extensions/typing-extensions-4.11.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=flit
+PYTHON_COMPAT=( python3_{10..12} 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.3.0.ebuild b/dev-python/typing-extensions/typing-extensions-4.3.0.ebuild
deleted file mode 100644
index a2e79fe5daf8..000000000000
--- a/dev-python/typing-extensions/typing-extensions-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=flit
-PYTHON_COMPAT=( python3_{9..11} 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 ~x64-macos ~x64-solaris"
-
-python_test() {
- cd "${S}"/src || die
- "${EPYTHON}" test_typing_extensions.py -v || die "tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/typing-extensions/typing-extensions-4.4.0.ebuild b/dev-python/typing-extensions/typing-extensions-4.4.0.ebuild
deleted file mode 100644
index 3187222251f7..000000000000
--- a/dev-python/typing-extensions/typing-extensions-4.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=flit
-PYTHON_COMPAT=( python3_{9..11} 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 ~x64-macos ~x64-solaris"
-
-distutils_enable_tests unittest
-
-PATCHES=(
- "${FILESDIR}"/${P}-pypy-tests.patch
-)
-
-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 33d2379d97e5..6766eb073754 100644
--- a/dev-python/typogrify/typogrify-2.0.7-r1.ebuild
+++ b/dev-python/typogrify/typogrify-2.0.7-r1.ebuild
@@ -4,20 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Filters for web typography, supporting Django & Jinja templates"
HOMEPAGE="
https://github.com/mintchaos/typogrify/
https://pypi.org/project/typogrify/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha 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 sparc x86"
RDEPEND="
>=dev-python/smartypants-1.8.3[${PYTHON_USEDEP}]
diff --git a/dev-python/tzdata/metadata.xml b/dev-python/tzdata/metadata.xml
new file mode 100644
index 000000000000..7d421671d884
--- /dev/null
+++ b/dev-python/tzdata/metadata.xml
@@ -0,0 +1,8 @@
+<?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/>
+</pkgmetadata>
diff --git a/dev-python/tzdata/tzdata-10001.ebuild b/dev-python/tzdata/tzdata-10001.ebuild
new file mode 100644
index 000000000000..493c3622493f
--- /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..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 = ["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/tzlocal/Manifest b/dev-python/tzlocal/Manifest
index 92426930bfc5..7fa9c8236ea0 100644
--- a/dev-python/tzlocal/Manifest
+++ b/dev-python/tzlocal/Manifest
@@ -1 +1 @@
-DIST tzlocal-4.2.gh.tar.gz 23649 BLAKE2B 8b50f13854543a3ba5506bf7562ef0f3a7e7b5a20c7af037dd6eece0af16ead2b762b652b9bee0aaeede73178137293773e428a347e78ae7df999be609a34e3b SHA512 574c2f886fa6d1f2973e1ce817bd3347a77bd3beb0535bf5ba93e028e31388987f3f55369bd5a4a4a86c72af226256cdd7803f5bbe3ca6ce891b5adefdce776e
+DIST tzlocal-5.2.gh.tar.gz 25734 BLAKE2B a2f1084e9128bc66ff861bd953a7c7a1c69e29d1e411f9489b9ff13cbadac75f42c126ddd3b66e8426e41d6376d3f9646192dc4bb5ed421b602b85bd8f109233 SHA512 21e25ef6756cb11277027dc388f779f68b1c5e03c1e7dced81fdebe0d3656c81c363a1c2f3a98344f34325bc9533d995c5a006ab7b34ff2907442a6994024d4e
diff --git a/dev-python/tzlocal/tzlocal-4.2.ebuild b/dev-python/tzlocal/tzlocal-4.2.ebuild
deleted file mode 100644
index e754549ee688..000000000000
--- a/dev-python/tzlocal/tzlocal-4.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="tzinfo object for the local timezone"
-HOMEPAGE="
- https://github.com/regebro/tzlocal/
- https://pypi.org/project/tzlocal/
-"
-SRC_URI="
- https://github.com/regebro/tzlocal/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"
-
-RDEPEND="
- dev-python/pytz_deprecation_shim[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/backports-zoneinfo[${PYTHON_USEDEP}]
- ' 3.8)
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/tzlocal/tzlocal-5.2.ebuild b/dev-python/tzlocal/tzlocal-5.2.ebuild
new file mode 100644
index 000000000000..abfb93d6d81f
--- /dev/null
+++ b/dev-python/tzlocal/tzlocal-5.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 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="tzinfo object for the local timezone"
+HOMEPAGE="
+ https://github.com/regebro/tzlocal/
+ https://pypi.org/project/tzlocal/
+"
+# symlinks aren't correctly preserved in sdist, as of 5.0.1
+SRC_URI="
+ https://github.com/regebro/tzlocal/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"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/u-msgpack-python/Manifest b/dev-python/u-msgpack-python/Manifest
index a21feccff61e..d2047dd3ecf5 100644
--- a/dev-python/u-msgpack-python/Manifest
+++ b/dev-python/u-msgpack-python/Manifest
@@ -1 +1 @@
-DIST u-msgpack-python-2.7.2.tar.gz 20654 BLAKE2B 0365e4e778c9979d9154d8a267ba3bdaad9b2ef808723d2ae89e078fc0c8d76aebab234f1723985cf3b288274123e49571607599d6087ea234e3e8dc11e3a302 SHA512 e5d35bc03e5c23cfbaf9cc7f6459576e89b5dd19661ddff2a4ab5de2751e0b73c17e4685c6fead15ce2bf100b2250a3ba7cb10a7fa3f23debfa2141f4370b623
+DIST u-msgpack-python-2.8.0.tar.gz 18167 BLAKE2B 9cd0bf2a7dca8eac4c990e320a5d3c325ea31867c82a46d588c8e9bfae1feef504916f8cb75d3f2ed2adb3fa13c03c07fca91071d5d9a6d6ab47686539d704bf SHA512 61dd332c9f72db65a6a949e2acdc668ab01981b3eb1e9fd58e506d35d47f5f656b9d0abec92ae0e4d949bab063aeff75c205b92758275d99dbbe5f65f15241b9
diff --git a/dev-python/u-msgpack-python/u-msgpack-python-2.7.2.ebuild b/dev-python/u-msgpack-python/u-msgpack-python-2.7.2.ebuild
deleted file mode 100644
index 79b14437c8a4..000000000000
--- a/dev-python/u-msgpack-python/u-msgpack-python-2.7.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A portable, lightweight MessagePack serializer and deserializer"
-HOMEPAGE="
- https://github.com/vsergeev/u-msgpack-python/
- https://pypi.org/project/u-msgpack-python/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.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"
-
-distutils_enable_tests pytest
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
new file mode 100644
index 000000000000..90987bc3c53f
--- /dev/null
+++ b/dev-python/u-msgpack-python/u-msgpack-python-2.8.0.ebuild
@@ -0,0 +1,22 @@
+# 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 portable, lightweight MessagePack serializer and deserializer"
+HOMEPAGE="
+ https://github.com/vsergeev/u-msgpack-python/
+ https://pypi.org/project/u-msgpack-python/
+"
+
+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 pytest
diff --git a/dev-python/ubelt/Manifest b/dev-python/ubelt/Manifest
index 3dede266efe1..e0e6bfde97e7 100644
--- a/dev-python/ubelt/Manifest
+++ b/dev-python/ubelt/Manifest
@@ -1 +1,2 @@
-DIST ubelt-1.2.3.gh.tar.gz 324632 BLAKE2B bafb67048a8a6525fc0aa1393fff22a3bf56d3843d195dc29125b8f452c4700dff77282349fbb44e0fc23a5495bcf48d6626879603f6c68a14ee04435d0f1831 SHA512 2a0a3e8b40ebaa5d2c7856cd197cdd8113ff58be6827ce57f394284f824e310078ef2a754247575c9eec2d3d1eecce2ec22239102eade025d556a79552e5f9d3
+DIST ubelt-1.3.4.gh.tar.gz 353041 BLAKE2B 1de8ad1fc69554570f62c17fa537918b93d913e09db1d7c9b94ac9fa5f7b60a4a408f4c562718b9bbcf13e4307c091cf4ac24caa952233974d37cc6651e4786e SHA512 b3afc832832b28e7ca884c68188d34da9a1c3d5e38b5431cc40d8215fd43875f02cf71068e8b242feca0891f9421d3fba745d4236865beb5cb4f40482a777e13
+DIST ubelt-1.3.5.gh.tar.gz 361497 BLAKE2B 68887d1147faf44cc6c0b62441362c903d20bf141921c62122bbd846fb5d886f8bc4d7012262e2a146670996fc7c39238534f9d9e768f073d279f6234ea23fd8 SHA512 bf54345a1dd8cd737525b91050e587e86fbde29fef7ae787dba8c5dae675ee763e193a460f567d89229592c43c780a65091ffcab008383e06dd1318c7a9f3dd3
diff --git a/dev-python/ubelt/metadata.xml b/dev-python/ubelt/metadata.xml
index 3714117854ff..1cb34565e417 100644
--- a/dev-python/ubelt/metadata.xml
+++ b/dev-python/ubelt/metadata.xml
@@ -10,6 +10,7 @@
<name>Python</name>
</maintainer>
<upstream>
+ <remote-id type="github">Erotemic/ubelt</remote-id>
<remote-id type="pypi">ubelt</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/ubelt/ubelt-1.2.3.ebuild b/dev-python/ubelt/ubelt-1.2.3.ebuild
deleted file mode 100644
index 1900b772e9f4..000000000000
--- a/dev-python/ubelt/ubelt-1.2.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_{9..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
new file mode 100644
index 000000000000..e8e95a779a75
--- /dev/null
+++ b/dev-python/ubelt/ubelt-1.3.4.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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.5.ebuild b/dev-python/ubelt/ubelt-1.3.5.ebuild
new file mode 100644
index 000000000000..4990d2a18424
--- /dev/null
+++ b/dev-python/ubelt/ubelt-1.3.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..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/uc-micro-py/Manifest b/dev-python/uc-micro-py/Manifest
index 4606880ea2fb..645eaf91b9b8 100644
--- a/dev-python/uc-micro-py/Manifest
+++ b/dev-python/uc-micro-py/Manifest
@@ -1 +1 @@
-DIST uc.micro-py-1.0.1.gh.tar.gz 6235 BLAKE2B 7ba5935e97d9926789cde37491ce09235f467781ddd99dc841f70bd42a13c87bdc3a7970684cab81684620c1c49e1bc316faa0d4e8664293c76cf7c86e24c446 SHA512 c6747943bd4ac9a3b7bf8d02a52947df04d4d4986311da7fa77d6ae010d512de9ad429d78a436a2f8e11c6f2d8dde00bea70ea0b1237a35e5b16ed4ad6b430fe
+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.1.ebuild b/dev-python/uc-micro-py/uc-micro-py-1.0.1.ebuild
deleted file mode 100644
index eb0cd29a214a..000000000000
--- a/dev-python/uc-micro-py/uc-micro-py-1.0.1.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_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-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/
-"
-SRC_URI="
- https://github.com/tsutsu3/uc.micro-py/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 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..bc4f69ebb9a3
--- /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..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/ujson/Manifest b/dev-python/ujson/Manifest
index 082415830a06..019bd3f62f6f 100644
--- a/dev-python/ujson/Manifest
+++ b/dev-python/ujson/Manifest
@@ -1,2 +1 @@
-DIST ujson-5.6.0.tar.gz 7151977 BLAKE2B 59c0b88bdc59791889971993135484ce99763ad4805b36db7a3abc5e950c9132b917e7fbfb09870af916f5939d10e23ab44137f416179f75a06f424cf4b1154d SHA512 996c9746e011f116fcab3e61345df27cb2c1251852f758eff1d3465e19df03deb1a037669aa6ee5aad2fc6c2cf76c22075ad6a73158ff4dc81357e59a4ee244a
-DIST ujson-5.7.0.tar.gz 7152625 BLAKE2B 363fd77be3e2f8fb42a70db744ab4da12c0c8383103983b3555cee237497837abfcef102b19a51c0fa118fedd7847c568607c058f1d2cea76858a6bd89a226da SHA512 e18a1608a7fe79030e3ff307c9e95a0e238cd5049ee791eddbc07efa55853475d053268b80a8765023639ae8ff39f82b4ae2c04e82fc7dc5f3192a5134ec0757
+DIST ujson-5.9.0.tar.gz 7154214 BLAKE2B a13eda1c967b8ad39265caf28f97ef302a0b320653cde3ac927dc8119861aa468cfe267980c18b71172f5b766b2e6bc61bb86f18695528934902867ae3a42d37 SHA512 9940bc0c892341a6d2b85cfe592888866f02f054f1367812c39395eaee946f7c66a0197b2791bbb765ae38a06dcd871145effefbc06c71a87f7d24be105cda1f
diff --git a/dev-python/ujson/ujson-5.6.0.ebuild b/dev-python/ujson/ujson-5.6.0.ebuild
deleted file mode 100644
index 2381ce0c005f..000000000000
--- a/dev-python/ujson/ujson-5.6.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Ultra fast JSON encoder and decoder for Python"
-HOMEPAGE="
- https://github.com/ultrajson/ultrajson/
- https://pypi.org/project/ujson/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv 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.7.0.ebuild b/dev-python/ujson/ujson-5.7.0.ebuild
deleted file mode 100644
index aff5eeb94dcd..000000000000
--- a/dev-python/ujson/ujson-5.7.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Ultra fast JSON encoder and decoder for Python"
-HOMEPAGE="
- https://github.com/ultrajson/ultrajson/
- https://pypi.org/project/ujson/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~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.9.0.ebuild b/dev-python/ujson/ujson-5.9.0.ebuild
new file mode 100644
index 000000000000..f569e3aff688
--- /dev/null
+++ b/dev-python/ujson/ujson-5.9.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} 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 dcc2bddedfc9..dedeabf17c98 100644
--- a/dev-python/ukkonen/ukkonen-1.0.1-r1.ebuild
+++ b/dev-python/ukkonen/ukkonen-1.0.1-r1.ebuild
@@ -3,27 +3,34 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
inherit distutils-r1
DESCRIPTION="Implementation of bounded Levenshtein distance (Ukkonen)"
HOMEPAGE="
https://pypi.org/project/ukkonen/
- https://github.com/asottile/ukkonen/"
+ https://github.com/asottile/ukkonen/
+"
SRC_URI="
https://github.com/asottile/ukkonen/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz"
+ -> ${P}.gh.tar.gz
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~hppa ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm64 ~hppa ~ppc ~ppc64 ~riscv x86"
RDEPEND="
$(python_gen_cond_dep '
dev-python/cffi[${PYTHON_USEDEP}]
- ' 'python*')"
-BDEPEND="${RDEPEND}"
+ ' 'python*')
+"
+BDEPEND="
+ ${RDEPEND}
+"
PATCHES=(
"${FILESDIR}"/${P}-musl-include.patch
diff --git a/dev-python/unasync/Manifest b/dev-python/unasync/Manifest
index 250ac1eea4d4..81e568623b8a 100644
--- a/dev-python/unasync/Manifest
+++ b/dev-python/unasync/Manifest
@@ -1 +1 @@
-DIST unasync-0.5.0.tar.gz 19060 BLAKE2B aa7a955aed98ab33cc1a12aa88a02ab38ef90f9494f04c3e032b66e56e033404e9b59a89834a1e07b224fb865af5d139c27ff91ae5fec8ad01b1e407d9c5c181 SHA512 5b68e9a70f487b2b0fcaf9a5c4240b366428154fda99d53120315382dc29d2cffbbed72e277cee1764f7b91158db3d8b394d4f4969cec1fd7e49f27f01c39440
+DIST unasync-0.5.0.gh.tar.gz 19060 BLAKE2B aa7a955aed98ab33cc1a12aa88a02ab38ef90f9494f04c3e032b66e56e033404e9b59a89834a1e07b224fb865af5d139c27ff91ae5fec8ad01b1e407d9c5c181 SHA512 5b68e9a70f487b2b0fcaf9a5c4240b366428154fda99d53120315382dc29d2cffbbed72e277cee1764f7b91158db3d8b394d4f4969cec1fd7e49f27f01c39440
diff --git a/dev-python/unasync/metadata.xml b/dev-python/unasync/metadata.xml
index c6efc28c3afd..7f5b12869179 100644
--- a/dev-python/unasync/metadata.xml
+++ b/dev-python/unasync/metadata.xml
@@ -1,12 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <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>
+ <maintainer type="person" proxied="yes">
+ <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>
+ <upstream>
+ <remote-id type="github">python-trio/unasync</remote-id>
+ <remote-id type="pypi">unasync</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-python/unasync/unasync-0.5.0-r1.ebuild b/dev-python/unasync/unasync-0.5.0-r1.ebuild
new file mode 100644
index 000000000000..06ae682c4438
--- /dev/null
+++ b/dev-python/unasync/unasync-0.5.0-r1.ebuild
@@ -0,0 +1,25 @@
+# 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.5.0.ebuild b/dev-python/unasync/unasync-0.5.0.ebuild
deleted file mode 100644
index a82b6a2bf4cf..000000000000
--- a/dev-python/unasync/unasync-0.5.0.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
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="The async transformation code"
-HOMEPAGE="https://github.com/python-trio/unasync"
-SRC_URI="https://github.com/python-trio/unasync/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="|| ( Apache-2.0 MIT )"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-src_prepare() {
- # Stop test from breaking itself
- sed -i '/env\["PYTHONPATH"\]/d' "${S}/tests/test_unasync.py" || die
- default_src_prepare
-}
-
-distutils_enable_sphinx docs/source \
- dev-python/sphinxcontrib-trio \
- dev-python/sphinx_rtd_theme
-
-distutils_enable_tests --install pytest
diff --git a/dev-python/uncertainties/uncertainties-3.1.7-r1.ebuild b/dev-python/uncertainties/uncertainties-3.1.7-r1.ebuild
index 9890ec206665..5c1abc030534 100644
--- a/dev-python/uncertainties/uncertainties-3.1.7-r1.ebuild
+++ b/dev-python/uncertainties/uncertainties-3.1.7-r1.ebuild
@@ -4,9 +4,9 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1 optfeature
+inherit distutils-r1 optfeature pypi
DESCRIPTION="Python module for calculations with uncertainties"
HOMEPAGE="
@@ -14,7 +14,6 @@ HOMEPAGE="
https://github.com/lebigot/uncertainties/
https://pypi.org/project/uncertainties/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/unearth/Manifest b/dev-python/unearth/Manifest
new file mode 100644
index 000000000000..670fc64e28f4
--- /dev/null
+++ b/dev-python/unearth/Manifest
@@ -0,0 +1,2 @@
+DIST unearth-0.15.1.tar.gz 283687 BLAKE2B e43a0fac6023974c877ad7b82eac402d38da61920ab905587bf19d6e506b127785863ae45064392ddfee042e3fa12868d996c4375acbd1baa7c31402d31da80a SHA512 94db664b45f6e570437a0e24ba12c0c8ac6358ef5fda214bcd2f5665158f4e314a23f77dcc5f923804a7b8a30e0c580c3efae854ee5a502504b48db405d932fb
+DIST unearth-0.15.2.tar.gz 283748 BLAKE2B 8387454676d6253ba1df6cf2c857d416c5b67ac5c9deafb6b34a70263f07147688f12c8bbd4a76dbca6a98542ccb31233d9ad19260f7800bcc67491ab0b76500 SHA512 1763d640153b53ce18b5b7c0ccab811402fe8dade87ebe64bf8984284710fc739c9ef0d0df20e7be356f4e93dda126bec3d6d801c92ad2c5b5381f8d6f94c04e
diff --git a/dev-python/unearth/metadata.xml b/dev-python/unearth/metadata.xml
new file mode 100644
index 000000000000..b532fa36d3f4
--- /dev/null
+++ b/dev-python/unearth/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="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">frostming/unearth</remote-id>
+ <remote-id type="pypi">unearth</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/unearth/unearth-0.15.1.ebuild b/dev-python/unearth/unearth-0.15.1.ebuild
new file mode 100644
index 000000000000..5260d38a7421
--- /dev/null
+++ b/dev-python/unearth/unearth-0.15.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..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/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.15.2.ebuild b/dev-python/unearth/unearth-0.15.2.ebuild
new file mode 100644
index 000000000000..5260d38a7421
--- /dev/null
+++ b/dev-python/unearth/unearth-0.15.2.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..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/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 e65dcc57256d..70cd22a2d40b 100644
--- a/dev-python/unidecode/Manifest
+++ b/dev-python/unidecode/Manifest
@@ -1 +1 @@
-DIST Unidecode-1.3.6.tar.gz 192466 BLAKE2B 62a2bd04f5d3f0c257fd5d001891a4021cc42eeebdc666cff69714ce6211e33ea9d2f44b9cc1b0d9c8bcdcc64ff256765716d48b32d9e0750049e0511c914d96 SHA512 97eb31c4f7e70a13628b4878a1cf91fc3a3b2525727a27b466e4e88d8f7db32054c93462d8aaf5da83b6f00cdd01dff258b93ac7b5e5e1a2d6dcdab608b89216
+DIST Unidecode-1.3.8.tar.gz 192701 BLAKE2B 622b61b89d83070101626775187a666b830399bc86c67367b0793b6626667dc8f4655372c7bc8b61f2433ac927ec7572e5beb104407784dd2f8e20ced9ecf981 SHA512 0c93647b05b3ce041ba0091705630a4d75dfc249b3aa57b1d8bd26d26f1a067af1d0103a0f57ee2ea07224797ce204562e08df92d0fe60e250a16614bf146ece
diff --git a/dev-python/unidecode/unidecode-1.3.6.ebuild b/dev-python/unidecode/unidecode-1.3.6.ebuild
deleted file mode 100644
index 5b3cb51aed5f..000000000000
--- a/dev-python/unidecode/unidecode-1.3.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P=Unidecode-${PV}
-DESCRIPTION="Module providing ASCII transliterations of Unicode text"
-HOMEPAGE="https://pypi.org/project/Unidecode/"
-SRC_URI="mirror://pypi/${MY_P:0:1}/${PN^}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-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..90786226cabb
--- /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..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/unidiff/Manifest b/dev-python/unidiff/Manifest
index 000ec869c866..35e73a1877aa 100644
--- a/dev-python/unidiff/Manifest
+++ b/dev-python/unidiff/Manifest
@@ -1 +1 @@
-DIST python-unidiff-0.7.4.gh.tar.gz 17582 BLAKE2B 9b674d5b1bc434464c5b7b08b4b6527e1394633abcc6211b9f459fde545fef1c6418ad84dbe9cf7a3a308deeb2221749f50f25458306046f2930d0fcc3af9526 SHA512 b8e1d8165efcc5788707432c3c3236d97ec86ae577ff3dd7ec405809dbaef3153a835572844f7ef2a4d5d2c9b60dee586717e4cf0acf4db8049ab7c5af178a07
+DIST unidiff-0.7.5.tar.gz 20931 BLAKE2B b43ff383fdc52f2d2973a42a8178eeae46b2e73919dc4e79166fe100b3d3cc8a47c1a55f76f1f4b49d5c175eea3949e750b7c4ddea716e8f1d6faa34109cdc81 SHA512 bcb8c234643ecaf7d8227b57f90fbc546851b5e3abe84d74b33570bf3399b9be756b4dca9f1506b69e9401e724bfd9892c5deac515160685e5399bfe555716a3
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.4.ebuild b/dev-python/unidiff/unidiff-0.7.4.ebuild
deleted file mode 100644
index 36c80815ded8..000000000000
--- a/dev-python/unidiff/unidiff-0.7.4.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=( python3_{9..11} )
-
-inherit distutils-r1
-
-# TODO: rename when the old version is gone?
-MY_P=python-${P}
-DESCRIPTION="Unified diff parsing/metadata extraction library"
-HOMEPAGE="
- https://github.com/matiasb/python-unidiff/
- https://pypi.org/project/unidiff/
-"
-SRC_URI="
- https://github.com/matiasb/python-unidiff/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-distutils_enable_tests unittest
diff --git a/dev-python/unidiff/unidiff-0.7.5.ebuild b/dev-python/unidiff/unidiff-0.7.5.ebuild
new file mode 100644
index 000000000000..d1022689cbd5
--- /dev/null
+++ b/dev-python/unidiff/unidiff-0.7.5.ebuild
@@ -0,0 +1,21 @@
+# 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="Unified diff parsing/metadata extraction library"
+HOMEPAGE="
+ https://github.com/matiasb/python-unidiff/
+ https://pypi.org/project/unidiff/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~riscv ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/unittest-mixins/Manifest b/dev-python/unittest-mixins/Manifest
index a095fe3ecaf2..82ab88956954 100644
--- a/dev-python/unittest-mixins/Manifest
+++ b/dev-python/unittest-mixins/Manifest
@@ -1 +1 @@
-DIST unittest-mixins-1.6.tar.gz 14156 BLAKE2B f47831355cb3f6606b36124af7d6634b8c012d8f85ce843fbb2882360006eaf3b964d6d2ed718137e0c37d330cfbabbafbfa75e4b1217f2a5546027f7379ba53 SHA512 0d4a0bbf80264f34a03aebbb2668733cd3753f99b24b006ea6704a2b97df9fb51755e8c4efd0094219e65d25756ea31ff27d3892b32ab6829050236a6bcbc986
+DIST unittest-mixins-1.6.tar.gz 14901 BLAKE2B 0b63fd102395e61b1cfdbabc8a7e71e5cfabe71830a5fbefaac5bb2a4774b838dcad5f7d8c46fd7968f7ea35eee913aaf88d7cf8666aafc247859246ed2eb664 SHA512 6f78be17c53ec22a680b49a7541e2159c8f504dbc0b39c3c11e7676e20d3c6201be6cc722929017781658f0f690d1c258e0b148fa5dabb5af25e63b28dac5ffa
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 39afbaca3f3f..9c9ce812e861 100644
--- a/dev-python/unittest-mixins/unittest-mixins-1.6-r2.ebuild
+++ b/dev-python/unittest-mixins/unittest-mixins-1.6-r2.ebuild
@@ -4,23 +4,20 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A set of mixin classes and other helpers for unittest test case classes"
HOMEPAGE="
https://github.com/nedbat/unittest-mixins/
https://pypi.org/project/unittest-mixins/
"
-SRC_URI="
- https://github.com/nedbat/unittest-mixins/archive/v${PV}.tar.gz
- -> ${P}.tar.gz
-"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~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/six-1.10.0[${PYTHON_USEDEP}]
diff --git a/dev-python/unittest-or-fail/metadata.xml b/dev-python/unittest-or-fail/metadata.xml
index 662f8d0104c2..ea822a7564ad 100644
--- a/dev-python/unittest-or-fail/metadata.xml
+++ b/dev-python/unittest-or-fail/metadata.xml
@@ -11,6 +11,6 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="github">mgorny/unittest-or-fail</remote-id>
+ <remote-id type="github">projg2/unittest-or-fail</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/unittest-or-fail/unittest-or-fail-2.ebuild b/dev-python/unittest-or-fail/unittest-or-fail-2.ebuild
index 836c19f34702..e71959e95147 100644
--- a/dev-python/unittest-or-fail/unittest-or-fail-2.ebuild
+++ b/dev-python/unittest-or-fail/unittest-or-fail-2.ebuild
@@ -4,24 +4,31 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
DESCRIPTION="Run unittests or fail if no tests were found"
-HOMEPAGE="https://github.com/mgorny/unittest-or-fail/"
+HOMEPAGE="https://github.com/projg2/unittest-or-fail/"
SRC_URI="
- https://github.com/mgorny/unittest-or-fail/archive/v${PV}.tar.gz
+ 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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+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"
# Warning: do not use distutils_enable_tests to avoid a circular
# dependency on itself!
python_test() {
+ # unittest fails in python3.12 by default, and it is more strict
+ # than the behavior expected from unittest-or-fail. We only add
+ # 3.12 compat to workaround a pkgcheck limitation, so no point
+ # in fixing the tests.
+ # https://github.com/pkgcore/pkgcheck/issues/584
+ [[ ${EPYTHON} == python3.12 ]] && return
+
"${EPYTHON}" -m unittest -v test/test_unittest_or_fail.py ||
die "Tests failed with ${EPYTHON}"
}
diff --git a/dev-python/unpaddedbase64/metadata.xml b/dev-python/unpaddedbase64/metadata.xml
index a5c01c87c8a5..970beb6c7428 100644
--- a/dev-python/unpaddedbase64/metadata.xml
+++ b/dev-python/unpaddedbase64/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>arkamar@atlas.cz</email>
+ <maintainer type="person">
+ <email>arkamar@gentoo.org</email>
<name>Petr Vaněk</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">unpaddedbase64</remote-id>
diff --git a/dev-python/unpaddedbase64/unpaddedbase64-2.1.0.ebuild b/dev-python/unpaddedbase64/unpaddedbase64-2.1.0.ebuild
index fc1813251aeb..82c95b8c2fb9 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 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -19,6 +19,6 @@ S="${WORKDIR}/python-${P}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~ppc64"
+KEYWORDS="amd64 arm64 ~ppc64"
distutils_enable_tests unittest
diff --git a/dev-python/unrardll/Manifest b/dev-python/unrardll/Manifest
new file mode 100644
index 000000000000..692799ecadae
--- /dev/null
+++ b/dev-python/unrardll/Manifest
@@ -0,0 +1 @@
+DIST unrardll-0.1.7.tar.gz 10780032 BLAKE2B 92f852ed9cbc02d4c48093dbd5a7f64f4bc279a7b3a3018247a832a61c263b3be19ec5ea94ffdc78c85bd2737647cc3eb231ae9d0953da1de5f23002e7e6ffdc SHA512 23da519c37e52e5cc032d119d1b723c0f4b4ec2c8a08b8ec24a193395d5530780c65a1c20f69aa58f6976ea5e7481c11b92a472cfbce8c477af14673be2189fc
diff --git a/dev-python/unrardll/metadata.xml b/dev-python/unrardll/metadata.xml
new file mode 100644
index 000000000000..34d0dccf4daa
--- /dev/null
+++ b/dev-python/unrardll/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" proxied="yes">
+ <email>eschwartz93@gmail.com</email>
+ <name>Eli Schwartz</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kovidgoyal/unrardll</remote-id>
+ <remote-id type="pypi">unrardll</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/unrardll/unrardll-0.1.7.ebuild b/dev-python/unrardll/unrardll-0.1.7.ebuild
new file mode 100644
index 000000000000..001a69c9e218
--- /dev/null
+++ b/dev-python/unrardll/unrardll-0.1.7.ebuild
@@ -0,0 +1,33 @@
+# 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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python wrapper for the UnRAR DLL"
+HOMEPAGE="
+ https://github.com/kovidgoyal/unrardll
+ https://pypi.org/project/unrardll/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
+
+# The version constraint is needed to resolve https://bugs.gentoo.org/916036
+# and guarantee the headers are findable.
+DEPEND=">=app-arch/unrar-6.2.12-r1:="
+RDEPEND="${DEPEND}"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ default
+ # https://github.com/kovidgoyal/unrardll/pull/5
+ mv test/basic.py test/test_basic.py || die
+}
diff --git a/dev-python/untangle/untangle-1.2.1-r1.ebuild b/dev-python/untangle/untangle-1.2.1-r1.ebuild
index c3a950140318..1c3dee1ddc2d 100644
--- a/dev-python/untangle/untangle-1.2.1-r1.ebuild
+++ b/dev-python/untangle/untangle-1.2.1-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
diff --git a/dev-python/uranium/Manifest b/dev-python/uranium/Manifest
deleted file mode 100644
index 47338ce1361d..000000000000
--- a/dev-python/uranium/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST uranium-4.13.0.tar.gz 1072294 BLAKE2B 3d5110ec4fc6bbfbf085d1f2c177ae19305d7e3828cfe44f7e83aa07397224e3c4e5441f83684f49f21fc6579eb7d3e7fc176eae80c76c3b10354757c01ecc40 SHA512 bba41754670b42eb92826fe1c2380b76afb62d16158c07f960315dbd77c55932d29dff594d71aff8eafc2f58d1aac4a14b0f6fc36a0a352872077b97c0d7f555
diff --git a/dev-python/uranium/metadata.xml b/dev-python/uranium/metadata.xml
deleted file mode 100644
index 5c50372d262c..000000000000
--- a/dev-python/uranium/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="project">
- <email>3dprint@gentoo.org</email>
- <name>Gentoo 3D Printer Project</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Gentoo Python Project</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>mathy@vanvoorden.be</email>
- <name>Mathy Vanvoorden</name>
- </maintainer>
- <slots>
- <subslots>soname major version number</subslots>
- </slots>
- <upstream>
- <bugs-to>https://github.com/Ultimaker/Uranium/issues</bugs-to>
- <doc>https://github.com/Ultimaker/Uranium/blob/master/docs/mainpage.md</doc>
- <remote-id type="github">Ultimaker/Uranium</remote-id>
- <remote-id type="pypi">uranium</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/uranium/uranium-4.13.0-r1.ebuild b/dev-python/uranium/uranium-4.13.0-r1.ebuild
deleted file mode 100644
index 05b65a93da80..000000000000
--- a/dev-python/uranium/uranium-4.13.0-r1.ebuild
+++ /dev/null
@@ -1,103 +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_SETUPTOOLS=no
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit cmake distutils-r1
-
-MY_PN="Uranium"
-
-DESCRIPTION="A Python framework for building 3D printing related applications"
-HOMEPAGE="https://github.com/Ultimaker/Uranium"
-SRC_URI="https://github.com/Ultimaker/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
-IUSE="debug doc test"
-
-BDEPEND="${PYTHON_DEPS}
- sys-devel/gettext
- doc? ( app-doc/doxygen[dot] )
- test? (
- $(python_gen_cond_dep '
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/mypy[${PYTHON_USEDEP}]
- dev-python/twisted[${PYTHON_USEDEP}]
- ')
- )"
-
-DEPEND="${PYTHON_DEPS}
- >=dev-libs/libarcus-${PV}:=[python,${PYTHON_SINGLE_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/PyQt5[${PYTHON_USEDEP},declarative,network,svg]
- dev-python/numpy[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.1[${PYTHON_USEDEP}]
- dev-python/shapely[${PYTHON_USEDEP}]
- ')"
-
-RDEPEND="${DEPEND}
- dev-qt/qtquickcontrols:5
- dev-qt/qtquickcontrols2:5"
-
-DOCS=( README.md )
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- python_fix_shebang .
-
- if ! use doc ; then
- sed -i -e '/add_custom_target(doc/d' CMakeLists.txt || die
- fi
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCURA_BINARY_DATA_DIRECTORY:STRING="/usr/share/cura/"
- -DGETTEXT_MSGINIT_EXECUTABLE="msginit"
- )
-
- if ! use debug; then
- sed -i -e 's logging.DEBUG logging.ERROR g' \
- plugins/ConsoleLogger/ConsoleLogger.py \
- plugins/FileLogger/FileLogger.py || die
- fi
-
- sed -i \
- -e "s/find_package(PythonInterp 3 REQUIRED/find_package(Python3 ${EPYTHON##python} EXACT REQUIRED COMPONENTS Interpreter/g" \
- CMakeLists.txt cmake/UraniumPluginInstall.cmake
-
- sed -i \
- -e "s/find_package(Python3 REQUIRED/find_package(Python3 ${EPYTHON##python} EXACT REQUIRED/g" \
- -e 's/set(Python3_EXECUTABLE ${PYTHON_EXECUTABLE})//g' \
- cmake/UraniumPluginInstall.cmake
-
- sed -i \
- -e "s lib\${LIB_SUFFIX}/python\${PYTHON_VERSION_MAJOR}.\${PYTHON_VERSION_MINOR}/site-packages $(python_get_sitedir) g" \
- -e 's cmake-${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} cmake g' \
- CMakeLists.txt
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-
- use doc && cmake_src_compile doc
-}
-
-src_install() {
- cmake_src_install
-
- python_optimize "${ED}"/usr
-}
diff --git a/dev-python/uri-template/Manifest b/dev-python/uri-template/Manifest
new file mode 100644
index 000000000000..2a69d7808d7d
--- /dev/null
+++ b/dev-python/uri-template/Manifest
@@ -0,0 +1 @@
+DIST uri-template-v1.3.0.tar.bz2 17076 BLAKE2B e8d6c1c35190beab4b2b51cf82dacd6e7bf51397abb142f89f975ce4e7c3067dd9c59895127446deafd84420b63ef62c1484c29037dd9e3833e0d0d55950dcc4 SHA512 654eb700de68a5b992b910e1ff0a038ed699453f021d1eb844d71ddebb32e3ffb77851b5704879bf3eb894eaca33477a0173223a5d9df6a06e33fdc27f6b0f5c
diff --git a/dev-python/uri_template/metadata.xml b/dev-python/uri-template/metadata.xml
index c8c34f38db6f..c8c34f38db6f 100644
--- a/dev-python/uri_template/metadata.xml
+++ b/dev-python/uri-template/metadata.xml
diff --git a/dev-python/uri-template/uri-template-1.3.0.ebuild b/dev-python/uri-template/uri-template-1.3.0.ebuild
new file mode 100644
index 000000000000..ffb87a11b0c2
--- /dev/null
+++ b/dev-python/uri-template/uri-template-1.3.0.ebuild
@@ -0,0 +1,34 @@
+# 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="uri-template-v${PV}"
+DESCRIPTION="URI Template expansion in strict adherence to RFC 6570"
+HOMEPAGE="
+ https://gitlab.linss.com/open-source/python/uri-template/
+ https://pypi.org/project/uri-template/
+"
+SRC_URI="
+ https://gitlab.linss.com/open-source/python/uri-template/-/archive/v${PV}/${MY_P}.tar.bz2
+"
+S=${WORKDIR}/${MY_P}
+
+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="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ "${EPYTHON}" "test.py" || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/uri_template/Manifest b/dev-python/uri_template/Manifest
deleted file mode 100644
index 24363e96fbc0..000000000000
--- a/dev-python/uri_template/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST uri_template-v1.2.0.tar.gz 18284 BLAKE2B cf857ccd8496111f61fb95af020514f1c484e5c3ff19829f28bc2dc112887fe276dac68aa21e0d092d42a22319e8d6ac8aff95c734aadd8417c56f57b0076256 SHA512 81b046bbc2dc4d5c0b40a76f13713c10e69d803e3d9da13ab69cc6d40569ef0a39c786a6637a66651a5c3d3e68807f923ad48a7feaf898ae3ca6fd03c0e68c37
diff --git a/dev-python/uri_template/uri_template-1.2.0-r1.ebuild b/dev-python/uri_template/uri_template-1.2.0-r1.ebuild
deleted file mode 100644
index 865e28f7eb29..000000000000
--- a/dev-python/uri_template/uri_template-1.2.0-r1.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_{9..11} )
-
-inherit distutils-r1
-
-MY_P="${PN}-v${PV}"
-DESCRIPTION="URI Template expansion in strict adherence to RFC 6570"
-HOMEPAGE="
- https://gitlab.linss.com/open-source/uri_template/
- https://pypi.org/project/uri-template/
-"
-SRC_URI="
- https://gitlab.linss.com/open-source/${PN}/-/archive/v${PV}/${MY_P}.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"
-
-src_prepare() {
- distutils-r1_src_prepare
- # fix the version number
- sed -i -e "/version/s:0\.0\.0:${PV}:" setup.py || die
-}
-
-python_test() {
- "${EPYTHON}" "test.py" || die "Tests fail with ${EPYTHON}."
-}
diff --git a/dev-python/uritemplate/uritemplate-4.1.1.ebuild b/dev-python/uritemplate/uritemplate-4.1.1.ebuild
index e75f59ab38bf..cce88877edfb 100644
--- a/dev-python/uritemplate/uritemplate-4.1.1.ebuild
+++ b/dev-python/uritemplate/uritemplate-4.1.1.ebuild
@@ -4,9 +4,9 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Python implementation of RFC6570, URI Template"
HOMEPAGE="
@@ -14,7 +14,6 @@ HOMEPAGE="
https://pypi.org/project/uritemplate/
https://github.com/python-hyper/uritemplate/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="Apache-2.0"
diff --git a/dev-python/uritools/Manifest b/dev-python/uritools/Manifest
new file mode 100644
index 000000000000..2ea7b8e1db72
--- /dev/null
+++ b/dev-python/uritools/Manifest
@@ -0,0 +1,2 @@
+DIST uritools-4.0.1.tar.gz 23524 BLAKE2B ca1d0e739436211838df50b1fe7949c5a43f9bf17ec24cf4b5f5748bcb4a330d677134e568a1683422c80a1cc178bd1f4325df7f0e27ac3af09a025fd95513ac SHA512 d616103a74161ed3f2920d2c6aa75cbfc7425940c46097a7b3701d3db3b8771f012bce17dd595d56154fe7ac00527a6bc989810c2e0beb4556e5caa5720e085e
+DIST uritools-4.0.2.tar.gz 23673 BLAKE2B 3535a149e934c031548e4aeeb9be3e9e17492360dd8f77add5565677cdfc7657c9e27806729b18c52cdb477345fe4b9ecd54e2a3aaba6f692cd9e45c487bf75d SHA512 71879ee6c346bf0c7b0d12fc42c91ecc8af553b3bf038edddd504e374933911e92c8adc26b2ff07243380229261e0b3eb6a6c6e189904aa4b467348098d73fff
diff --git a/dev-python/uritools/metadata.xml b/dev-python/uritools/metadata.xml
new file mode 100644
index 000000000000..b327baf4c3b1
--- /dev/null
+++ b/dev-python/uritools/metadata.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <longdescription lang="en">
+ For various reasons, ``urllib.parse`` and its Python 2 predecessor
+ ``urlparse`` are not compliant with current Internet standards. As
+ stated in `Lib/urllib/parse.py
+ &lt;https://github.com/python/cpython/blob/3.8/Lib/urllib/parse.py&gt;`_:
+
+ RFC 3986 is considered the current standard and any future changes
+ to urlparse module should conform with it. The urlparse module is
+ currently not entirely compliant with this RFC due to defacto
+ scenarios for parsing, and for backward compatibility purposes,
+ some parsing quirks from older RFCs are retained.
+
+ This module aims to provide fully RFC 3986 compliant replacements for
+ the most commonly used functions found in ``urllib.parse``. It also
+ includes functions for distinguishing between the different forms of
+ 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>
+ <remote-id type="github">tkem/uritools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/uritools/uritools-4.0.1.ebuild b/dev-python/uritools/uritools-4.0.1.ebuild
new file mode 100644
index 000000000000..3369476d3621
--- /dev/null
+++ b/dev-python/uritools/uritools-4.0.1.ebuild
@@ -0,0 +1,24 @@
+# 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
new file mode 100644
index 000000000000..0603a87ab3b6
--- /dev/null
+++ b/dev-python/uritools/uritools-4.0.2.ebuild
@@ -0,0 +1,24 @@
+# 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/url-normalize/url-normalize-1.4.3-r1.ebuild b/dev-python/url-normalize/url-normalize-1.4.3-r1.ebuild
index fb9dc54a6c7a..931369e675d7 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
@@ -4,22 +4,27 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
inherit distutils-r1
DESCRIPTION="URL normalization for Python"
HOMEPAGE="
https://github.com/niksite/url-normalize/
- https://pypi.org/project/url-normalize/"
+ https://pypi.org/project/url-normalize/
+"
SRC_URI="
https://github.com/niksite/url-normalize/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz"
+ -> ${P}.gh.tar.gz
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
-RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
distutils_enable_tests pytest
diff --git a/dev-python/urlgrabber/Manifest b/dev-python/urlgrabber/Manifest
deleted file mode 100644
index c8317e2f5fb0..000000000000
--- a/dev-python/urlgrabber/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST urlgrabber-4.1.0.tar.gz 277537 BLAKE2B 3697cb1d08fe0fa8bc83118e1466d76d1b8aa0375fd895d12f5135850bb5100d1d52b1691b2135a80a4937158c5d362e88777ae9ba58790ad88355f13e679b34 SHA512 43e54656d0ca92f616d49cd90dd6282408d64909848e4bf1c74b3b1eede55ba0c9526d6ea5fa9ae18545b806ef9965130ecf1cb1f5f05d4611db974d3f2aa200
diff --git a/dev-python/urlgrabber/files/urlgrabber-4.1.0-skip-test_range.patch b/dev-python/urlgrabber/files/urlgrabber-4.1.0-skip-test_range.patch
deleted file mode 100644
index 548242fc1894..000000000000
--- a/dev-python/urlgrabber/files/urlgrabber-4.1.0-skip-test_range.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- urlgrabber-urlgrabber-4-1-0/test/test_mirror.py.orig 2020-11-16 06:23:15.874354961 +0100
-+++ urlgrabber-urlgrabber-4-1-0/test/test_mirror.py 2020-11-16 06:23:59.674354944 +0100
-@@ -329,6 +329,8 @@
- self.assertEqual(self.code, 503); del self.code
-
- def test_range(self):
-+ # skip failing test
-+ self.skip()
- 'test client-side processing of HTTP ranges'
- # server does not process ranges
- self.reply = 200, b'OK'
diff --git a/dev-python/urlgrabber/files/urlgrabber-4.1.0-test-mirror-set-thread-daemon.patch b/dev-python/urlgrabber/files/urlgrabber-4.1.0-test-mirror-set-thread-daemon.patch
deleted file mode 100644
index 6d6e8afa6462..000000000000
--- a/dev-python/urlgrabber/files/urlgrabber-4.1.0-test-mirror-set-thread-daemon.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- urlgrabber-urlgrabber-4-1-0/test/test_mirror.py.orig 2020-11-16 18:47:43.724337579 +0100
-+++ urlgrabber-urlgrabber-4-1-0/test/test_mirror.py 2020-11-16 18:47:57.724337574 +0100
-@@ -290,6 +290,7 @@
- self.exit = False
-
- self.thread = threading.Thread(target=server)
-+ self.thread.daemon = True
- self.thread.start()
-
- # create grabber and mirror group objects
diff --git a/dev-python/urlgrabber/metadata.xml b/dev-python/urlgrabber/metadata.xml
deleted file mode 100644
index 812dc00b5e88..000000000000
--- a/dev-python/urlgrabber/metadata.xml
+++ /dev/null
@@ -1,41 +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>
- A high-level cross-protocol url-grabber.
-
- Using urlgrabber, data can be fetched in three basic ways:
-
- urlgrab(url) copy the file to the local filesystem
- urlopen(url) open the remote file and return a file object (like urllib2.urlopen)
- urlread(url) return the contents of the file as a string
-
-
- When using these functions (or methods), urlgrabber supports the following
- features:
-
- * identical behavior for http://, ftp://, and file:// urls
- * http keepalive - faster downloads of many files by using only a single
- connection
- * byte ranges - fetch only a portion of the file
- * reget - for a urlgrab, resume a partial download
- * progress meters - the ability to report download progress automatically,
- even when using urlopen!
- * throttling - restrict bandwidth usage
- * retries - automatically retry a download if it fails. The number of retries
- and failure types are configurable.
- * authenticated server access for http and ftp
- * proxy support - support for authenticated http and ftp proxies
- * mirror groups - treat a list of mirrors as a single source, automatically
- switching mirrors if there is a failure.
- </longdescription>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">urlgrabber</remote-id>
- <remote-id type="github">rpm-software-management/urlgrabber</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/urlgrabber/urlgrabber-4.1.0.ebuild b/dev-python/urlgrabber/urlgrabber-4.1.0.ebuild
deleted file mode 100644
index 08457ee90633..000000000000
--- a/dev-python/urlgrabber/urlgrabber-4.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-inherit distutils-r1
-
-DESCRIPTION="Python module for downloading files"
-HOMEPAGE="http://urlgrabber.baseurl.org https://github.com/rpm-software-management/urlgrabber"
-SRC_URI="https://github.com/rpm-software-management/${PN}/archive/${PN}-${PV//./-}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${PN}-${PV//./-}"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~ia64 ppc ppc64 x86"
-
-# Entire testsuite relies on connecting to the i'net
-PROPERTIES="test_network"
-RESTRICT="test"
-
-RDEPEND="
- dev-python/pycurl[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]
-"
-BDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-
-PATCHES=(
- "${FILESDIR}/${P}-skip-test_range.patch"
- "${FILESDIR}/${P}-test-mirror-set-thread-daemon.patch"
-)
-
-python_test() {
- URLGRABBER_EXT_DOWN="${S}/scripts/urlgrabber-ext-down" \
- PYTHON_PATH="${S}" \
- "${EPYTHON}" test/runtests.py -v 2 || die "Tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/urllib3/Manifest b/dev-python/urllib3/Manifest
index 061dddaa0455..9c5d5de51cb8 100644
--- a/dev-python/urllib3/Manifest
+++ b/dev-python/urllib3/Manifest
@@ -1,2 +1,4 @@
-DIST urllib3-1.26.13.tar.gz 300476 BLAKE2B 495b6077d8a18347d731dcc69989688c2fed325a5ff89a7faa6eb1c17255d5748c54036292080e0e86842536f0d518da011a5bd64bd7f1064702d34985621af6 SHA512 022cbd10d91aa95d21293743dc1c36d4ed2dd3f95e60cab53b0aa3c1be489c7eafbc90c4cc7f6b67011ef4752fedb18c33d64a063542fdc525888b39e127b775
-DIST urllib3-1.26.14.tar.gz 300665 BLAKE2B d9373c6f88eae86bd74cbc1c20b352064135a5e3686cf594a3fc2375afa881696751a4e318970ce15adb8fadb60e334117e4d4e431eaa591ce7b13b7ce2ab606 SHA512 0a2dffcb4d3b199e1d82c2bb0d8f4e6b57466bdc43e31dbed62b392ef32e021f6d31cb53ebedef9e1a62b1113f7a370e9f0baa36e3fba942a2543473e4df0828
+DIST hypercorn-d1719f8c1570cbd8e6a3719ffdb14a4d72880abb.gh.tar.gz 156216 BLAKE2B fcb5f49653401e6e4079e1c770d3cd407602d4d6764437b735bd4ec04191dec59cdc930822fa2aff726ee25cddd0f71fd457dedf31026bff1da121d93af8b768 SHA512 62d6787d88a2e716f0ac04fc49f6cdc586e473a660ee754ff66961922ae78bcc75d1f78b091e78557dd60f006e8e480114738c7b4ff71beac804e4fc9603240b
+DIST urllib3-1.26.18.tar.gz 305687 BLAKE2B f2f673761a8d80eee715a8726ba36ab6b09800fd4a4f03f27438553c36072e2abb5ff26cff71dcf30fd114f4d28c4ad9907533965b83c8a0581d3d4661904b70 SHA512 c89e93a032bf6b11375c06ef7c5abc1868f93e7655cfdca09e9bd939ad415d206ea159fe151ecd2e5f725e0e18a831c7a5382ad01dbc32264154fc8af7aec156
+DIST urllib3-2.1.0.tar.gz 263900 BLAKE2B 9e0438a11b7178c5004c1253179bb6bfcb1fa8711db47084377bb14c5834f7b88b04a5560b99bf6fff5f1f4622d4b1998d19dd517ab6b7453fd53c832ee7fefa SHA512 33d6eafd9b6ecd97ee2dca8a4f1612a6fcc584961bcfd3a0a188f557a73f4c1576f98dc525c3b2feecb2d676f4bf4364aafeef093d6686e4b3ef2043726561a8
+DIST urllib3-2.2.1.tar.gz 291020 BLAKE2B 4bd6e26e1adfba99856db082d0bd3ea136a2367fa53c2d0c7990f6325e8145b2d080a8d59705c43acd97b26be65a309f83d1906d85bd72bfb479b7404972b042 SHA512 dfadba099db678ee1567ee95aa11a72fcea0a76df094d04dd4bd7ed5df4ea2fda6917cc122a1e2bfa4f5303916f93a7e1c881fbbf3cbb9415a25bd7eca1b14b3
diff --git a/dev-python/urllib3/metadata.xml b/dev-python/urllib3/metadata.xml
index 23ead924501a..e27c6550e713 100644
--- a/dev-python/urllib3/metadata.xml
+++ b/dev-python/urllib3/metadata.xml
@@ -6,9 +6,6 @@
<name>Python</name>
</maintainer>
<stabilize-allarches/>
- <use>
- <flag name="brotli">Enable support for brotli compression</flag>
- </use>
<upstream>
<remote-id type="pypi">urllib3</remote-id>
<remote-id type="cpe">cpe:/a:urllib3:urllib3</remote-id>
diff --git a/dev-python/urllib3/urllib3-1.26.13.ebuild b/dev-python/urllib3/urllib3-1.26.13.ebuild
deleted file mode 100644
index 41161163613d..000000000000
--- a/dev-python/urllib3/urllib3-1.26.13.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 7 -- sys-apps/portage dep
-EAPI=7
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-PYTHON_REQ_USE="ssl(+)"
-
-inherit distutils-r1
-
-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="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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}]
- " python3_{8..11})
- )
-"
-
-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
- # FIXME: get tornado ported
- # please keep in sync with BDEPEND!
- if ! has "${EPYTHON}" python3.{8..11}; 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
- )
- 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-1.26.14.ebuild b/dev-python/urllib3/urllib3-1.26.14.ebuild
deleted file mode 100644
index 050cfa3d69a9..000000000000
--- a/dev-python/urllib3/urllib3-1.26.14.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 7 -- sys-apps/portage dep
-EAPI=7
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-PYTHON_REQ_USE="ssl(+)"
-
-inherit distutils-r1
-
-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="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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}]
- " python3_{8..11})
- )
-"
-
-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
- # FIXME: get tornado ported
- # please keep in sync with BDEPEND!
- if ! has "${EPYTHON}" python3.{8..11}; 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
- )
- 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-1.26.18.ebuild b/dev-python/urllib3/urllib3-1.26.18.ebuild
new file mode 100644
index 000000000000..151ef0e7ae0c
--- /dev/null
+++ b/dev-python/urllib3/urllib3-1.26.18.ebuild
@@ -0,0 +1,78 @@
+# 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.1.0.ebuild b/dev-python/urllib3/urllib3-2.1.0.ebuild
new file mode 100644
index 000000000000..e5dc381b44ca
--- /dev/null
+++ b/dev-python/urllib3/urllib3-2.1.0.ebuild
@@ -0,0 +1,87 @@
+# 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.1.ebuild b/dev-python/urllib3/urllib3-2.2.1.ebuild
new file mode 100644
index 000000000000..a4215f06d29d
--- /dev/null
+++ b/dev-python/urllib3/urllib3-2.2.1.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..12} 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 ppc ppc64 ~riscv sparc x86"
+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..4943672cfb7a
--- /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..12} )
+
+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 bd50588db114..654ae687c06e 100644
--- a/dev-python/urwid/Manifest
+++ b/dev-python/urwid/Manifest
@@ -1 +1,3 @@
-DIST urwid-2.1.2.tar.gz 634621 BLAKE2B ce274820c27708fd0b10f22359923316576b895f6888c9b174b42dedcd551353b6c3ba797c68d61a082ecf23b8f0108a58454bdb44806e33b74d9e6e5bd28537 SHA512 f102bdde5f5d39d4bce455020bbe4f18290589da0750a3b15b1e2bc8acf8a405f02295d7efa3009877801a36bfbfade92ec963086122e9b133db137d816a1ea5
+DIST urwid-2.6.10.tar.gz 857094 BLAKE2B 7a3a9afb9fc7930ef47dde125e7378448c04ca50ad4eee140b6044f018ce6693972d92f4094d98a5a05223b26772bfcf0aa9de1f4c784396d2e0c235c937cc49 SHA512 1c7cdd6417359b01ced49c42f7f6122e0bec4535211290bf01d59a2d922b29b0674ab3c034e5065d15863e1c089179518b5be91932b4121aca5f0cf78bc7ab54
+DIST urwid-2.6.8.tar.gz 854980 BLAKE2B 4168bcd59710ee46e2af408e5e6331585ee2a260ca94990ff947d259d9aad7153750e6c2fc2e227ad00ce42aeeba063b5b11dd89e83f6c30548a6df5ed992e8f SHA512 34617104804f9eb710d5ed51c95c4d2f6354861f07a2d652b99109c59941561985d9717f928ba77990b3e0406723da02b1eb67d9f2236f31888a21b9de109e2e
+DIST urwid-2.6.9.tar.gz 855865 BLAKE2B 468c3188e110fb3e91dc2aa371aef8c1f66c0614ce116a2185050c39404987d354dba3f0d9e230b3308ecee6c6f7c90c12b91007db43c5e7f0cc9dc1d34d5d82 SHA512 23e692b76f4229ecdb51b00c5d88f38bd1de721f7a8815d91f277979935b7f58654422b11421dd93a901add390c65facb513c166b26b00195fc7826492405ed8
diff --git a/dev-python/urwid/files/urwid-2.1.2-fix-py3.11.patch b/dev-python/urwid/files/urwid-2.1.2-fix-py3.11.patch
deleted file mode 100644
index dd60b8a220b9..000000000000
--- a/dev-python/urwid/files/urwid-2.1.2-fix-py3.11.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-https://github.com/urwid/urwid/pull/517
-From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= <mail@dotlambda.de>
-Date: Fri, 20 Jan 2023 11:37:15 -0800
-Subject: [PATCH] make tests compatible with Python 3.11
-
---- a/urwid/tests/test_event_loops.py
-+++ b/urwid/tests/test_event_loops.py
-@@ -201,15 +201,14 @@ def test_error(self):
- evl.alarm(0.5, lambda: 1 / 0) # Simulate error in event loop
- self.assertRaises(ZeroDivisionError, evl.run)
-
-- def test_coroutine_error(self):
-+ async def test_coroutine_error(self):
- evl = self.evl
-
-- @asyncio.coroutine
-- def error_coro():
-+ async def error_coro():
- result = 1 / 0 # Simulate error in coroutine
- yield result
-
-- asyncio.ensure_future(error_coro())
-+ asyncio.ensure_future(await error_coro())
- self.assertRaises(ZeroDivisionError, evl.run)
-
-
diff --git a/dev-python/urwid/urwid-2.1.2-r1.ebuild b/dev-python/urwid/urwid-2.1.2-r1.ebuild
deleted file mode 100644
index b0934f8622e6..000000000000
--- a/dev-python/urwid/urwid-2.1.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_{9..11} )
-PYTHON_REQ_USE="ncurses"
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Curses-based user interface library for Python"
-HOMEPAGE="
- https://urwid.org/
- https://pypi.org/project/urwid/
- https://github.com/urwid/urwid/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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_sphinx docs
-distutils_enable_tests setup.py
-
-PATCHES=(
- # https://github.com/urwid/urwid/pull/517
- "${FILESDIR}/${P}-fix-py3.11.patch"
-)
-
-src_prepare() {
- # optional tests broken by modern tornado versions
- sed -e 's:import tornado:&_broken:' \
- -i urwid/tests/test_event_loops.py || die
-
- # Fix doc generation
- sed -e 's/!defindex/layout/' -i docs/tools/templates/indexcontent.html || die
-
- # Fix for >=dev-python/trio-0.15
- sed -e 's/hazmat/lowlevel/' -i urwid/_async_kw_event_loop.py || die
-
- distutils-r1_src_prepare
-}
-
-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.10.ebuild b/dev-python/urwid/urwid-2.6.10.ebuild
new file mode 100644
index 000000000000..d2e69689abdc
--- /dev/null
+++ b/dev-python/urwid/urwid-2.6.10.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses"
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Curses-based user interface library for Python"
+HOMEPAGE="
+ https://urwid.org/
+ https://pypi.org/project/urwid/
+ https://github.com/urwid/urwid/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ rm -rf urwid || die
+ eunittest
+}
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Trio event loop" "dev-python/trio"
+}
diff --git a/dev-python/urwid/urwid-2.6.8.ebuild b/dev-python/urwid/urwid-2.6.8.ebuild
new file mode 100644
index 000000000000..e2bd2964e777
--- /dev/null
+++ b/dev-python/urwid/urwid-2.6.8.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses"
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Curses-based user interface library for Python"
+HOMEPAGE="
+ https://urwid.org/
+ https://pypi.org/project/urwid/
+ https://github.com/urwid/urwid/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ rm -rf urwid || die
+ eunittest
+}
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Trio event loop" "dev-python/trio"
+}
diff --git a/dev-python/urwid/urwid-2.6.9.ebuild b/dev-python/urwid/urwid-2.6.9.ebuild
new file mode 100644
index 000000000000..1061e1cb8b37
--- /dev/null
+++ b/dev-python/urwid/urwid-2.6.9.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses"
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Curses-based user interface library for Python"
+HOMEPAGE="
+ https://urwid.org/
+ https://pypi.org/project/urwid/
+ https://github.com/urwid/urwid/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ rm -rf urwid || die
+ eunittest
+}
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Trio event loop" "dev-python/trio"
+}
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.ebuild b/dev-python/urwid_readline/urwid_readline-0.13.ebuild
deleted file mode 100644
index 457dd60b0370..000000000000
--- a/dev-python/urwid_readline/urwid_readline-0.13.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2021-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="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/Manifest b/dev-python/urwidtrees/Manifest
index b90fcd2e57c5..e5e022dee514 100644
--- a/dev-python/urwidtrees/Manifest
+++ b/dev-python/urwidtrees/Manifest
@@ -1,2 +1 @@
DIST urwidtrees-1.0.3.gh.tar.gz 292930 BLAKE2B 91487debf4878fb58cf2505366a4762a4c755b53eaac86e3ac912d2972c66442828e152749f34e73ade10fd1b912054e4047900e0b54b960629909c1b03e2270 SHA512 f7d69d359ba24345a694659fd9432335679f4b505a5c0e33baf9fc0c068935148c393aff8e11cd5f2c12aa26884aa37ba86e9b3a763472e382d73dd57fd32cd6
-DIST urwidtrees-1.0.3.tar.gz 292930 BLAKE2B 91487debf4878fb58cf2505366a4762a4c755b53eaac86e3ac912d2972c66442828e152749f34e73ade10fd1b912054e4047900e0b54b960629909c1b03e2270 SHA512 f7d69d359ba24345a694659fd9432335679f4b505a5c0e33baf9fc0c068935148c393aff8e11cd5f2c12aa26884aa37ba86e9b3a763472e382d73dd57fd32cd6
diff --git a/dev-python/urwidtrees/urwidtrees-1.0.3-r1.ebuild b/dev-python/urwidtrees/urwidtrees-1.0.3-r1.ebuild
index 8faf91778bb7..1c468fa97d68 100644
--- a/dev-python/urwidtrees/urwidtrees-1.0.3-r1.ebuild
+++ b/dev-python/urwidtrees/urwidtrees-1.0.3-r1.ebuild
@@ -17,7 +17,7 @@ SRC_URI="
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
RDEPEND=">=dev-python/urwid-1.1.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/urwidtrees/urwidtrees-1.0.3.ebuild b/dev-python/urwidtrees/urwidtrees-1.0.3.ebuild
deleted file mode 100644
index f812fee6d534..000000000000
--- a/dev-python/urwidtrees/urwidtrees-1.0.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-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}.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 7cdb509a5054..8d2e6d919e55 100644
--- a/dev-python/userpath/Manifest
+++ b/dev-python/userpath/Manifest
@@ -1 +1,2 @@
-DIST userpath-1.8.0.gh.tar.gz 11045 BLAKE2B ebf1077469210dfb66c63a859764becb5cac5734bc0060db691e50e3576241360b4644f141449f033f64f4dbdbf10d2b5a032493ce3c4745a2c981149105c7c9 SHA512 d2f082909fad22cf5b33f175afdeebe14a44ebd245c84506395f01a288eccf9c376ac28dcc4b618cc2464e1a23e740b41f4f4ad0e780a42e1185c5283ccc7330
+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.8.0.ebuild b/dev-python/userpath/userpath-1.8.0.ebuild
deleted file mode 100644
index d30e4432c79f..000000000000
--- a/dev-python/userpath/userpath-1.8.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_{9..11} )
-
-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
new file mode 100644
index 000000000000..0f0a84aefd4f
--- /dev/null
+++ b/dev-python/userpath/userpath-1.9.1.ebuild
@@ -0,0 +1,29 @@
+# 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 ~arm64"
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
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..6839e3829c3d
--- /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..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 ~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 085589a5a534..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_{9..11} )
-
-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..6959d94c99d1
--- /dev/null
+++ b/dev-python/uv/Manifest
@@ -0,0 +1,12 @@
+DIST pubgrub-c26e485213e39582c6f2e4d45c0328422670e7a7.gh.tar.gz 86123 BLAKE2B 743bb61460903d276f467b23bb001313598b50cb54fd1a56bcadbc732dd606bafd48a2d9960add3424bd03222450b455f9f1bc8716a80933e5ed0cfb76dcc50a SHA512 9f9c8b58dd2ddeb3ed89abcd790641bd9b7b2cf4fc66dcc4d964a1b69d879adcdaf2775545631ca20f06a8ab5d6bc1df6b2eb272207d2642584c269b358f4d76
+DIST pubgrub-e981e4dfe315582e84e2fd724832fb0e0c50b7aa.gh.tar.gz 76914 BLAKE2B e7039f3b2fdc2a702f4824ff99acba9549e916c211290b79ec710060369b2c76e518c210c109103bf5ba50cbb373d0a4e3185df09935d7e47241ec25da259776 SHA512 94cfc88b6736ffd78bcbcc3f4cd9940d27c902bf2dfca38dddb470b8a6a0bb3a8e4a61dd1b2654e49327c9386c3ac2a7f090f9a6c2426b19ecf00d9f9716d400
+DIST rs-async-zip-1dcb40cfe1bf5325a6fd4bfcf9894db40241f585.gh.tar.gz 96766 BLAKE2B f9efab73c65394e33e090a6292875ebf35e6669b15c356f102eb109784a4503606ae39106cd0ebe3d7d479cb0b30806d7baaaebf22d826836a24f7ed49100934 SHA512 3b845b05d97c5ab5cea286a7c11846838b40bb1fac98a51782600849a53231be8fa205094c6bdd00f6e193c807b10b28f947698696382be99cae0a8d681dabdc
+DIST rs-async-zip-d76801da0943de985254fc6255c0e476b57c5836.gh.tar.gz 95906 BLAKE2B a5a0e4d20926d637cbfa25cb486580de6682365c588a9653c873622424ec28ac8c7380d1c99ec260cd342b214aacd5124b51fc5e5646f15f76db4148aada2f41 SHA512 dd5b61bfc913a94822d74f1dac3b30f7a3979a641c3b08ccb5fa84cfbb2bfd8c0f807a30cc4ae0abfe5df7079011c20e1f8a642fd439ce6ba2c404ddee06baf5
+DIST uv-0.1.24-crates.tar.xz 64420840 BLAKE2B 7324461092a07c86aadaddf051aaa7454ec08085940f34d07d8a8dc7171abcbf94409df5cd8afd71f1022adb2e76c0aeb1eabe9190598cad4d06e390ccd612f4 SHA512 6701a768a8a1d48ac43038e5161b578b684abed1c2055cc4b7fb5656ec40118287893ee2674b7161292ce7c3e4c062c32ff0038f1548c8f79f4df473d8d26f30
+DIST uv-0.1.24.gh.tar.gz 899637 BLAKE2B fab26ba9934fc5f586505b5ac1fa386c11f07e51ca2bb2a79f46d5dec9475ba8d75ad8587223d5149df5f2a225146d020a49b7ff81ed26b949cff55892738c2d SHA512 520b47a096b50fce9e7b7af5bca203df9bf4c2d0aafbe28a3dcfe0592d8ddcaa7b58d52300c67454f6aeecfd196f1592be18e45c95b7c67257361917cdb0154d
+DIST uv-0.1.31-crates.tar.xz 64759920 BLAKE2B 9404847d0a4bdaf77778fe7e75de4a6167c43a5f786357653f45f613984b2297f07a30dbd782d49ffd4f936276f2da61ecc543c6942c58ae2f3b6a5cb77212b0 SHA512 8c7440e52649b9a749d36ef5e7ed0a2be5df590d2cd6486559bc0ab289e87f5533927ddd82e86268b8cb86a41056557ec3acb3e4eface63439837243a2ab0b7a
+DIST uv-0.1.31.gh.tar.gz 938923 BLAKE2B c6be91911b557260df546bd708e572d4ea6688e40a0c978a598070e71bb989b77fdace1e5507dcc829e9e21714962c8e76ee2ec5dc95ae10a1ccaa562e4c70e7 SHA512 687f622bc93a0b4c967d53ab068d3f5442f7a3566495f89da252d3beb41a17be3dcf410f260f7e68bb1f5595f633ea61da7a68423f190d879e809c25e9e297cb
+DIST uv-0.1.32-crates.tar.xz 64975300 BLAKE2B cb07eb6ed0c65b538554cd2fdf455a25cddbefe07e3718f83820c1faf40795c0da6397a31e138c6f01dad9fb4e48dbe1a2fd4be76f1ab94f096e915d34ec1ac7 SHA512 83e208e54322d467cedd1463157d413ad8a5a6012a8d0219aa31b5213466fc4caef86a22e90bc0695811ab1f5e7428f3306a8845785f472e941a758242e775db
+DIST uv-0.1.32.gh.tar.gz 976905 BLAKE2B c59f4a76a3a9335429ddfa1a6fc96a13ba68ad2950a5664762d6b48c3dc67c78ee075ff723fd049733bc3240924a5ede522ce973ab37b44784f54322f6c8039f SHA512 fefd8cac2630c1c061a54abf5ad7bfe34f93176dd5fa69fc8ba39e6cea6a786527cd7e22481449d987dbd567ee4f59b3ef2a13620de3049f7066aaddb1ee4593
+DIST uv-0.1.33-crates.tar.xz 65532672 BLAKE2B 9e3499eef5cf746287f725ab3f2c2a35441d851ba734305abd7f8d9ebcb6bd8f857f6ec5371108cc4f1b5c9043424a3583a62093d84f596a522db59e9d50a133 SHA512 01b150770074880436db8e34ec4f2416c2948a43828ee84ca05ad1c244927022aa503b4e03b6bd525932bcde12eb961228877af232589d5c57a121cee66fb5a1
+DIST uv-0.1.33.gh.tar.gz 987063 BLAKE2B 56dfc8e7a1bfb63e0a6278499cb62ef764b4734af14bf01a213b7a11d442d4629d440ac218a4bc2750405c402236b382b07560919211b51c300e07c3c15a9496 SHA512 a05a38f8c1abc572ad2c6823f74a2c076ad267636f5f435f04bf8a02b059c25b82b5fa3b5250137d4077ff721294b34c6d2d57ac0e0c907e211e8cfdcdc8169c
diff --git a/dev-python/uv/files/uv-0.1.24-skip-tests.patch b/dev-python/uv/files/uv-0.1.24-skip-tests.patch
new file mode 100644
index 000000000000..e9efee5e8d89
--- /dev/null
+++ b/dev-python/uv/files/uv-0.1.24-skip-tests.patch
@@ -0,0 +1,192 @@
+diff --git a/crates/uv/tests/pip_compile.rs b/crates/uv/tests/pip_compile.rs
+index 1fc08d1b..60675de4 100644
+--- a/crates/uv/tests/pip_compile.rs
++++ b/crates/uv/tests/pip_compile.rs
+@@ -5140,7 +5140,6 @@ fn expand_env_var_requirements_txt() -> Result<()> {
+ }
+
+ /// Raise an error when an editable's `Requires-Python` constraint is not met.
+-#[test]
+ fn requires_python_editable() -> Result<()> {
+ let context = TestContext::new("3.12");
+
+@@ -5392,7 +5391,6 @@ fn no_stream() -> Result<()> {
+ }
+
+ /// Raise an error when a direct URL dependency's `Requires-Python` constraint is not met.
+-#[test]
+ fn requires_python_direct_url() -> Result<()> {
+ let context = TestContext::new("3.12");
+
+diff --git a/crates/uv/tests/pip_install.rs b/crates/uv/tests/pip_install.rs
+index 6dfbd764..ddc5f37b 100644
+--- a/crates/uv/tests/pip_install.rs
++++ b/crates/uv/tests/pip_install.rs
+@@ -912,7 +912,6 @@ fn install_no_index_version() {
+ /// package in.)
+ ///
+ /// Ref: <https://github.com/astral-sh/uv/issues/1600>
+-#[test]
+ fn install_extra_index_url_has_priority() {
+ let context = TestContext::new("3.12");
+
+@@ -2344,7 +2343,6 @@ requires-python = ">=3.11,<3.13"
+ }
+
+ /// Raise an error when an editable's `Requires-Python` constraint is not met.
+-#[test]
+ fn requires_python_editable() -> Result<()> {
+ let context = TestContext::new("3.12");
+
+@@ -2792,7 +2790,6 @@ fn dry_run_install_then_upgrade() -> std::result::Result<(), Box<dyn std::error:
+ }
+
+ /// Raise an error when a direct URL's `Requires-Python` constraint is not met.
+-#[test]
+ fn requires_python_direct_url() -> Result<()> {
+ let context = TestContext::new("3.12");
+
+diff --git a/crates/uv/tests/pip_install_scenarios.rs b/crates/uv/tests/pip_install_scenarios.rs
+index 29ec3483..a538291d 100644
+--- a/crates/uv/tests/pip_install_scenarios.rs
++++ b/crates/uv/tests/pip_install_scenarios.rs
+@@ -2244,7 +2244,6 @@ fn post_greater_than_or_equal_post() {
+ /// └── a
+ /// └── a-1.2.3.post1
+ /// ```
+-#[test]
+ fn post_less_than_or_equal() {
+ let context = TestContext::new("3.8");
+
+@@ -2283,7 +2282,6 @@ fn post_less_than_or_equal() {
+ /// └── a
+ /// └── a-1.2.3.post1
+ /// ```
+-#[test]
+ fn post_less_than() {
+ let context = TestContext::new("3.8");
+
+@@ -2320,7 +2318,6 @@ fn post_less_than() {
+ /// ├── a-1.2.3.post1
+ /// └── a-1.2.3.post1+local
+ /// ```
+-#[test]
+ fn post_local_greater_than() {
+ let context = TestContext::new("3.8");
+
+@@ -2361,7 +2358,6 @@ fn post_local_greater_than() {
+ /// ├── a-1.2.3.post1
+ /// └── a-1.2.3.post1+local
+ /// ```
+-#[test]
+ fn post_local_greater_than_post() {
+ let context = TestContext::new("3.8");
+
+@@ -2529,7 +2525,6 @@ fn post_greater_than_post_not_available() {
+ /// └── a
+ /// └── a-1.0.0a1
+ /// ```
+-#[test]
+ fn package_only_prereleases() {
+ let context = TestContext::new("3.8");
+
+@@ -3652,7 +3647,6 @@ fn package_prereleases_specifier_boundary() {
+ /// └── a-1.0.0
+ /// └── requires python>=3.30 (incompatible with environment)
+ /// ```
+-#[test]
+ fn python_version_does_not_exist() {
+ let context = TestContext::new("3.8");
+
+@@ -3694,7 +3688,6 @@ fn python_version_does_not_exist() {
+ /// └── a-1.0.0
+ /// └── requires python<=3.8 (incompatible with environment)
+ /// ```
+-#[test]
+ fn python_less_than_current() {
+ let context = TestContext::new("3.9");
+
+@@ -3736,7 +3729,6 @@ fn python_less_than_current() {
+ /// └── a-1.0.0
+ /// └── requires python>=3.10 (incompatible with environment)
+ /// ```
+-#[test]
+ fn python_greater_than_current() {
+ let context = TestContext::new("3.9");
+
+@@ -3778,7 +3770,6 @@ fn python_greater_than_current() {
+ /// └── a-1.0.0
+ /// └── requires python>=3.8.14 (incompatible with environment)
+ /// ```
+-#[test]
+ fn python_greater_than_current_patch() {
+ let context = TestContext::new("3.8.12");
+
+@@ -3942,7 +3933,6 @@ fn python_greater_than_current_backtrack() {
+ /// └── a-4.0.0
+ /// └── requires python>=3.12 (incompatible with environment)
+ /// ```
+-#[test]
+ fn python_greater_than_current_excluded() {
+ let context = TestContext::new("3.9");
+
+diff --git a/crates/uv/tests/pip_list.rs b/crates/uv/tests/pip_list.rs
+index 15d784c1..f15f14b1 100644
+--- a/crates/uv/tests/pip_list.rs
++++ b/crates/uv/tests/pip_list.rs
+@@ -100,7 +100,6 @@ fn list_single_no_editable() -> Result<()> {
+ Ok(())
+ }
+
+-#[test]
+ fn list_editable() -> Result<()> {
+ let context = TestContext::new("3.12");
+
+@@ -197,7 +196,6 @@ fn list_editable() -> Result<()> {
+ Ok(())
+ }
+
+-#[test]
+ fn list_editable_only() -> Result<()> {
+ let context = TestContext::new("3.12");
+
+@@ -323,7 +321,6 @@ fn list_editable_only() -> Result<()> {
+ Ok(())
+ }
+
+-#[test]
+ fn list_exclude() -> Result<()> {
+ let context = TestContext::new("3.12");
+
+diff --git a/crates/uv/tests/pip_sync.rs b/crates/uv/tests/pip_sync.rs
+index af3f4946..0df9ed80 100644
+--- a/crates/uv/tests/pip_sync.rs
++++ b/crates/uv/tests/pip_sync.rs
+@@ -1447,7 +1447,6 @@ fn install_git_source_dist_cached() -> Result<()> {
+ }
+
+ /// Check that we show the right messages on cached, registry source distribution installs.
+-#[test]
+ fn install_registry_source_dist_cached() -> Result<()> {
+ let context = TestContext::new("3.12");
+
+@@ -2955,7 +2954,6 @@ fn compile_invalid_pyc_invalidation_mode() -> Result<()> {
+ }
+
+ /// Raise an error when an editable's `Requires-Python` constraint is not met.
+-#[test]
+ fn requires_python_editable() -> Result<()> {
+ let context = TestContext::new("3.12");
+
+diff --git a/crates/uv/tests/venv.rs b/crates/uv/tests/venv.rs
+index 067c1414..1462f6a0 100644
+--- a/crates/uv/tests/venv.rs
++++ b/crates/uv/tests/venv.rs
+@@ -327,7 +327,6 @@ fn create_venv_unknown_python_patch() -> Result<()> {
+ Ok(())
+ }
+
+-#[test]
+ fn create_venv_python_patch() -> Result<()> {
+ let temp_dir = assert_fs::TempDir::new()?;
+ let cache_dir = assert_fs::TempDir::new()?;
diff --git a/dev-python/uv/files/uv-0.1.28-skip-tests.patch b/dev-python/uv/files/uv-0.1.28-skip-tests.patch
new file mode 100644
index 000000000000..037ac6addb99
--- /dev/null
+++ b/dev-python/uv/files/uv-0.1.28-skip-tests.patch
@@ -0,0 +1,144 @@
+diff --git a/crates/uv/tests/pip_compile.rs b/crates/uv/tests/pip_compile.rs
+index 281c8b7f..19df83c2 100644
+--- a/crates/uv/tests/pip_compile.rs
++++ b/crates/uv/tests/pip_compile.rs
+@@ -5509,3 +5509,2 @@ fn expand_env_var_requirements_txt() -> Result<()> {
+ /// Raise an error when an editable's `Requires-Python` constraint is not met.
+-#[test]
+ fn requires_python_editable() -> Result<()> {
+@@ -5763,3 +5762,2 @@ fn no_stream() -> Result<()> {
+ /// Raise an error when a direct URL dependency's `Requires-Python` constraint is not met.
+-#[test]
+ fn requires_python_direct_url() -> Result<()> {
+diff --git a/crates/uv/tests/pip_install.rs b/crates/uv/tests/pip_install.rs
+index ee987fb0..a73e2f25 100644
+--- a/crates/uv/tests/pip_install.rs
++++ b/crates/uv/tests/pip_install.rs
+@@ -952,3 +952,2 @@ fn install_no_index_version() {
+ /// Ref: <https://github.com/astral-sh/uv/issues/1600>
+-#[test]
+ fn install_extra_index_url_has_priority() {
+@@ -2362,3 +2361,2 @@ requires-python = ">=3.11,<3.13"
+ /// Raise an error when an editable's `Requires-Python` constraint is not met.
+-#[test]
+ fn requires_python_editable() -> Result<()> {
+@@ -2811,3 +2809,2 @@ fn dry_run_install_then_upgrade() -> std::result::Result<(), Box<dyn std::error:
+ /// Raise an error when a direct URL's `Requires-Python` constraint is not met.
+-#[test]
+ fn requires_python_direct_url() -> Result<()> {
+diff --git a/crates/uv/tests/pip_install_scenarios.rs b/crates/uv/tests/pip_install_scenarios.rs
+index e9e85a94..353b3c62 100644
+--- a/crates/uv/tests/pip_install_scenarios.rs
++++ b/crates/uv/tests/pip_install_scenarios.rs
+@@ -2246,3 +2246,2 @@ fn post_greater_than_or_equal_post() {
+ /// ```
+-#[test]
+ fn post_less_than_or_equal() {
+@@ -2285,3 +2284,2 @@ fn post_less_than_or_equal() {
+ /// ```
+-#[test]
+ fn post_less_than() {
+@@ -2322,3 +2320,2 @@ fn post_less_than() {
+ /// ```
+-#[test]
+ fn post_local_greater_than() {
+@@ -2363,3 +2360,2 @@ fn post_local_greater_than() {
+ /// ```
+-#[test]
+ fn post_local_greater_than_post() {
+@@ -2531,3 +2527,2 @@ fn post_greater_than_post_not_available() {
+ /// ```
+-#[test]
+ fn package_only_prereleases() {
+@@ -3654,3 +3649,2 @@ fn package_prereleases_specifier_boundary() {
+ /// ```
+-#[test]
+ fn python_version_does_not_exist() {
+@@ -3696,3 +3690,2 @@ fn python_version_does_not_exist() {
+ /// ```
+-#[test]
+ fn python_less_than_current() {
+@@ -3738,3 +3731,2 @@ fn python_less_than_current() {
+ /// ```
+-#[test]
+ fn python_greater_than_current() {
+@@ -3780,3 +3772,2 @@ fn python_greater_than_current() {
+ /// ```
+-#[test]
+ fn python_greater_than_current_patch() {
+@@ -3944,3 +3935,2 @@ fn python_greater_than_current_backtrack() {
+ /// ```
+-#[test]
+ fn python_greater_than_current_excluded() {
+diff --git a/crates/uv/tests/pip_list.rs b/crates/uv/tests/pip_list.rs
+index 9b545ee2..5b202b9c 100644
+--- a/crates/uv/tests/pip_list.rs
++++ b/crates/uv/tests/pip_list.rs
+@@ -101,3 +101,2 @@ fn list_single_no_editable() -> Result<()> {
+
+-#[test]
+ fn list_editable() {
+@@ -153,3 +152,2 @@ fn list_editable() {
+
+-#[test]
+ fn list_editable_only() {
+@@ -241,3 +239,2 @@ fn list_editable_only() {
+
+-#[test]
+ fn list_exclude() {
+diff --git a/crates/uv/tests/pip_sync.rs b/crates/uv/tests/pip_sync.rs
+index 7964d2cc..e0a14a91 100644
+--- a/crates/uv/tests/pip_sync.rs
++++ b/crates/uv/tests/pip_sync.rs
+@@ -1423,3 +1423,2 @@ fn install_git_source_dist_cached() -> Result<()> {
+ /// Check that we show the right messages on cached, registry source distribution installs.
+-#[test]
+ fn install_registry_source_dist_cached() -> Result<()> {
+@@ -2920,3 +2919,2 @@ fn compile_invalid_pyc_invalidation_mode() -> Result<()> {
+ /// Raise an error when an editable's `Requires-Python` constraint is not met.
+-#[test]
+ fn requires_python_editable() -> Result<()> {
+@@ -2988,3 +2986,2 @@ fn no_stream() -> Result<()> {
+ /// Raise an error when a direct URL dependency's `Requires-Python` constraint is not met.
+-#[test]
+ fn requires_python_direct_url() -> Result<()> {
+diff --git a/crates/uv/tests/venv.rs b/crates/uv/tests/venv.rs
+index 94e79ae7..f79ea4e6 100644
+--- a/crates/uv/tests/venv.rs
++++ b/crates/uv/tests/venv.rs
+@@ -76,3 +76,2 @@ impl VenvTestContext {
+
+-#[test]
+ fn create_venv() {
+@@ -118,3 +117,2 @@ fn create_venv() {
+
+-#[test]
+ fn create_venv_defaults_to_cwd() {
+@@ -139,3 +137,2 @@ fn create_venv_defaults_to_cwd() {
+
+-#[test]
+ fn seed() {
+@@ -163,3 +160,2 @@ fn seed() {
+
+-#[test]
+ fn seed_older_python_version() {
+@@ -255,3 +251,2 @@ fn create_venv_unknown_python_patch() {
+
+-#[test]
+ fn create_venv_python_patch() {
+@@ -278,3 +273,2 @@ fn create_venv_python_patch() {
+
+-#[test]
+ fn file_exists() -> Result<()> {
+@@ -307,3 +301,2 @@ fn file_exists() -> Result<()> {
+
+-#[test]
+ fn empty_dir_exists() -> Result<()> {
+@@ -334,3 +327,2 @@ fn empty_dir_exists() -> Result<()> {
+
+-#[test]
+ fn non_empty_dir_exists() -> Result<()> {
+@@ -408,3 +400,2 @@ fn windows_shims() -> Result<()> {
+
+-#[test]
+ fn virtualenv_compatibility() {
diff --git a/dev-python/uv/files/uv-0.1.32-skip-tests.patch b/dev-python/uv/files/uv-0.1.32-skip-tests.patch
new file mode 100644
index 000000000000..dd672fdd16cf
--- /dev/null
+++ b/dev-python/uv/files/uv-0.1.32-skip-tests.patch
@@ -0,0 +1,12 @@
+diff --git a/crates/uv/tests/pip_sync.rs b/crates/uv/tests/pip_sync.rs
+index 7cecbba5..f7385dbf 100644
+--- a/crates/uv/tests/pip_sync.rs
++++ b/crates/uv/tests/pip_sync.rs
+@@ -1396,7 +1396,6 @@ fn install_git_source_dist_cached() -> Result<()> {
+ }
+
+ /// Check that we show the right messages on cached, registry source distribution installs.
+-#[test]
+ fn install_registry_source_dist_cached() -> Result<()> {
+ let context = TestContext::new("3.12");
+
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.1.24.ebuild b/dev-python/uv/uv-0.1.24.ebuild
new file mode 100644
index 000000000000..831f3149f08d
--- /dev/null
+++ b/dev-python/uv/uv-0.1.24.ebuild
@@ -0,0 +1,107 @@
+# 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;d76801da0943de985254fc6255c0e476b57c5836;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;e981e4dfe315582e84e2fd724832fb0e0c50b7aa;pubgrub-%commit%'
+)
+
+inherit cargo check-reqs
+
+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/${P}-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 ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ dev-libs/libgit2:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ 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() {
+ local PATCHES=(
+ # skip broken tests:
+ # - requiring pinned CPython versions (3.8.12, 3.11.7, 3.12.1)
+ # - requiring specific terminal width (COLUMNS don't seem to work)
+ # - other (perhaps failing because of other skipped tests?)
+ "${FILESDIR}/uv-0.1.24-skip-tests.patch"
+ )
+
+ rm crates/uv/tests/pip_compile_scenarios.rs || die
+ default
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ 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.1.31.ebuild b/dev-python/uv/uv-0.1.31.ebuild
new file mode 100644
index 000000000000..24a6f44759c7
--- /dev/null
+++ b/dev-python/uv/uv-0.1.31.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;c26e485213e39582c6f2e4d45c0328422670e7a7;pubgrub-%commit%'
+)
+
+inherit cargo check-reqs
+
+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
+ CRATE_P=${P}
+ SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/${CRATE_P}-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 ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ dev-libs/libgit2:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+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() {
+ local PATCHES=(
+ # skip broken tests:
+ # - requiring pinned CPython versions (3.8.12, 3.11.7, 3.12.1)
+ # - requiring specific terminal width (COLUMNS don't seem to work)
+ # - other (perhaps failing because of other skipped tests?)
+ "${FILESDIR}/uv-0.1.28-skip-tests.patch"
+ )
+
+ rm crates/uv/tests/pip_compile_scenarios.rs || die
+ default
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ 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.1.32.ebuild b/dev-python/uv/uv-0.1.32.ebuild
new file mode 100644
index 000000000000..7287532bc9ca
--- /dev/null
+++ b/dev-python/uv/uv-0.1.32.ebuild
@@ -0,0 +1,121 @@
+# 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;c26e485213e39582c6f2e4d45c0328422670e7a7;pubgrub-%commit%'
+)
+
+inherit cargo check-reqs
+
+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
+ CRATE_P=${P}
+ SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/${CRATE_P}-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 ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ dev-libs/libgit2:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+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() {
+ local PATCHES=(
+ # skip broken test
+ # https://github.com/astral-sh/uv/issues/3051
+ "${FILESDIR}/uv-0.1.32-skip-tests.patch"
+ )
+
+ default
+}
+
+src_configure() {
+ local myfeatures=(
+ # from upstream defaults
+ flate2/zlib-ng
+ python
+ pypi
+ git
+ maturin
+ # skip tests that require specific patch version of the interpreter:
+ # python-patch
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ 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.1.33.ebuild b/dev-python/uv/uv-0.1.33.ebuild
new file mode 100644
index 000000000000..793b60d2c541
--- /dev/null
+++ b/dev-python/uv/uv-0.1.33.ebuild
@@ -0,0 +1,111 @@
+# 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;c26e485213e39582c6f2e4d45c0328422670e7a7;pubgrub-%commit%'
+)
+
+inherit cargo check-reqs
+
+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
+ CRATE_P=${P}
+ SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/${CRATE_P}-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 ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ dev-libs/libgit2:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+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_configure() {
+ local myfeatures=(
+ # from upstream defaults
+ flate2/zlib-ng
+ python
+ pypi
+ git
+ maturin
+ # skip tests that require specific patch version of the interpreter:
+ # python-patch
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ 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 ab418365ce93..036951a88147 100644
--- a/dev-python/uvicorn/Manifest
+++ b/dev-python/uvicorn/Manifest
@@ -1,2 +1 @@
-DIST uvicorn-0.19.0.gh.tar.gz 713679 BLAKE2B ee83cd7d318b0e54bd2dc240b5bfe3874ef41933ba7e2376e8dd3bdce90387b3d253c02c16ef28bbb54435b2e666309769cd057fe703d4be498f3c0ef19532c0 SHA512 d030a0c5e61b5bec985fa1640a74bf5da1dfa1a48d0b3f758096eaff2e3bf1d1b3bee1c3a024f5960cafbf928e9ee94e285a8c24404e1c4b6b6aa29f0d4cb15a
-DIST uvicorn-0.20.0.gh.tar.gz 716073 BLAKE2B 7f1cf4808e985199d39e54e3563119cef1fe3af31361ad05a91278d32bc6f0dd741ad87f6073fbb720e9d9d4119fc8389b4e2feaaede665d8f68c56d56b37a17 SHA512 fa089da78dd7ce3cc02d83405e7db401e6055e947b80bf4abb0e3a4dce6575d97761f3bd6fcc253f3338caad5f797fc4f01bd40d833514d9cc0bcd0f072ad793
+DIST uvicorn-0.29.0.gh.tar.gz 719202 BLAKE2B 15a1e9d001e00805d9efe89c1b46416f6556d944ec5a32fb31c8368d4c0e1e32155169e9b5754c7d56a3ee86a1b7edddcf0d9a641abf74fdb89c1332ebd289af SHA512 bb37940acc2eba2a649d07ba44890400332e5ad873ac03c6740c1bc730068ede39c2e6d9aefb0f100ec261d7ed2eef1596c99a060fd8000cff874b25bdbbbdfa
diff --git a/dev-python/uvicorn/uvicorn-0.19.0.ebuild b/dev-python/uvicorn/uvicorn-0.19.0.ebuild
deleted file mode 100644
index b4a511696277..000000000000
--- a/dev-python/uvicorn/uvicorn-0.19.0.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=hatchling
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Lightning-fast ASGI server implementation"
-HOMEPAGE="https://www.uvicorn.org/"
-SRC_URI="https://github.com/encode/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-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/cryptography[${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/trustme[${PYTHON_USEDEP}]
- >=dev-python/websockets-10.0[${PYTHON_USEDEP}]
- dev-python/wsproto[${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
- )
-
- local EPYTEST_IGNORE=()
- # love from Rust world
- if ! has_version "dev-python/watchfiles[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- tests/supervisors/test_reload.py
- )
- fi
-
- epytest
-}
-
-pkg_postinst() {
- optfeature "auto reload on file changes" dev-python/watchfiles
-}
diff --git a/dev-python/uvicorn/uvicorn-0.20.0.ebuild b/dev-python/uvicorn/uvicorn-0.20.0.ebuild
deleted file mode 100644
index a1b546a2e902..000000000000
--- a/dev-python/uvicorn/uvicorn-0.20.0.ebuild
+++ /dev/null
@@ -1,72 +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_{9..11} )
-
-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/
-"
-SRC_URI="https://github.com/encode/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-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/cryptography[${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/trustme[${PYTHON_USEDEP}]
- >=dev-python/websockets-10.4[${PYTHON_USEDEP}]
- dev-python/wsproto[${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
- )
- if [[ ${EPYTHON} == pypy3 ]]; then
- # TODO
- EPYTEST_DESELECT+=(
- tests/middleware/test_logging.py::test_running_log_using_fd
- )
- fi
-
- local EPYTEST_IGNORE=()
- # love from Rust world
- if ! has_version "dev-python/watchfiles[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- tests/supervisors/test_reload.py
- )
- fi
-
- epytest
-}
-
-pkg_postinst() {
- optfeature "auto reload on file changes" dev-python/watchfiles
-}
diff --git a/dev-python/uvicorn/uvicorn-0.29.0.ebuild b/dev-python/uvicorn/uvicorn-0.29.0.ebuild
new file mode 100644
index 000000000000..d0e9d96c1377
--- /dev/null
+++ b/dev-python/uvicorn/uvicorn-0.29.0.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..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.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 cc6d66efd06c..6e0b45805324 100644
--- a/dev-python/uvloop/Manifest
+++ b/dev-python/uvloop/Manifest
@@ -1 +1,2 @@
-DIST uvloop-0.17.0.tar.gz 2279973 BLAKE2B 7ccbf3b8e723e36c1010a70e256de0ad1a9728fe10b3538e05c57157b16ea7e5369347c855cd1460e49f89197ebb05628c4b6fcd7e50c623b1aaa5890ac64b5f SHA512 861d7f28ad879ecbfa40d53b9626e38660f02618fd433edbd5a8ea5100a17ade042a26549def04bc23f928aca3adc83d62503f0548038cd400284f5654003ee4
+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.17.0.ebuild b/dev-python/uvloop/uvloop-0.17.0.ebuild
deleted file mode 100644
index 6614fbe6654e..000000000000
--- a/dev-python/uvloop/uvloop-0.17.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.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
- )
-
- 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-r1.ebuild b/dev-python/uvloop/uvloop-0.19.0-r1.ebuild
new file mode 100644
index 000000000000..e7f04208a68b
--- /dev/null
+++ b/dev-python/uvloop/uvloop-0.19.0-r1.ebuild
@@ -0,0 +1,85 @@
+# 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="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/validators/Manifest b/dev-python/validators/Manifest
index 8b10d26784f0..8ab0f7c51693 100644
--- a/dev-python/validators/Manifest
+++ b/dev-python/validators/Manifest
@@ -1 +1,3 @@
-DIST validators-0.20.0.tar.gz 30665 BLAKE2B 7534c4970ab288cc02794176e0b3368ed2d4035d602d36ecadad84fb4a41407210b22a8ed1230650f4f247ba1552634aa500fea5c2f03f5e13d6e1120e62b15b SHA512 2f3d9caac9246b346e10604758168092ac483fe6e4a0c9470900e49719fbbebfd18e03aca525f8cca33cec224589aee28de3ea9bf5cd4941a49715d4216dba20
+DIST validators-0.24.0.tar.gz 50038 BLAKE2B fcf0ff579649a8c877cc3afcae3443b92f7b98b216eb48a6a234e32d6e6ae849720fa1969156783ae5a414400341573a5851bed9a7a02d048c0d77a831a7e99d SHA512 40fbb479a8eb1d30a9b0b23aa88b51e4c889c749c7327659d308402db159cfffd85ce34b567f456227ad094c9e1085f80279cf79845cfd5cf43bbabd8aac9ef9
+DIST validators-0.26.0.tar.gz 53123 BLAKE2B df64dc646ccf61a141db92f0acd3f78503e51a63550468f569041b2539b203328ba65fa8c389c71bba3584f7f57c8202ebe31d0e44119d9466f8cb5026fc935c SHA512 4d4626b310022a6f490aed74b9045c039536a1379d5d70fb434e7434533aa938634d5a1e694236825c3d61121ff43af164391c7b972568b8f5213b2120d8caf9
+DIST validators-0.28.0.tar.gz 66011 BLAKE2B 67c43e965511e9343a65e8367b08a2a9d5e3119e432723766ef9e4cee3a931db0b1e48944a0ace382d7ef435616c7ad101d76d85426fe59e38da55601c67fe92 SHA512 c1805fd4528c58a81f16aabb6571672616cfbb4a4a074dac8048c0c475b4827550183792084cae0f5d7393c2d7dc440a2f7f2435043a75867b81f06a32573f99
diff --git a/dev-python/validators/metadata.xml b/dev-python/validators/metadata.xml
index d38d08ae7ee1..203d6cff032b 100644
--- a/dev-python/validators/metadata.xml
+++ b/dev-python/validators/metadata.xml
@@ -9,8 +9,9 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">validators</remote-id>
- <remote-id type="github">kvesteri/validators</remote-id>
+ <remote-id type="github">python-validators/validators</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/validators/validators-0.20.0.ebuild b/dev-python/validators/validators-0.20.0.ebuild
deleted file mode 100644
index 70139d239ff8..000000000000
--- a/dev-python/validators/validators-0.20.0.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python Data Validation for Humans"
-HOMEPAGE="
- https://github.com/kvesteri/validators/
- https://pypi.org/project/validators/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-RDEPEND="
- >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/validators/validators-0.24.0.ebuild b/dev-python/validators/validators-0.24.0.ebuild
new file mode 100644
index 000000000000..1189da209562
--- /dev/null
+++ b/dev-python/validators/validators-0.24.0.ebuild
@@ -0,0 +1,21 @@
+# 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} )
+
+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.26.0.ebuild b/dev-python/validators/validators-0.26.0.ebuild
new file mode 100644
index 000000000000..20c7aef22fdc
--- /dev/null
+++ b/dev-python/validators/validators-0.26.0.ebuild
@@ -0,0 +1,21 @@
+# 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} )
+
+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.28.0.ebuild b/dev-python/validators/validators-0.28.0.ebuild
new file mode 100644
index 000000000000..20c7aef22fdc
--- /dev/null
+++ b/dev-python/validators/validators-0.28.0.ebuild
@@ -0,0 +1,21 @@
+# 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} )
+
+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/python-varlink/Manifest b/dev-python/varlink/Manifest
index 1b7a34c31b1b..1b7a34c31b1b 100644
--- a/dev-python/python-varlink/Manifest
+++ b/dev-python/varlink/Manifest
diff --git a/dev-python/python-varlink/metadata.xml b/dev-python/varlink/metadata.xml
index 83e6fff6c697..83e6fff6c697 100644
--- a/dev-python/python-varlink/metadata.xml
+++ b/dev-python/varlink/metadata.xml
diff --git a/dev-python/varlink/varlink-31.0.0.ebuild b/dev-python/varlink/varlink-31.0.0.ebuild
new file mode 100644
index 000000000000..c084e45314d4
--- /dev/null
+++ b/dev-python/varlink/varlink-31.0.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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-varlink-${PV}
+DESCRIPTION="Python implementation of the Varlink protocol"
+HOMEPAGE="
+ https://github.com/varlink/python/
+ https://pypi.org/project/varlink/
+"
+SRC_URI="
+ https://github.com/varlink/python/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/python-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/vcrpy/Manifest b/dev-python/vcrpy/Manifest
index 523a34f1a0d7..c46c3f45a3a1 100644
--- a/dev-python/vcrpy/Manifest
+++ b/dev-python/vcrpy/Manifest
@@ -1 +1 @@
-DIST vcrpy-4.2.1.gh.tar.gz 331180 BLAKE2B 345e4c148963e2109d02be4e96986083236bd29fa8049c7cc54483f12d0506cde5c116b6f2fe80e099599b22a73e2f6240f7bb91e4a7d8af7f4e8e741097160d SHA512 59231e5164cda3099b18d099f0ef97e062e6401e52e5dfc4022aa89ca02881e9e6e3c782f12c288f5281b3b3bf175dc33a267bc6d2b40791582a1221f5d7aaab
+DIST vcrpy-6.0.1.gh.tar.gz 337497 BLAKE2B a00571d7ed0dd895cc120e3e2615e8e6ea3e86344813e87f836a182be45389b200925ae2a02dc754b0b77db642d3be453b3b8c909b26197222b84fa95c6da804 SHA512 79ba9ea29db20ddc3db5676d7bdb05da17848eb126ed63d813a1d2b0de80573fff3afaec2ffe1af491a0310ce922c7545c4569035d0f5868f171db25965c217f
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-4.2.1.ebuild b/dev-python/vcrpy/vcrpy-4.2.1.ebuild
deleted file mode 100644
index 98302c800df6..000000000000
--- a/dev-python/vcrpy/vcrpy-4.2.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=( python3_{9..11} )
-
-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[${PYTHON_USEDEP}]
- >=dev-python/six-1.5[${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
-
-python_test() {
- local EPYTEST_DESELECT=(
- # these tests require Internet
- tests/integration/test_aiohttp.py
- tests/integration/test_boto.py
- tests/integration/test_httplib2.py::test_effective_url
- tests/integration/test_httpx.py
- tests/integration/test_urllib2.py::test_effective_url
- tests/integration/test_urllib3.py::test_redirects
- tests/integration/test_wild.py::test_amazon_doctype
- tests/integration/test_wild.py::test_flickr_should_respond_with_200
- tests/unit/test_stubs.py::TestVCRConnection::testing_connect
- )
-
- local -x REQUESTS_CA_BUNDLE=$("${EPYTHON}" -m pytest_httpbin.certs)
- epytest
-}
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..257bac69d0b4
--- /dev/null
+++ b/dev-python/vcrpy/vcrpy-6.0.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=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}]
+ )
+"
+
+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
+ )
+
+ local -x REQUESTS_CA_BUNDLE=$("${EPYTHON}" -m pytest_httpbin.certs)
+ epytest -m 'not online'
+}
diff --git a/dev-python/vdf/Manifest b/dev-python/vdf/Manifest
index 0007d605882a..4662331adb69 100644
--- a/dev-python/vdf/Manifest
+++ b/dev-python/vdf/Manifest
@@ -1 +1 @@
-DIST vdf-3.4.tar.gz 17082 BLAKE2B f4f65134d5b1b5e52fcbc438b3bfd9000006659d8198e37e377edfda1c6166df0687ce44caf704feffeaa0d23356fffbfce11d467a093e8eb623ccb39a3da9d0 SHA512 a22668039d32cb1ef4660ea187a3a144a32e55e5b02c4c567b850d059a47beac111f9164c67bbe3e7b67d15117efe7b207882465b2353a65b7e0f0c107e88d5c
+DIST vdf-3.4.gh.tar.gz 17082 BLAKE2B f4f65134d5b1b5e52fcbc438b3bfd9000006659d8198e37e377edfda1c6166df0687ce44caf704feffeaa0d23356fffbfce11d467a093e8eb623ccb39a3da9d0 SHA512 a22668039d32cb1ef4660ea187a3a144a32e55e5b02c4c567b850d059a47beac111f9164c67bbe3e7b67d15117efe7b207882465b2353a65b7e0f0c107e88d5c
diff --git a/dev-python/vdf/vdf-3.4-r1.ebuild b/dev-python/vdf/vdf-3.4-r1.ebuild
index ff002f397c5e..51be1e5702a8 100644
--- a/dev-python/vdf/vdf-3.4-r1.ebuild
+++ b/dev-python/vdf/vdf-3.4-r1.ebuild
@@ -4,16 +4,22 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
DESCRIPTION="A module for (de)serialization to and from VDF, Valve's key-value text format"
-HOMEPAGE="https://github.com/ValvePython/vdf"
-SRC_URI="https://codeload.github.com/ValvePython/${PN}/tar.gz/v${PV} -> ${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/ValvePython/vdf/
+ https://pypi.org/project/vdf/
+"
+SRC_URI="
+ https://github.com/ValvePython/vdf/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
distutils_enable_tests pytest
diff --git a/dev-python/vdirsyncer/Manifest b/dev-python/vdirsyncer/Manifest
index 1173cae68ca4..fdd656fe9063 100644
--- a/dev-python/vdirsyncer/Manifest
+++ b/dev-python/vdirsyncer/Manifest
@@ -1,2 +1 @@
-DIST vdirsyncer-0.18.0.tar.gz 115125 BLAKE2B d81bb9b51658d16a3b9ea044846561a1ce2dac3a839d7e0a165f0136069fcd0716525ab2b908be7cafed60846a1aed6fd72aa1d31fc2a38dbe6de8d0e6585226 SHA512 7fb3d0f7d982d8390d278de1a620231e6ead1ec64057c5dbac98dcff491fa3e6b9ed8ba953995458e393aab73b0b9ab8ba14010e06f90a04d8ee2c28c7c7fbfd
-DIST vdirsyncer-0.19.0.tar.gz 122533 BLAKE2B 18e3359fb743a8ce71f80c46da21555c4984ca47791e1a4e899408050e4a4bbad184fa94026fede1168fa3a7695539d93f1985b85c640aa1c0ca4fdf52920766 SHA512 9b8e467bdc9daf6d50981bfec1f67a1c990b07bc62a6e2d3ede35712fde60206672af53d53aca6587daee132ab74bf74f04d8bb4dbaa804dfe97dca9370b323c
+DIST vdirsyncer-0.19.2.tar.gz 123389 BLAKE2B 35cf5e52f669307c7bc545404135bfb5ded3ca6a1b151735ddacd73835054a2e0ab518201ad206929ca845c2a2828c025a918bba54b739db3fa0a8e4e9f5de33 SHA512 056c58011d0a054a8cc215e9eabc706dfffb7d38deab5ae47311565b3bdb6de7a4772e97a0a50cdce33c82b09d559f1ec9cf9c84746553badf1d25791c7e08ce
diff --git a/dev-python/vdirsyncer/files/vdirsyncer-0.18.0-no-cov.patch b/dev-python/vdirsyncer/files/vdirsyncer-0.18.0-no-cov.patch
deleted file mode 100644
index d7e1d537ce49..000000000000
--- a/dev-python/vdirsyncer/files/vdirsyncer-0.18.0-no-cov.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Avoid pytest-cov involvement:
-
-https://dev.gentoo.org/~mgorny/python-guide/pytest.html#avoiding-dependencies-on-other-pytest-plugins
-
-Signed-Off-By: John Helmert III <ajak@gentoo.org>
-
-diff --git a/setup.cfg b/setup.cfg
-index 2428e44..117f237 100644
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -1,14 +1,6 @@
- [wheel]
- universal = 1
-
--[tool:pytest]
--addopts =
-- --tb=short
-- --cov-config .coveragerc
-- --cov=vdirsyncer
-- --cov-report=term-missing
-- --no-cov-on-fail
--
- [flake8]
- application-import-names = tests,vdirsyncer
- extend-ignore =
diff --git a/dev-python/vdirsyncer/vdirsyncer-0.18.0-r4.ebuild b/dev-python/vdirsyncer/vdirsyncer-0.18.0-r4.ebuild
deleted file mode 100644
index ff44ae3548a0..000000000000
--- a/dev-python/vdirsyncer/vdirsyncer-0.18.0-r4.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..11} )
-PYTHON_REQ_USE="sqlite"
-
-inherit distutils-r1 systemd
-
-DESCRIPTION="Synchronize calendars and contacts"
-HOMEPAGE="
- https://github.com/pimutils/vdirsyncer/
- https://pypi.org/project/vdirsyncer/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-
-RDEPEND="
- dev-python/click[${PYTHON_USEDEP}]
- >=dev-python/click-log-0.3.0[${PYTHON_USEDEP}]
- >=dev-python/click-threading-0.5[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/requests-toolbelt[${PYTHON_USEDEP}]
- dev-python/atomicwrites[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytest-localserver[${PYTHON_USEDEP}]
- dev-python/pytest-subtesthack[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.18.0-no-cov.patch"
-)
-
-DOCS=( AUTHORS.rst CHANGELOG.rst CONTRIBUTING.rst README.rst config.example )
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin click-log
- # https://github.com/pimutils/vdirsyncer/commit/ea640001d0ad6e56369102e02b949c865c48726f
- sed -i -e '/click-log/s:, <0.4.0::' setup.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- # skip tests needing servers running
- local -x DAV_SERVER=skip
- local -x REMOTESTORAGE_SERVER=skip
- # pytest dies hard if the envvars do not have any value...
- local -x CI=false
- local -x DETERMINISTIC_TESTS=false
-
- local EPYTEST_DESELECT=(
- # test CA is too weak for modern python
- tests/system/utils/test_main.py::test_request_ssl
- tests/system/utils/test_main.py::test_request_ssl_fingerprints
- )
-
- epytest
-}
-
-src_install() {
- distutils-r1_src_install
-
- systemd_douserunit contrib/vdirsyncer.{service,timer}
-}
diff --git a/dev-python/vdirsyncer/vdirsyncer-0.19.0.ebuild b/dev-python/vdirsyncer/vdirsyncer-0.19.0.ebuild
deleted file mode 100644
index 7ce12cfc84a0..000000000000
--- a/dev-python/vdirsyncer/vdirsyncer-0.19.0.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..11} )
-PYTHON_REQ_USE="sqlite"
-
-inherit distutils-r1 systemd
-
-DESCRIPTION="Synchronize calendars and contacts"
-HOMEPAGE="
- https://github.com/pimutils/vdirsyncer/
- https://pypi.org/project/vdirsyncer/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- <dev-python/click-9[${PYTHON_USEDEP}]
- >=dev-python/click-5.0[${PYTHON_USEDEP}]
- <dev-python/click-log-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/click-log-0.3.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
- >=dev-python/requests-toolbelt-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/atomicwrites-0.1.7[${PYTHON_USEDEP}]
- <dev-python/aiohttp-4[${PYTHON_USEDEP}]
- >=dev-python/aiohttp-3.8.0[${PYTHON_USEDEP}]
- <dev-python/aiostream-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/aiostream-0.4.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytest-httpserver[${PYTHON_USEDEP}]
- dev-python/trustme[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/aioresponses[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( AUTHORS.rst CHANGELOG.rst CONTRIBUTING.rst README.rst config.example )
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/cov/d' setup.cfg || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- # skip tests needing servers running
- local -x DAV_SERVER=skip
- local -x REMOTESTORAGE_SERVER=skip
- # pytest dies hard if the envvars do not have any value...
- local -x CI=false
- local -x DETERMINISTIC_TESTS=false
-
- local EPYTEST_DESELECT=(
- # Internet
- tests/system/utils/test_main.py::test_request_ssl
- )
-
- epytest
-}
-
-src_install() {
- distutils-r1_src_install
-
- systemd_douserunit contrib/vdirsyncer.{service,timer}
-}
diff --git a/dev-python/vdirsyncer/vdirsyncer-0.19.2-r2.ebuild b/dev-python/vdirsyncer/vdirsyncer-0.19.2-r2.ebuild
new file mode 100644
index 000000000000..f67c5a31bc85
--- /dev/null
+++ b/dev-python/vdirsyncer/vdirsyncer-0.19.2-r2.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2023 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 systemd
+
+DESCRIPTION="Synchronize calendars and contacts"
+HOMEPAGE="
+ https://github.com/pimutils/vdirsyncer/
+ https://pypi.org/project/vdirsyncer/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/click-5.0[${PYTHON_USEDEP}]
+ >=dev-python/click-log-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-toolbelt-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/atomicwrites-0.1.7[${PYTHON_USEDEP}]
+ >=dev-python/aiohttp-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/aiostream-0.4.3[${PYTHON_USEDEP}]
+ dev-python/aiohttp-oauthlib[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/aioresponses[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( AUTHORS.rst CHANGELOG.rst CONTRIBUTING.rst README.rst config.example )
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e 's:, *<[0-9.]*::' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # skip tests needing servers running
+ local -x DAV_SERVER=skip
+ local -x REMOTESTORAGE_SERVER=skip
+ # pytest dies hard if the envvars do not have any value...
+ local -x CI=false
+ local -x DETERMINISTIC_TESTS=false
+
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/system/utils/test_main.py::test_request_ssl
+ )
+
+ epytest -o addopts=
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ systemd_douserunit contrib/vdirsyncer.{service,timer}
+}
diff --git a/dev-python/vecrec/vecrec-0.3.1-r1.ebuild b/dev-python/vecrec/vecrec-0.3.1-r1.ebuild
index 184ce40f2281..6c627614a504 100644
--- a/dev-python/vecrec/vecrec-0.3.1-r1.ebuild
+++ b/dev-python/vecrec/vecrec-0.3.1-r1.ebuild
@@ -4,30 +4,32 @@
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="2D vector and rectangle classes"
-HOMEPAGE="https://github.com/kxgames/vecrec
- https://pypi.org/project/vecrec/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/kxgames/vecrec/
+ https://pypi.org/project/vecrec/
+"
LICENSE="MIT"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
SLOT="0"
-RDEPEND="dev-python/autoprop[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/autoprop[${PYTHON_USEDEP}]
+"
distutils_enable_tests pytest
src_prepare() {
- sed -e '/addopts/d' -i tests/pytest.ini || die
sed -e '/build-backend/s/flit.buildapi/flit_core.buildapi/' \
-e '/requires/s/flit/flit_core/' -i pyproject.toml || die
distutils-r1_src_prepare
}
python_test() {
- epytest tests
+ epytest -o addopts= tests
}
diff --git a/dev-python/verboselogs/verboselogs-1.7-r1.ebuild b/dev-python/verboselogs/verboselogs-1.7-r1.ebuild
index 2abb707eeb80..8a61f5ede937 100644
--- a/dev-python/verboselogs/verboselogs-1.7-r1.ebuild
+++ b/dev-python/verboselogs/verboselogs-1.7-r1.ebuild
@@ -1,24 +1,27 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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
+inherit distutils-r1 pypi
DESCRIPTION="Verbose logging for Python's logging module"
-HOMEPAGE="https://pypi.org/project/verboselogs/
- https://github.com/xolox/python-verboselogs/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/xolox/python-verboselogs/
+ https://pypi.org/project/verboselogs/
+"
SLOT="0"
LICENSE="MIT"
-KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
BDEPEND="
- test? ( dev-python/mock[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
"
PATCHES=(
diff --git a/dev-python/versioneer/Manifest b/dev-python/versioneer/Manifest
index 6c9faf98bda6..7524b0565bef 100644
--- a/dev-python/versioneer/Manifest
+++ b/dev-python/versioneer/Manifest
@@ -1 +1 @@
-DIST python-versioneer-0.28.gh.tar.gz 77503 BLAKE2B a4d75ce8a7db057421e36fd75bfa9ec83a41191b999c2a81b3879290424005b521f7b6046debb847bf78eae459ef7247d903f971d2a0c4fce116ec0cd1f34833 SHA512 ef27f4588f1c76eb5da1e108f2eee635707b2427cd79a71880f8df217317329e5fb81b30b1e741f2439550dc73f9a816ebdf47af475862344d67ed2189f92a1e
+DIST python-versioneer-0.29.retag.gh.tar.gz 78792 BLAKE2B 6a82c57968d13fbc16d5aa67d721dede32762c6327ed5b2ed721c29fdba24f6277aaa0a19cf3ec2fe7e449bc815ad164e905c5869fbd24d59b6eff0d9e88d8f9 SHA512 36bc69021c7d6c2bfa96b35e797336f8807908fc9ca3948241c18266984ca77af3141d7ff98525168e9c3604f62268b7964627bd211e04e9c0732cde56b62841
diff --git a/dev-python/versioneer/versioneer-0.28.ebuild b/dev-python/versioneer/versioneer-0.28.ebuild
deleted file mode 100644
index 76f48fc8381e..000000000000
--- a/dev-python/versioneer/versioneer-0.28.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_{9..11} )
-
-inherit distutils-r1
-
-MY_P=python-versioneer-${PV}
-DESCRIPTION="Easy VCS-based management of project version strings"
-HOMEPAGE="
- https://pypi.org/project/versioneer/
- https://github.com/python-versioneer/python-versioneer/
-"
-SRC_URI="
- https://github.com/python-versioneer/python-versioneer/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-SLOT="0"
-LICENSE="Unlicense"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
-"
-BDEPEND="
- test? (
- dev-python/build[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-vcs/git
- !!dev-python/nose[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- esetup.py make_versioneer
-
- git config --global user.email "you@example.com" || die
- git config --global user.name "Your Name" || die
- git config --global init.defaultBranch whatever || die
-
- "${EPYTHON}" test/git/test_git.py -v || die
-}
diff --git a/dev-python/versioneer/versioneer-0.29-r1.ebuild b/dev-python/versioneer/versioneer-0.29-r1.ebuild
new file mode 100644
index 000000000000..984f78d862f4
--- /dev/null
+++ b/dev-python/versioneer/versioneer-0.29-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2023 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
+
+# XXX: drop .retag on next version
+MY_P=python-versioneer-${PV}
+DESCRIPTION="Easy VCS-based management of project version strings"
+HOMEPAGE="
+ https://pypi.org/project/versioneer/
+ https://github.com/python-versioneer/python-versioneer/
+"
+SRC_URI="
+ https://github.com/python-versioneer/python-versioneer/archive/${PV}.tar.gz
+ -> ${MY_P}.retag.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+SLOT="0"
+LICENSE="Unlicense"
+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="
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-vcs/git
+ !!dev-python/nose[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ esetup.py make_versioneer
+
+ git config --global user.email "you@example.com" || die
+ git config --global user.name "Your Name" || die
+ git config --global init.defaultBranch whatever || die
+
+ "${EPYTHON}" test/git/test_git.py -v || die
+}
diff --git a/dev-python/versioningit/Manifest b/dev-python/versioningit/Manifest
index 2dc07f510b53..65a88a6d7cc8 100644
--- a/dev-python/versioningit/Manifest
+++ b/dev-python/versioningit/Manifest
@@ -1 +1 @@
-DIST versioningit-2.1.0.tar.gz 735718 BLAKE2B edceb4b5a76ecc5e4f5549a348cd5c72bd1c77be1fb6d8c1694af4c94ff38e773b2e288ad22cecd93a3cd14d602dd6c50634db74a51e486856472098cf18bf89 SHA512 0cea71e8b21edefba008d947d8527810e1e38c8e2f208707dbc913b3734b51a57b20444fa4dd703574f0106068518057496292ae5997d85ba047ff4795ba64fa
+DIST versioningit-3.1.0.tar.gz 215117 BLAKE2B d0fc7056cc59088ed0091bc20af540b39238ca33bc049ffb87978e48a605cbee69a2daf574ff9b3791b3d55b708adeaca877f1914b8d4d2106f76cfa33dea608 SHA512 d30ec0b2831ab3e77e51b3e41b542ef2e73838dd78a2b1bebb64db4f7fdb4c988299f7b9605c9ff884c130fe97b2491e1bb27866450346023b68dd1a2204e04d
diff --git a/dev-python/versioningit/versioningit-2.1.0.ebuild b/dev-python/versioningit/versioningit-2.1.0.ebuild
deleted file mode 100644
index 88cdc4b3b0d6..000000000000
--- a/dev-python/versioningit/versioningit-2.1.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
-
-DESCRIPTION="A setuptools plugin for versioning based on git tags"
-HOMEPAGE="
- https://github.com/jwodder/versioningit/
- https://pypi.org/project/versioningit/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/packaging-17.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/importlib_metadata[${PYTHON_USEDEP}]
- ' 3.8 3.9)
- $(python_gen_cond_dep '
- <dev-python/tomli-3[${PYTHON_USEDEP}]
- ' 3.8 3.9 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-3.1.0.ebuild b/dev-python/versioningit/versioningit-3.1.0.ebuild
new file mode 100644
index 000000000000..8a5007a59b51
--- /dev/null
+++ b/dev-python/versioningit/versioningit-3.1.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=hatchling
+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/vine/Manifest b/dev-python/vine/Manifest
index d17e446324e9..1cfa8c194621 100644
--- a/dev-python/vine/Manifest
+++ b/dev-python/vine/Manifest
@@ -1 +1 @@
-DIST vine-5.0.0.tar.gz 48758 BLAKE2B 11f90ceb3d3f0b008551db458e18a41b301b797a2109e011154cc3e6063433c3c917b0aa2cfdd0df8b868a3b459c061e6ed97fd23b9fb8cfdf58f5833e17459a SHA512 ff8f4b3f675220772ed0523e468eedbaec4aca793877b984e9a215603d1288cc3cc71dfeb152219d22f98de0ac7e9f9fa0cc35c2424ff36044cfc8f28192c159
+DIST vine-5.1.0.tar.gz 48980 BLAKE2B e46a85582df4bdb6bddbe37ccc2511b5361cfcdd8210f81fe3064a41cb683e34b5a4e2d0539989246f60332e5fbf4b3dcca6a05e2a20a75af4927fd9bbe4b736 SHA512 899a494d26ce8236ba12451e8da42fad03803df0a9cf69829f650c23c0d4f6232b9246230fd984fa6616edbad8b2c08f0efe95e3692bee756dfc094f14e3432d
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.0.0-r1.ebuild b/dev-python/vine/vine-5.0.0-r1.ebuild
deleted file mode 100644
index a9234f194c6d..000000000000
--- a/dev-python/vine/vine-5.0.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python Promises"
-HOMEPAGE="
- https://github.com/celery/vine/
- https://pypi.org/project/vine/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # remove the dep on dead dev-python/case package
- sed -i -e 's:from case:from unittest.mock:' t/unit/*.py || die
- # also removed upstream
- rm t/unit/conftest.py || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/vine/vine-5.1.0.ebuild b/dev-python/vine/vine-5.1.0.ebuild
new file mode 100644
index 000000000000..3d7bd3b8e971
--- /dev/null
+++ b/dev-python/vine/vine-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
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python Promises"
+HOMEPAGE="
+ https://github.com/celery/vine/
+ https://pypi.org/project/vine/
+"
+
+LICENSE="BSD"
+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 752211328903..b58e01647789 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
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 7b3eeb79483c..50d706709787 100644
--- a/dev-python/virtualenv/Manifest
+++ b/dev-python/virtualenv/Manifest
@@ -1 +1,3 @@
-DIST virtualenv-20.17.1.tar.gz 12269737 BLAKE2B 5caa223d549ecb69de3a17dec84a608f34f01c5abd39ab478c27438f71e36e6878a719f9002464dbf0f335bc90a2f4552e201d59e0e757fabef6f3caaaf857fb SHA512 6b32145f431f6b1f4c2a2ed888e8b9e5cb941e04ea1e68830053dceac80ee8bbf2286c1f353951d50d4b8417b8d81ee4b30dae597c94f2a3baf50f174f7ef4d4
+DIST virtualenv-20.25.1.tar.gz 7152341 BLAKE2B 7d3ecaca89cb4106f97fb5565331b257017d756742f9c90972a01a86296e81d509d2f4a7869d3bc7a299c1c2f01cc08999eddc258f1bd46acf88999d0732794e SHA512 c0791de2aed7893658316199696906b1aed650460f3b53e0dbd13e695d16bc14d8974cd72fc8dcc010ff7ba10036121929ce9a608f97d7d2cd9f972144a3a1f0
+DIST virtualenv-20.25.2.tar.gz 7289618 BLAKE2B 9217dadaa00521b5109a7efdaadd99663898931aee57d34e1fae0484cf997cb06d7a6f87bd971802fae9539435eae69c4f3f4f6a5e0771d08926fd8151ec0810 SHA512 080fe3b02d08f9c55a2eea7b68022de935e0887826d52511c768ef4fb72b0278d99413f5f08288fd22c5925d362588af0afbbf7f2c51dcc47c8bce1485d6ae19
+DIST virtualenv-20.25.3.tar.gz 7289627 BLAKE2B 9edd92a238af78d4178f7c7b553f4b86206815fad3cd5f257b9fe35552835ab916849a07e06248f880335dc9a356364154ea689c08d64274eab4df36a81c05db SHA512 3933ed6dfa393a2f6cb6f996d8830f60204d5bf8953d61726afc5cc9b079bd1723c3e9044e33d3a584725ba80b93d9ac5a5d11c7304d0234303ce49c33ca1a9e
diff --git a/dev-python/virtualenv/virtualenv-20.17.1.ebuild b/dev-python/virtualenv/virtualenv-20.17.1.ebuild
deleted file mode 100644
index 379e65c8d8db..000000000000
--- a/dev-python/virtualenv/virtualenv-20.17.1.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_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Virtual Python Environment builder"
-HOMEPAGE="
- https://virtualenv.pypa.io/en/stable/
- https://pypi.org/project/virtualenv/
- https://github.com/pypa/virtualenv/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-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.6[${PYTHON_USEDEP}]
- >=dev-python/filelock-3.4.1[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.4[${PYTHON_USEDEP}]
- >=dev-python/setuptools-63.2.0[${PYTHON_USEDEP}]
-"
-# coverage is used somehow magically in virtualenv, maybe it actually
-# tests something useful
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- >=dev-python/pip-22.2.1[${PYTHON_USEDEP}]
- >=dev-python/pytest-freezegun-0.4.2[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1[${PYTHON_USEDEP}]
- >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- )
-"
-
-# (unpackaged deps)
-#distutils_enable_sphinx docs \
-# dev-python/sphinx-argparse \
-# dev-python/sphinx_rtd_theme \
-# dev-python/towncrier
-distutils_enable_tests pytest
-
-src_configure() {
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-}
-
-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]"
- )
- [[ ${EPYTHON} == 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-]'
- )
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # TODO
- tests/unit/discovery/py_info/test_py_info.py::test_py_info_setuptools
- tests/unit/discovery/py_info/test_py_info.py::test_custom_venv_install_scheme_is_prefered
- tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable
- )
-
- epytest
-}
-
-pkg_postinst() {
- elog "Please note that while virtualenv package no longer supports"
- elog "Python 2.7, you can still create py2.7 virtualenvs via:"
- elog " $ virtualenv -p 2.7 ..."
-}
diff --git a/dev-python/virtualenv/virtualenv-20.25.1.ebuild b/dev-python/virtualenv/virtualenv-20.25.1.ebuild
new file mode 100644
index 000000000000..fbc59a9f90fb
--- /dev/null
+++ b/dev-python/virtualenv/virtualenv-20.25.1.ebuild
@@ -0,0 +1,122 @@
+# 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 )
+
+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}]
+"
+# 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.2.ebuild b/dev-python/virtualenv/virtualenv-20.25.2.ebuild
new file mode 100644
index 000000000000..bc9af3191c74
--- /dev/null
+++ b/dev-python/virtualenv/virtualenv-20.25.2.ebuild
@@ -0,0 +1,122 @@
+# 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 )
+
+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}]
+"
+# 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.3.ebuild b/dev-python/virtualenv/virtualenv-20.25.3.ebuild
new file mode 100644
index 000000000000..17590a856722
--- /dev/null
+++ b/dev-python/virtualenv/virtualenv-20.25.3.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=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"
+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}]
+"
+# 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() {
+ # 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/virtualenvwrapper/Manifest b/dev-python/virtualenvwrapper/Manifest
index 0b660b17d635..38deaed880b4 100644
--- a/dev-python/virtualenvwrapper/Manifest
+++ b/dev-python/virtualenvwrapper/Manifest
@@ -1 +1 @@
-DIST virtualenvwrapper-4.8.4.tar.gz 334920 BLAKE2B cd790b1e98cca7d09ea9c80df5d52380335d4a0ea4e6d95f7bd48d78583e0d842e1145ea08d8d8c73516adbe8d6c75bd53c17943723f859860a0cad105a2b058 SHA512 461938100061e11af0ee9b17405d991ae34e5ec9c79cc12614962d3178b588a2da710baa15ac626960b09177c1b5b10c7bc590cb4c126ebd2f719d0f1527c9c4
+DIST virtualenvwrapper-6.1.0.tar.gz 95880 BLAKE2B 86d37682148ee132f9be5c4554de3c770c0f1c3055441bbce080d94da6fa83fc138a15c4c7edbb525e0c303c3c2ba5c1b1ee23260ea5bafaab157b3699b39b87 SHA512 78e09956132862fbf1caf53cb6c9375aa3718685f72d8f3fb61e402e6b26e8568d5b3a3ed18142b14f3b2691f89e6f912782e813d8139dc71ceb7e47bde8d0b0
diff --git a/dev-python/virtualenvwrapper/files/virtualenvwrapper-4.8.4_p20230121-override-default-python-executable.patch b/dev-python/virtualenvwrapper/files/virtualenvwrapper-4.8.4_p20230121-override-default-python-executable.patch
new file mode 100644
index 000000000000..0c7268422efe
--- /dev/null
+++ b/dev-python/virtualenvwrapper/files/virtualenvwrapper-4.8.4_p20230121-override-default-python-executable.patch
@@ -0,0 +1,21 @@
+https://github.com/parona-source/virtualenvwrapper/commit/9cb7bcab244c3e49d7b25b73e82566d0adce3282
+
+From 9cb7bcab244c3e49d7b25b73e82566d0adce3282 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sun, 23 Jul 2023 05:05:59 +0300
+Subject: [PATCH] virtualenvwrapper.sh: Override default python executable
+
+--- 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="$(command -v python3)"
++ _virtualenvwrapper_python_executable="@@GENTOO_PYTHON_EXECUTABLE@@"
+ if [ -n "$_virtualenvwrapper_python_executable" ] && $_virtualenvwrapper_python_executable -m 'virtualenvwrapper.hook_loader' --help >/dev/null 2>&1
+ then
+ VIRTUALENVWRAPPER_PYTHON=$_virtualenvwrapper_python_executable
+--
+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/metadata.xml b/dev-python/virtualenvwrapper/metadata.xml
index 593e63c5b039..8b706320125a 100644
--- a/dev-python/virtualenvwrapper/metadata.xml
+++ b/dev-python/virtualenvwrapper/metadata.xml
@@ -1,12 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>parona@protonmail.com</email>
+ <name>Alfred Wingate</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>Proxy Maintainers</name>
+ </maintainer>
<upstream>
<remote-id type="pypi">virtualenvwrapper</remote-id>
<remote-id type="bitbucket">dhellmann/virtualenvwrapper</remote-id>
+ <remote-id type="github">python-virtualenvwrapper/virtualenvwrapper</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/virtualenvwrapper/virtualenvwrapper-4.8.4-r2.ebuild b/dev-python/virtualenvwrapper/virtualenvwrapper-4.8.4-r2.ebuild
deleted file mode 100644
index fdd42133d317..000000000000
--- a/dev-python/virtualenvwrapper/virtualenvwrapper-4.8.4-r2.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..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Set of extensions to Ian Bicking's virtualenv tool"
-HOMEPAGE="https://bitbucket.org/dhellmann/virtualenvwrapper
- https://pypi.org/project/virtualenvwrapper/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 x86"
-
-# testsuite doesn't work out of the box. Demand of a virtualenv outstrips setup by the eclass
-RESTRICT=test
-
-RDEPEND="
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/stevedore[${PYTHON_USEDEP}]
- dev-python/virtualenv-clone[${PYTHON_USEDEP}]"
-DEPEND="${DEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/pbr[${PYTHON_USEDEP}]"
-
-src_prepare() {
- default
- sed -i -e 's/egrep/grep -E/' "${S}/virtualenvwrapper.sh" || die
-}
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_test() {
- bash ./tests/run_tests || die "Tests failed under ${EPYTHON}"
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- find "${D}" -name '*.pth' -delete || die
-}
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/visitor-0.1.3-r2.ebuild b/dev-python/visitor/visitor-0.1.3-r2.ebuild
index d8ab88d9c58e..090b0bf6e1ea 100644
--- a/dev-python/visitor/visitor-0.1.3-r2.ebuild
+++ b/dev-python/visitor/visitor-0.1.3-r2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -16,6 +16,6 @@ SRC_URI="https://github.com/mbr/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
distutils_enable_tests pytest
diff --git a/dev-python/vncdotool/Manifest b/dev-python/vncdotool/Manifest
deleted file mode 100644
index 4deebb582c11..000000000000
--- a/dev-python/vncdotool/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST vncdotool-0.13.0.tar.gz 72780 BLAKE2B 6a27565c5410148f569bd5a8e212327d734f9fd044549683bafcbbaed0df56e0a4853b4750eadc74e2186463313cd510c5290a8c4de69eba5ecbc42ea5d94c32 SHA512 65e275c53dbc805114801b149bff86743cdcb2b8d69b038425fd7dd6f911b113e332246178080c71314d58624137152205057c00b451a3ec6b46541f1b294b98
-DIST vncdotool-1.0.0.tar.gz 62580 BLAKE2B d09b26e81496055f17e96fa5b60ea006ddd210fa8b0044785c107582af18a61fb5beec83f577222b32cc8f446694235cd3ab468cfa917ec3ef4b00b6fbc1a8bc SHA512 45fba9ba3549ad575923bcfb3ab62c53b3c2d85882c87ca2b656795314b9c32aa989a1fdae280f904cb4d79f509622810ffd4d1e2977beac917f0289d6ff24a4
diff --git a/dev-python/vncdotool/metadata.xml b/dev-python/vncdotool/metadata.xml
deleted file mode 100644
index e1df40b61c3d..000000000000
--- a/dev-python/vncdotool/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>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">vncdotool</remote-id>
- <remote-id type="github">sibson/vncdotool</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/vncdotool/vncdotool-0.13.0-r1.ebuild b/dev-python/vncdotool/vncdotool-0.13.0-r1.ebuild
deleted file mode 100644
index 047806e5bb04..000000000000
--- a/dev-python/vncdotool/vncdotool-0.13.0-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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="Command line VNC client"
-HOMEPAGE="https://github.com/sibson/vncdotool"
-SRC_URI="https://github.com/sibson/vncdotool/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-# A lot of errors such as the following appear
-# pexpect.exceptions.ExceptionPexpect: The command was not found or was not executable: vncev.
-# to install those, a manual compile and install of examples from net-libs/libvncserver is needed
-RESTRICT="test"
-
-BDEPEND="test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pexpect[${PYTHON_USEDEP}]
- dev-python/pluggy[${PYTHON_USEDEP}]
- dev-python/ptyprocess[${PYTHON_USEDEP}]
- dev-python/py[${PYTHON_USEDEP}]
- dev-python/tox[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
-)"
-RDEPEND="
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/twisted[${PYTHON_USEDEP}]
- dev-python/zope-interface[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs
diff --git a/dev-python/vncdotool/vncdotool-1.0.0-r1.ebuild b/dev-python/vncdotool/vncdotool-1.0.0-r1.ebuild
deleted file mode 100644
index 442bf83a24ba..000000000000
--- a/dev-python/vncdotool/vncdotool-1.0.0-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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="Command line VNC client"
-HOMEPAGE="https://github.com/sibson/vncdotool"
-SRC_URI="https://github.com/sibson/vncdotool/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
-
-# A lot of errors such as the following appear
-# pexpect.exceptions.ExceptionPexpect: The command was not found or was not executable: vncev.
-# to install those, a manual compile and install of examples from net-libs/libvncserver is needed
-RESTRICT="test"
-
-BDEPEND="test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pexpect[${PYTHON_USEDEP}]
- dev-python/pluggy[${PYTHON_USEDEP}]
- dev-python/ptyprocess[${PYTHON_USEDEP}]
- dev-python/py[${PYTHON_USEDEP}]
- dev-python/tox[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
-)"
-RDEPEND="
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/twisted[${PYTHON_USEDEP}]
- dev-python/zope-interface[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs
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 3ba56d48f2fc..000000000000
--- a/dev-python/vobject/vobject-0.9.6.1-r3.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} )
-inherit distutils-r1
-
-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"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-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..04d66ed6ef26
--- /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..12} )
+
+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 6a59900e76b6..1cb8ee2a1c00 100644
--- a/dev-python/voluptuous/Manifest
+++ b/dev-python/voluptuous/Manifest
@@ -1 +1 @@
-DIST voluptuous-0.13.1.gh.tar.gz 42466 BLAKE2B ee66abe131d5ed6f49fb6ecc0227c6108617cadc694132826c88abf33b83538db1c97d38451983d2fb1191d5e7066491194fb01399e920b21a9e75d54df2d3fa SHA512 874960bdd3fce213e46f8017fbc56ede02133de6f8cb439d810db38ca06d9c5fcf5496150ef4c73fd19d9e06489ba08a510fd96aa16b8825564a52fd01cc3f4f
+DIST voluptuous-0.14.2.gh.tar.gz 43866 BLAKE2B 9c76f7271afe6f2c7150efed3be7b30127ad8096f21aecadd864766f593a5ab7a64f2b2dc65e2b233ca3fcf32c941cfeb1a96ba1a30f5727ad36ba09db3dafb8 SHA512 18a52c3d1feba1efda0cc91407b21938a7261ae9e7768e62ddc553c0cb9bf8ffa6448b39c476bc94a1aefb8f75b724da5ee2ffc8b6a729cb23accead7db40814
diff --git a/dev-python/voluptuous/files/voluptuous-0.11.5-fix-doctest.patch b/dev-python/voluptuous/files/voluptuous-0.11.5-fix-doctest.patch
deleted file mode 100644
index bdc8228ff40e..000000000000
--- a/dev-python/voluptuous/files/voluptuous-0.11.5-fix-doctest.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/voluptuous/util.py
-+++ b/voluptuous/util.py
-@@ -87,7 +87,7 @@
- >>> s = Schema(validators.Any(int, SetTo(42)))
- >>> s(2)
- 2
-- >>> s("foo")
-+ >>> s(42)
- 42
- """
-
diff --git a/dev-python/voluptuous/voluptuous-0.13.1-r1.ebuild b/dev-python/voluptuous/voluptuous-0.13.1-r1.ebuild
deleted file mode 100644
index 5bcd8a7da080..000000000000
--- a/dev-python/voluptuous/voluptuous-0.13.1-r1.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="A Python data validation library"
-HOMEPAGE="https://github.com/alecthomas/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"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.11.5-fix-doctest.patch
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/voluptuous/voluptuous-0.14.2.ebuild b/dev-python/voluptuous/voluptuous-0.14.2.ebuild
new file mode 100644
index 000000000000..f50caecb38fd
--- /dev/null
+++ b/dev-python/voluptuous/voluptuous-0.14.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..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/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.4-r1.ebuild b/dev-python/vpython/vpython-7.6.4-r1.ebuild
new file mode 100644
index 000000000000..a27304034dae
--- /dev/null
+++ b/dev-python/vpython/vpython-7.6.4-r1.ebuild
@@ -0,0 +1,31 @@
+# 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="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}]
+"
+
+RESTRICT="test"
+
+distutils_enable_tests pytest
diff --git a/dev-python/vpython/vpython-7.6.4.ebuild b/dev-python/vpython/vpython-7.6.4.ebuild
deleted file mode 100644
index d97374e3ac22..000000000000
--- a/dev-python/vpython/vpython-7.6.4.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_{9..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="VPython for Jupyter notebook"
-HOMEPAGE="https://www.vpython.org/ https://pypi.org/project/vpython/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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}]
-"
-
-RESTRICT="test"
-
-distutils_enable_tests pytest
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 5737d63b582b..000000000000
--- a/dev-python/waitress/waitress-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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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
-
-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..db0beaff71a3
--- /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..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/wand/Manifest b/dev-python/wand/Manifest
index 4ed009b89441..3b382724144c 100644
--- a/dev-python/wand/Manifest
+++ b/dev-python/wand/Manifest
@@ -1 +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 13b137e5a7a5..000000000000
--- a/dev-python/wand/wand-0.6.11.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${P^}
-DESCRIPTION="Ctypes-based simple ImageMagick binding for Python"
-HOMEPAGE="
- https://docs.wand-py.org/
- https://github.com/emcconville/wand/
- https://pypi.org/project/Wand/
-"
-SRC_URI="mirror://pypi/${MY_P::1}/${PN^}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-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
new file mode 100644
index 000000000000..c3f0ea330f3e
--- /dev/null
+++ b/dev-python/wand/wand-0.6.13.ebuild
@@ -0,0 +1,39 @@
+# 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="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]
+ )
+"
+
+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/warlock/warlock-2.0.1.ebuild b/dev-python/warlock/warlock-2.0.1.ebuild
index f5c89cfad129..ad2d2e78b32f 100644
--- a/dev-python/warlock/warlock-2.0.1.ebuild
+++ b/dev-python/warlock/warlock-2.0.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/watchdog/Manifest b/dev-python/watchdog/Manifest
index ce5f0aafdd14..ba383ae35737 100644
--- a/dev-python/watchdog/Manifest
+++ b/dev-python/watchdog/Manifest
@@ -1,2 +1 @@
-DIST watchdog-2.2.0.gh.tar.gz 101317 BLAKE2B e597b780f26794bfe0462bcb67985d6e38324aac955f8655e657d800039d98473444ff13ea98fbfb6e8a5fd5473c0f3eeda2e542ef030539fc1acc3f86412354 SHA512 95c355da3a97f7eb0ddff02c1801eeafb075aead742d5505254fccef60afd8e5f1ea56760533bb87f520fa60f4f41e4f36c7f02247a170029bace728e83e2780
-DIST watchdog-2.2.1.gh.tar.gz 101485 BLAKE2B 4ec0a2c14d0dcb8d39ed4dea48c1318474768298b4eade4f7c08f811282ffdbf5871c7d55d71681863c38d1f0603c46aaadda73bf38a20ef263fa3b4cf76c354 SHA512 bbd6e3e3fdc7ee5df21b78241922c0050aeb0c01e394fa7d025465f04f3307d190af4cf6e822826975a3b095fb479dfd103be0675f12782e8899f556797baed4
+DIST watchdog-4.0.0.tar.gz 126415 BLAKE2B 59cba81d705031b89b6cd0a92959cd714ec701c4b986446fb7946898b9df1389734bc7eb7521d5af2df5a1a5e31b2f1dc436ca603b8f70313e99ad2abf0e9922 SHA512 ba1beafe292b52b4628eb570b05d816faffe09acd3b63bc50d986cf04f3c7b4fa9c1ebe5c99a10c0723b5604cfdcbd0c09a17507196a32b8fddeeb46faccf4dd
diff --git a/dev-python/watchdog/watchdog-2.2.0.ebuild b/dev-python/watchdog/watchdog-2.2.0.ebuild
deleted file mode 100644
index 667e26c7ae30..000000000000
--- a/dev-python/watchdog/watchdog-2.2.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} pypy3 )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Python API and shell utilities to monitor file system events"
-HOMEPAGE="
- https://github.com/gorakhargosh/watchdog/
- https://pypi.org/project/watchdog/
-"
-SRC_URI="
- https://github.com/gorakhargosh/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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 -i -e '/--cov/d' setup.cfg || die
- default
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # 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-2.2.1.ebuild b/dev-python/watchdog/watchdog-2.2.1.ebuild
deleted file mode 100644
index 10eca6827871..000000000000
--- a/dev-python/watchdog/watchdog-2.2.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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Python API and shell utilities to monitor file system events"
-HOMEPAGE="
- https://github.com/gorakhargosh/watchdog/
- https://pypi.org/project/watchdog/
-"
-SRC_URI="
- https://github.com/gorakhargosh/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-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 -i -e '/--cov/d' setup.cfg || die
- default
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # 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.0.ebuild b/dev-python/watchdog/watchdog-4.0.0.ebuild
new file mode 100644
index 000000000000..8a741c3be6ce
--- /dev/null
+++ b/dev-python/watchdog/watchdog-4.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..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/watchfiles/Manifest b/dev-python/watchfiles/Manifest
index 5f172a8fb1b5..f0575bcf4749 100644
--- a/dev-python/watchfiles/Manifest
+++ b/dev-python/watchfiles/Manifest
@@ -1,52 +1,65 @@
DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST cc-1.0.83.crate 68343 BLAKE2B 33245b33fa845ea2f36da36e3830ec835f937e4319865b357ee9d5ea29a0f9f8392eadb38bf1d95e3c15ed201e561acaa87aedcef744f8db3dabff87a96c7f02 SHA512 742a248c3a7547bb220a0b9c97b67a831fab9b4ac21daa08c85a3966b9fe576088def33e16132fcabec9a2828a6fc437088bb045bfc98b2cea829df6742565a7
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST crossbeam-channel-0.5.4.crate 88237 BLAKE2B ffcab003305b80586a9b61c6309dcf6f4ced483856c4501753cddd23fb0fa9a71b7870b676ccba78119cc29f03974ff4731cef9a92840c0b38ae944f0b3825b5 SHA512 39b17dbaefc15d7faafca4ae6b060665471d384956aca7439fc407ed2632bd458e473efb62b74629b42a5f3d237e13503d2084cac6f6b3f42b9e03aa1fde0982
-DIST crossbeam-utils-0.8.8.crate 39681 BLAKE2B 2b3e64bfcaa044a9351c1cc8e9ea53fd68fd0bb9875ae523e0cd309a85ad23b340267bdb742d363b5d99fc065ed74f6cbb3ad1e33dec7d14d99ec458875e7e10 SHA512 ab960afdb82863160a3fa1c21c64b35b3112725bd72fc8e0724175937f4b23d0628253032229501938cd86a8e406a59c06cb44e8bdf34619de781a84ebb46ea0
-DIST filetime-0.2.16.crate 14502 BLAKE2B c19a6a72ca4f6a34f9de39d9acbae694326a7a8c1a3aed50ca749e09905470a26c5c61986759d9fa83b9740354796d0dd3d3781c1d4c2cf1d8da5cfb630f045f SHA512 4c6277f43b2de6432769353615406af824295742e5604b40c2673acc2010b349fcbba201e7273756857938256f1693a515f3b9145f34405a56cd23af4dd30222
+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 fsevent-sys-4.1.0.crate 4620 BLAKE2B c203c774d5038d4c4abdd7bb9407a6b5f2b203a609bd92a7fde38afaa71248f4610e89c73eaf982a5d76560f9503081b7b10573046b1a91f09de4b642709417a SHA512 e702686629557b879efaccd37b03a7ec515eeea29d8f8ba46f82b8b68ad157ef9d6b188be031f806d8fd27d4e9d2689cdd6bfa14e4ff77493a7d0be3ef1238a7
-DIST indoc-1.0.4.crate 13122 BLAKE2B f7a352bc2d19f3f2d1479b6add45daf841e02bba563ce9af115118b9bacea6bd39ab2a663bc992b2302de73b52bac1024130aab3dcd79c5b4286c93dd7305928 SHA512 b2d90f074f9a34e330d7d6e6313bd569cd857c791b8ff79191a70f19064fa53ea2ede30bbd16587fb438e69ccce4c3e2fbb127610ba8e470daf076d7373f0213
+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 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.5.crate 12654 BLAKE2B d3d420a1fb2928af7e67106caa90b37fc09c5fae52e90df252b1f87bb8495a523ff248005670ad751e5cf4fae7a36923c2e9564ff267370699e07c5d5f97d22d SHA512 fb39f411e8cc40c7ac85dc679394d8fa02978da29666c15a8a303be75ff24c4e228d918ad9314313c8ee94c8b51dc4f8611e6e2706bcb76722ce0f406d5599f9
+DIST kqueue-1.0.7.crate 12554 BLAKE2B 2302bb9a6aae077c1b69e4892614e87fd86187fc4608cea08cd510a46ddc3a06b27027bcf6a865550187c983f3f80a9c7dcd6d8a6ca891e2cb6fb2d1a5d17396 SHA512 03a1eac44bab42b683312c7f541fc235ead3ec89e7e0b6991acff431f85086df9dd8a9ee1b80f784c9c5452d3e497170b734883ed0fd117ef033079d72f6c1c1
DIST kqueue-sys-1.0.3.crate 6673 BLAKE2B 79254d667b4cf1fa556f1773db23b00ac431bdea6c8ecf914e3c0837fe4e25a45c9b6fb76259d628e4c76a20f749df3fc285b54ea63ce3b52d21529358e81c3f SHA512 76023295abaa4415c1d7b37c844432ece522b762f78983cdf58106f65ca553ee96193bd8c93f3fd0af029d266d8414f2ba4d1b8835bcdc180acc7defa6269731
-DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
-DIST libc-0.2.124.crate 577742 BLAKE2B d39356e89647df6a0468c2fe7ec351955afcddd38064fb64215833c716bc16636001b6d377d21cf31b773c3f392d19ec5c665d450e81ce09a55bfd6a080c82ca SHA512 19fed1eeac7ffbbe36ecb5beb3816b5244d3017b72376e84e532f253e07ee7bc310f6f636aed46174653232fcdb532c2506bc070bef31699db20572df0c45de3
-DIST lock_api-0.4.7.crate 25371 BLAKE2B 9ed08433ffa70af60193dcf307287991a3154f0ef16b485f32a6c83e64962661a6e08ef83a6b217d6cbf5bd964c0638d8ed86b290087677c1fb3218321c4bbf8 SHA512 b1a5227fd131edaa70e017f7ddb43af8b4efa58488007b898ca1dfc818a3a441b732b7adbf1270e72a68ee5d2a99a5d48f33b2bca8e2cf78694953d20d27636d
-DIST log-0.4.16.crate 37758 BLAKE2B b9a88c3d75232ba57de8c30d97e6ba056bb1ec128c2c154c52cc8fa47e0617902526fbf1cd526152d79db9236b00c51afca1eef7d9ceaa205177993849d55d4f SHA512 b12dfcd8bec2f44864b8174776d3151ddf1fa1d82bc8a54fb155d5af3b2af959aab4899d72835a3c25cf58d6c41cd7f1b16c2accbdc20a0eba7e8be3d1883ee1
-DIST memoffset-0.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009 SHA512 11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f
-DIST mio-0.8.2.crate 88272 BLAKE2B f704802aeec66cb47a011989709e6c35352b55bc7330dac7631ea144ed71bc86a433ef742207e3e37c47417bcd7ebb505287baebb839294e5833d228a2514c57 SHA512 c82ea0afc0de8acf162188a6131373f3cb3e7f3abb3094dd51fa9094e42a36806954f267840b3fed18c0ac3ee75af0451dfea5509ab65a94dcc93057c7d37393
-DIST miow-0.3.7.crate 24563 BLAKE2B 24375754245e4ac50620a8b6da6b21958914a6af6422a470487841c2524587d596673cc3718a85979ee911f104d71b59b38fbe9db28c1c7e4b702b9373215cb7 SHA512 451073e8913148889493de0373bc0450c8b23e136e151b48b9976292e4e03b7c3f3279ecf49dda5196badfe662a661a998cfa456d2ec340a495d54a4d2382699
-DIST notify-5.0.0.crate 37091 BLAKE2B 37faa3ecd07573731d3672c24f343bab1b7e7748a1f91771628bba5ff67da7eeeaf78036fcf7610fd41e748dc668ba1c42c419119bdacf72ff8398f3f7fefcd4 SHA512 196bdbd6958df56e5d3ffccc3036875c206a57258e18e10dd44091b3a547fb177ed16f6f11e854f01442a043aebdf8bfa5c06ca33ed4ce03a673a536935a973d
-DIST ntapi-0.3.7.crate 126994 BLAKE2B 320b513d86af462c6e4d3349e4edfd28d73ddc8f09264adc24eebbbb79976642a9d530bf9af4e61e0409e35f4164d49f9ec054dee9694cfbcc76b237d6c84104 SHA512 6f5fc3b3629f028e03e878681a5a426945e471578c5dc78e121560887a9af285fe432f7401b19b7422e65c3b762651afb9a57a2f7605884c851ddf41b741585c
-DIST once_cell-1.10.0.crate 30414 BLAKE2B 4161622dc9dab4748a1b96777da263523f23329808506faea7938160f0d5ca07b5edd31f385b14b88dd2fc34c58063df4d40a34a479573750a369512dc956992 SHA512 f6b5ce5e68923296d2041f83ac037f10ad7b9e94fc607c71332e8ee942a02c29534c2073cecdb132c7e1d91428e9d9687fbf05393ca0abbf7e15db50bb3b74ab
-DIST parking_lot-0.12.0.crate 39761 BLAKE2B 227ae508bebea21bd06c7a9c1651879ce3f5cd308019c8733f6b88e75a57b57d19b7bbc5dfed5ef1bff57ec0f116606ab699cfa6017b6e00078e7e4717cd58a6 SHA512 efa1ebe2f3849a9c6ac484c7e1cdd279640539468bd4d4da6c4c97ae34e86fa3a42818ee4839dea512635fbbd836829dbadd81dc05208614c820d1374139673f
-DIST parking_lot_core-0.9.2.crate 32254 BLAKE2B ef53a3e10228569dd38e1c5a8816fadfdf6b02ce01bf8b7099c7e3f1f71b4fb6c4d8ece8e52c9ddfc9a5ece6c273def2d9bf5aad8afd76ebdcea8b1ce08ad7e7 SHA512 0443dcd867d8be6e5d1b6ff0af8e31bde6378789e30865442bb15f48ac955beb847ab5954be4336fa47aadb7478606bd217b745134de50c16486c26e07fb10b5
-DIST proc-macro2-1.0.37.crate 41378 BLAKE2B 330ba71c59bb7a6718fe650fc10a37bc690fb0ba4871c198bded83d13a12cdd7b1334a2e2c8fa7a48104b26625c1b07d65b0ecf91f9c2f13b8e898e80baae286 SHA512 cedb3433c6dfff39b404f8939c67e98303bb89a47e2cfb9659eeda1ca3e3d167800dca482374501632ab6d2283105dbd7560a157b48a351b2d3da059f946be55
-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.18.crate 28911 BLAKE2B 623872402cb185a57e2ffb1bfe4105c49c152c33c44c8054af59df7bb193d14416ea2caa7b28b3f9b9ae6985bec7fc7825bc946e2e41915d2744c887a51559b6 SHA512 3fa537aa96a8970104411471b0e4b7b9339583d552c1d9297737a59ef5301af41da105b92aeace87376e1395e379153f6551bfcfe9c740e6945064426f5f6f84
-DIST redox_syscall-0.2.13.crate 23759 BLAKE2B b59c3e923b7bddc84285377eca86e649c21ee7dd61924245d43c6554124adf689f9b92841ca64876b34797249698511b322f6e8e639d71e45e1ae9da5f8b7834 SHA512 6551f503ba52c4edc0cb4a418ff212188ddc7be80dcb39eaf3bfb82faa9a76cdf359f604d6b32be6c6a335b54180c9399a0e32670333a5a08351957308486100
+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.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.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 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 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.8.0.crate 27992 BLAKE2B d02897eb4d3901805be86cafd5d3dc6768b31c2ee4d0a9d7eb455e2a21be2864ea83589f4ffde102dbbafb66e3c197707af770b5ef184b8e244d992189644b84 SHA512 17687cfa6aaf95a1df063adc3a412a7c41918a0d003eaac90f7d9e859fb8fa1d652eedee17a4cb3aaae9b33a2043f89e796519e3a7a3992b292f04049bf80b0c
-DIST syn-1.0.91.crate 235996 BLAKE2B b7b555b2dbfc837417ed69c358338819500f1e8ba11c2183a4d216efe2c2d7eddd165415516d50ffb5413b97452f186263e13299b01bccd6ad6e405f6d2a3f4f SHA512 28fe28a9d4e9ab3610850c1704be6f384e9fff191b1a5e11f9766bdada81a3e7426cbc776bbd63ea6710320c7416a622506d4a8d607d978af506d381658d4bff
-DIST target-lexicon-0.12.3.crate 22990 BLAKE2B 7ca04aab44917345e51c7212e8f9d24cc0c7b759cba6031313c2a6f5bf4139b34be27e65ad150fd83f14b440a8e4ce125d156634409cbb2ec01cd370b213e738 SHA512 4ba0de71cf27c4ee330c9b61fc0318cfa3e179b57a7b0a79f296e0b33602c664c4ee2a676d09e0e104add2e0b56144cb5ddcc096a16f332f67862ee94b052f86
-DIST unicode-xid-0.2.2.crate 14955 BLAKE2B 6c6da49ac08dbd8b3248272224d6bff96b9cd1f36029b1937a58a0b929c3a48326053305ed49e73edd70f572f5abbc4817cedc899c69e3457805ad056669f6af SHA512 92ffd0dd34e3ca235ecf110b38c447d3ec1faa23d76c112457f28d432f92fa6b5f428bc5e1bfd278f361f55426dd96e19ecb0d3eff6cf250892f069c52bd89a8
-DIST unindent-0.1.8.crate 8326 BLAKE2B 3123c6b540b152d89cc7a9a76ff1315549f973c6a26adc6ca1b40518973fcc95a9f8da94d1c52ee551f2870181a265aac7e4339a3d46ba5280021b49ad842df2 SHA512 7752f4a29306b3c43f768bc400d610d1537457b22cceae8a5ebba31c857e219dc433a10a676d3cf94316a7cd6c7013c8960c825c6f1f9db5a3c2edd0a60591a8
-DIST walkdir-2.3.2.crate 23516 BLAKE2B 473f2b51aafd6ac17e5c3da8d545d179b31486b3a65ab39fbd8bd7fbb2ebcc24bebf01781200a26a68f0b1cb464f5763a919aead3b03eba5a7e1be6efec5500b SHA512 6c44071354faf37720ec4117ded34c8d530489542ee107ac26a7a56ef4a882b9003e22e84f1d61f6078643521343e35aa1f7b57c838779e78e5937a667bf82da
+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 unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
+DIST walkdir-2.3.3.crate 23125 BLAKE2B 3bd354b9796a31bd4c8f4ca695514101a7837ae2134fa1ffec20df1cc946a67b38c6b50affbc2cb79ffee0934474d8269378dab5ac49a4943ccf8c7aaa51db11 SHA512 2b6e1e27c16e310f636eb1c9ee58435509fb8f7a6c5beba4dd13d87aa1d91599a593bfe720a675d536ce63e217c31e240a57122455d8e18de1282a9e7fc3defe
DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
-DIST watchfiles-0.18.1.gh.tar.gz 43837 BLAKE2B 74decdf9ee1b99d93a7b0301b0dcb4a522a32577160c48b8690d0d0d713bd04ff91cd9e5d18d43d4eec348640c70fd3b5f458bfe322354852a5b5791e3747d77 SHA512 6d2b164475357d98b3531dfa18e50c86120b5339f17786a9b99ed97cb4dfb87c6a4183c5978fc2044a987ffaeeb4218ba46fe25b24a6e3e661a11e39c9eb211f
+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.34.0.crate 3369228 BLAKE2B 301f89dd2cc7e60980269deeb7f328d8895c80acad9f0056b3c510e339c7eb6963a152d7dd2c69380c802b17a630cd6df269399f18c298aefd8e9cc53e19042b SHA512 e12b2ddac3e1b841630639c6896f1389e6bb69c33da278e6499e0d31fde5d5b197ac636f430a52ccea6c3bc622e4410618d13819ba4d4c272ef2ea599be356d8
-DIST windows_aarch64_msvc-0.34.0.crate 674445 BLAKE2B cba324bb4fdcde12f4d89384450c5adfbd6f728ac47bd162b33a12c5adf0654c8374d4b0f1e9347d48d2e7d014f701fe85763709824f75df21b42d01341b53a2 SHA512 974c6f3c4bdbd217d9deac7e973b00c115e8b9b831f8b9d933455b11b8b6eb59782f7c7a06c9a4d81fdd41729858e303051eb0d56b971fea1025e86d2b702710
-DIST windows_i686_gnu-0.34.0.crate 772343 BLAKE2B 7c3fb8d9b375ea82ab3e28da0c462c912a5286236a6bb8bb3c5eb68013d527dde064c368e1d452e73e26efcb1b832933b2891c2255673824c27045be9edd954d SHA512 e388b214d45ec14182af4c72e7b27f22dc7ac17725ce833e05cef9770b677dc929a20ffc1c28f604d5c8100f68d7bf4427feb2aeaf6edb776dc5bc1b505a94fd
-DIST windows_i686_msvc-0.34.0.crate 733497 BLAKE2B fe7588e946d95c1570ea0d90db82dfdb8a050ca331dc3edae6a786c2a10fad88ae99906959334b396c1972d88dc40010dacf655fbf9f5d39a6bd78bacf2025bd SHA512 86771e1fed40e7398d3ce65bee46fcbfeb630e0f77766eeb1da0e5b2c47f94bd728f645a5c799ea8f7ef6653b37903d476b5b3eb763218bf10dd7af6b31c76dd
-DIST windows_x86_64_gnu-0.34.0.crate 744301 BLAKE2B fb0775c40069aa42fcabd01ff09fc7557236e3cd270c771b3648d7f556e9aeb9add7130b117fb107f3562bc199b728d3636779a99c9a1aad96aaf6b99f975f3e SHA512 61f532c2c95edf42f79ced48be9d4a9810dda327f45ff2dbff19a5fb888e3ba206f2b875c5b5571884f27742fb380d5f1e105e6d5fa460a2e529b53625123d86
-DIST windows_x86_64_msvc-0.34.0.crate 669900 BLAKE2B 15a851bb19557ee896ade2db29872754549e4df9cf895a1387d9ddfbf8c599e6e5a2bcb835f450d8218296a99d08fbfb2db469e244b0abdaa13f16bcc38b35a9 SHA512 3bf5308993a259f5d1b3964698550151c5819a0d28a02928c6f7d70443be69131255a896d423f086a298842ba773502de8a8e8bb2ce8adbf7bf848ab40184bec
+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
diff --git a/dev-python/watchfiles/watchfiles-0.18.1.ebuild b/dev-python/watchfiles/watchfiles-0.18.1.ebuild
deleted file mode 100644
index 0051cd21cf1e..000000000000
--- a/dev-python/watchfiles/watchfiles-0.18.1.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-CRATES="
- autocfg-1.1.0
- bitflags-1.3.2
- cfg-if-1.0.0
- crossbeam-channel-0.5.4
- crossbeam-utils-0.8.8
- filetime-0.2.16
- fsevent-sys-4.1.0
- indoc-1.0.4
- inotify-0.9.6
- inotify-sys-0.1.5
- kqueue-1.0.5
- kqueue-sys-1.0.3
- lazy_static-1.4.0
- libc-0.2.124
- lock_api-0.4.7
- log-0.4.16
- memoffset-0.6.5
- mio-0.8.2
- miow-0.3.7
- notify-5.0.0
- ntapi-0.3.7
- once_cell-1.10.0
- parking_lot-0.12.0
- parking_lot_core-0.9.2
- proc-macro2-1.0.37
- pyo3-0.17.3
- pyo3-build-config-0.17.3
- pyo3-ffi-0.17.3
- pyo3-macros-0.17.3
- pyo3-macros-backend-0.17.3
- quote-1.0.18
- redox_syscall-0.2.13
- same-file-1.0.6
- scopeguard-1.1.0
- smallvec-1.8.0
- syn-1.0.91
- target-lexicon-0.12.3
- unicode-xid-0.2.2
- unindent-0.1.8
- walkdir-2.3.2
- wasi-0.11.0+wasi-snapshot-preview1
- winapi-0.3.9
- winapi-i686-pc-windows-gnu-0.4.0
- winapi-util-0.1.5
- winapi-x86_64-pc-windows-gnu-0.4.0
- windows-sys-0.34.0
- windows_aarch64_msvc-0.34.0
- windows_i686_gnu-0.34.0
- windows_i686_msvc-0.34.0
- windows_x86_64_gnu-0.34.0
- windows_x86_64_msvc-0.34.0
-"
-
-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 ${CRATES})
-"
-
-LICENSE="MIT"
-# crates
-LICENSE+=" Apache-2.0 Apache-2.0-with-LLVM-exceptions Artistic-2"
-LICENSE+=" CC0-1.0 ISC MIT Unlicense"
-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-r1.ebuild b/dev-python/watchfiles/watchfiles-0.20.0-r1.ebuild
new file mode 100644
index 000000000000..3a6bd618da05
--- /dev/null
+++ b/dev-python/watchfiles/watchfiles-0.20.0-r1.ebuild
@@ -0,0 +1,120 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{10..12} 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-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
+}
+
+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/watchfiles/watchfiles-0.21.0-r1.ebuild b/dev-python/watchfiles/watchfiles-0.21.0-r1.ebuild
new file mode 100644
index 000000000000..be9a6d699ce6
--- /dev/null
+++ b/dev-python/watchfiles/watchfiles-0.21.0-r1.ebuild
@@ -0,0 +1,123 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{10..12} 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-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
+}
+
+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 fdad5c27ed0a..cad974f62ad9 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
@@ -4,7 +4,7 @@
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/wcmatch/Manifest b/dev-python/wcmatch/Manifest
index c9f68c43a050..9e1a9ccab3ab 100644
--- a/dev-python/wcmatch/Manifest
+++ b/dev-python/wcmatch/Manifest
@@ -1 +1 @@
-DIST wcmatch-8.4.1.gh.tar.gz 117065 BLAKE2B 6528170503507aa9742a0e0878f7cfe2586408471acde82ffbf1011fbf48cbed6a45d580436cb6a63a54a81d1c237544a48112eb4c06f923752eb09521d7f8a5 SHA512 6bc8d59b678a40e28eee7816f3b447fe3396f52e982df8e0b5e26472b4ffd1342f58edc41850386954783e6d07f1d66d9372cc1495f048b9a542b572b1d8e20f
+DIST wcmatch-8.5.1.gh.tar.gz 117483 BLAKE2B db4d77651ab4fc6692c746d94dda68dc0fcdfe72a6e3b512b4f60a1bd5bf7015e21349d022c6ec17ea2bbc55ae87cf6c9a3690d9b6774f02a167b4b0ad65b691 SHA512 10ab7d76ad7c71efb2639e2d439593a45339f485f1f628770ae845c291c34d0e3fc8a9b75b6ce6d3c131c1f0a521f3aafcadc7d24ffad5284e9db06dc5838974
diff --git a/dev-python/wcmatch/metadata.xml b/dev-python/wcmatch/metadata.xml
index 04bf616e8e5b..deb9424be8ae 100644
--- a/dev-python/wcmatch/metadata.xml
+++ b/dev-python/wcmatch/metadata.xml
@@ -1,18 +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="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>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/wcmatch/wcmatch-8.4.1.ebuild b/dev-python/wcmatch/wcmatch-8.4.1.ebuild
deleted file mode 100644
index dac0ffc31d87..000000000000
--- a/dev-python/wcmatch/wcmatch-8.4.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-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 ~ppc ~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.1.ebuild b/dev-python/wcmatch/wcmatch-8.5.1.ebuild
new file mode 100644
index 000000000000..a1e9df7b7e6a
--- /dev/null
+++ b/dev-python/wcmatch/wcmatch-8.5.1.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..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 0b1b5b13deb5..1556339e9ca4 100644
--- a/dev-python/wcwidth/Manifest
+++ b/dev-python/wcwidth/Manifest
@@ -1,2 +1 @@
-DIST wcwidth-0.2.5.gh.tar.gz 47514 BLAKE2B 0ac5fb08283c23039453408da2edac36e2079fde8fc903002785e2e0f8bed55d1d6a291181097f73e4ec8152b6eaa4f4553b0b39fe1cadc7a99bacb2d7e55d2c SHA512 3f1f1fefd3ee9f06ea2051842e8c3bb09a92501f031124b8514bec444eaa8594ab9649534b4264340d475716d5a6571dbe5ae932f685160defd75c19295e60f9
-DIST wcwidth-0.2.6.gh.tar.gz 51990 BLAKE2B 8561e06aaf92f48246bacfb4012358067d81d4d9eeb33a0406eb012b5c22841ac66ff5760df2d5ea6a5d48a1880b4b9cbbcddf7a5eba5f663f6a559005f657ad SHA512 1f97cb6ef6a804da1d062b8dafb146a3e21261e63a644bad88bed74101be1371c753c2645db5ad25868fe9641fce9b13bd5dc920496b00e1d73d406f69631ac9
+DIST wcwidth-0.2.13.tar.gz 101301 BLAKE2B 33637e5582cff1bbc0f11c044d390dc18b635af923c7c89c79c07f20bafb44434ad79801b19d89c9e15b8bee79b52f5652ea3987e5578520aedfbb03f20fd6cb SHA512 1eadda149936cf2eefe5d09c411774dc87c8a358f2dd92d74f427d7b47f07c05557e849c46122d44788c2bd7c97eb85fc5f902d9a158d68ab9e352c5185ba2d5
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..838e77c1a580
--- /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..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.5-r1.ebuild b/dev-python/wcwidth/wcwidth-0.2.5-r1.ebuild
deleted file mode 100644
index 307b4f39f405..000000000000
--- a/dev-python/wcwidth/wcwidth-0.2.5-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=7
-
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Measures number of Terminal column cells of wide-character codes"
-HOMEPAGE="https://pypi.org/project/wcwidth/ https://github.com/jquast/wcwidth"
-SRC_URI="
- https://github.com/jquast/wcwidth/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e 's:--cov-append::' \
- -e 's:--cov-report=html::' \
- -e 's:--cov=wcwidth::' \
- -i tox.ini || die
- sed -i -e 's:test_package_version:_&:' tests/test_core.py || die
-
- # causes pytest to fail, bug 775077
- sed -i '/^looponfailroots =/d' tox.ini || die
- distutils-r1_src_prepare
-}
-
-python_install_all() {
- docinto docs
- dodoc docs/intro.rst
- distutils-r1_python_install_all
-}
diff --git a/dev-python/wcwidth/wcwidth-0.2.6.ebuild b/dev-python/wcwidth/wcwidth-0.2.6.ebuild
deleted file mode 100644
index a442e366ff6d..000000000000
--- a/dev-python/wcwidth/wcwidth-0.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Measures number of Terminal column cells of wide-character codes"
-HOMEPAGE="
- https://pypi.org/project/wcwidth/
- https://github.com/jquast/wcwidth/
-"
-SRC_URI="
- https://github.com/jquast/wcwidth/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e 's:--cov-append::' \
- -e 's:--cov-report=html::' \
- -e 's:--cov=wcwidth::' \
- -i tox.ini || die
- distutils-r1_src_prepare
-}
-
-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 53e981d36eb2..0f589282331a 100644
--- a/dev-python/weasyprint/Manifest
+++ b/dev-python/weasyprint/Manifest
@@ -1,2 +1 @@
-DIST weasyprint-57.1.tar.gz 429652 BLAKE2B c94cc05f6c3b831d3214d7476e3fa799ff62d8fb575044a6f11172e650a87b1277e21fef40577bb01a1a778982a98e1a57801de708b3a3a26520b50aae8b43ac SHA512 0a130fba07d1d73eb4e9dcda27ab51ede45c440717f6fedb8d6aac09283244c366d36d85c2dac85995fbaebac21cf880a0cb684baaff3788af3eb6b4931c014b
-DIST weasyprint-57.2.tar.gz 429120 BLAKE2B c97ba3fb3eec431a7de9a1a8a440290005de11b11d4abac4dd993a7d2fc4c14e64bdf13b8f8c12d4ba4f94b2049e0b05c3fb950c8b204f446323038c9c471451 SHA512 11b9469d37820439b1d0dad0117dd1c9649011c71aabb0e27008b303e5c851215ce9f0b271da9a74d614e54cb23f9c6036b6e094016b5688f6b700fb7444338f
+DIST weasyprint-61.2.tar.gz 447333 BLAKE2B 753f80ee0756e75b46023d29b8409599de9ff9f7f338a7800cf917a012f61c6a50857af813e4cbfe1ddfa913f95befc43719688468449d6f1b8d8df3714a7895 SHA512 62c3afba18bcc141bc013b95848b0e2426160123533509b6e353caa6c33173266524be84b0a50443ac2549b1b8013e5eb915f54a68168d65e98c9251c4fdf339
diff --git a/dev-python/weasyprint/weasyprint-57.1-r1.ebuild b/dev-python/weasyprint/weasyprint-57.1-r1.ebuild
deleted file mode 100644
index df8f1a72c91c..000000000000
--- a/dev-python/weasyprint/weasyprint-57.1-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=flit
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-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.5.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
- <app-text/ghostscript-gpl-9.56.0
- )
- media-fonts/ahem
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/weasyprint/weasyprint-57.2-r1.ebuild b/dev-python/weasyprint/weasyprint-57.2-r1.ebuild
deleted file mode 100644
index c9362f1c7799..000000000000
--- a/dev-python/weasyprint/weasyprint-57.2-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=flit
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-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/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-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.5.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
- <app-text/ghostscript-gpl-9.56.0
- )
- media-fonts/ahem
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/weasyprint/weasyprint-61.2.ebuild b/dev-python/weasyprint/weasyprint-61.2.ebuild
new file mode 100644
index 000000000000..77c5f6d2e533
--- /dev/null
+++ b/dev-python/weasyprint/weasyprint-61.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=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
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/webcolors/Manifest b/dev-python/webcolors/Manifest
index fc62becea18a..bf57bd53a654 100644
--- a/dev-python/webcolors/Manifest
+++ b/dev-python/webcolors/Manifest
@@ -1 +1 @@
-DIST webcolors-1.12.tar.gz 38112 BLAKE2B f229ec69c91ae83bd36194bc85a03e34d1ceedfd98ffd8b5e3583956283297bb9c91f947646d67cf107bcddc6c6c0d655779672fca22c0e4d8452007c8dbff30 SHA512 2c1e46ba2036ff960a973b9f5b4cec06241e9385fa0de876f66a6cf742d5b11bc212fce262011968a612c1446b78a6f50b3e75d04584c3b2b47f3ac3d66fdd51
+DIST webcolors-1.13.tar.gz 41152 BLAKE2B 0a510a7fe10db42af226da465437017b36ffe11382d31b588ee1c53c5d810b9b1bc95c5f8ccaa4a351956368fe7ee74fbac68c880927a83c1d9155937e0c198d SHA512 074aaf135ac6b0025b88b731d1d6dfa4c539b4fff7195658cc58a4326bb9f0449a231685d312b4a1ec48ca535a838bfa5c680787fe0e61473a2a092c448937d0
diff --git a/dev-python/webcolors/webcolors-1.12.ebuild b/dev-python/webcolors/webcolors-1.12.ebuild
deleted file mode 100644
index c658fccb6db6..000000000000
--- a/dev-python/webcolors/webcolors-1.12.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Color names and value formats defined by the HTML and CSS specifications"
-HOMEPAGE="
- https://github.com/ubernostrum/webcolors/
- https://pypi.org/project/webcolors/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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"
-
-distutils_enable_tests unittest
diff --git a/dev-python/webcolors/webcolors-1.13.ebuild b/dev-python/webcolors/webcolors-1.13.ebuild
new file mode 100644
index 000000000000..91aca93b3c1d
--- /dev/null
+++ b/dev-python/webcolors/webcolors-1.13.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 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/webencodings/webencodings-0.5.1-r2.ebuild b/dev-python/webencodings/webencodings-0.5.1-r2.ebuild
index efe1f6211621..4f1fd148ae77 100644
--- a/dev-python/webencodings/webencodings-0.5.1-r2.ebuild
+++ b/dev-python/webencodings/webencodings-0.5.1-r2.ebuild
@@ -4,16 +4,15 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Character encoding aliases for legacy web content"
HOMEPAGE="
https://github.com/gsnedders/python-webencodings/
https://pypi.org/project/webencodings/
"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/webob/webob-1.8.7-r1.ebuild b/dev-python/webob/webob-1.8.7-r1.ebuild
index 0272d56dd282..f85e17ace805 100644
--- a/dev-python/webob/webob-1.8.7-r1.ebuild
+++ b/dev-python/webob/webob-1.8.7-r1.ebuild
@@ -4,12 +4,11 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYPI_NO_NORMALIZE=1
+PYPI_PN="WebOb"
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
-
-MY_PN=WebOb
-MY_P=${MY_PN}-${PV}
+inherit distutils-r1 pypi
DESCRIPTION="WSGI request and response object"
HOMEPAGE="
@@ -17,8 +16,6 @@ HOMEPAGE="
https://github.com/Pylons/webob/
https://pypi.org/project/WebOb/
"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/websocket-client/Manifest b/dev-python/websocket-client/Manifest
index b64b6d90876c..f56eca8485e1 100644
--- a/dev-python/websocket-client/Manifest
+++ b/dev-python/websocket-client/Manifest
@@ -1,2 +1 @@
-DIST websocket-client-1.4.2.tar.gz 49113 BLAKE2B d1d25d7066512ae5a8fa189b22ad320331b3d34e6ae953a29b7b5644065a9d60ffd6743bae6e769f356b7294374690fba103ee42ed59f5f9b213dfeda7f038af SHA512 4003a6b387096a738e9b9f76129b954bbc208b8b75c6ba9d6f0dade82078645109f985164ce25c1a600e630833f7187d51d6236997d6c72315d206e91f1aae7a
-DIST websocket-client-1.5.0.tar.gz 49931 BLAKE2B 03911ba7c147e19dab2fe3198ead34f1dc7d7ac970f33d20cb1eaa9ade0924be873c8ccc585326a8feb9ccf86443b1f5ee1482191cb14a50dddae5b5275b1f9e SHA512 678ab14a8c036e341134e6ae19d422a8888e64ec781983c2eff9d7897298a3b1899b65813351bb566319c931918c034cf0a730aa07c06e48ebac3ddb409a8dee
+DIST websocket-client-1.7.0.tar.gz 54037 BLAKE2B 6a37b17c0a428dfacfd441384469954bc30f5ca5cf8380c08b45337ebdd69999cbd14eb0f0cde3c33d2f5c2698dac9a34eb51430bb810ab6edf8130415e98a4b SHA512 1f6b3253f7febd053e1271bcacd71701ec27d6921ba9791b16a203c8b7240925284e033dba4ad5d4c56a88568dc57ecb760c254964bc3bb4e87df52573239a9a
diff --git a/dev-python/websocket-client/websocket-client-1.4.2.ebuild b/dev-python/websocket-client/websocket-client-1.4.2.ebuild
deleted file mode 100644
index d98896f264c6..000000000000
--- a/dev-python/websocket-client/websocket-client-1.4.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="WebSocket client for python with hybi13 support"
-HOMEPAGE="
- https://github.com/websocket-client/websocket-client/
- https://pypi.org/project/websocket-client/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.5.0.ebuild b/dev-python/websocket-client/websocket-client-1.5.0.ebuild
deleted file mode 100644
index 4e70f6ad65d9..000000000000
--- a/dev-python/websocket-client/websocket-client-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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="WebSocket client for python with hybi13 support"
-HOMEPAGE="
- https://github.com/websocket-client/websocket-client/
- https://pypi.org/project/websocket-client/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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.7.0.ebuild b/dev-python/websocket-client/websocket-client-1.7.0.ebuild
new file mode 100644
index 000000000000..596f7a2a7b64
--- /dev/null
+++ b/dev-python/websocket-client/websocket-client-1.7.0.ebuild
@@ -0,0 +1,37 @@
+# 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/websockets/Manifest b/dev-python/websockets/Manifest
index 84510f4c51eb..0583165f45d3 100644
--- a/dev-python/websockets/Manifest
+++ b/dev-python/websockets/Manifest
@@ -1 +1,2 @@
-DIST websockets-10.4.gh.tar.gz 309611 BLAKE2B f3a739368ff9d78fef79324af59d1e77b3fb654b8b1a847373a29f19b11ae9266b9a938d235ee27d12b59d9b4cf29825fc7298ff2f35e5b260df2c7a41a1bd78 SHA512 087b1920ff26e21b8d3b80b53249d44b841fc45a4992df1ad725112404f724a41aaa2d759a2bd521dfe337459f8bf0d2ae048c423489f527c68f6825f928b582
+DIST websockets-11.0.3-python3.12.patch.xz 4328 BLAKE2B 6ef94255ef5d95de8015eca14a5110373ab9ffadf4d1c86a892da1aac46caa2755cafeb643a222000a03262c1b1b1aea58132daff36981c00dbb68ce05484058 SHA512 421a6fb5a2a801850ea1fbaf890c11eac0f55ad288185f16f4244f316132591bc5a814636141ba3ada67aeff340f41de61d06c8db87010c858c1b0b02fd9b5ab
+DIST websockets-12.0.gh.tar.gz 352120 BLAKE2B cab704e0ee44a7012ee58d515a5ea7380a97a3cbb8f55d105c00c8c2b9ed992b4c87435875474de32e5969fd92256bdec830db0571399a1d2e5fb719b23c2d83 SHA512 f17943d444ce275b709cf89453b2d2cce09f5af26f0460e226c2e24cfbb425c825963352e130dcd4201587606355375b525d8e5a02eccbffbb3985a108a3ed5e
diff --git a/dev-python/websockets/metadata.xml b/dev-python/websockets/metadata.xml
index b162fa66f853..15cd4b0338d9 100644
--- a/dev-python/websockets/metadata.xml
+++ b/dev-python/websockets/metadata.xml
@@ -10,7 +10,10 @@
<name>Python</name>
</maintainer>
<upstream>
- <remote-id type="github">aaugustin/websockets</remote-id>
+ <remote-id type="github">python-websockets/websockets</remote-id>
<remote-id type="pypi">websockets</remote-id>
</upstream>
+ <use>
+ <flag name="native-extensions">Compiles native C extensions</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-python/websockets/websockets-10.4.ebuild b/dev-python/websockets/websockets-10.4.ebuild
deleted file mode 100644
index 34aa7d690013..000000000000
--- a/dev-python/websockets/websockets-10.4.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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Library for building WebSocket servers and clients in Python"
-HOMEPAGE="
- https://websockets.readthedocs.io/
- https://github.com/aaugustin/websockets/
- https://pypi.org/project/websockets/
-"
-SRC_URI="
- https://github.com/aaugustin/websockets/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # very fragile to speed
- tests/legacy/test_protocol.py::ServerTests::test_local_close_receive_close_frame_timeout
- )
-
- epytest tests
-}
diff --git a/dev-python/websockets/websockets-12.0.ebuild b/dev-python/websockets/websockets-12.0.ebuild
new file mode 100644
index 000000000000..3d805c69fd53
--- /dev/null
+++ b/dev-python/websockets/websockets-12.0.ebuild
@@ -0,0 +1,57 @@
+# 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="Library for building WebSocket servers and clients in Python"
+HOMEPAGE="
+ https://websockets.readthedocs.io/
+ https://github.com/python-websockets/websockets/
+ https://pypi.org/project/websockets/
+"
+# tests are missing pypi sdist, as of 11.0
+SRC_URI="
+ https://github.com/python-websockets/websockets/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-11.0.3-python3.12.patch.xz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ if use native-extensions && [[ ${EPYTHON} != pypy3 ]] ; then
+ local -x BUILD_EXTENSION=yes
+ else
+ local -x BUILD_EXTENSION=no
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires DNS access
+ # https://bugs.gentoo.org/909567
+ tests/legacy/test_client_server.py::ClientServerTests::test_explicit_host_port
+ tests/legacy/test_client_server.py::SecureClientServerTests::test_explicit_host_port
+ )
+
+ epytest tests --reruns=10 --reruns-delay=2
+}
diff --git a/dev-python/websockify/Manifest b/dev-python/websockify/Manifest
index 4d6225762a72..e92af3c83f31 100644
--- a/dev-python/websockify/Manifest
+++ b/dev-python/websockify/Manifest
@@ -1 +1 @@
-DIST websockify-0.10.0.gh.tar.gz 53402 BLAKE2B e909dc316d6dd0ee03ee23b07ca2d78cc60994a8f361b3968759c382c704637357848e903fb12af002b5d5b2bec957f9a4c2b0ddb0e6d008ff9b4a462f3e8871 SHA512 262071f4858e5e3b6471c6f3731d8715c5c13fcc5f43738a330323958a8f0cbe7797847bdc676f1c6c34055c6f8afb949d005a5607d6b220b893910ff973ddc5
+DIST websockify-0.11.0.gh.tar.gz 55126 BLAKE2B df49e8025ea0341b7f8d329a3b3dcddc08df3d0b42bbcb33d25726df8fee1f0a8791d552c9019a3ae514549619a0f3cc9c7861ff4f30017f27498f7465fd5d11 SHA512 cbae6abdee3c9ba6e78c2245fa7ebc4bd6aa96a534b8577da1ae9acd316dd146cece6ceb6f6cdca9c1ddcb3cbaff69e0fc3c3d6048b9374b0937abb91843bf72
diff --git a/dev-python/websockify/files/websockify-0.10.0-fix-jwcrypto-1.3.patch b/dev-python/websockify/files/websockify-0.10.0-fix-jwcrypto-1.3.patch
deleted file mode 100644
index 9da2cfe093dc..000000000000
--- a/dev-python/websockify/files/websockify-0.10.0-fix-jwcrypto-1.3.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From 0f175003480b666fba78a5eda8dbc1dee07917dd Mon Sep 17 00:00:00 2001
-From: Javier Cacheiro <javier.cacheiro.lopez@cesga.es>
-Date: Wed, 25 May 2022 12:40:29 +0200
-Subject: [PATCH] Support for jwcrypto>=1.3
-
----
- tests/test_token_plugins.py | 20 ++++++++++----------
- websockify/token_plugins.py | 4 ++--
- 2 files changed, 12 insertions(+), 12 deletions(-)
-
-diff --git a/tests/test_token_plugins.py b/tests/test_token_plugins.py
-index 00078c7..3e1fd19 100644
---- a/tests/test_token_plugins.py
-+++ b/tests/test_token_plugins.py
-@@ -4,7 +4,7 @@
-
- import unittest
- from unittest.mock import patch, mock_open, MagicMock
--from jwcrypto import jwt
-+from jwcrypto import jwt, jwk
-
- from websockify.token_plugins import ReadOnlyTokenFile, JWTTokenApi, TokenRedis
-
-@@ -56,7 +56,7 @@ class JWSTokenTestCase(unittest.TestCase):
- def test_asymmetric_jws_token_plugin(self):
- plugin = JWTTokenApi("./tests/fixtures/public.pem")
-
-- key = jwt.JWK()
-+ key = jwk.JWK()
- private_key = open("./tests/fixtures/private.pem", "rb").read()
- key.import_from_pem(private_key)
- jwt_token = jwt.JWT({"alg": "RS256"}, {'host': "remote_host", 'port': "remote_port"})
-@@ -71,7 +71,7 @@ def test_asymmetric_jws_token_plugin(self):
- def test_asymmetric_jws_token_plugin_with_illigal_key_exception(self):
- plugin = JWTTokenApi("wrong.pub")
-
-- key = jwt.JWK()
-+ key = jwk.JWK()
- private_key = open("./tests/fixtures/private.pem", "rb").read()
- key.import_from_pem(private_key)
- jwt_token = jwt.JWT({"alg": "RS256"}, {'host': "remote_host", 'port': "remote_port"})
-@@ -85,7 +85,7 @@ def test_asymmetric_jws_token_plugin_with_illigal_key_exception(self):
- def test_jwt_valid_time(self, mock_time):
- plugin = JWTTokenApi("./tests/fixtures/public.pem")
-
-- key = jwt.JWK()
-+ key = jwk.JWK()
- private_key = open("./tests/fixtures/private.pem", "rb").read()
- key.import_from_pem(private_key)
- jwt_token = jwt.JWT({"alg": "RS256"}, {'host': "remote_host", 'port': "remote_port", 'nbf': 100, 'exp': 200 })
-@@ -102,7 +102,7 @@ def test_jwt_valid_time(self, mock_time):
- def test_jwt_early_time(self, mock_time):
- plugin = JWTTokenApi("./tests/fixtures/public.pem")
-
-- key = jwt.JWK()
-+ key = jwk.JWK()
- private_key = open("./tests/fixtures/private.pem", "rb").read()
- key.import_from_pem(private_key)
- jwt_token = jwt.JWT({"alg": "RS256"}, {'host': "remote_host", 'port': "remote_port", 'nbf': 100, 'exp': 200 })
-@@ -117,7 +117,7 @@ def test_jwt_early_time(self, mock_time):
- def test_jwt_late_time(self, mock_time):
- plugin = JWTTokenApi("./tests/fixtures/public.pem")
-
-- key = jwt.JWK()
-+ key = jwk.JWK()
- private_key = open("./tests/fixtures/private.pem", "rb").read()
- key.import_from_pem(private_key)
- jwt_token = jwt.JWT({"alg": "RS256"}, {'host': "remote_host", 'port': "remote_port", 'nbf': 100, 'exp': 200 })
-@@ -132,7 +132,7 @@ def test_symmetric_jws_token_plugin(self):
- plugin = JWTTokenApi("./tests/fixtures/symmetric.key")
-
- secret = open("./tests/fixtures/symmetric.key").read()
-- key = jwt.JWK()
-+ key = jwk.JWK()
- key.import_key(kty="oct",k=secret)
- jwt_token = jwt.JWT({"alg": "HS256"}, {'host': "remote_host", 'port': "remote_port"})
- jwt_token.make_signed_token(key)
-@@ -147,7 +147,7 @@ def test_symmetric_jws_token_plugin_with_illigal_key_exception(self):
- plugin = JWTTokenApi("wrong_sauce")
-
- secret = open("./tests/fixtures/symmetric.key").read()
-- key = jwt.JWK()
-+ key = jwk.JWK()
- key.import_key(kty="oct",k=secret)
- jwt_token = jwt.JWT({"alg": "HS256"}, {'host': "remote_host", 'port': "remote_port"})
- jwt_token.make_signed_token(key)
-@@ -159,8 +159,8 @@ def test_symmetric_jws_token_plugin_with_illigal_key_exception(self):
- def test_asymmetric_jwe_token_plugin(self):
- plugin = JWTTokenApi("./tests/fixtures/private.pem")
-
-- private_key = jwt.JWK()
-- public_key = jwt.JWK()
-+ private_key = jwk.JWK()
-+ public_key = jwk.JWK()
- private_key_data = open("./tests/fixtures/private.pem", "rb").read()
- public_key_data = open("./tests/fixtures/public.pem", "rb").read()
- private_key.import_from_pem(private_key_data)
-diff --git a/websockify/token_plugins.py b/websockify/token_plugins.py
-index 4dc29de..19005d3 100644
---- a/websockify/token_plugins.py
-+++ b/websockify/token_plugins.py
-@@ -103,10 +103,10 @@ class JWTTokenApi(BasePlugin):
-
- def lookup(self, token):
- try:
-- from jwcrypto import jwt
-+ from jwcrypto import jwt, jwk
- import json
-
-- key = jwt.JWK()
-+ key = jwk.JWK()
-
- try:
- with open(self.source, 'rb') as key_file:
diff --git a/dev-python/websockify/websockify-0.10.0-r1.ebuild b/dev-python/websockify/websockify-0.10.0-r1.ebuild
deleted file mode 100644
index a68815274ef5..000000000000
--- a/dev-python/websockify/websockify-0.10.0-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
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="WebSockets support for any application/server"
-HOMEPAGE="https://github.com/novnc/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/numpy[${PYTHON_USEDEP}]"
-BDEPEND="test? ( dev-python/jwcrypto[${PYTHON_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-jwcrypto-1.3.patch"
-)
-
-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.11.0.ebuild b/dev-python/websockify/websockify-0.11.0.ebuild
new file mode 100644
index 000000000000..bb9339cab990
--- /dev/null
+++ b/dev-python/websockify/websockify-0.11.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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/webtest/files/webtest-3.0.0-python3.12-unittest.patch b/dev-python/webtest/files/webtest-3.0.0-python3.12-unittest.patch
new file mode 100644
index 000000000000..c797a8cbb0c9
--- /dev/null
+++ b/dev-python/webtest/files/webtest-3.0.0-python3.12-unittest.patch
@@ -0,0 +1,115 @@
+https://github.com/Pylons/webtest/pull/251
+
+From d82ec5bd2cf3c7109a1d49ad9fa802ae1eae1763 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Mon, 29 May 2023 15:54:28 +0100
+Subject: [PATCH] Replace deprecated unittest aliases for Python 3.12
+
+See https://docs.python.org/3.12/whatsnew/3.12.html#removed.
+--- a/tests/test_app.py
++++ b/tests/test_app.py
+@@ -221,7 +221,7 @@ def cookie_app(environ, start_response):
+ ('Set-Cookie', 'foo=bar;baz'),
+ ])
+ else:
+- self.assertEquals(dict(req.cookies),
++ self.assertEqual(dict(req.cookies),
+ {'spam': 'eggs', 'foo': 'bar'})
+ self.assertIn('foo=bar', environ['HTTP_COOKIE'])
+ self.assertIn('spam=eggs', environ['HTTP_COOKIE'])
+@@ -258,7 +258,7 @@ def cookie_app(environ, start_response):
+ ('Set-Cookie', 'foo=bar;baz; secure'),
+ ])
+ else:
+- self.assertEquals(dict(req.cookies),
++ self.assertEqual(dict(req.cookies),
+ {'spam': 'eggs', 'foo': 'bar'})
+ self.assertIn('foo=bar', environ['HTTP_COOKIE'])
+ self.assertIn('spam=eggs', environ['HTTP_COOKIE'])
+--- a/tests/test_authorisation.py
++++ b/tests/test_authorisation.py
+@@ -17,7 +17,7 @@ def test_basic_authorization(self):
+ app.authorization = authorization
+
+ self.assertIn('HTTP_AUTHORIZATION', app.extra_environ)
+- self.assertEquals(app.authorization, authorization)
++ self.assertEqual(app.authorization, authorization)
+
+ resp = app.get('/')
+ resp.mustcontain('HTTP_AUTHORIZATION: Basic Z2F3ZWw6cGFzc3dk')
+@@ -26,7 +26,7 @@ def test_basic_authorization(self):
+ authtype, value = header.split(' ')
+ auth = (authtype,
+ b64decode(to_bytes(value)).decode('latin1').split(':'))
+- self.assertEquals(authorization, auth)
++ self.assertEqual(authorization, auth)
+
+ app.authorization = None
+ self.assertNotIn('HTTP_AUTHORIZATION', app.extra_environ)
+@@ -37,7 +37,7 @@ def test_bearer_authorization(self):
+ app.authorization = authorization
+
+ self.assertIn('HTTP_AUTHORIZATION', app.extra_environ)
+- self.assertEquals(app.authorization, authorization)
++ self.assertEqual(app.authorization, authorization)
+
+ resp = app.get('/')
+ resp.mustcontain('HTTP_AUTHORIZATION: Bearer 2588409761fcfa3e378bff4fb766e2e2')
+--- a/tests/test_forms.py
++++ b/tests/test_forms.py
+@@ -1031,7 +1031,7 @@ def test_upload_invalid_content(self):
+ single_form.submit("button")
+ except ValueError:
+ e = sys.exc_info()[1]
+- self.assertEquals(
++ self.assertEqual(
+ str(e),
+ u('File content must be %s not %s' % (bytes, int))
+ )
+--- a/tests/test_lint.py
++++ b/tests/test_lint.py
+@@ -62,15 +62,15 @@ class TestMiddleware(unittest.TestCase):
+ @unittest.skipIf(sys.flags.optimize > 0, "skip assert tests if optimize is enabled")
+ def test_lint_too_few_args(self):
+ linter = middleware(application)
+- with self.assertRaisesRegexp(AssertionError, "Two arguments required"):
++ with self.assertRaisesRegex(AssertionError, "Two arguments required"):
+ linter()
+- with self.assertRaisesRegexp(AssertionError, "Two arguments required"):
++ with self.assertRaisesRegex(AssertionError, "Two arguments required"):
+ linter({})
+
+ @unittest.skipIf(sys.flags.optimize > 0, "skip assert tests if optimize is enabled")
+ def test_lint_no_keyword_args(self):
+ linter = middleware(application)
+- with self.assertRaisesRegexp(AssertionError, "No keyword arguments "
++ with self.assertRaisesRegex(AssertionError, "No keyword arguments "
+ "allowed"):
+ linter({}, 'foo', baz='baz')
+
+@@ -82,7 +82,7 @@ def test_lint_no_keyword_args(self):
+ def test_lint_iterator_returned(self):
+ linter = middleware(lambda x, y: None) # None is not an iterator
+ msg = "The application must return an iterator, if only an empty list"
+- with self.assertRaisesRegexp(AssertionError, msg):
++ with self.assertRaisesRegex(AssertionError, msg):
+ linter({'wsgi.input': 'foo', 'wsgi.errors': 'foo'}, 'foo')
+
+
+@@ -109,13 +109,13 @@ def test_close(self):
+ def test_iter(self):
+ data = to_bytes("A line\nAnother line\nA final line\n")
+ input_wrapper = InputWrapper(BytesIO(data))
+- self.assertEquals(to_bytes("").join(input_wrapper), data, '')
++ self.assertEqual(to_bytes("").join(input_wrapper), data, '')
+
+ def test_seek(self):
+ data = to_bytes("A line\nAnother line\nA final line\n")
+ input_wrapper = InputWrapper(BytesIO(data))
+ input_wrapper.seek(0)
+- self.assertEquals(to_bytes("").join(input_wrapper), data, '')
++ self.assertEqual(to_bytes("").join(input_wrapper), data, '')
+
+
+ class TestMiddleware2(unittest.TestCase):
+
diff --git a/dev-python/webtest/metadata.xml b/dev-python/webtest/metadata.xml
index 1ce3308ecc21..8c9667576fc0 100644
--- a/dev-python/webtest/metadata.xml
+++ b/dev-python/webtest/metadata.xml
@@ -8,5 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">WebTest</remote-id>
+ <remote-id type="github">Pylons/webtest</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/webtest/webtest-3.0.0-r1.ebuild b/dev-python/webtest/webtest-3.0.0-r1.ebuild
index 6cf281f526dc..0b2948bb5da8 100644
--- a/dev-python/webtest/webtest-3.0.0-r1.ebuild
+++ b/dev-python/webtest/webtest-3.0.0-r1.ebuild
@@ -4,20 +4,18 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYPI_NO_NORMALIZE=1
+PYPI_PN="WebTest"
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_PN="WebTest"
-MY_P="${MY_PN}-${PV}"
DESCRIPTION="Helper to test WSGI applications"
HOMEPAGE="
https://docs.pylonsproject.org/projects/webtest/en/latest/
https://github.com/Pylons/webtest/
https://pypi.org/project/WebTest/
"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
@@ -39,6 +37,7 @@ BDEPEND="
PATCHES=(
"${FILESDIR}/webtest-2.0.33-no-pylons-theme.patch"
+ "${FILESDIR}/webtest-3.0.0-python3.12-unittest.patch"
)
distutils_enable_sphinx docs
diff --git a/dev-python/werkzeug/Manifest b/dev-python/werkzeug/Manifest
index 7e9551fb2a90..d8fca639110d 100644
--- a/dev-python/werkzeug/Manifest
+++ b/dev-python/werkzeug/Manifest
@@ -1 +1,2 @@
-DIST werkzeug-2.2.2.gh.tar.gz 844463 BLAKE2B 84da3dd89375d6925e7e7018701339ddfd2b608acf6b3f126bd56c2020056511de6ab157de9024069d1342f9bce4b481ba91a06089fff1a3b31f4a851af7f935 SHA512 cded6c7e0b00871366b70a41de45e31323c0fc09300413d0efca98f5a2f8207026fd77c7e5670fde727da377fd02b9b636f390a2524d2b5778e9e3bdbdfe3e3a
+DIST werkzeug-3.0.1.gh.tar.gz 817317 BLAKE2B 670460cf48c8d06196cd34f117758508512d310b740bd188d8ba87779abd62f514c9909e5700b34c37e382925eabe3ffd722b753b76b498aff0dc8ebe1025c8b SHA512 125a5c7680cba726149198802efa90d06c6586daeafcd0960feda637b765356f602df83af7b14996994303c52d32bc6fa044b774f42f0b8991008d1396675033
+DIST werkzeug-3.0.2.gh.tar.gz 817516 BLAKE2B 0c3324b6793f2fad77f62fbd0e3b847a73d6348d4a069dd83c852475d9cfa88feb3ab3ff1c4d547622b732de5fc3ba781d776d30f11ec1fae93cafdcfd9077eb SHA512 fdf44d2af517af69632909ae6fd5af327f34778c8f2dc7e606380123941102cc09d593a2036e843036e5abe998d2b2722f97b959eaeffc8de2b71a5b372a1e3e
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/werkzeug-2.2.2.ebuild b/dev-python/werkzeug/werkzeug-2.2.2.ebuild
deleted file mode 100644
index 7e2db22b86dc..000000000000
--- a/dev-python/werkzeug/werkzeug-2.2.2.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_{9..11} 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[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- )
- !hppa? ( !ia64? ( !loong? (
- $(python_gen_cond_dep '
- dev-python/greenlet[${PYTHON_USEDEP}]
- ' python3_{8..10})
- ) ) )
- )
-"
-
-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
new file mode 100644
index 000000000000..97ac07ce6e41
--- /dev/null
+++ b/dev-python/werkzeug/werkzeug-3.0.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=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=(
+ # 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
+ epytest -p no:django -p no:httpbin tests
+}
diff --git a/dev-python/werkzeug/werkzeug-3.0.2-r1.ebuild b/dev-python/werkzeug/werkzeug-3.0.2-r1.ebuild
new file mode 100644
index 000000000000..67830a3b7586
--- /dev/null
+++ b/dev-python/werkzeug/werkzeug-3.0.2-r1.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=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-1[${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
+
+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
+ epytest -p no:django -p no:httpbin tests
+}
diff --git a/dev-python/werkzeug/werkzeug-3.0.2.ebuild b/dev-python/werkzeug/werkzeug-3.0.2.ebuild
new file mode 100644
index 000000000000..9278ee288270
--- /dev/null
+++ b/dev-python/werkzeug/werkzeug-3.0.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=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
+# xprocess: https://github.com/pallets/werkzeug/issues/2875
+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}]
+ )
+ !hppa? ( !ia64? ( !loong? (
+ $(python_gen_cond_dep '
+ dev-python/greenlet[${PYTHON_USEDEP}]
+ ' python3_{10..11})
+ ) ) )
+ )
+"
+
+distutils_enable_tests pytest
+
+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
+ epytest -p no:django -p no:httpbin tests
+}
diff --git a/dev-python/whatever/Manifest b/dev-python/whatever/Manifest
index dc2c8578b57f..56de536a49fd 100644
--- a/dev-python/whatever/Manifest
+++ b/dev-python/whatever/Manifest
@@ -1 +1 @@
-DIST whatever-0.6.gh.tar.gz 6003 BLAKE2B 410093960b8e17b1e0a7f91d7692bfd9e3f88a73cffb17a9a1763d42674cb1ec75da2b0a6575279c93451f24504086bdb89487bcc44bb116cbb2af89b9a7521b SHA512 f982100f0d6a8bf4c30e452a083c75f4cb2bca07e57e40ba4fd66baca752f039aea9519ffb97b3d43708df0ff5e981d0c4d03773f225106aa2f43e7770ee1975
+DIST whatever-0.7.gh.tar.gz 6373 BLAKE2B 401edadee8379dda2a2a90d7e02b64e2c091b4ad6a9ae3c25b9513b3953f09c89b7cad5bf48fc96713a332a8e3891f2bbca755c7f6d4817578eeab1f986e8640 SHA512 7641957f6eabad0d8485dac9b9cfaf0c6a8426ec9817c4e0748e669561fb5fbe21932f9bb864362ee34f5a5bff8ce6f6803c428130c1af3aabef3d583d7a582e
diff --git a/dev-python/whatever/whatever-0.6-r1.ebuild b/dev-python/whatever/whatever-0.6-r1.ebuild
deleted file mode 100644
index 8f64b4f30626..000000000000
--- a/dev-python/whatever/whatever-0.6-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_{9..10} )
-inherit distutils-r1
-
-DESCRIPTION="Easy anonymous functions by partial application of operators"
-HOMEPAGE="https://github.com/Suor/whatever"
-SRC_URI="
- https://github.com/Suor/whatever/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/whatever/whatever-0.7.ebuild b/dev-python/whatever/whatever-0.7.ebuild
new file mode 100644
index 000000000000..cd741e55978d
--- /dev/null
+++ b/dev-python/whatever/whatever-0.7.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 anonymous functions by partial application of operators"
+HOMEPAGE="
+ https://github.com/Suor/whatever/
+ https://pypi.org/project/whatever/
+"
+SRC_URI="
+ https://github.com/Suor/whatever/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/whatthepatch/Manifest b/dev-python/whatthepatch/Manifest
index c053b76edee1..428b6bea90d1 100644
--- a/dev-python/whatthepatch/Manifest
+++ b/dev-python/whatthepatch/Manifest
@@ -1 +1 @@
-DIST whatthepatch-1.0.3.tar.gz 28634 BLAKE2B 94c5a074bf30ce81dbad1c8c3830efa726f8526e35da03949abb32803721ed01f3faf4c6bfe098bf679e3990489c19a7ba06c73a86959e4ee59adc2a37d59e3b SHA512 87e3e0aa78f71ad73f1b9663c3b1b53ae700ce82f2a5135717487d2ce8e597e3eeb2a9316b3ac96c27eb25a4a8c1e11658d93e976e882dd9f46cb1057f317211
+DIST whatthepatch-1.0.5.tar.gz 31850 BLAKE2B dfded6069aa70051fb5f399c9f4707969be4dfc1dee853cd8eb7f36e074c2b595eddbae3efd534321dbbcce7a6658ef9e9bc7675ef466e0a486d930d62761e1e SHA512 d87a36a608a15bcf6d28d26afee40161e26f17fa3b011056388f9850896577f913a91066de8b6071ea15b28fa05f8d00acb997b18483ea56218df4efb40109ab
diff --git a/dev-python/whatthepatch/whatthepatch-1.0.3.ebuild b/dev-python/whatthepatch/whatthepatch-1.0.3.ebuild
deleted file mode 100644
index 77385ba4720c..000000000000
--- a/dev-python/whatthepatch/whatthepatch-1.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A patch parsing and application library."
-HOMEPAGE="
- https://github.com/cscorley/whatthepatch/
- https://pypi.org/project/whatthepatch/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/whatthepatch/whatthepatch-1.0.5.ebuild b/dev-python/whatthepatch/whatthepatch-1.0.5.ebuild
new file mode 100644
index 000000000000..f5f6080fcdac
--- /dev/null
+++ b/dev-python/whatthepatch/whatthepatch-1.0.5.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 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 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"
+
+distutils_enable_tests pytest
diff --git a/dev-python/wheel/Manifest b/dev-python/wheel/Manifest
index e1612f697eda..abc3cec4882f 100644
--- a/dev-python/wheel/Manifest
+++ b/dev-python/wheel/Manifest
@@ -1 +1 @@
-DIST wheel-0.38.4.gh.tar.gz 69770 BLAKE2B a6077e38c21626169d68a3256fbe6457de3d4fde5d0a582859fe7b9ec5d73c142538f7fbfe762ddd436473c682e7810407a08730f66ec2a7844084d349e0779f SHA512 2ff7c6175201f8145f2c1f9937c6955a1dd22eeedab1e456f65c4edae9186610d9e7702c35773b49026c56c9cc201672025e7d42fcc7f782153c65c28e6b90d0
+DIST wheel-0.43.0.tar.gz 99109 BLAKE2B 49e77ba84fb0a9b3bd177d994b9b33f8e5fa2bb8528fe1216fd55e6d749e201ac9a76ff24c8178485bff94d0f7840d42e0aa8f940fc3fe7d91c41411fa1cd907 SHA512 b6213c05263026884c07bdc4d529252f0be013c3fc6d0558008b7130ba90d4ef11e57f155f62f5e2528ddcd78d188530b2b7c78acc15b8168f64935fe6e6393b
diff --git a/dev-python/wheel/wheel-0.38.4.ebuild b/dev-python/wheel/wheel-0.38.4.ebuild
deleted file mode 100644
index 25f92e0cf74c..000000000000
--- a/dev-python/wheel/wheel-0.38.4.ebuild
+++ /dev/null
@@ -1,66 +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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A built-package format for Python"
-HOMEPAGE="
- https://github.com/pypa/wheel/
- https://pypi.org/project/wheel/
-"
-SRC_URI="
- https://github.com/pypa/wheel/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 ~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
-}
-
-src_configure() {
- [[ -e pyproject.toml ]] &&
- die "Upstream added pyproject.toml, 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 = "wheel"
- description = "A built-package format for Python"
- dynamic = ["version"]
-
- [project.scripts]
- wheel = "wheel.cli:main"
-
- [project.entry-points."distutils.commands"]
- bdist_wheel = "wheel.bdist_wheel:bdist_wheel"
- EOF
-}
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..a493ef96d0a1
--- /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..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/whichcraft/whichcraft-0.6.1-r1.ebuild b/dev-python/whichcraft/whichcraft-0.6.1-r1.ebuild
index 2a2f5c118049..b6671fca6823 100644
--- a/dev-python/whichcraft/whichcraft-0.6.1-r1.ebuild
+++ b/dev-python/whichcraft/whichcraft-0.6.1-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/whisper/whisper-1.1.10.ebuild b/dev-python/whisper/whisper-1.1.10.ebuild
index 0209eeb2f799..1a41146c2dd5 100644
--- a/dev-python/whisper/whisper-1.1.10.ebuild
+++ b/dev-python/whisper/whisper-1.1.10.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
@@ -19,7 +19,7 @@ SRC_URI="
"
LICENSE="Apache-2.0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
SLOT="0"
RDEPEND="
diff --git a/dev-python/whoosh/metadata.xml b/dev-python/whoosh/metadata.xml
index b9cc86e3cca8..f0a019788d14 100644
--- a/dev-python/whoosh/metadata.xml
+++ b/dev-python/whoosh/metadata.xml
@@ -14,6 +14,7 @@
your needs exactly.
</longdescription>
<upstream>
+ <remote-id type="github">mchaput/whoosh</remote-id>
<remote-id type="pypi">Whoosh</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/whoosh/whoosh-2.7.4-r2.ebuild b/dev-python/whoosh/whoosh-2.7.4-r2.ebuild
index 9b859811eaa2..8b2f267ea928 100644
--- a/dev-python/whoosh/whoosh-2.7.4-r2.ebuild
+++ b/dev-python/whoosh/whoosh-2.7.4-r2.ebuild
@@ -4,13 +4,16 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+inherit distutils-r1 pypi
DESCRIPTION="Fast, pure-Python full text indexing, search and spell checking library"
-HOMEPAGE="https://pypi.org/project/Whoosh/"
-SRC_URI="mirror://pypi/W/${PN^}/${P^}.tar.gz"
-S="${WORKDIR}/${P^}"
+HOMEPAGE="
+ https://pypi.org/project/Whoosh/
+ https://github.com/mchaput/whoosh
+"
LICENSE="BSD-2"
SLOT="0"
diff --git a/dev-python/widgetsnbextension/Manifest b/dev-python/widgetsnbextension/Manifest
index 9e4acc8a9daa..9a22e83b4775 100644
--- a/dev-python/widgetsnbextension/Manifest
+++ b/dev-python/widgetsnbextension/Manifest
@@ -1,2 +1 @@
-DIST widgetsnbextension-4.0.4.tar.gz 1022346 BLAKE2B 29b41d4b61f8af40c5589f19f6b3df7a2093774617b262d1ad7faf22d06a5f81d0aff9db9360c1ad53b11e1377d7e2690d56e06f861d390d676010413a3618a5 SHA512 6eb666e52c575750e591b2976d091f719b92cf741d4e4678d12425c1450fcab1b207f6c0667268c54fb88209d99cbff4432b40c34ffbbf761d82905723d3d095
-DIST widgetsnbextension-4.0.5.tar.gz 1022805 BLAKE2B 1b64a633414b085fbdaee7394d17243b4b0eb3d6d3b7f8766d48eb0066d159a8ed594a0444e0724a876e213582274ac5faccc502349a8ee657ccbfcd047769c0 SHA512 8a25c97baaef32b46254e515676bd6894a025b710e48e374f2490bb1d5de96adb87c3b0673f69bebbb332b0f0ad6d9367c5d64146ae6452bc2090a66e8470a09
+DIST widgetsnbextension-4.0.10.tar.gz 1147204 BLAKE2B 16b81a1ad6c1d527c27d1fe48952d8ad89c14c2ae7cd1f7f00eea43263f9fde481df1db18d74a8a6417c9270bd29a46c77b495b520848c4782c1d60295d5850c SHA512 0e16dc994093712851a3ad0385844fd3f807157a024dd6ce26c3f6b3953cfb01421d877363def747405c8c887a00a880dcc06664d45d142b3c548b7d67b7008d
diff --git a/dev-python/widgetsnbextension/widgetsnbextension-4.0.10.ebuild b/dev-python/widgetsnbextension/widgetsnbextension-4.0.10.ebuild
new file mode 100644
index 000000000000..e59b31b09a28
--- /dev/null
+++ b/dev-python/widgetsnbextension/widgetsnbextension-4.0.10.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} )
+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.4.ebuild b/dev-python/widgetsnbextension/widgetsnbextension-4.0.4.ebuild
deleted file mode 100644
index 5d588988de1d..000000000000
--- a/dev-python/widgetsnbextension/widgetsnbextension-4.0.4.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} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="IPython HTML widgets for Jupyter"
-HOMEPAGE="
- https://ipython.org/
- https://pypi.org/project/widgetsnbextension/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/notebook[${PYTHON_USEDEP}]
-"
-
-src_install() {
- distutils-r1_src_install
-
- mv "${ED}/usr/etc" "${ED}/etc" || die
-}
diff --git a/dev-python/widgetsnbextension/widgetsnbextension-4.0.5.ebuild b/dev-python/widgetsnbextension/widgetsnbextension-4.0.5.ebuild
deleted file mode 100644
index 47d2e816ff69..000000000000
--- a/dev-python/widgetsnbextension/widgetsnbextension-4.0.5.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} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="IPython HTML widgets for Jupyter"
-HOMEPAGE="
- https://ipython.org/
- https://pypi.org/project/widgetsnbextension/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/notebook[${PYTHON_USEDEP}]
-"
-
-src_install() {
- distutils-r1_src_install
-
- mv "${ED}/usr/etc" "${ED}/etc" || die
-}
diff --git a/dev-python/wrapt/Manifest b/dev-python/wrapt/Manifest
index e3c349abfe4a..89cb32bdfc50 100644
--- a/dev-python/wrapt/Manifest
+++ b/dev-python/wrapt/Manifest
@@ -1 +1 @@
-DIST wrapt-1.14.1.gh.tar.gz 133767 BLAKE2B 407a9531f581b034be7fe4392dcbf94803aa9c3a82d7c392750dfef62a5cbb84582e292819bf749356fad2b6e98cc89777df0f3b0f4ca70422e75b72ad256711 SHA512 c67e99eb29afeefb2512fb545cd180b8e96f69235d6281edebe62ea5e411188a904a7e683afdda2d6a86cf8b7fd74f79a3c3bec04e19a7c5ef347729bb43f94c
+DIST wrapt-1.16.0.gh.tar.gz 138520 BLAKE2B 6317f2fa58aaa017b510f60fb20e8b3bc4721977806f4b8e7a3f316bfa4da2a8d24156f8ab670d96f5bab6fcc29437d5d18c28ce91618f5a7093cc85d6c5b578 SHA512 65bdda3b6580748ceb720e8fc1a6b05832a355d541aa650bc87052f3aa8793d03d29a080b79eceb16392e297aed8f11a283e36f5f40a0db614b409b1dc2b6c9c
diff --git a/dev-python/wrapt/metadata.xml b/dev-python/wrapt/metadata.xml
index caafce82fa5b..af7d6a529c40 100644
--- a/dev-python/wrapt/metadata.xml
+++ b/dev-python/wrapt/metadata.xml
@@ -9,4 +9,10 @@
<remote-id type="github">GrahamDumpleton/wrapt</remote-id>
<remote-id type="pypi">wrapt</remote-id>
</upstream>
+ <use>
+ <flag name="native-extensions">
+ Compiles native C extensions (speedups, instead of using python
+ fallback code).
+ </flag>
+ </use>
</pkgmetadata>
diff --git a/dev-python/wrapt/wrapt-1.14.1.ebuild b/dev-python/wrapt/wrapt-1.14.1.ebuild
deleted file mode 100644
index f1d6a0d112fa..000000000000
--- a/dev-python/wrapt/wrapt-1.14.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Module for decorators, wrappers and monkey patching"
-HOMEPAGE="
- https://github.com/GrahamDumpleton/wrapt/
- https://pypi.org/project/wrapt/
-"
-SRC_URI="
- https://github.com/GrahamDumpleton/wrapt/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"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs dev-python/sphinx_rtd_theme
-
-python_compile() {
- local -x WRAPT_INSTALL_EXTENSIONS=true
- distutils-r1_python_compile
-}
diff --git a/dev-python/wrapt/wrapt-1.16.0.ebuild b/dev-python/wrapt/wrapt-1.16.0.ebuild
new file mode 100644
index 000000000000..f031e2c22e4d
--- /dev/null
+++ b/dev-python/wrapt/wrapt-1.16.0.ebuild
@@ -0,0 +1,40 @@
+# 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=${P/_}
+DESCRIPTION="Module for decorators, wrappers and monkey patching"
+HOMEPAGE="
+ https://github.com/GrahamDumpleton/wrapt/
+ https://pypi.org/project/wrapt/
+"
+SRC_URI="
+ https://github.com/GrahamDumpleton/wrapt/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 ~x64-macos"
+IUSE="+native-extensions"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
+
+python_compile() {
+ local -x WRAPT_INSTALL_EXTENSIONS=$(usex native-extensions true false)
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/wsaccel/Manifest b/dev-python/wsaccel/Manifest
index b32d3f32d143..814d6171a347 100644
--- a/dev-python/wsaccel/Manifest
+++ b/dev-python/wsaccel/Manifest
@@ -1 +1 @@
-DIST wsaccel-0.6.4.gh.tar.gz 9947 BLAKE2B 1c0b7b8b82154420f64fcbf3217938ff7e829573ada6b979ff73fe450c0985e368a47cccf2d124506c28479a98f0799977677e16ee26754611362f6b61eff902 SHA512 980364fab8a661c8a2b406f9eb6c99fb5f3a1308bbcf6267fa63f002d8dfbb4a3ad027d83a2088d69324cab05bdc56138d7e66e2602aeb8864dfe49ad9218d07
+DIST wsaccel-0.6.6.gh.tar.gz 9930 BLAKE2B f8d8c9ae0966374fbd965859150cca68b3fae6f39fdcfa744f98e7fade2a76946b57bea753c2dbb4051ef635e0dd0fbfd915c7f8bf4b9b5cd2b5b372694d632f SHA512 4a107db921f6f6549fb9f2f0b5c698331274171ef509136fc2d83cb6ca8bedbde32a14aaca4e38e16af3054337774dbd6aa7d8caee7866a51ded751d7d3764be
diff --git a/dev-python/wsaccel/wsaccel-0.6.4.ebuild b/dev-python/wsaccel/wsaccel-0.6.4.ebuild
deleted file mode 100644
index 85b666410315..000000000000
--- a/dev-python/wsaccel/wsaccel-0.6.4.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="Accelerator for ws4py, autobahn and tornado"
-HOMEPAGE="
- https://github.com/methane/wsaccel/
- https://pypi.org/project/wsaccel/
-"
-SRC_URI="
- https://github.com/methane/wsaccel/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-SLOT="0"
-LICENSE="Apache-2.0"
-KEYWORDS="amd64 arm arm64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- cd tests || die
- epytest
-}
diff --git a/dev-python/wsaccel/wsaccel-0.6.6.ebuild b/dev-python/wsaccel/wsaccel-0.6.6.ebuild
new file mode 100644
index 000000000000..694c175f7b2e
--- /dev/null
+++ b/dev-python/wsaccel/wsaccel-0.6.6.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="Accelerator for ws4py, autobahn and tornado"
+HOMEPAGE="
+ https://github.com/methane/wsaccel/
+ https://pypi.org/project/wsaccel/
+"
+SRC_URI="
+ https://github.com/methane/wsaccel/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="amd64 arm arm64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ cd tests || die
+ epytest
+}
diff --git a/dev-python/wsgiproxy2/metadata.xml b/dev-python/wsgiproxy2/metadata.xml
index e7220821af27..a7fecf83ce49 100644
--- a/dev-python/wsgiproxy2/metadata.xml
+++ b/dev-python/wsgiproxy2/metadata.xml
@@ -8,5 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">WSGIProxy2</remote-id>
+ <remote-id type="github">gawel/WSGIProxy2</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/wsgiproxy2/wsgiproxy2-0.5.1-r1.ebuild b/dev-python/wsgiproxy2/wsgiproxy2-0.5.1-r1.ebuild
index f9e63b4183f3..829f1613c22e 100644
--- a/dev-python/wsgiproxy2/wsgiproxy2-0.5.1-r1.ebuild
+++ b/dev-python/wsgiproxy2/wsgiproxy2-0.5.1-r1.ebuild
@@ -4,18 +4,17 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYPI_NO_NORMALIZE=1
+PYPI_PN="WSGIProxy2"
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_PN="WSGIProxy2"
DESCRIPTION="HTTP proxying tools for WSGI apps"
HOMEPAGE="
https://github.com/gawel/WSGIProxy2/
https://pypi.org/project/WSGIProxy2/
"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/wsproto/wsproto-1.2.0.ebuild b/dev-python/wsproto/wsproto-1.2.0.ebuild
index 759b03935465..90d124abc9e5 100644
--- a/dev-python/wsproto/wsproto-1.2.0.ebuild
+++ b/dev-python/wsproto/wsproto-1.2.0.ebuild
@@ -4,20 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="WebSockets state-machine based protocol implementation"
HOMEPAGE="
https://github.com/python-hyper/wsproto/
https://pypi.org/project/wsproto/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
>=dev-python/h11-0.9[${PYTHON_USEDEP}]
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 9dfb36115c0f..8b37082cffea 100644
--- a/dev-python/wtforms/Manifest
+++ b/dev-python/wtforms/Manifest
@@ -1 +1 @@
-DIST WTForms-3.0.1.tar.gz 137513 BLAKE2B 17fbb385a28baefaf3fe368b7c7dbd3d6671aaef887ee89617e60e0537ae060248442d4990e7ea926b15d4b85585a1c80ffb61c0fdad2627e5cca90799eb01d7 SHA512 a6db54a7ef9bc96b8fdf69cd65d3810fab9436ff9c056e1cfc580f5ecd0ed8837dcbb7c2adf92419cc5f74e865bb3a023e316407a87d5c5277da5d30e6836fb3
+DIST wtforms-3.1.2.tar.gz 134705 BLAKE2B 748ea71ced149220947d0f54d69cc94b3cd8a2e648551556621082418a7555519b275788b961abca1331e6c6d52c1999451cc26b3bc9ab27261ef25de7ffd9fa SHA512 4c4203c735f755cedf9c20ddf9805d1e80096fe2fb499dc91a9608df0ac5eb0ddf6c67eea782f9507d14b14e362454f50b567dc5518ca95ce090305a44436873
diff --git a/dev-python/wtforms/wtforms-3.0.1-r1.ebuild b/dev-python/wtforms/wtforms-3.0.1-r1.ebuild
deleted file mode 100644
index f4b9541beb5a..000000000000
--- a/dev-python/wtforms/wtforms-3.0.1-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=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-MY_PN="WTForms"
-MY_P="${MY_PN}-${PV}"
-
-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/
-"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-RDEPEND="
- dev-python/markupsafe[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/Babel[${PYTHON_USEDEP}]
- test? (
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/python-email-validator[${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..b64a91029ed8
--- /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..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/wurlitzer/wurlitzer-3.0.3.ebuild b/dev-python/wurlitzer/wurlitzer-3.0.3.ebuild
index 29daa3e9d395..027355d2cecc 100644
--- a/dev-python/wurlitzer/wurlitzer-3.0.3.ebuild
+++ b/dev-python/wurlitzer/wurlitzer-3.0.3.ebuild
@@ -4,19 +4,19 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
+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/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
distutils_enable_tests pytest
diff --git a/dev-python/wxpython/Manifest b/dev-python/wxpython/Manifest
index c68723eb916e..5c6a4c0dbfb4 100644
--- a/dev-python/wxpython/Manifest
+++ b/dev-python/wxpython/Manifest
@@ -1 +1,2 @@
-DIST wxPython-4.0.7.post2.tar.gz 68891167 BLAKE2B 77eb69f7a59e5be81c3d17b64c76e09a43efc9226bd87fd058483185871a95ce05dbb65614ec8b003edf52cbe1cb1a115856c0d622170c51ecacbb952106fe22 SHA512 7af89db90a0f7e6b644d61c1ede01ec36a2c295e46d44692ae9dbc4af923310c1b498a52f45b02a89e8917d844c6abe67e5f3fdd9c1d51da3312899319a349e4
+DIST wxPython-4.2.0.tar.gz 70958238 BLAKE2B 2e8e34c4f5d1992983bfe4e09bb56ee5619b139b9b3b5f05dee48ecdf6971cf9fe1b0fb22aec685904eb44db6f50a4ba132a08aa91930d809040da828efa097e SHA512 9ec937a024efb2916403c84382a66004f0c2bb07471246b7de517778309ce459e929eeb59e261f538d3fa077c950628de62e49a3760fbd03ab9ff2114c6f354f
+DIST wxPython-4.2.1.tar.gz 73724359 BLAKE2B d9569ea172c7279e0b2cfcb3cdcd5d1faab5324e2648c9b0f8c8b838fb2355dc6af28c4593e5dd0cfa02573133bf15a58a6ffa9711d854925a9cada0985dc7f8 SHA512 ee9ab8effb3c71de004c3d61ec583b9980c6b75fe9bb04cf2c76025ea70afc206bc3073c44d1c83c7ba604afed9fd38c01b9ef506617ba279a4ac58e3cf34438
diff --git a/dev-python/wxpython/files/wxpython-4.0.6-no-webkit.patch b/dev-python/wxpython/files/wxpython-4.0.6-no-webkit.patch
deleted file mode 100644
index 795de3a933ff..000000000000
--- a/dev-python/wxpython/files/wxpython-4.0.6-no-webkit.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -ru wxPython-4.0.5-orig/wscript wxPython-4.0.5/wscript
---- wxPython-4.0.5-orig/wscript 2019-05-18 22:03:12.000000000 -0400
-+++ wxPython-4.0.5/wscript 2019-05-22 07:59:46.522966555 -0400
-@@ -230,15 +230,6 @@
- uselib_store='WXGL', mandatory=True,
- msg='Finding libs for WXGL')
-
-- if cfg.checkSetup(wxConfigDir, 'wxUSE_WEBVIEW'):
-- wv_libs = '--libs webview,core,net'
-- else:
-- wv_libs = '--libs core,net'
-- conf.check_cfg(path=conf.options.wx_config, package='',
-- args='--cxxflags ' + wv_libs + rpath,
-- uselib_store='WXWEBVIEW', mandatory=True,
-- msg='Finding libs for WXWEBVIEW')
--
- if isDarwin:
- conf.check_cfg(path=conf.options.wx_config, package='',
- args='--cxxflags --libs core,net' + rpath,
-@@ -591,7 +582,6 @@
- makeETGRule(bld, 'etg/_stc.py', '_stc', 'WXSTC')
- makeETGRule(bld, 'etg/_html.py', '_html', 'WXHTML')
- makeETGRule(bld, 'etg/_glcanvas.py', '_glcanvas', 'WXGL')
-- makeETGRule(bld, 'etg/_html2.py', '_html2', 'WXWEBVIEW')
- makeETGRule(bld, 'etg/_xml.py', '_xml', 'WXXML')
- makeETGRule(bld, 'etg/_xrc.py', '_xrc', 'WXXRC')
- makeETGRule(bld, 'etg/_richtext.py', '_richtext', 'WXHTML WXRICHTEXT')
diff --git a/dev-python/wxpython/files/wxpython-4.0.6-skip-broken-tests.patch b/dev-python/wxpython/files/wxpython-4.0.6-skip-broken-tests.patch
deleted file mode 100644
index 22a56162726b..000000000000
--- a/dev-python/wxpython/files/wxpython-4.0.6-skip-broken-tests.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-diff -ru wxPython-4.0.6-orig/unittests/test_frame.py wxPython-4.0.6/unittests/test_frame.py
---- wxPython-4.0.6-orig/unittests/test_frame.py 2019-05-21 19:12:12.000000000 -0400
-+++ wxPython-4.0.6/unittests/test_frame.py 2019-05-24 10:15:51.350004356 -0400
-@@ -50,7 +50,7 @@
- f.Close()
-
-
-- def test_frameRestore(self):
-+ def xtest_frameRestore(self):
- f = wx.Frame(self.frame, title="Title", pos=(50,50), size=(100,100))
- f.Show()
- f.Maximize()
-diff -ru wxPython-4.0.6-orig/unittests/test_graphics.py wxPython-4.0.6/unittests/test_graphics.py
---- wxPython-4.0.6-orig/unittests/test_graphics.py 2019-05-21 19:12:12.000000000 -0400
-+++ wxPython-4.0.6/unittests/test_graphics.py 2019-05-24 10:16:06.520256643 -0400
-@@ -23,7 +23,7 @@
- gc = wx.GraphicsContext.Create(img)
- self.assertTrue(gc.IsOk())
-
-- def test_gcCreate4(self):
-+ def xtest_gcCreate4(self):
- class MyPanel(wx.Panel):
- def __init__(self, parent):
- super(MyPanel, self).__init__(parent)
-diff -ru wxPython-4.0.6-orig/unittests/test_lib_pubsub_provider.py wxPython-4.0.6/unittests/test_lib_pubsub_provider.py
---- wxPython-4.0.6-orig/unittests/test_lib_pubsub_provider.py 2019-05-21 19:12:12.000000000 -0400
-+++ wxPython-4.0.6/unittests/test_lib_pubsub_provider.py 2019-05-24 10:16:49.649969339 -0400
-@@ -49,7 +49,7 @@
-
- class lib_pubsub_Except(wtc.PubsubTestCase):
-
-- def test1(self):
-+ def xtest1(self):
-
- self.pub.addTopicDefnProvider(my_topics, self.pub.TOPIC_TREE_FROM_CLASS)
-
-diff -ru wxPython-4.0.6-orig/unittests/test_lib_pubsub_topicmgr.py wxPython-4.0.6/unittests/test_lib_pubsub_topicmgr.py
---- wxPython-4.0.6-orig/unittests/test_lib_pubsub_topicmgr.py 2019-05-21 19:12:12.000000000 -0400
-+++ wxPython-4.0.6/unittests/test_lib_pubsub_topicmgr.py 2019-05-24 10:17:18.276438743 -0400
-@@ -215,7 +215,7 @@
- assert 1 == topicMgr.getNumDefnProviders()
- topicMgr.clearDefnProviders()
-
-- def test20_UseProvider(self):
-+ def xtest20_UseProvider(self):
- #
- # Test the use of definition providers for topics. We create
- # two so we can check that more than one can work together.
-diff -ru wxPython-4.0.6-orig/unittests/test_sizer.py wxPython-4.0.6/unittests/test_sizer.py
---- wxPython-4.0.6-orig/unittests/test_sizer.py 2019-05-21 19:12:12.000000000 -0400
-+++ wxPython-4.0.6/unittests/test_sizer.py 2019-05-24 10:18:03.937181671 -0400
-@@ -71,7 +71,7 @@
- self.assertTrue(items[1].IsSpacer())
- self.assertTrue(items[2].Border == 5)
-
-- def test_iter(self):
-+ def xtest_iter(self):
- bs = wx.BoxSizer()
- widgetlist = [wx.Panel(self.frame) for _ in range(5)]
-
-diff -ru wxPython-4.0.6-orig/unittests/test_utils.py wxPython-4.0.6/unittests/test_utils.py
---- wxPython-4.0.6-orig/unittests/test_utils.py 2019-05-21 19:12:12.000000000 -0400
-+++ wxPython-4.0.6/unittests/test_utils.py 2019-05-24 11:14:09.399035368 -0400
-@@ -34,7 +34,7 @@
- with wx.BusyCursor():
- self.myYield()
-
-- def test_utilsSomeOtherStuff(self):
-+ def xtest_utilsSomeOtherStuff(self):
- wx.GetBatteryState()
- wx.GetPowerType()
- wx.GetKeyState(wx.WXK_F1)
-diff -ru wxPython-4.0.6-orig/unittests/test_windowid.py wxPython-4.0.6/unittests/test_windowid.py
---- wxPython-4.0.6-orig/unittests/test_windowid.py 2019-05-21 19:12:12.000000000 -0400
-+++ wxPython-4.0.6/unittests/test_windowid.py 2019-05-24 10:18:24.158508491 -0400
-@@ -28,12 +28,12 @@
- assert isinstance(ref, wx.WindowIDRef)
-
-
-- def test_newIdRef03(self):
-+ def xtest_newIdRef03(self):
- """Check that Auto ID Management is enabled (--enable-autoidman)"""
- # This test is expected to fail if autoID mangagement is turned on
-- # because a reference to the ID is not being saved, so it will be
-+ # because a reference to the ID is not being saved, so it will be
- # unreserved when the first widget is destroyed.
--
-+
- id = wx.Window.NewControlId()
- b = wx.Button(self.frame, id, 'button')
- b.Destroy()
diff --git a/dev-python/wxpython/files/wxpython-4.0.7-ultimatelistctrl.patch b/dev-python/wxpython/files/wxpython-4.0.7-ultimatelistctrl.patch
deleted file mode 100644
index 9d1cc7649e1f..000000000000
--- a/dev-python/wxpython/files/wxpython-4.0.7-ultimatelistctrl.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From https://github.com/wxWidgets/Phoenix/commit/3eb9eb32dc3285435039f6c420c398665372a1ad
-From 3eb9eb32dc3285435039f6c420c398665372a1ad Mon Sep 17 00:00:00 2001
-From: Glen Whitney <glen@studioinfinity.org>
-Date: Tue, 31 Aug 2021 11:06:27 -0700
-Subject: [PATCH] fix: Correct types of arguments to
- ScrolledWindow.SetScrollbars
-
----
- demo/Mask.py | 2 +-
- demo/OGL.py | 2 +-
- wx/lib/agw/ultimatelistctrl.py | 14 +++++++-------
- 3 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/demo/Mask.py b/demo/Mask.py
-index 5f0c2cdde..109b8f30b 100644
---- a/demo/Mask.py
-+++ b/demo/Mask.py
-@@ -56,7 +56,7 @@ def __init__(self, parent):
- mask = wx.Mask(self.bmp_withcolourmask, wx.WHITE)
- self.bmp_withcolourmask.SetMask(mask)
-
-- self.SetScrollbars(20, 20, 700/20, 460/20)
-+ self.SetScrollbars(20, 20, 700//20, 460//20)
-
- self.Bind(wx.EVT_PAINT, self.OnPaint)
-
-diff --git a/demo/OGL.py b/demo/OGL.py
-index 72ca543dd..d475e5011 100644
---- a/demo/OGL.py
-+++ b/demo/OGL.py
-@@ -272,7 +272,7 @@ def __init__(self, parent, log, frame):
-
- maxWidth = 1000
- maxHeight = 1000
-- self.SetScrollbars(20, 20, maxWidth/20, maxHeight/20)
-+ self.SetScrollbars(20, 20, maxWidth//20, maxHeight//20)
-
- self.log = log
- self.frame = frame
-diff --git a/wx/lib/agw/ultimatelistctrl.py b/wx/lib/agw/ultimatelistctrl.py
-index c60867684..14fc41f86 100644
---- a/wx/lib/agw/ultimatelistctrl.py
-+++ b/wx/lib/agw/ultimatelistctrl.py
-@@ -9654,8 +9654,8 @@ def RecalculatePositions(self, noRefresh=False):
- self._linesPerPage = clientHeight//lineHeight
-
- self.SetScrollbars(SCROLL_UNIT_X, lineHeight,
-- (self.GetHeaderWidth()-decrement)/SCROLL_UNIT_X,
-- (entireHeight + lineHeight - 1)/lineHeight,
-+ (self.GetHeaderWidth()-decrement)//SCROLL_UNIT_X,
-+ (entireHeight + lineHeight - 1)//lineHeight,
- self.GetScrollPos(wx.HORIZONTAL),
- self.GetScrollPos(wx.VERTICAL),
- True)
-@@ -9676,8 +9676,8 @@ def RecalculatePositions(self, noRefresh=False):
- decrement = SCROLL_UNIT_X
-
- self.SetScrollbars(SCROLL_UNIT_X, SCROLL_UNIT_Y,
-- (self.GetHeaderWidth()-decrement)/SCROLL_UNIT_X,
-- (entireHeight + SCROLL_UNIT_Y - 1)/SCROLL_UNIT_Y,
-+ (self.GetHeaderWidth()-decrement)//SCROLL_UNIT_X,
-+ (entireHeight + SCROLL_UNIT_Y - 1)//SCROLL_UNIT_Y,
- self.GetScrollPos(wx.HORIZONTAL),
- self.GetScrollPos(wx.VERTICAL),
- True)
-@@ -9728,8 +9728,8 @@ def RecalculatePositions(self, noRefresh=False):
- line._gi.ExtendWidth(widthMax)
-
- self.SetScrollbars(SCROLL_UNIT_X, lineHeight,
-- (x + SCROLL_UNIT_X)/SCROLL_UNIT_X,
-- (y + lineHeight)/lineHeight,
-+ (x + SCROLL_UNIT_X)//SCROLL_UNIT_X,
-+ (y + lineHeight)//lineHeight,
- self.GetScrollPos(wx.HORIZONTAL),
- self.GetScrollPos(wx.VERTICAL),
- True)
-@@ -9797,7 +9797,7 @@ def RecalculatePositions(self, noRefresh=False):
- break # Everything fits, no second try required.
-
- self.SetScrollbars(SCROLL_UNIT_X, lineHeight,
-- (entireWidth + SCROLL_UNIT_X)/SCROLL_UNIT_X,
-+ (entireWidth + SCROLL_UNIT_X)//SCROLL_UNIT_X,
- 0,
- self.GetScrollPos(wx.HORIZONTAL),
- 0,
diff --git a/dev-python/wxpython/files/wxpython-4.2.0-cython-3.patch b/dev-python/wxpython/files/wxpython-4.2.0-cython-3.patch
new file mode 100644
index 000000000000..aff380108b8e
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-4.2.0-cython-3.patch
@@ -0,0 +1,19 @@
+https://bugs.gentoo.org/911703
+https://github.com/wxWidgets/Phoenix/pull/2441
+
+From aeb557d01e7cd37176ebbf0f1ae6d0b53c115378 Mon Sep 17 00:00:00 2001
+From: Scott Talbert <swt@techie.net>
+Date: Tue, 25 Jul 2023 12:42:32 -0400
+Subject: [PATCH] Fix compatibility with Cython 3.0.0
+
+Remove unused import which seems to be removed in Cython 3.
+--- a/wx/svg/_nanosvg.pyx
++++ b/wx/svg/_nanosvg.pyx
+@@ -42,7 +42,6 @@ for manipulating the SVG shape info in memory.
+
+ import sys
+
+-cimport cython.object
+ from cpython.buffer cimport (
+ Py_buffer, PyObject_CheckBuffer, PyObject_GetBuffer, PyBUF_SIMPLE,
+ PyBuffer_Release)
diff --git a/dev-python/wxpython/files/wxpython-4.2.0-flags.patch b/dev-python/wxpython/files/wxpython-4.2.0-flags.patch
new file mode 100644
index 000000000000..12af1e211b4a
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-4.2.0-flags.patch
@@ -0,0 +1,16 @@
+--- a/buildtools/config.py
++++ b/buildtools/config.py
+@@ -236,9 +236,12 @@ class Configuration(object):
+ for lst in [self.cflags, self.cxxflags]:
+ lst.append('-O3')
+
++ self.cflags += os.environ.get('CFLAGS', '').split()
++ self.cxxflags += os.environ.get('CXXFLAGS', '').split()
++
+ lflags = self.getWxConfigValue('--libs')
+ self.MONOLITHIC = (lflags.find("_xrc") == -1)
+- self.lflags = lflags.split()
++ self.lflags = lflags.split() + os.environ.get('LDFLAGS', '').split()
+
+ self.WXBASENAME = self.getWxConfigValue('--basename')
+ self.WXRELEASE = self.getWxConfigValue('--release')
diff --git a/dev-python/wxpython/files/wxpython-4.2.0-no-attrdict.patch b/dev-python/wxpython/files/wxpython-4.2.0-no-attrdict.patch
new file mode 100644
index 000000000000..b3e4beff2cfe
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-4.2.0-no-attrdict.patch
@@ -0,0 +1,13 @@
+As in https://src.fedoraproject.org/rpms/python-wxpython4/raw/rawhide/f/no-attrdict.patch.
+--- a/buildtools/config.py
++++ b/buildtools/config.py
+@@ -27,8 +27,6 @@ from distutils.dep_util import newer
+
+ import distutils.sysconfig
+
+-from attrdict import AttrDict
+-
+ runSilently = False
+
+ #----------------------------------------------------------------------
+
diff --git a/dev-python/wxpython/files/wxpython-4.2.0-no-webkit.patch b/dev-python/wxpython/files/wxpython-4.2.0-no-webkit.patch
new file mode 100644
index 000000000000..5ab48cef727d
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-4.2.0-no-webkit.patch
@@ -0,0 +1,27 @@
+--- a/wscript
++++ b/wscript
+@@ -244,15 +244,6 @@
+ uselib_store='WXGL', mandatory=True,
+ msg='Finding libs for WXGL')
+
+- if cfg.checkSetup(wxConfigDir, 'wxUSE_WEBVIEW'):
+- wv_libs = '--libs webview,core,net'
+- else:
+- wv_libs = '--libs core,net'
+- conf.check_cfg(path=conf.options.wx_config, package='',
+- args='--cxxflags ' + wv_libs + rpath,
+- uselib_store='WXWEBVIEW', mandatory=True,
+- msg='Finding libs for WXWEBVIEW')
+-
+ conf.check_cfg(path=conf.options.wx_config, package='',
+ args='--cxxflags --libs xml,core,net' + rpath,
+ uselib_store='WXXML', mandatory=True,
+@@ -600,7 +591,6 @@
+ makeETGRule(bld, 'etg/_stc.py', '_stc', 'WXSTC')
+ makeETGRule(bld, 'etg/_html.py', '_html', 'WXHTML')
+ makeETGRule(bld, 'etg/_glcanvas.py', '_glcanvas', 'WXGL')
+- makeETGRule(bld, 'etg/_html2.py', '_html2', 'WXWEBVIEW')
+ makeETGRule(bld, 'etg/_xml.py', '_xml', 'WXXML')
+ makeETGRule(bld, 'etg/_xrc.py', '_xrc', 'WXXRC')
+ makeETGRule(bld, 'etg/_richtext.py', '_richtext', 'WXHTML WXRICHTEXT')
+
diff --git a/dev-python/wxpython/wxpython-4.0.7-r4.ebuild b/dev-python/wxpython/wxpython-4.0.7-r4.ebuild
deleted file mode 100644
index 03f66f04f701..000000000000
--- a/dev-python/wxpython/wxpython-4.0.7-r4.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
-PYTHON_COMPAT=( python3_{9..10} )
-WX_GTK_VER="3.0-gtk3"
-
-DISTUTILS_IN_SOURCE_BUILD="1"
-
-inherit distutils-r1 multiprocessing virtualx wxwidgets
-
-MY_PN="wxPython"
-MY_PV="${PV}.post2"
-
-DESCRIPTION="A blending of the wxWindows C++ class library with Python"
-HOMEPAGE="https://www.wxpython.org/"
-SRC_URI="mirror://pypi/${P:0:1}/${MY_PN}/${MY_PN}-${MY_PV}.tar.gz"
-
-LICENSE="wxWinLL-3"
-SLOT="4.0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
-IUSE="test webkit"
-# Tests broken: #726812, #722716
-RESTRICT="test"
-#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
-RDEPEND="
- >=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:="
-
-BDEPEND="${RDEPEND}
- app-doc/doxygen
- dev-python/setuptools[${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}]
- )"
-
-S="${WORKDIR}/${MY_PN}-${MY_PV}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.0.6-skip-broken-tests.patch"
- "${FILESDIR}/${P}-ultimatelistctrl.patch"
-)
-
-python_prepare_all() {
- if ! use webkit; then
- eapply "${FILESDIR}/${PN}-4.0.6-no-webkit.patch"
- rm unittests/test_webview.py || die
- fi
- # Most of these tests disabled below fail because of the virtx/portage
- # environment, but some fail for unknown reasons.
- rm unittests/test_uiaction.py \
- unittests/test_notifmsg.py \
- unittests/test_mousemanager.py \
- unittests/test_display.py \
- unittests/test_pi_import.py \
- unittests/test_lib_agw_thumbnailctrl.py \
- unittests/test_sound.py || die
-
- distutils-r1_python_prepare_all
-}
-
-src_configure() {
- setup-wxwidgets
-}
-
-python_compile() {
- DOXYGEN=/usr/bin/doxygen ${PYTHON} build.py dox etg --nodoc || die
- ${PYTHON} build.py build_py \
- --use_syswx \
- --no_magic \
- --jobs=$(makeopts_jobs) \
- --release || die
-}
-
-python_install() {
- distutils-r1_python_install --skip-build
-}
-
-python_test() {
- virtx epytest unittests
-}
diff --git a/dev-python/wxpython/wxpython-4.2.0.ebuild b/dev-python/wxpython/wxpython-4.2.0.ebuild
new file mode 100644
index 000000000000..2b9553c2d58c
--- /dev/null
+++ b/dev-python/wxpython/wxpython-4.2.0.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2024 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} )
+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/"
+
+LICENSE="wxWinLL-3"
+SLOT="4.0"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
+IUSE="test webkit"
+# Tests broken: #726812, #722716
+# Nearly there as of 4.2.0 but still quite flaky (inconsistent set of failures)
+RESTRICT="!test? ( 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
+RDEPEND="
+ >=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:=
+"
+DEPEND="${RDEPEND}"
+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}]
+ )
+"
+
+PATCHES=(
+ #"${FILESDIR}/${PN}-4.0.6-skip-broken-tests.patch"
+ "${FILESDIR}/${PN}-4.2.0-no-attrdict.patch"
+ "${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"
+ rm unittests/test_webview.py || die
+ fi
+
+ # Most of these tests disabled below fail because of the virtx/portage
+ # environment, but some fail for unknown reasons.
+ rm unittests/test_uiaction.py \
+ unittests/test_notifmsg.py \
+ unittests/test_mousemanager.py \
+ unittests/test_display.py \
+ unittests/test_pi_import.py \
+ unittests/test_lib_agw_thumbnailctrl.py \
+ unittests/test_sound.py || die
+
+ 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
+ ${PYTHON} build.py sip || die
+
+ # Build the bindings
+ ${PYTHON} build.py build_py \
+ --use_syswx \
+ --no_magic \
+ --jobs="$(makeopts_jobs)" \
+ --verbose \
+ --release || die
+}
+
+python_test() {
+ EPYTEST_DESELECT=(
+ # Aborts, needs investigation
+ unittests/test_utils.py::utils_Tests::test_utilsSomeOtherStuff
+
+ # Failures, need investigation
+ unittests/test_frame.py::frame_Tests::test_frameRestore
+ unittests/test_fswatcher.py::fswatcher_Tests::test_fswatcher1
+ unittests/test_intl.py::intl_Tests::test_intlGetString
+ unittests/test_lib_busy.py::lib_busy_Tests::test_lib_busy5
+ unittests/test_lib_mixins_inspection.py::wit_TestCase::test_App_OnInit
+ unittests/test_lib_pubsub_provider.py::lib_pubsub_Except::test1
+ unittests/test_lib_pubsub_topicmgr.py::lib_pubsub_TopicMgr2_GetOrCreate_DefnProv::test20_UseProvider
+ unittests/test_windowid.py::IdManagerTest::test_newIdRef03
+ unittests/test_auibook.py::auibook_Tests::test_auibook02
+ unittests/test_lib_agw_persist_persistencemanager.py::lib_agw_persist_persistencemanager_Tests::test_persistencemanagerPersistValue
+ unittests/test_lib_agw_persist_persistencemanager.py::lib_agw_persist_persistencemanager_Tests::test_persistencemanagerRestore
+ unittests/test_aboutdlg.py::aboutdlg_Tests::test_aboutdlgGeneric
+ unittests/test_auiframemanager.py::auiframemanager_Tests::test_auiframemanager02
+ )
+
+ # 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
new file mode 100644
index 000000000000..494ce3d38f4c
--- /dev/null
+++ b/dev-python/wxpython/wxpython-4.2.1.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_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-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"
+)
+
+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="$(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/x-wr-timezone/Manifest b/dev-python/x-wr-timezone/Manifest
index e7037785c320..f5f31581ea3f 100644
--- a/dev-python/x-wr-timezone/Manifest
+++ b/dev-python/x-wr-timezone/Manifest
@@ -1 +1,2 @@
-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 cdd1fa6cca2b..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_{9..11} )
-
-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 ~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
new file mode 100644
index 000000000000..21e90d2bdc5f
--- /dev/null
+++ b/dev-python/x-wr-timezone/x-wr-timezone-0.0.6.ebuild
@@ -0,0 +1,34 @@
+# 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..bdc5e6f792b8
--- /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..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/xarray/Manifest b/dev-python/xarray/Manifest
index 1e4a6f898308..47147154332b 100644
--- a/dev-python/xarray/Manifest
+++ b/dev-python/xarray/Manifest
@@ -1,3 +1,3 @@
-DIST xarray-2022.11.0.tar.gz 3053924 BLAKE2B 5e747aeda92ecb5a3ee2ce7a180cd8f3c2735b32d219f567fd254c733f98c62305829be166ddd76a3d2cd884f78aa3e6ceb2cf5aaac8539290c5863d5dea038d SHA512 6dc98746e3bea17a224926e7e1cf6a5f5ef01e8a848c63f5acd43f9da63b81093a7bdbebecb2afc06c9473d1b8fe735c67a847d05f25edd0a32bc0a5a2eda753
-DIST xarray-2022.12.0.tar.gz 3060755 BLAKE2B 449d21234436983b478a022cf5585236738014c6f783039442c3d51870b62a62c61eaada6eb9df5305ada3fd5cdc87bf0201ffae1c835ec7a731c06badb718a7 SHA512 9c5c692392b15711d57254006ebc92cdda08b92b663a577701f50c52253d736d78e2ad027777ad588ffa23d523394576f0cf226986b05b22816d3cec1ea8abb7
-DIST xarray-2023.1.0.tar.gz 3065563 BLAKE2B f2f95b5d8506d8348c8409cc528fc3270a3262ad528031530b2c1ad71697d147df27140ad4ec0b6222368785ceebb8a8fd83c891b8478d2b168a7766f3acb276 SHA512 baddac6ed08816eb06b8153bc3443cc4ae77fc1d17d2cf242f543ce75b37e390f5c7e8c59cc292d1a586a78245cac614cf656a202f8d5ca81c176c4834533c4b
+DIST xarray-2024.1.1.tar.gz 3614037 BLAKE2B cc50fbfa19a2c9229b85b8c7d5d0e7e7f6d3e5a484955fcc81aa0b37839a0b992d2c2f928e4097ca05c7b8294ed1061fbd0c1b7e7c65c9087a940dab97c520ce SHA512 b6447ca2c80b3a3091ac2baba648fef4faa79ffff272360e9726b318b517ede9d2717d1b6f77f03fdacf55527233f1a37c0d114901fe1a265d3e435cf293a487
+DIST xarray-2024.2.0.tar.gz 3634288 BLAKE2B 8d1165360300da5af6d670947e5280052a3d8915768e02448b86ab38283d6d45258a2c4eb91982ba732ccedb3a7afc5f274116c9ee0072d35cdc5631b8a2ca50 SHA512 dcfe6d1f0edab8659664c5399b96d622d2e3df2f85bb7672d9afab6f74294a6449772efde080aaa7323f733c09cbd0f6f037e547be0afa79f39450eead777828
+DIST xarray-2024.3.0.tar.gz 3674424 BLAKE2B a255ad57329a322751fd96833128372e12b175ad11aa41eff21f0c188f7beb4e6ad0f904a4229d44f13222c45c127ac0be77e050ba5032255839733a084da5f0 SHA512 4c7490b2efb4ed1a7278c807f4d200d99407d21bd54287ca5d35300194049a82aef3d8fbedba8f180ddb0d554cbb3f8f63abbb01401d5904f6d29cfa729e2ab0
diff --git a/dev-python/xarray/files/xarray-2024.1.1-pytest-8.patch b/dev-python/xarray/files/xarray-2024.1.1-pytest-8.patch
new file mode 100644
index 000000000000..e85bb6de7b71
--- /dev/null
+++ b/dev-python/xarray/files/xarray-2024.1.1-pytest-8.patch
@@ -0,0 +1,77 @@
+From 306a50e344522a3f321d49d95488f457975fa553 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 31 Jan 2024 11:31:26 +0100
+Subject: [PATCH 1/2] test_dataset: remove incorrect pytest.warns() to fix
+ pytest-8
+
+Remove two incorrect `pytest.warns()` assertions to fix test failures
+with pytest-8.0.0. Prior to this version, an exception raised would
+cause `pytest.warns()` to be ignored. This way fixed in 8.0.0, and now
+warnings must actually be emitted prior to the exception.
+
+In `test_drop_index_labels()`, the exception is raised at the very
+beginning of the function, prior to the deprecation warning.
+
+In `test_rename_multiindex()`, the warning is not emitted at all (it is
+not applicable to the call in question).
+---
+ xarray/tests/test_dataset.py | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/xarray/tests/test_dataset.py b/xarray/tests/test_dataset.py
+index fa9448f2f4..77d172f00b 100644
+--- a/xarray/tests/test_dataset.py
++++ b/xarray/tests/test_dataset.py
+@@ -2724,8 +2724,7 @@ def test_drop_index_labels(self) -> None:
+ assert_identical(data, actual)
+
+ with pytest.raises(ValueError):
+- with pytest.warns(DeprecationWarning):
+- data.drop(["c"], dim="x", errors="wrong_value") # type: ignore[arg-type]
++ data.drop(["c"], dim="x", errors="wrong_value") # type: ignore[arg-type]
+
+ with pytest.warns(DeprecationWarning):
+ actual = data.drop(["a", "b", "c"], "x", errors="ignore")
+@@ -3159,8 +3158,7 @@ def test_rename_multiindex(self) -> None:
+ original.rename({"a": "x"})
+
+ with pytest.raises(ValueError, match=r"'b' conflicts"):
+- with pytest.warns(UserWarning, match="does not create an index anymore"):
+- original.rename({"a": "b"})
++ original.rename({"a": "b"})
+
+ def test_rename_perserve_attrs_encoding(self) -> None:
+ # test propagate attrs/encoding to new variable(s) created from Index object
+
+From 3bc5abf4da35edda1f0c3e9e0d53e39331c1a76b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 31 Jan 2024 11:35:04 +0100
+Subject: [PATCH 2/2] test_groupby: Clear recorded warnings for pytest-8
+ compatibility
+
+Clear the warnings recorded during the `pytest.warns()` use
+in `test_groupby_dims_property`, to fix test failures with pytest-8.0.0.
+Prior to this version, `pytest.warns()` invocation used to capture all
+warnings. Now it only captures the warnings that match the arguments,
+and the remaining warnings are re-emitted and therefore caught by
+`recwarn` fixture. To provide compatibility with both versions of
+pytest, clear the recorded warnings immediately after `pytest.warns()`.
+
+Fixes #8681
+---
+ xarray/tests/test_groupby.py | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/xarray/tests/test_groupby.py b/xarray/tests/test_groupby.py
+index 25fabd5e2b..b65c01fe76 100644
+--- a/xarray/tests/test_groupby.py
++++ b/xarray/tests/test_groupby.py
+@@ -67,6 +67,8 @@ def test_groupby_dims_property(dataset, recwarn) -> None:
+ with pytest.warns(UserWarning, match="The `squeeze` kwarg"):
+ assert dataset.groupby("x").dims == dataset.isel(x=1).dims
+ assert dataset.groupby("y").dims == dataset.isel(y=1).dims
++ # in pytest-8, pytest.warns() no longer clears all warnings
++ recwarn.clear()
+
+ # when squeeze=False, no warning should be raised
+ assert tuple(dataset.groupby("x", squeeze=False).dims) == tuple(
diff --git a/dev-python/xarray/xarray-2022.11.0.ebuild b/dev-python/xarray/xarray-2022.11.0.ebuild
deleted file mode 100644
index 79bd3659aa08..000000000000
--- a/dev-python/xarray/xarray-2022.11.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="N-D labeled arrays and datasets in Python"
-HOMEPAGE="https://xarray.pydata.org/"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-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.3[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.0[${PYTHON_USEDEP}]
-"
-# note: most of the test dependencies are optional
-BDEPEND="
- 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}] )
- )
-"
-
-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
-)
diff --git a/dev-python/xarray/xarray-2022.12.0.ebuild b/dev-python/xarray/xarray-2022.12.0.ebuild
deleted file mode 100644
index a9e54076b603..000000000000
--- a/dev-python/xarray/xarray-2022.12.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="N-D labeled arrays and datasets in Python"
-HOMEPAGE="
- https://xarray.pydata.org/
- https://github.com/pydata/xarray/
- https://pypi.org/project/xarray/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-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.3[${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}] )
- )
-"
-
-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
-)
diff --git a/dev-python/xarray/xarray-2023.1.0.ebuild b/dev-python/xarray/xarray-2023.1.0.ebuild
deleted file mode 100644
index 0d7b5d4fc06c..000000000000
--- a/dev-python/xarray/xarray-2023.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="N-D labeled arrays and datasets in Python"
-HOMEPAGE="
- https://xarray.pydata.org/
- https://github.com/pydata/xarray/
- https://pypi.org/project/xarray/
-"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-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.3[${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}] )
- )
-"
-
-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
-)
diff --git a/dev-python/xarray/xarray-2024.1.1.ebuild b/dev-python/xarray/xarray-2024.1.1.ebuild
new file mode 100644
index 000000000000..e3663cef7f95
--- /dev/null
+++ b/dev-python/xarray/xarray-2024.1.1.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="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 ~loong ~riscv ~s390 x86"
+IUSE="big-endian"
+
+RDEPEND="
+ >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
+ >=dev-python/pandas-1.5[${PYTHON_USEDEP}]
+ >=dev-python/packaging-22[${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
+
+PATCHES=(
+ # https://github.com/pydata/xarray/pull/8686
+ "${FILESDIR}/${P}-pytest-8.patch"
+)
+
+python_test() {
+ local 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
+ # TODO: broken
+ xarray/tests/test_backends.py::TestNetCDF4Data
+ xarray/tests/test_backends.py::TestNetCDF4ViaDaskData
+ # 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
+ )
+
+ 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-2024.2.0.ebuild b/dev-python/xarray/xarray-2024.2.0.ebuild
new file mode 100644
index 000000000000..803311fdb9ad
--- /dev/null
+++ b/dev-python/xarray/xarray-2024.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..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 ~loong ~riscv ~s390 ~x86"
+IUSE="big-endian"
+
+RDEPEND="
+ >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
+ >=dev-python/pandas-1.5[${PYTHON_USEDEP}]
+ >=dev-python/packaging-22[${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
+
+python_test() {
+ local 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
+ # TODO: broken
+ xarray/tests/test_backends.py::TestNetCDF4Data
+ xarray/tests/test_backends.py::TestNetCDF4ViaDaskData
+ # 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
+ )
+ local EPYTEST_IGNORE=(
+ # requires datatree_ subpackage that is not part of public API
+ # https://github.com/pydata/xarray/issues/8768
+ xarray/tests/datatree
+ )
+
+ 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-2024.3.0.ebuild b/dev-python/xarray/xarray-2024.3.0.ebuild
new file mode 100644
index 000000000000..bf0e39683c59
--- /dev/null
+++ b/dev-python/xarray/xarray-2024.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..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 ~loong ~riscv ~s390 ~x86"
+IUSE="big-endian"
+
+RDEPEND="
+ >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
+ >=dev-python/pandas-1.5[${PYTHON_USEDEP}]
+ >=dev-python/packaging-22[${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
+
+python_test() {
+ local 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
+ # TODO: broken
+ xarray/tests/test_backends.py::TestNetCDF4Data
+ xarray/tests/test_backends.py::TestNetCDF4ViaDaskData
+ # 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
+ )
+ local EPYTEST_IGNORE=(
+ # requires datatree_ subpackage that is not part of public API
+ # https://github.com/pydata/xarray/issues/8768
+ xarray/tests/datatree
+ )
+
+ 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/xcffib/Manifest b/dev-python/xcffib/Manifest
index 8106ddd3219f..2f517d261ab7 100644
--- a/dev-python/xcffib/Manifest
+++ b/dev-python/xcffib/Manifest
@@ -1,2 +1 @@
-DIST xcffib-1.1.2.tar.gz 87303 BLAKE2B 0727c1c4c49692d8daff79d77487cfd2780a4279fa2bd49b45d87f48186e9ba0ee3ea46841dc259e7a3b5e301caacdee764762efe96217e138e6f8cedb2a986f SHA512 21606034bd0be2e1cf87b20904b006f7eb6eecbd835eff778f064ecb2bc16d17f48a6acce0eb1a30ca9bd98d810b4b1674bdadc9f6e42c5effee777f7bd138aa
-DIST xcffib-1.2.0.tar.gz 88972 BLAKE2B a8d9be7c3149f696d06474aab85e9f7605d45e9861151192dbb7b51e48483f75adb721e17531432294d19d8d6498b66ba312702ea011e8470c3ac42ac0cd6e23 SHA512 7012833f2877edea92cdc15030543883e2a848264c034a81222626ad48a69fcdac8a88cec2e07e61a80102640baa7fbdf29bbf25e08e59fc896aada08533bb77
+DIST xcffib-1.5.0.tar.gz 89544 BLAKE2B cb3820a53eb7694078e5dbb175951b6dbdc445c06f397898e52319fd8a7633f2d8115f0d096a14b2b3de0c7b07918343d077705814574ff41de2bf06a12812c0 SHA512 aaa426b57d0d8dc45cb6a2036c862af6308fb5781667b8dba3f5ff399fe5e15912860d0bb696ac09f1efd4ffbbdaf7f555ef76039bd660f36f5c6179535b654f
diff --git a/dev-python/xcffib/xcffib-1.1.2.ebuild b/dev-python/xcffib/xcffib-1.1.2.ebuild
deleted file mode 100644
index def4be81f2b4..000000000000
--- a/dev-python/xcffib/xcffib-1.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-DESCRIPTION="A drop in replacement for xpyb, an XCB python binding"
-HOMEPAGE="
- https://github.com/tych0/xcffib/
- https://pypi.org/project/xcffib/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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*')
- dev-python/six[${PYTHON_USEDEP}]
- ${DEPEND}
-"
-BDEPEND="
- test? (
- x11-base/xorg-server[xvfb]
- x11-apps/xeyes
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/xcffib/xcffib-1.2.0.ebuild b/dev-python/xcffib/xcffib-1.2.0.ebuild
deleted file mode 100644
index 982d8e8a2ab7..000000000000
--- a/dev-python/xcffib/xcffib-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
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-DESCRIPTION="A drop in replacement for xpyb, an XCB python binding"
-HOMEPAGE="
- https://github.com/tych0/xcffib/
- https://pypi.org/project/xcffib/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-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*')
- dev-python/six[${PYTHON_USEDEP}]
- ${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
new file mode 100644
index 000000000000..0d55d90c6c0c
--- /dev/null
+++ b/dev-python/xcffib/xcffib-1.5.0.ebuild
@@ -0,0 +1,42 @@
+# 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/xdoctest/Manifest b/dev-python/xdoctest/Manifest
index 438c02b95a3b..b5e7ac7af6d1 100644
--- a/dev-python/xdoctest/Manifest
+++ b/dev-python/xdoctest/Manifest
@@ -1 +1 @@
-DIST xdoctest-1.1.0.gh.tar.gz 208884 BLAKE2B cdba39e0e7108ddf7b637391dc549853754864d407b11c9237e9bc9988686bba2787e37892451bbdd3df4f7a2f01b0c446a658180c6ab06081b494313bbfe066 SHA512 55d3e58969414098a60fc4f825a8323c4e0de88e7f387fd93e61bd7c54fcebd76a66eff8d07850383009fce0e5c301838a051c886a45e4f1159e6210493a057c
+DIST xdoctest-1.1.3.gh.tar.gz 227008 BLAKE2B dcda05cbbc692fe7dd7d6b49d92f980f997e3f5f7025406d2a26019f67486b2dc8f1657d9f8760e3034e6bed9f35d9dd7ab728a07a3e25596dab95327ecc8ba4 SHA512 5ee08f15bc01efee8be55c85aa259615bd433d9be02655ac48d7db93a72c5bf69f73562d7887e56836a74721b90517e797e5a128311438b22ace6f463ecf330d
diff --git a/dev-python/xdoctest/metadata.xml b/dev-python/xdoctest/metadata.xml
index 77f59e36a99d..4c2d31b69065 100644
--- a/dev-python/xdoctest/metadata.xml
+++ b/dev-python/xdoctest/metadata.xml
@@ -10,6 +10,7 @@
<name>Python</name>
</maintainer>
<upstream>
+ <remote-id type="github">Erotemic/xdoctest</remote-id>
<remote-id type="pypi">xdoctest</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/xdoctest/xdoctest-1.1.0.ebuild b/dev-python/xdoctest/xdoctest-1.1.0.ebuild
deleted file mode 100644
index 6cc9d54254a5..000000000000
--- a/dev-python/xdoctest/xdoctest-1.1.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 rewrite of Python's builtin doctest module but without all the weirdness"
-HOMEPAGE="https://github.com/Erotemic/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() {
- 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..623bfa2476da
--- /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..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"
+
+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 95f920325d37..91101265c16c 100644
--- a/dev-python/xkbcommon/Manifest
+++ b/dev-python/xkbcommon/Manifest
@@ -1 +1,2 @@
-DIST xkbcommon-0.8.gh.tar.gz 26951 BLAKE2B 0d2a649e3fee8baa9345ddca97dc7c77b5d9e10d7ca90cbb29bcc3531f4bba3deee39e610e147054e956310506fb79ebb43c85955b787e55046d67c12b851026 SHA512 ae2640ef89e7ace0468e970762c7be4d3f608701f1abea10174f274c622db28a6e6323cdc5bbbbaaa1065d4c4ddf9f67b75d4c34bb2e9a0bb6260778b15a330a
+DIST python-xkbcommon-0.8.gh.tar.gz 26951 BLAKE2B 0d2a649e3fee8baa9345ddca97dc7c77b5d9e10d7ca90cbb29bcc3531f4bba3deee39e610e147054e956310506fb79ebb43c85955b787e55046d67c12b851026 SHA512 ae2640ef89e7ace0468e970762c7be4d3f608701f1abea10174f274c622db28a6e6323cdc5bbbbaaa1065d4c4ddf9f67b75d4c34bb2e9a0bb6260778b15a330a
+DIST python-xkbcommon-1.0.gh.tar.gz 27258 BLAKE2B 3106877f8e87f50453a358eec4e6431642b00a6a2bc23d3088ef22379984869ec84cd042a1ac53dd72783f3005dad1efddf3f87410204b88bfde4f9da0044c97 SHA512 c7793d6f5517771006ff5a9c01deb9a37717157d7171af49ff459dc96b3b16a1d2d4c0f1272b5a8f683390de1e8e6a6ff92472f18828c7e38e0f2a1ee6f34f07
diff --git a/dev-python/xkbcommon/xkbcommon-0.8.ebuild b/dev-python/xkbcommon/xkbcommon-0.8.ebuild
index 1ab3d2580fe4..1ca6444edeeb 100644
--- a/dev-python/xkbcommon/xkbcommon-0.8.ebuild
+++ b/dev-python/xkbcommon/xkbcommon-0.8.ebuild
@@ -3,37 +3,41 @@
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+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://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
- -> ${P}.gh.tar.gz
+ -> ${MY_P}.gh.tar.gz
"
-S="${WORKDIR}"/python-${P}
+S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
+KEYWORDS="amd64 ~riscv ~x86"
# x11-libs/libxkbcommon dep per README
RDEPEND="
>=x11-libs/libxkbcommon-${PV}
- virtual/python-cffi[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
"
DEPEND="${RDEPEND}"
distutils_enable_tests pytest
python_test() {
- # No die deliberately as sometimes it doesn't exist
- rm -r xkbcommon
+ rm -rf xkbcommon || die
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..be6fb2d9ee7f
--- /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..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/xlrd/xlrd-2.0.1-r1.ebuild b/dev-python/xlrd/xlrd-2.0.1-r1.ebuild
index 3e06f35afc74..0aee9a5e4cfa 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} 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 ~sparc-solaris ~x86-solaris"
+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 02ad0ce8bd0f..6be404ad2535 100644
--- a/dev-python/xlsxwriter/Manifest
+++ b/dev-python/xlsxwriter/Manifest
@@ -1,5 +1 @@
-DIST XlsxWriter-RELEASE_3.0.3.tar.gz 35519702 BLAKE2B f4dfa6b286dda94a1a44d8168b8e17f7a37f2f59a23aa3a5ed0efa46b5d8bdcdb831e99a61924e22755c6a921c23f5c540c048152cd07363841ff09a49549c79 SHA512 92a53226aa9ee9f8493fe7171ce752f3a13ef8f3107aecbef896f17022e93bd7dbccb5e619fcbbb3598102030b190d75508d4dacce20b9643eead59a4441f6aa
-DIST XlsxWriter-RELEASE_3.0.4.gh.tar.gz 35033608 BLAKE2B 49a54380f1753077f0d9e56024a09ffd9d26540daeb03c270e892ae986c8e36fb0ce74ab96e62b1cb15adebbb51ba2093b6b1e356077433537af62ededd79d5c SHA512 e10bbbcc975ee3c2395c642c7a04e53d792b8c739c9f5acbb3858b47963a0f9b68ac565d96d4a9f9c87b104fc02b8930b0629e753d53735892e10bd17e5c1fcc
-DIST XlsxWriter-RELEASE_3.0.5.gh.tar.gz 35038123 BLAKE2B 8ab88d1cf8decb24a1adcd2d2720ab2c90a87088441dbf1fb6a039977ddeb1824b2c29e38aedfb2a1d5cc9adb99154ee36a4eef18876826082d34c87ff7dafdd SHA512 74c3708cd81bec44865cfdcbd3ae41c5794d26d176a3c5c22133a32e6000eda7a2d28292d81406d277c351c27a8c4ce30b0d9b2152fc9119e903fe264f7be406
-DIST XlsxWriter-RELEASE_3.0.6.gh.tar.gz 35205053 BLAKE2B cd70cfdba9def71806ad055a40fba03620e50223fd6be8dbab548ea8890accf1e65d8e82a87ce458bb73f5b1a08cd80cd4a67817f0696a5928f1f371ce7f7957 SHA512 c993a640e01f3da67069b93283bc0df7e84bebc76c483465e8a3aabb36282588fa6c7c63f711c55982a5679359a2ef475064e27c1dbb063f8770624797928bef
-DIST XlsxWriter-RELEASE_3.0.7.gh.tar.gz 35214702 BLAKE2B 8af7a7da9f2e6fd3a8f794f906935ed9dc1389a710d8b60fbf74e419829e6d233ad122d8ce75de93a6d3229e394277fadd76239aac73e8949f7c4737430a0859 SHA512 e80b9cfa741984db5b0aebd083c0a3c12f987b1a851088bc16e52b56cadb69feb1b795c1061ebde56c7ab1bf17d7899e90b42facd45bcacf5ce6c7070208e6e9
+DIST XlsxWriter-RELEASE_3.2.0.gh.tar.gz 24079667 BLAKE2B ee6f35d2df8edef3a1282bd821b1eaa3d3a79bb9d962df9d50394519905a0344e0b747a58d3bf5fc1323baefde3b9e11a2c5e7e77be2cc02bab716b0a3cf3226 SHA512 b36ee896d01e5a6369f4f42e69338b69b9ea5ee4919eea9361c0f5f6ff012ca153c708ff1c719b82ce067c5d57392e3b72c47e828a7e832953d0c06de9f65962
diff --git a/dev-python/xlsxwriter/xlsxwriter-3.0.3.ebuild b/dev-python/xlsxwriter/xlsxwriter-3.0.3.ebuild
deleted file mode 100644
index a544adf3c0d6..000000000000
--- a/dev-python/xlsxwriter/xlsxwriter-3.0.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_{9..11} 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}.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
diff --git a/dev-python/xlsxwriter/xlsxwriter-3.0.4.ebuild b/dev-python/xlsxwriter/xlsxwriter-3.0.4.ebuild
deleted file mode 100644
index b9643a5b3c75..000000000000
--- a/dev-python/xlsxwriter/xlsxwriter-3.0.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} 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
diff --git a/dev-python/xlsxwriter/xlsxwriter-3.0.5.ebuild b/dev-python/xlsxwriter/xlsxwriter-3.0.5.ebuild
deleted file mode 100644
index b9643a5b3c75..000000000000
--- a/dev-python/xlsxwriter/xlsxwriter-3.0.5.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_{9..11} 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
diff --git a/dev-python/xlsxwriter/xlsxwriter-3.0.6.ebuild b/dev-python/xlsxwriter/xlsxwriter-3.0.6.ebuild
deleted file mode 100644
index b9643a5b3c75..000000000000
--- a/dev-python/xlsxwriter/xlsxwriter-3.0.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_{9..11} 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
diff --git a/dev-python/xlsxwriter/xlsxwriter-3.0.7.ebuild b/dev-python/xlsxwriter/xlsxwriter-3.0.7.ebuild
deleted file mode 100644
index b9643a5b3c75..000000000000
--- a/dev-python/xlsxwriter/xlsxwriter-3.0.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_{9..11} 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
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..23285dc29da9
--- /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..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}
+
+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/metadata.xml b/dev-python/xlwt/metadata.xml
index be0063d5e711..9db189d161b5 100644
--- a/dev-python/xlwt/metadata.xml
+++ b/dev-python/xlwt/metadata.xml
@@ -14,6 +14,7 @@
</longdescription>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">python-excel/xlwt</remote-id>
<remote-id type="pypi">xlwt</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/xlwt/xlwt-1.3.0-r2.ebuild b/dev-python/xlwt/xlwt-1.3.0-r2.ebuild
index f8a5fdfa0e78..aab66af25710 100644
--- a/dev-python/xlwt/xlwt-1.3.0-r2.ebuild
+++ b/dev-python/xlwt/xlwt-1.3.0-r2.ebuild
@@ -4,9 +4,9 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Python library to create spreadsheet files compatible with Excel"
HOMEPAGE="
@@ -14,7 +14,6 @@ HOMEPAGE="
https://github.com/python-excel/xlwt/
https://pypi.org/project/xlwt/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/xmlschema/Manifest b/dev-python/xmlschema/Manifest
index 7d772991a78e..e7dbee3974b8 100644
--- a/dev-python/xmlschema/Manifest
+++ b/dev-python/xmlschema/Manifest
@@ -1 +1,4 @@
-DIST xmlschema-2.1.1.tar.gz 482988 BLAKE2B 8bcd66518e99b6df96a48408830388cba33530b8787ab733f5710e8ebdee3243cbbe8968c25060396c4d0e577dd40ae2438dab7afae5958386c886f235b3d96c SHA512 2c55de21ab4aaba9f499a0b348e60a50939af41b5ce43787c339ce86e4067681acf28b155bfba90346b1e8d976c468ad0ca21f73f76afc55bd700b1866bba945
+DIST xmlschema-3.1.0.tar.gz 566760 BLAKE2B d8d1dc61e5eb6897d128ba9ed5257b65190af948946b7ac5d5b9b5fdeb14df42e8a298bc0ed7cdec58cabd237e0c950465bf58be702610496a16000a2f23f354 SHA512 26d6586ede499907bc2b7f0b58c75460d4bfa3761bc029a042e32ede2237234daa8be7b4602da7dec2e28aa945f24e1726fd445189ec31ce4af89c9c5762e1ef
+DIST xmlschema-3.2.0.tar.gz 570442 BLAKE2B 0910a417a608e99850874a15ed608b0e33abb4a3a76c0bd0101eb3fdef89087f1f1c44ca59bc08ee6992eee24ed433bb602626fef0ffe76b671f8a5b33d662a7 SHA512 90d3e6b92054ec9eaead6c79543dceb819b75e94c19e2991671708443cb713fc9b7925d1ae09fe40d1522a27369b729528ab758087b9de0cc0157227abb95f3a
+DIST xmlschema-3.2.1.tar.gz 571883 BLAKE2B 1c5202af6f3e1aca99898442f0efb47fd72c0f32e42d0ad4d527e5f4849195b8298656ba214c8578ed5a3cabca3232102e778667062139955fbae39610d90559 SHA512 ea65d79c628eca1b4becefee0f8a79e5a5c9a43072747d7b5b312e152c953a45727e3945bd2755a37ef28e2f010148879ca32a42516254eccba0bc3bb371c2ff
+DIST xmlschema-3.3.0.tar.gz 573034 BLAKE2B 1d403483ee4b80ddcfae3ece41ba2b8edb3e0297ac7ad8d531fdfdbc4b4eb50736b728b0aefde08bd8d06e7f6b0636762b098095b06c6ad1c03928d102e4d23f SHA512 3c07d740f26901d4dc481bd83566fed1c48e48b542f14601d30b3c593a606854939052a6b6af20755e0ff6b56dbeb23b4a96519e1d91abc7145d80745f5478b4
diff --git a/dev-python/xmlschema/xmlschema-2.1.1.ebuild b/dev-python/xmlschema/xmlschema-2.1.1.ebuild
deleted file mode 100644
index 7d20ffc548bc..000000000000
--- a/dev-python/xmlschema/xmlschema-2.1.1.ebuild
+++ /dev/null
@@ -1,38 +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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="An XML Schema validator and decoder"
-HOMEPAGE="
- https://github.com/sissaschool/xmlschema/
- https://pypi.org/project/xmlschema/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
-
-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-4[${PYTHON_USEDEP}]
- >=dev-python/elementpath-3.0.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/xmlschema/xmlschema-3.1.0.ebuild b/dev-python/xmlschema/xmlschema-3.1.0.ebuild
new file mode 100644
index 000000000000..9ee81ded502c
--- /dev/null
+++ b/dev-python/xmlschema/xmlschema-3.1.0.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..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.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/xmlschema/xmlschema-3.2.0.ebuild b/dev-python/xmlschema/xmlschema-3.2.0.ebuild
new file mode 100644
index 000000000000..d38ccad42ce5
--- /dev/null
+++ b/dev-python/xmlschema/xmlschema-3.2.0.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..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.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/xmlschema/xmlschema-3.2.1.ebuild b/dev-python/xmlschema/xmlschema-3.2.1.ebuild
new file mode 100644
index 000000000000..d38ccad42ce5
--- /dev/null
+++ b/dev-python/xmlschema/xmlschema-3.2.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..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.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/xmlschema/xmlschema-3.3.0.ebuild b/dev-python/xmlschema/xmlschema-3.3.0.ebuild
new file mode 100644
index 000000000000..d38ccad42ce5
--- /dev/null
+++ b/dev-python/xmlschema/xmlschema-3.3.0.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..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.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
new file mode 100644
index 000000000000..7a3a87d3cb5a
--- /dev/null
+++ b/dev-python/xmlsec/Manifest
@@ -0,0 +1,2 @@
+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/python-xmlsec/files/python-xmlsec-1.3.11-fix-xml-testfail.patch b/dev-python/xmlsec/files/xmlsec-1.3.11-fix-xml-testfail.patch
index 3e7ab8829c2f..3e7ab8829c2f 100644
--- a/dev-python/python-xmlsec/files/python-xmlsec-1.3.11-fix-xml-testfail.patch
+++ b/dev-python/xmlsec/files/xmlsec-1.3.11-fix-xml-testfail.patch
diff --git a/dev-python/xmlsec/metadata.xml b/dev-python/xmlsec/metadata.xml
new file mode 100644
index 000000000000..c75425b41ecf
--- /dev/null
+++ b/dev-python/xmlsec/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>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">xmlsec/python-xmlsec</remote-id>
+ <remote-id type="pypi">xmlsec</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/xmlsec/xmlsec-1.3.12-r4.ebuild b/dev-python/xmlsec/xmlsec-1.3.12-r4.ebuild
new file mode 100644
index 000000000000..4dc3a59da936
--- /dev/null
+++ b/dev-python/xmlsec/xmlsec-1.3.12-r4.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=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..5372479ee926
--- /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..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"
+
+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 0a6ade4e0314..c21ed017a094 100644
--- a/dev-python/xmltodict/xmltodict-0.13.0-r1.ebuild
+++ b/dev-python/xmltodict/xmltodict-0.13.0-r1.ebuild
@@ -3,18 +3,17 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
+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/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
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"
distutils_enable_tests pytest
diff --git a/dev-python/xvfbwrapper/xvfbwrapper-0.2.9-r1.ebuild b/dev-python/xvfbwrapper/xvfbwrapper-0.2.9-r1.ebuild
new file mode 100644
index 000000000000..18b86c7f74b1
--- /dev/null
+++ b/dev-python/xvfbwrapper/xvfbwrapper-0.2.9-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 wrapper for running a display inside X virtual framebuffer"
+HOMEPAGE="
+ https://github.com/cgoldberg/xvfbwrapper/
+ https://pypi.org/project/xvfbwrapper/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="
+ x11-base/xorg-server[xvfb]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/xvfbwrapper/xvfbwrapper-0.2.9.ebuild b/dev-python/xvfbwrapper/xvfbwrapper-0.2.9.ebuild
deleted file mode 100644
index 1b2a0ed55f4d..000000000000
--- a/dev-python/xvfbwrapper/xvfbwrapper-0.2.9.ebuild
+++ /dev/null
@@ -1,20 +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 wrapper for running a display inside X virtual framebuffer"
-HOMEPAGE="https://github.com/cgoldberg/xvfbwrapper https://pypi.org/project/xvfbwrapper/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="x11-base/xorg-server[xvfb]"
-
-distutils_enable_tests unittest
diff --git a/dev-python/xxhash/Manifest b/dev-python/xxhash/Manifest
index eb61887a7efd..e196e2c6a5a9 100644
--- a/dev-python/xxhash/Manifest
+++ b/dev-python/xxhash/Manifest
@@ -1,2 +1 @@
-DIST xxhash-3.1.0.tar.gz 74389 BLAKE2B c2c7467aca51a397366c9de47104831f2d3d732b6b287e3fce4a0481d21bf059330dd63e1372b8da3aa9354efbc3de6ba106501d86c907b5783f7192e5e7c9a1 SHA512 a1d78dbbcc8fc8e41b6bc1d9e571df6951d4545fe61b198427db6f8c99058a095cf20e09951acc7bf9b432963f8b234741ae1f15ebb19972e69be0c59c9eb165
-DIST xxhash-3.2.0.tar.gz 74561 BLAKE2B d2c32b9a556eaaa67d961e130b017ff82944fbec983f24e0356436a7a23927faaba118328eff508e288e0757a1379b5ff88a48c2130eb9b3cf347e178cfc810d SHA512 bbe903b95de3e91177064986adc5c945a9b7058650ea2b5cc10ee162a15a42909dc69f95b86081b8d276960f309b4bacf895ad263a9d9188fa66bb216d76dcd5
+DIST xxhash-3.4.1.tar.gz 84220 BLAKE2B 9bf0bc3ea15adbcf9c1b0dd526f406bd20ca11b6c25c2c771e34952d9bd3d2e85d121304bebfe47590573b4da73acf28d1726d0c628239ec9591738462cee3c0 SHA512 ab3c1fa5ce3ebefa13f87c60a700a897a080c576f1ce492bae9c47eb24a9d182cc8e71bfed81c8f0413ee261fd5522bdf44187043c9703958b72fa77e46a8953
diff --git a/dev-python/xxhash/xxhash-3.1.0.ebuild b/dev-python/xxhash/xxhash-3.1.0.ebuild
deleted file mode 100644
index 66b89383752c..000000000000
--- a/dev-python/xxhash/xxhash-3.1.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 binding for the xxHash library"
-HOMEPAGE="
- https://github.com/ifduyue/python-xxhash/
- https://pypi.org/project/xxhash/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
-
-DEPEND="
- >=dev-libs/xxhash-0.8.0
-"
-RDEPEND="
- ${DEPEND}
-"
-
-distutils_enable_tests unittest
-
-python_configure_all() {
- export XXHASH_LINK_SO=1
-}
-
-python_test() {
- cd tests || die
- eunittest
-}
diff --git a/dev-python/xxhash/xxhash-3.2.0.ebuild b/dev-python/xxhash/xxhash-3.2.0.ebuild
deleted file mode 100644
index 9ccc82570725..000000000000
--- a/dev-python/xxhash/xxhash-3.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 binding for the xxHash library"
-HOMEPAGE="
- https://github.com/ifduyue/python-xxhash/
- https://pypi.org/project/xxhash/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-DEPEND="
- >=dev-libs/xxhash-0.8.0
-"
-RDEPEND="
- ${DEPEND}
-"
-
-distutils_enable_tests unittest
-
-python_configure_all() {
- export XXHASH_LINK_SO=1
-}
-
-python_test() {
- cd tests || die
- eunittest
-}
diff --git a/dev-python/xxhash/xxhash-3.4.1.ebuild b/dev-python/xxhash/xxhash-3.4.1.ebuild
new file mode 100644
index 000000000000..20d12a911146
--- /dev/null
+++ b/dev-python/xxhash/xxhash-3.4.1.ebuild
@@ -0,0 +1,38 @@
+# 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 for the xxHash library"
+HOMEPAGE="
+ https://github.com/ifduyue/python-xxhash/
+ https://pypi.org/project/xxhash/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+
+DEPEND="
+ >=dev-libs/xxhash-0.8.0
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_tests unittest
+
+python_configure_all() {
+ export XXHASH_LINK_SO=1
+}
+
+python_test() {
+ cd tests || die
+ eunittest
+}
diff --git a/dev-python/yamlpath/Manifest b/dev-python/yamlpath/Manifest
deleted file mode 100644
index 03ad0cc241b7..000000000000
--- a/dev-python/yamlpath/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST yamlpath-3.7.0.gh.tar.gz 224352 BLAKE2B 9a5483847fa765c3f06a4746b6c364ba66657f739383f0eeaac4f639bf44762bf1d3b7c468ec376d2d8d8bc6669daa60512f2202de6ec3407a5dd674d022f50e SHA512 d0ca007065f5efdc7c876d9596b37028881c4b3782f478f4dd87525cc6e316005bf23b930ea723bf524bc455c492c9eb07c50ccfc9333d9d794f110fa63dd268
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.7.0.ebuild b/dev-python/yamlpath/yamlpath-3.7.0.ebuild
deleted file mode 100644
index ad955b668138..000000000000
--- a/dev-python/yamlpath/yamlpath-3.7.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/yapf/Manifest b/dev-python/yapf/Manifest
index 36aac5ba5a5a..9798bd2314b6 100644
--- a/dev-python/yapf/Manifest
+++ b/dev-python/yapf/Manifest
@@ -1 +1 @@
-DIST yapf-0.32.0.gh.tar.gz 178621 BLAKE2B b2132e3fffb96113700e322bba3f49ded0fe417de901522793564d5830951e9f2017c576fb89c5e423f4f547c95659040c2a4fc923887d9fb941e219b21f0cf6 SHA512 c1a05a04f7558a5b51899c29010bedc105c4a4bad4b5358a903a22a39f451e03369d2b4e670ecb44a857a8fef2bf438d9da0afcbdd3a336cf037bbf480d19878
+DIST yapf-0.40.2.gh.tar.gz 229593 BLAKE2B a3e614eb10577af5a627f7ddd916eee5792c02cdda3dfab7008cfec91a4ad8588be8ee6cbdb82fb5967dba21ed2760dcf2d4d99783749ec5df025bd189111fd5 SHA512 be71b622efde162d64e5143c2a27de254a3791c229046309a083fa0df00afb4170cf0427c4402d3c621ca2120210ba15aa6d124ef7b8790c4b72705f5c5342e3
diff --git a/dev-python/yapf/files/yapf-0.32.0-tomli.patch b/dev-python/yapf/files/yapf-0.32.0-tomli.patch
deleted file mode 100644
index bdbfd96112a2..000000000000
--- a/dev-python/yapf/files/yapf-0.32.0-tomli.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-From 5909ba87f79ea1d687e5836c62dc82a116f4229f Mon Sep 17 00:00:00 2001
-From: Eric McDonald <221418+emcd@users.noreply.github.com>
-Date: Wed, 30 Nov 2022 14:23:50 -0800
-Subject: [PATCH] Prevent crashes against valid 'pyproject.toml'. (#1040)
-
-* Replace 'toml' dependency with 'tomli', which fully supports TOML 1.
-
-Co-authored-by: Eric McDonald <emcd@users.noreply.github.com>
----
- setup.py | 2 +-
- yapf/yapflib/file_resources.py | 15 ++++++++-------
- yapf/yapflib/style.py | 25 ++++++++++++++-----------
- yapftests/file_resources_test.py | 10 +++++-----
- yapftests/style_test.py | 4 ++--
- 5 files changed, 30 insertions(+), 26 deletions(-)
-
-diff --git a/yapf/yapflib/file_resources.py b/yapf/yapflib/file_resources.py
-index b5e2612b..6809ca9f 100644
---- a/yapf/yapflib/file_resources.py
-+++ b/yapf/yapflib/file_resources.py
-@@ -49,14 +49,15 @@ def _GetExcludePatternsFromPyprojectToml(filename):
- """Get a list of file patterns to ignore from pyproject.toml."""
- ignore_patterns = []
- try:
-- import toml
-+ import tomli as tomllib
- except ImportError:
- raise errors.YapfError(
-- "toml package is needed for using pyproject.toml as a "
-+ "tomli package is needed for using pyproject.toml as a "
- "configuration file")
-
- if os.path.isfile(filename) and os.access(filename, os.R_OK):
-- pyproject_toml = toml.load(filename)
-+ with open(filename, 'rb') as fd:
-+ pyproject_toml = tomllib.load(fd)
- ignore_patterns = pyproject_toml.get('tool',
- {}).get('yapfignore',
- {}).get('ignore_patterns', [])
-@@ -127,19 +128,19 @@ def GetDefaultStyleForDir(dirname, default_style=style.DEFAULT_STYLE):
- # See if we have a pyproject.toml file with a '[tool.yapf]' section.
- config_file = os.path.join(dirname, style.PYPROJECT_TOML)
- try:
-- fd = open(config_file)
-+ fd = open(config_file, 'rb')
- except IOError:
- pass # It's okay if it's not there.
- else:
- with fd:
- try:
-- import toml
-+ import tomli as tomllib
- except ImportError:
- raise errors.YapfError(
-- "toml package is needed for using pyproject.toml as a "
-+ "tomli package is needed for using pyproject.toml as a "
- "configuration file")
-
-- pyproject_toml = toml.load(config_file)
-+ pyproject_toml = tomllib.load(fd)
- style_dict = pyproject_toml.get('tool', {}).get('yapf', None)
- if style_dict is not None:
- return config_file
-diff --git a/yapf/yapflib/style.py b/yapf/yapflib/style.py
-index 233a64e6..c8397b32 100644
---- a/yapf/yapflib/style.py
-+++ b/yapf/yapflib/style.py
-@@ -746,17 +746,18 @@ def _CreateConfigParserFromConfigFile(config_filename):
- # Provide a more meaningful error here.
- raise StyleConfigError(
- '"{0}" is not a valid style or file path'.format(config_filename))
-- with open(config_filename) as style_file:
-- config = py3compat.ConfigParser()
-- if config_filename.endswith(PYPROJECT_TOML):
-- try:
-- import toml
-- except ImportError:
-- raise errors.YapfError(
-- "toml package is needed for using pyproject.toml as a "
-- "configuration file")
--
-- pyproject_toml = toml.load(style_file)
-+ config = py3compat.ConfigParser()
-+
-+ if config_filename.endswith(PYPROJECT_TOML):
-+ try:
-+ import tomli as tomllib
-+ except ImportError:
-+ raise errors.YapfError(
-+ "tomli package is needed for using pyproject.toml as a "
-+ "configuration file")
-+
-+ with open(config_filename, 'rb') as style_file:
-+ pyproject_toml = tomllib.load(style_file)
- style_dict = pyproject_toml.get("tool", {}).get("yapf", None)
- if style_dict is None:
- raise StyleConfigError(
-@@ -766,7 +767,9 @@ def _CreateConfigParserFromConfigFile(config_filename):
- config.set('style', k, str(v))
- return config
-
-+ with open(config_filename) as style_file:
- config.read_file(style_file)
-+
- if config_filename.endswith(SETUP_CONFIG):
- if not config.has_section('yapf'):
- raise StyleConfigError(
-diff --git a/yapftests/file_resources_test.py b/yapftests/file_resources_test.py
-index 31184c4a..f54f393d 100644
---- a/yapftests/file_resources_test.py
-+++ b/yapftests/file_resources_test.py
-@@ -75,7 +75,7 @@ def test_get_exclude_file_patterns_from_yapfignore_with_wrong_syntax(self):
-
- def test_get_exclude_file_patterns_from_pyproject(self):
- try:
-- import toml
-+ import tomli
- except ImportError:
- return
- local_ignore_file = os.path.join(self.test_tmpdir, 'pyproject.toml')
-@@ -93,7 +93,7 @@ def test_get_exclude_file_patterns_from_pyproject(self):
- @unittest.skipUnless(py3compat.PY36, 'Requires Python 3.6')
- def test_get_exclude_file_patterns_from_pyproject_with_wrong_syntax(self):
- try:
-- import toml
-+ import tomli
- except ImportError:
- return
- local_ignore_file = os.path.join(self.test_tmpdir, 'pyproject.toml')
-@@ -109,7 +109,7 @@ def test_get_exclude_file_patterns_from_pyproject_with_wrong_syntax(self):
-
- def test_get_exclude_file_patterns_from_pyproject_no_ignore_section(self):
- try:
-- import toml
-+ import tomli
- except ImportError:
- return
- local_ignore_file = os.path.join(self.test_tmpdir, 'pyproject.toml')
-@@ -122,7 +122,7 @@ def test_get_exclude_file_patterns_from_pyproject_no_ignore_section(self):
-
- def test_get_exclude_file_patterns_from_pyproject_ignore_section_empty(self):
- try:
-- import toml
-+ import tomli
- except ImportError:
- return
- local_ignore_file = os.path.join(self.test_tmpdir, 'pyproject.toml')
-@@ -192,7 +192,7 @@ def test_setup_config(self):
- def test_pyproject_toml(self):
- # An empty pyproject.toml file should not be used
- try:
-- import toml
-+ import tomli
- except ImportError:
- return
-
-diff --git a/yapftests/style_test.py b/yapftests/style_test.py
-index 8a37f953..d2203d9a 100644
---- a/yapftests/style_test.py
-+++ b/yapftests/style_test.py
-@@ -230,7 +230,7 @@ def testErrorUnknownStyleOption(self):
-
- def testPyprojectTomlNoYapfSection(self):
- try:
-- import toml
-+ import tomli
- except ImportError:
- return
-
-@@ -242,7 +242,7 @@ def testPyprojectTomlNoYapfSection(self):
-
- def testPyprojectTomlParseYapfSection(self):
- try:
-- import toml
-+ import tomli
- except ImportError:
- return
-
diff --git a/dev-python/yapf/yapf-0.32.0-r1.ebuild b/dev-python/yapf/yapf-0.32.0-r1.ebuild
deleted file mode 100644
index d8665695e7b3..000000000000
--- a/dev-python/yapf/yapf-0.32.0-r1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2018-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 formatter for Python files"
-HOMEPAGE="
- https://github.com/google/yapf/
- https://pypi.org/project/yapf/
-"
-SRC_URI="
- https://github.com/google/yapf/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- dev-python/tomli[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-tomli.patch
-)
-
-python_test() {
- "${EPYTHON}" -m unittest discover -v -p '*_test.py' ||
- die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/yapf/yapf-0.40.2.ebuild b/dev-python/yapf/yapf-0.40.2.ebuild
new file mode 100644
index 000000000000..51d5f1bcb4c2
--- /dev/null
+++ b/dev-python/yapf/yapf-0.40.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2018-2023 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 formatter for Python files"
+HOMEPAGE="
+ https://github.com/google/yapf/
+ https://pypi.org/project/yapf/
+"
+SRC_URI="
+ https://github.com/google/yapf/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/importlib-metadata-6.6.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.5.1[${PYTHON_USEDEP}]
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ "${EPYTHON}" -m unittest discover -v -p '*_test.py' ||
+ die "Tests failed with ${EPYTHON}"
+}
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 62f586cc4b45..000000000000
--- a/dev-python/yappi/yappi-1.4.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="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/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/files/yapsy-1.12.2-py312.patch b/dev-python/yapsy/files/yapsy-1.12.2-py312.patch
new file mode 100644
index 000000000000..6842a495af2d
--- /dev/null
+++ b/dev-python/yapsy/files/yapsy-1.12.2-py312.patch
@@ -0,0 +1,138 @@
+From 29286320673f9e853559cf20aeb3456e541afbd4 Mon Sep 17 00:00:00 2001
+From: Ameya Vikram Singh <ameya.v.singh@gmail.com>
+Date: Mon, 6 Feb 2023 13:31:23 +0530
+Subject: [PATCH] Remove Deprecated API's
+
+* Replaced packaging.version instead of distutils.version
+* Replaced imp module to importlib
+
+**Note:** Probably Deprecates Python 2.7 supports, and maybe some initial versions of Python 3.x.
+
+Signed-off-by: Ameya Vikram Singh <ameya.v.singh@gmail.com>
+---
+ test/test_PluginInfo.py | 3 ++-
+ yapsy/PluginInfo.py | 6 +++---
+ yapsy/PluginManager.py | 17 ++++++++++-------
+ yapsy/VersionedPluginManager.py | 8 ++++----
+ 4 files changed, 19 insertions(+), 15 deletions(-)
+
+diff --git a/test/test_PluginInfo.py b/test/test_PluginInfo.py
+index 0863671..29c736a 100644
+--- a/test/test_PluginInfo.py
++++ b/test/test_PluginInfo.py
+@@ -6,6 +6,7 @@ import unittest
+
+
+ from yapsy.PluginInfo import PluginInfo
++from packaging.version import Version
+
+
+ class PluginInfoTest(unittest.TestCase):
+@@ -20,7 +21,7 @@ class PluginInfoTest(unittest.TestCase):
+ self.assertEqual(None,pi.plugin_object)
+ self.assertEqual([],pi.categories)
+ self.assertEqual(None,pi.error)
+- self.assertEqual("0.0",pi.version)
++ self.assertEqual(Version("0.0"),pi.version)
+ self.assertEqual("Unknown",pi.author)
+ self.assertEqual("Unknown",pi.copyright)
+ self.assertEqual("None",pi.website)
+diff --git a/yapsy/PluginInfo.py b/yapsy/PluginInfo.py
+index 69d220e..700374e 100644
+--- a/yapsy/PluginInfo.py
++++ b/yapsy/PluginInfo.py
+@@ -12,7 +12,7 @@ API
+ """
+
+ from yapsy.compat import ConfigParser
+-from distutils.version import StrictVersion
++from packaging.version import Version
+
+
+ class PluginInfo(object):
+@@ -105,7 +105,7 @@ class PluginInfo(object):
+
+
+ def __getVersion(self):
+- return StrictVersion(self.details.get("Documentation","Version"))
++ return Version(self.details.get("Documentation","Version"))
+
+ def setVersion(self, vstring):
+ """
+@@ -114,7 +114,7 @@ class PluginInfo(object):
+ Used by subclasses to provide different handling of the
+ version number.
+ """
+- if isinstance(vstring,StrictVersion):
++ if isinstance(vstring,Version):
+ vstring = str(vstring)
+ if not self.details.has_section("Documentation"):
+ self.details.add_section("Documentation")
+diff --git a/yapsy/PluginManager.py b/yapsy/PluginManager.py
+index 81a7c2b..b72de93 100644
+--- a/yapsy/PluginManager.py
++++ b/yapsy/PluginManager.py
+@@ -128,10 +128,7 @@ API
+
+ import sys
+ import os
+-try:
+- import importlib.abc.Loader as imp
+-except ImportError:
+- import imp
++import importlib
+
+ from yapsy import log
+ from yapsy import NormalizePluginNameForModuleName
+@@ -577,11 +574,17 @@ class PluginManager(object):
+ .. note:: Isolated and provided to be reused, but not to be reimplemented !
+ """
+ # use imp to correctly load the plugin as a module
++ candidate_module = None
+ if os.path.isdir(candidate_filepath):
+- candidate_module = imp.load_module(plugin_module_name,None,candidate_filepath,("py","r",imp.PKG_DIRECTORY))
++ if (spec := importlib.util.spec_from_file_location(candidate_filepath.split('/')[-1], candidate_filepath + "/__init__.py")) is not None:
++ candidate_module = importlib.util.module_from_spec(spec)
++ sys.modules[plugin_module_name] = candidate_module
++ spec.loader.exec_module(candidate_module)
+ else:
+- with open(candidate_filepath+".py","r") as plugin_file:
+- candidate_module = imp.load_module(plugin_module_name,plugin_file,candidate_filepath+".py",("py","r",imp.PY_SOURCE))
++ if (spec := importlib.util.spec_from_file_location(candidate_filepath.split('/')[-1], candidate_filepath + ".py")) is not None:
++ candidate_module = importlib.util.module_from_spec(spec)
++ sys.modules[plugin_module_name] = candidate_module
++ spec.loader.exec_module(candidate_module)
+ return candidate_module
+
+ def instanciateElementWithImportInfo(self, element, element_name,
+diff --git a/yapsy/VersionedPluginManager.py b/yapsy/VersionedPluginManager.py
+index 83ad4fd..686a52a 100644
+--- a/yapsy/VersionedPluginManager.py
++++ b/yapsy/VersionedPluginManager.py
+@@ -12,7 +12,7 @@ API
+ """
+
+
+-from distutils.version import StrictVersion
++from packaging.version import Version
+
+ from yapsy.PluginInfo import PluginInfo
+ from yapsy.IPlugin import IPlugin
+@@ -27,11 +27,11 @@ class VersionedPluginInfo(PluginInfo):
+
+ def __init__(self, plugin_name, plugin_path):
+ PluginInfo.__init__(self, plugin_name, plugin_path)
+- # version number is now required to be a StrictVersion object
+- self.version = StrictVersion("0.0")
++ # version number is now required to be a Version object
++ self.version = Version("0.0")
+
+ def setVersion(self, vstring):
+- self.version = StrictVersion(vstring)
++ self.version = Version(vstring)
+
+
+ class VersionedPluginManager(PluginManagerDecorator):
+--
+2.42.0
+
diff --git a/dev-python/yapsy/metadata.xml b/dev-python/yapsy/metadata.xml
index 1b7fe13819ff..8d49735ada95 100644
--- a/dev-python/yapsy/metadata.xml
+++ b/dev-python/yapsy/metadata.xml
@@ -1,16 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<upstream>
- <remote-id type="sourceforge">yapsy</remote-id>
+ <remote-id type="github">tibonihoo/yapsy</remote-id>
<remote-id type="pypi">Yapsy</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/yapsy/yapsy-1.12.2-r2.ebuild b/dev-python/yapsy/yapsy-1.12.2-r2.ebuild
new file mode 100644
index 000000000000..5e176818e907
--- /dev/null
+++ b/dev-python/yapsy/yapsy-1.12.2-r2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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="Yapsy-${PV}"
+DESCRIPTION="A fat-free DIY Python plugin management toolkit"
+HOMEPAGE="
+ https://github.com/tibonihoo/yapsy/
+ https://pypi.org/project/Yapsy/
+"
+SRC_URI="mirror://sourceforge/yapsy/${MY_P}/${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~riscv x86"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx doc
+distutils_enable_tests unittest
+
+PATCHES=(
+ # https://github.com/tibonihoo/yapsy/commit/29286320673f9e853559cf20aeb3456e541afbd4
+ "${FILESDIR}/${P}-py312.patch"
+)
diff --git a/dev-python/yapsy/yapsy-1.12.2.ebuild b/dev-python/yapsy/yapsy-1.12.2.ebuild
deleted file mode 100644
index 22f5f3403cd3..000000000000
--- a/dev-python/yapsy/yapsy-1.12.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=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1
-
-MY_P="Yapsy-${PV}"
-DESCRIPTION="A fat-free DIY Python plugin management toolkit"
-HOMEPAGE="http://yapsy.sourceforge.net/"
-SRC_URI="mirror://sourceforge/yapsy/${MY_P}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-distutils_enable_sphinx doc
-distutils_enable_tests setup.py
diff --git a/dev-python/yara-python/Manifest b/dev-python/yara-python/Manifest
index 220814f1fb58..0cd5706592a1 100644
--- a/dev-python/yara-python/Manifest
+++ b/dev-python/yara-python/Manifest
@@ -1 +1 @@
-DIST yara-python-4.2.3.gh.tar.gz 34465 BLAKE2B 4b9689cef21f9c712960d08c357087f0278d8c20cef3a16072a005a4f8687999aa273c02c22ea9c6d5ea9a6b609c1a6f4c51f01b04f238e9e1faeeaef275d88b SHA512 588875d820f4e1b2aa5c6bbe83814ba2756f5ed301ba652efd280d5ca9745f7388f1f9eaa3875d11de5644ce9c41dcb76eebbee86269f8d6723c7d16ffa134be
+DIST yara-python-4.4.0.gh.tar.gz 38072 BLAKE2B 748dab52e99e264c7d9eb0d7d4482fb76b29f8463f031cf20687e30ae792141633d12e6b3f20303c8ee99bcdaafa01a3df9f73aaf3dd722ad5da9820e6a4d39e SHA512 bc72c2f65e3fe3d7f94728565143b787df6cc63313a3e8b9f159a5cfc3c947f5233674a1213fd2c6454f6165b676da366319794f9fa7c695c43e5523c29a1432
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
new file mode 100644
index 000000000000..36bf1d60f686
--- /dev/null
+++ b/dev-python/yara-python/files/yara-python-4.4.0-python3_12.patch
@@ -0,0 +1,17 @@
+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.2.3.ebuild b/dev-python/yara-python/yara-python-4.2.3.ebuild
deleted file mode 100644
index 5b935af5279a..000000000000
--- a/dev-python/yara-python/yara-python-4.2.3.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="Python interface for a malware identification and classification tool"
-HOMEPAGE="https://github.com/VirusTotal/yara-python"
-SRC_URI="https://github.com/virustotal/yara-python/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 x86"
-
-RDEPEND="${PYTHON_DEPS}
- =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/yara-python/yara-python-4.4.0.ebuild b/dev-python/yara-python/yara-python-4.4.0.ebuild
new file mode 100644
index 000000000000..911515e6d4e3
--- /dev/null
+++ b/dev-python/yara-python/yara-python-4.4.0.ebuild
@@ -0,0 +1,45 @@
+# 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-9999.ebuild b/dev-python/yara-python/yara-python-9999.ebuild
new file mode 100644
index 000000000000..053d1d779d51
--- /dev/null
+++ b/dev-python/yara-python/yara-python-9999.ebuild
@@ -0,0 +1,41 @@
+# 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}"
+
+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 48a96b4a6ade..5fc801df3ff9 100644
--- a/dev-python/yarl/Manifest
+++ b/dev-python/yarl/Manifest
@@ -1 +1 @@
-DIST yarl-1.8.2.gh.tar.gz 109938 BLAKE2B 1f2cec38bb681f6a59f10253c75e74912d482cdbe0e639e3ba0a43b9d6ab7b7edc1558c9fffaffd7aad9fa905d884e856ff7f7b69dd103800ef62f7f05de90b5 SHA512 d5dcebcec06d520b48a1d879671a92371bd89eabb7be700c129fcc45e763ecc0370cbb5e88c7b9be05ecb3317370231293a8c076ed68d71a36fe953219dd27ea
+DIST yarl-1.9.4.tar.gz 141869 BLAKE2B 367eac4674bf1190122f10bb1dc1c4f3d5e4263e1d95ff2b871067d55a894dc19a6bb5a6c673d1bed28b3c5f77c704799568edfe639d50f0ae10313eb847352d SHA512 e4f7917f1625b40125abae9a13d61795f97e8cf489735e15cf58476e97c3bcf840b1452482f1f7a737fbb2bdd1dc7bbcfa882d0a7f76a27dfb3aea72b7a66c82
diff --git a/dev-python/yarl/yarl-1.8.2.ebuild b/dev-python/yarl/yarl-1.8.2.ebuild
deleted file mode 100644
index 85696bb73546..000000000000
--- a/dev-python/yarl/yarl-1.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Yet another URL library"
-HOMEPAGE="
- https://github.com/aio-libs/yarl/
- https://pypi.org/project/yarl/
-"
-SRC_URI="
- https://github.com/aio-libs/yarl/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/multidict-4.0[${PYTHON_USEDEP}]
- >=dev-python/idna-2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/alabaster
-
-python_configure() {
- > .install-cython || die
- emake cythonize
-}
-
-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..2fb25a593f4e
--- /dev/null
+++ b/dev-python/yarl/yarl-1.9.4.ebuild
@@ -0,0 +1,37 @@
+# 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="~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 6ccdfc184f0e..ab7beaf2ea16 100644
--- a/dev-python/yaswfp/yaswfp-0.9.3-r2.ebuild
+++ b/dev-python/yaswfp/yaswfp-0.9.3-r2.ebuild
@@ -1,16 +1,15 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 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
+inherit distutils-r1 pypi
DESCRIPTION="Yet Another SWF Parser"
HOMEPAGE="https://github.com/facundobatista/yaswfp"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
diff --git a/dev-python/yattag/Manifest b/dev-python/yattag/Manifest
new file mode 100644
index 000000000000..441d0bf62514
--- /dev/null
+++ b/dev-python/yattag/Manifest
@@ -0,0 +1 @@
+DIST yattag-1.15.2.tar.gz 28653 BLAKE2B c567390d204e6edc9b90ffdc5b406f9e4bdcf568148ed44dd202176ba31943c32154c4560e8c421c341fcd5fc1fc223451e15edebd249c369b1d779270e00034 SHA512 224fa56f3604bb65513f589ad449b98e00ef19c8503e7f57484e12de1c916d44d56b057d093af899bcc1d9aa1c77ca3a64c4facd97adf4ef2b7e99a5ff19f910
diff --git a/dev-python/yattag/metadata.xml b/dev-python/yattag/metadata.xml
new file mode 100644
index 000000000000..76675463c1b4
--- /dev/null
+++ b/dev-python/yattag/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">yattag</remote-id>
+ <remote-id type="github">leforestier/yattag</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/yattag/yattag-1.15.2.ebuild b/dev-python/yattag/yattag-1.15.2.ebuild
new file mode 100644
index 000000000000..b189a3789b1b
--- /dev/null
+++ b/dev-python/yattag/yattag-1.15.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed 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 to generate HTML or XML in a readable, concise and pythonic way"
+HOMEPAGE="
+ https://www.yattag.org/
+ https://github.com/leforestier/yattag/
+ https://pypi.org/project/yattag/
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~riscv ~x86"
+
+distutils_enable_tests unittest
+
+python_test() {
+ cd test || die
+ eunittest
+}
diff --git a/dev-python/yaxmldiff/metadata.xml b/dev-python/yaxmldiff/metadata.xml
index a0414b1c10be..543af18c3703 100644
--- a/dev-python/yaxmldiff/metadata.xml
+++ b/dev-python/yaxmldiff/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="pypi">yaxmldiff</remote-id>
+ <remote-id type="github">latk/yaxmldiff.py</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/yaxmldiff/yaxmldiff-0.1.0.ebuild b/dev-python/yaxmldiff/yaxmldiff-0.1.0.ebuild
index 967f08f3890b..e67628952e1e 100644
--- a/dev-python/yaxmldiff/yaxmldiff-0.1.0.ebuild
+++ b/dev-python/yaxmldiff/yaxmldiff-0.1.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1
DESCRIPTION="Yet Another XML Differ"
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 d4659e055e6e..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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Get YouTube video information using link WITHOUT YouTube Data API v3"
-HOMEPAGE="https://github.com/alexmercerind/youtube-search-python/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/httpx[${PYTHON_USEDEP}]
- net-misc/yt-dlp[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/ytmusicapi/Manifest b/dev-python/ytmusicapi/Manifest
index 83bcb876752a..8883c4236b1a 100644
--- a/dev-python/ytmusicapi/Manifest
+++ b/dev-python/ytmusicapi/Manifest
@@ -1 +1 @@
-DIST ytmusicapi-0.25.0.tar.gz 61709 BLAKE2B 7a4f0cf52d8d1a5e3310c5df39435d317916562f7d0277b0518e03193daf7995333853c4baf026ed0331ac1ef294897f034b7c97765764a795f34b7581f1788e SHA512 6c131c7c6d808d5a3c02795d5d28e687d92223fed809701d76318a145c7c82c12266b04f37aacb78750a4249f53e759dc891611dcb2edf61fefb19f133072d24
+DIST ytmusicapi-1.6.0.tar.gz 106624 BLAKE2B b7900f4fb9e863f694a06a9d85d479e13514d6f4a0ad86e923ccceb497ad9294e34d9b3914005063b272ef8582514a5ea7c173864d38a2b6ec166bcf1199560e SHA512 9886c0b4ec29bf9b676b4c77f9e84ca6c7a0f1b4da264d589aed19d50c8be6ef3718185af755d8a9f652d425ae98603fff09ea8d84ec839756dab43181eb9f4c
diff --git a/dev-python/ytmusicapi/metadata.xml b/dev-python/ytmusicapi/metadata.xml
index 2b7112bbf770..e260bbb18a73 100644
--- a/dev-python/ytmusicapi/metadata.xml
+++ b/dev-python/ytmusicapi/metadata.xml
@@ -10,6 +10,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<bugs-to>https://github.com/sigma67/ytmusicapi/issues/</bugs-to>
<remote-id type="github">sigma67/ytmusicapi</remote-id>
diff --git a/dev-python/ytmusicapi/ytmusicapi-0.25.0.ebuild b/dev-python/ytmusicapi/ytmusicapi-0.25.0.ebuild
deleted file mode 100644
index 92a0a35b70ab..000000000000
--- a/dev-python/ytmusicapi/ytmusicapi-0.25.0.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="Unofficial API for YouTube Music"
-HOMEPAGE="https://ytmusicapi.readthedocs.io/
- https://github.com/sigma67/ytmusicapi/"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-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.6.0.ebuild b/dev-python/ytmusicapi/ytmusicapi-1.6.0.ebuild
new file mode 100644
index 000000000000..5fa2d4f3374a
--- /dev/null
+++ b/dev-python/ytmusicapi/ytmusicapi-1.6.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..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/Manifest b/dev-python/zc-lockfile/Manifest
index 566c7a7c6516..af928826fc7d 100644
--- a/dev-python/zc-lockfile/Manifest
+++ b/dev-python/zc-lockfile/Manifest
@@ -1 +1 @@
-DIST zc.lockfile-2.0.tar.gz 11923 BLAKE2B 7609f64eef4521f0aa95dc899b253570a317bd997cced00665a2dbe22cf7f834ce75daaf4fdf79520157dee31742758aad1844d49c5eccb780e7d5fd2e8e5ac5 SHA512 2586bafacb12540383695a24cb01fd284e61bfa3fcb16431ed0e91278e547c68983363fb69c1ffbd54f7c22db43300ba018ccd2fb3e21666c98860415b7a3c3b
+DIST zc.lockfile-3.0.post1.tar.gz 10190 BLAKE2B 80f732b758581b25f7d45c843b73b35985ad24185a04d207b612b448e6a1c52e49103d214e9a8b1fa0c3965037c8bcd73c504c5e0e8267814a380e08dc6f1256 SHA512 180d167ffd5760d8f9de02fcbf8e715ad04382d530f3b2970b92e346a588bb3da16926871be944441b2c0d4c8501a9d59fed2dc3c0a733b6c4478b6571d4b911
diff --git a/dev-python/zc-lockfile/metadata.xml b/dev-python/zc-lockfile/metadata.xml
index 681f8ff378db..ad9c502a6d7a 100644
--- a/dev-python/zc-lockfile/metadata.xml
+++ b/dev-python/zc-lockfile/metadata.xml
@@ -10,6 +10,7 @@
<name>Python</name>
</maintainer>
<upstream>
+ <remote-id type="github">zopefoundation/zc.lockfile</remote-id>
<remote-id type="pypi">zc.lockfile</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/zc-lockfile/zc-lockfile-2.0-r1.ebuild b/dev-python/zc-lockfile/zc-lockfile-2.0-r1.ebuild
deleted file mode 100644
index ea01aea3ca95..000000000000
--- a/dev-python/zc-lockfile/zc-lockfile-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
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${PN/-/.}-${PV}
-DESCRIPTION="Basic inter-process locks"
-HOMEPAGE="
- https://github.com/zopefoundation/zc.lockfile/
- https://pypi.org/project/zc.lockfile/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN/-/.}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="ZPL"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
-
-BDEPEND="
- test? (
- dev-python/zope-testing[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( CHANGES.rst README.rst )
-
-distutils_enable_tests unittest
-
-python_prepare_all() {
- # rdep is only needed for namespace
- sed -i -e '/install_requires.*setuptools/d' setup.py || die
- # use implicit namespace
- sed -i -e '/namespace_packages/d' setup.py || die
- # do not install README into site-packages
- sed -e '/^ include_package_data/d' -i setup.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- "${EPYTHON}" -m unittest zc.lockfile.tests -v || die
-}
diff --git a/dev-python/zc-lockfile/zc-lockfile-3.0_p1.ebuild b/dev-python/zc-lockfile/zc-lockfile-3.0_p1.ebuild
new file mode 100644
index 000000000000..73c001433e90
--- /dev/null
+++ b/dev-python/zc-lockfile/zc-lockfile-3.0_p1.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
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Basic inter-process locks"
+HOMEPAGE="
+ https://github.com/zopefoundation/zc.lockfile/
+ https://pypi.org/project/zc.lockfile/
+"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
+
+BDEPEND="
+ test? (
+ dev-python/zope-testing[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( CHANGES.rst README.rst )
+
+distutils_enable_tests unittest
+
+python_prepare_all() {
+ # rdep is only needed for namespace
+ sed -i -e '/install_requires.*setuptools/d' setup.py || die
+ # use implicit namespace
+ sed -i -e '/namespace_packages/d' setup.py || die
+ # do not install README into site-packages
+ sed -e '/^ include_package_data/d' -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${EPYTHON}" -m unittest zc.lockfile.tests -v || die
+}
diff --git a/dev-python/zconfig/Manifest b/dev-python/zconfig/Manifest
index 05f4aafe4285..09e749602a70 100644
--- a/dev-python/zconfig/Manifest
+++ b/dev-python/zconfig/Manifest
@@ -1 +1 @@
-DIST ZConfig-3.6.1.tar.gz 147047 BLAKE2B 6dfa9db7fba8280445a48c056225d8ce58d0c9d71b4f06cfd5ad3d9f170d6e776be6cd4d8f1029615642114d4886c74007463c67946b201c5a400162ce8971bc SHA512 e8cf5805028208f2d33152efe244feb59a1ffbd8ce6135ab4febf8fc300bdf8ee81846a94070655490e130e74a92a6b6b86e7fe3ce06673cff2d854b25ba87ec
+DIST ZConfig-4.0.tar.gz 126072 BLAKE2B 7057151267f9b481d3cded72a22dc8fe505f1eac78d156595eb6ba5ff6217b57713ae2ef307358d86320986181bbbb3c1862901297e645bf69dc4893a3e60dbc SHA512 03e3c34f8af9de8bedd98bbdf0c968fdd2fb0c1bb8d62a73c286b804a8841e0e7d9b647f5f3bb37a6d52dc2a5cea7cdce21cd204536399d43203c18e0c204ca7
diff --git a/dev-python/zconfig/files/zconfig-4.0-py312.patch b/dev-python/zconfig/files/zconfig-4.0-py312.patch
new file mode 100644
index 000000000000..6f8c53ed18a0
--- /dev/null
+++ b/dev-python/zconfig/files/zconfig-4.0-py312.patch
@@ -0,0 +1,37 @@
+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-3.6.1.ebuild b/dev-python/zconfig/zconfig-3.6.1.ebuild
deleted file mode 100644
index bcbabb7fa583..000000000000
--- a/dev-python/zconfig/zconfig-3.6.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_{9..11} )
-
-inherit distutils-r1
-
-MY_P="ZConfig-${PV}"
-DESCRIPTION="Configuration library supporting a hierarchical schema-driven model"
-HOMEPAGE="https://pypi.org/project/ZConfig/"
-SRC_URI="mirror://pypi/${MY_P:0:1}/ZConfig/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="ZPL"
-SLOT="0"
-KEYWORDS="~amd64"
-
-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/zconfig/zconfig-4.0.ebuild b/dev-python/zconfig/zconfig-4.0.ebuild
new file mode 100644
index 000000000000..e33522f6853f
--- /dev/null
+++ b/dev-python/zconfig/zconfig-4.0.ebuild
@@ -0,0 +1,45 @@
+# 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/zeep/zeep-4.2.1.ebuild b/dev-python/zeep/zeep-4.2.1.ebuild
index 975c1a5afa95..9dd3236bf311 100644
--- a/dev-python/zeep/zeep-4.2.1.ebuild
+++ b/dev-python/zeep/zeep-4.2.1.ebuild
@@ -4,9 +4,9 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="A modern/fast Python SOAP client based on lxml / requests"
HOMEPAGE="
@@ -14,11 +14,10 @@ HOMEPAGE="
https://github.com/mvantellingen/python-zeep/
https://pypi.org/project/zeep/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 arm64 x86"
IUSE="async"
RDEPEND="
@@ -39,10 +38,10 @@ BDEPEND="
dev-python/freezegun[${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
dev-python/pretend[${PYTHON_USEDEP}]
- dev-python/python-xmlsec[${PYTHON_USEDEP}]
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
dev-python/pytest-httpx[${PYTHON_USEDEP}]
dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/xmlsec[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/zeroconf/Manifest b/dev-python/zeroconf/Manifest
new file mode 100644
index 000000000000..95e2af190e39
--- /dev/null
+++ b/dev-python/zeroconf/Manifest
@@ -0,0 +1,3 @@
+DIST zeroconf-0.131.0.tar.gz 169253 BLAKE2B 64247bdca5f8a226e73078b0395fa273649d3baea54fe52c350bf5117527e4290974843385f5b23568a6350bb41fa0af13a6999ef4e880fc42952dde21126296 SHA512 7b7f5494a589306c458dc4fedd940aab86918e9979d5b9f0a466d28b74795c83351f82fdf501a983e9df3e32a8be9a88af3486e79ade23ab73d889610331d89a
+DIST zeroconf-0.132.0.tar.gz 170270 BLAKE2B 2ef40ab7d3aafb21f3b82b2e47598034ab821218f80082f26be3e41ac1197ea52a57657e45f38b41a8113164fbde2a8839264c9284c82b64327c443afad1726e SHA512 b8ccbb6f196db9404361e4ec85bc2a9f9801335a188ba6e4f1090afe1f042d82b69545f5db9b8c5d99720f1a7fbc77029ff0f624b8d17837b3dc8b41029e56a7
+DIST zeroconf-0.132.2.tar.gz 170698 BLAKE2B 7c76e2a00571a19b23f288dc1183da6ce274ebdf3f64f323e282f444011f7cbf90a63e02a991936a2cfa2d227568b31444b8f61f1110588638d4e888dd8749a6 SHA512 686cdfd2f32c6bad03fb5fd287b1e22f2f0b5099a8971dcff1d9fca7e63bc8069b195feb97be710c20fae8c524ab92143e395cdfec26ede103295d1aa4d32a8f
diff --git a/dev-python/python-zeroconf/metadata.xml b/dev-python/zeroconf/metadata.xml
index 7c85c95ef5e6..7c85c95ef5e6 100644
--- a/dev-python/python-zeroconf/metadata.xml
+++ b/dev-python/zeroconf/metadata.xml
diff --git a/dev-python/zeroconf/zeroconf-0.131.0.ebuild b/dev-python/zeroconf/zeroconf-0.131.0.ebuild
new file mode 100644
index 000000000000..e2943de8e0d9
--- /dev/null
+++ b/dev-python/zeroconf/zeroconf-0.131.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_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.0.5[${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.0.ebuild b/dev-python/zeroconf/zeroconf-0.132.0.ebuild
new file mode 100644
index 000000000000..be589608aa7b
--- /dev/null
+++ b/dev-python/zeroconf/zeroconf-0.132.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_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.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/zeroconf/zeroconf-0.132.2.ebuild b/dev-python/zeroconf/zeroconf-0.132.2.ebuild
new file mode 100644
index 000000000000..be589608aa7b
--- /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..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.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 8c37ca1720b2..bc97609d2fbd 100644
--- a/dev-python/zipp/Manifest
+++ b/dev-python/zipp/Manifest
@@ -1,2 +1 @@
-DIST zipp-3.11.0.tar.gz 16799 BLAKE2B 96cbb86e4c112a2cc0bbd8cf8f7a6d0e7b5a5b4af0857bfea87583341e7d08c9f0879f8455131f81e21ffb75bb362fb312c5575a8ccb2e2996313fe3f95ffe36 SHA512 10e1eca131063d9e34db18320152ea5e2445585802e7814fcb0a0aeddd8eb5481c60c2eaca1f7f2729826aafd4004fc4a0b8ee26896c833f789752a501f77e86
-DIST zipp-3.12.0.tar.gz 17705 BLAKE2B 7159d45deb7e22625a270c7f6a5610f64c511ebde11b42769730245befc679750390928c89cfe2ef979df081b07f87e35eea9d82d7063513ac420afc8e60cf79 SHA512 922d293dbfdc1871d339a6ebc0176cb5147518f281daf685318d08f6bb4057eb4c49380e49a220c6fa17d749eb8a32b9fa90070acb953f17595d1e509bc6cdf4
+DIST zipp-3.18.1.tar.gz 21220 BLAKE2B cd2afca05cb35b79bfe2b65396cccae3de15b3aaa2566643f1ce989a2747971a54fbf3baab3d273add51c51774b444c773ced951010a24a60e088103cd808d23 SHA512 27f2a5a098c773ea878b751e5c1d4e6bb89a367cd676f0b4508f3c372e78e1522de6eb46a17c8ac22a09cc6b041e393db40d14d918c7abe44cc2158f886a8045
diff --git a/dev-python/zipp/metadata.xml b/dev-python/zipp/metadata.xml
index 019bf659f005..54d99a172e27 100644
--- a/dev-python/zipp/metadata.xml
+++ b/dev-python/zipp/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>sbraz@gentoo.org</email>
- <name>Louis Sautier</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/zipp/zipp-3.11.0.ebuild b/dev-python/zipp/zipp-3.11.0.ebuild
deleted file mode 100644
index 122f4528f2b0..000000000000
--- a/dev-python/zipp/zipp-3.11.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=flit
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Backport of pathlib-compatible object wrapper for zip files"
-HOMEPAGE="
- https://github.com/jaraco/zipp/
- https://pypi.org/project/zipp/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-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_DESELECT=(
- # speed tests are flaky by design
- tests/test_zipp.py::TestPath::test_implied_dirs_performance
-)
-
-src_prepare() {
- # dep of disabled test
- sed -i -e '/func_timeout/d' tests/test_zipp.py || die
- distutils-r1_src_prepare
-}
-
-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.12.0.ebuild b/dev-python/zipp/zipp-3.12.0.ebuild
deleted file mode 100644
index ea6301a426b0..000000000000
--- a/dev-python/zipp/zipp-3.12.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=flit
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Backport of pathlib-compatible object wrapper for zip files"
-HOMEPAGE="
- https://github.com/jaraco/zipp/
- https://pypi.org/project/zipp/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-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_DESELECT=(
- # speed tests are flaky by design
- tests/test_zipp.py::TestPath::test_implied_dirs_performance
-)
-
-src_prepare() {
- # dep of disabled test
- sed -i -e '/func_timeout/d' tests/test_zipp.py || die
- distutils-r1_src_prepare
-}
-
-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.18.1.ebuild b/dev-python/zipp/zipp-3.18.1.ebuild
new file mode 100644
index 000000000000..7ed9072fc7ec
--- /dev/null
+++ b/dev-python/zipp/zipp-3.18.1.ebuild
@@ -0,0 +1,52 @@
+# 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..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/zope-component/Manifest b/dev-python/zope-component/Manifest
index 032fb6a7504e..6b73f7ca1998 100644
--- a/dev-python/zope-component/Manifest
+++ b/dev-python/zope-component/Manifest
@@ -1,2 +1 @@
-DIST zope.component-5.0.1.tar.gz 91130 BLAKE2B 4dbd78b003ba3688c0468573f4552c87333fd5fb7e0cd89d4844633f28c19443b3ea884438ff7f7ba8b056790f008c246c1e7ad52403d7b72b146d0d53edd8ad SHA512 fad011816fe5bb869bb2e43e11a66841a6be2abf9002e41207ef1dfe69b1afb5ca486d275daeddf71d2a0e79e1a9c839c4735190dddcd118b675a976bde07a64
-DIST zope.component-5.1.0.tar.gz 90238 BLAKE2B 411f1704f3e4c9a716508595ef75f1908b757f776b0ebe7677e38e678eb13e2cd5579441b94082e504f2dbc05c41e49fe0e2d1dcad406baafbc6b0733cb85008 SHA512 6695365b0313a24184d0d3b6e10ce0eda108e3e832c97709a4285bf1e76289a71223611d930a4cc3d3b5c2c766a5cfddb3cf616a64848eeccc6f3ac09316f3d1
+DIST zope.component-6.0.tar.gz 90268 BLAKE2B f91d2424015d4f09a681b5a9fb7d3a411bcca39648893c09ba1d416250611670294676c37d7f9737a33290183675f8501f396a44859b8ee3dd1846c3e360a5b7 SHA512 90126a46752ac650d485676a2716858dd95d6ad10a8c539979b502b3581b7963bdc191e173cc36e94aba25c8b2b4b1a13b91bbf1952ace6b905242fd253325bf
diff --git a/dev-python/zope-component/zope-component-5.0.1.ebuild b/dev-python/zope-component/zope-component-5.0.1.ebuild
deleted file mode 100644
index 2cdd95425206..000000000000
--- a/dev-python/zope-component/zope-component-5.0.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-MY_PN=zope.component
-MY_P=${MY_PN}-${PV}
-DESCRIPTION="Zope Component Architecture"
-HOMEPAGE="
- https://pypi.org/project/zope.component/
- https://github.com/zopefoundation/zope.component/
-"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="ZPL"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/zope-event[${PYTHON_USEDEP}]
- >=dev-python/zope-hookable-4.2.0[${PYTHON_USEDEP}]
- >=dev-python/zope-interface-5.3.0[${PYTHON_USEDEP}]
- !dev-python/namespace-zope
-"
-BDEPEND="
- test? (
- dev-python/zope-configuration[${PYTHON_USEDEP}]
- dev-python/zope-i18nmessageid[${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-component/zope-component-5.1.0.ebuild b/dev-python/zope-component/zope-component-5.1.0.ebuild
deleted file mode 100644
index fc5ebea65831..000000000000
--- a/dev-python/zope-component/zope-component-5.1.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
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-MY_PN=zope.component
-MY_P=${MY_PN}-${PV}
-DESCRIPTION="Zope Component Architecture"
-HOMEPAGE="
- https://pypi.org/project/zope.component/
- https://github.com/zopefoundation/zope.component/
-"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="ZPL"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- dev-python/zope-event[${PYTHON_USEDEP}]
- >=dev-python/zope-hookable-4.2.0[${PYTHON_USEDEP}]
- >=dev-python/zope-interface-5.3.0[${PYTHON_USEDEP}]
- !dev-python/namespace-zope
-"
-BDEPEND="
- test? (
- dev-python/zope-configuration[${PYTHON_USEDEP}]
- dev-python/zope-i18nmessageid[${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-component/zope-component-6.0.ebuild b/dev-python/zope-component/zope-component-6.0.ebuild
new file mode 100644
index 000000000000..37d75b2d1d9b
--- /dev/null
+++ b/dev-python/zope-component/zope-component-6.0.ebuild
@@ -0,0 +1,54 @@
+# 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 Component Architecture"
+HOMEPAGE="
+ https://pypi.org/project/zope.component/
+ https://github.com/zopefoundation/zope.component/
+"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+
+RDEPEND="
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ >=dev-python/zope-hookable-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/zope-interface-5.3.0[${PYTHON_USEDEP}]
+ !dev-python/namespace-zope
+"
+BDEPEND="
+ test? (
+ dev-python/zope-configuration[${PYTHON_USEDEP}]
+ dev-python/zope-i18nmessageid[${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/Manifest b/dev-python/zope-configuration/Manifest
index 755bd93938a9..0809e5cfb478 100644
--- a/dev-python/zope-configuration/Manifest
+++ b/dev-python/zope-configuration/Manifest
@@ -1 +1 @@
-DIST zope.configuration-4.4.1.tar.gz 83825 BLAKE2B 9cf55417710c364611f0548cd1249dfb61d16c4f1a5f8f3918b2f9f38ba9904698317b922dccf736ab83f2b9cdd2bb4f7ca7330cd311d00e8d48afbd29f9cd86 SHA512 61e3e5cc6220c3ef86881d49c09b208d12491a5d7f5d82810ff1713f68ff1657dfb505b511e78e86b39d204c4ff8bc687695ad8b2ed816b457b52f913c70669b
+DIST zope.configuration-5.0.1.tar.gz 83327 BLAKE2B 665687d49e77c43e08293d5e7816a1f1abc9ff0c97dcfa83a90693d6da9d5767ebc24512dd7593316464103c38655c41909949bb1c8bb3f5db272e3637066284 SHA512 58fec7b330a4ee5f9bb71238fbcb8f07fdd7b6767cb2d8e054699ffcb915973b9dfead33e5515f40049f6aede233d31624d09d7f84d75b96318e63f8ab454147
diff --git a/dev-python/zope-configuration/zope-configuration-4.4.1-r2.ebuild b/dev-python/zope-configuration/zope-configuration-4.4.1-r2.ebuild
deleted file mode 100644
index a62270f6d8f3..000000000000
--- a/dev-python/zope-configuration/zope-configuration-4.4.1-r2.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_PN=${PN/-/.}
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Zope Configuration Architecture"
-HOMEPAGE="
- https://pypi.org/project/zope.configuration/
- https://github.com/zopefoundation/zope.configuration/
- https://zopeconfiguration.readthedocs.io/en/latest/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-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.1.ebuild b/dev-python/zope-configuration/zope-configuration-5.0.1.ebuild
new file mode 100644
index 000000000000..c1ea1fe80494
--- /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..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/Manifest b/dev-python/zope-deprecation/Manifest
index 2a4b6b01e909..7dbd8f008faa 100644
--- a/dev-python/zope-deprecation/Manifest
+++ b/dev-python/zope-deprecation/Manifest
@@ -1 +1 @@
-DIST zope.deprecation-4.4.0.tar.gz 24737 BLAKE2B 993959f47e7808ad9d024d5df9d141cdbce3a1a3c281acc0d90bdb20747743936411714b52a29fcac6968cea50d5ab54820954f74c3f59081ce98f097715b9a3 SHA512 62371dc45fad6715f24cdcac1d25b559ed5248da774b5ecd215fb4d0b6fc0ab655bfb9e0fbceda964e8ffb7d70536e43f8fcf09d9f2742904717a6473869fa4a
+DIST zope.deprecation-5.0.tar.gz 23353 BLAKE2B 9b98291fe252942a8235c70c0a13bfbaf2cb3091e1502099f8a0651b517e748645cbda957f92c790c4d4f2b6ed7324cd5e21bae9d2906f2943e507376a980d76 SHA512 11313626e4141c2f92805c7c533b32160f88bf45667cd5a53a867daad3172947e5ac80433893c515243276030400a8a8e3d3a623ea51cb2b15bd5a5a0927bc46
diff --git a/dev-python/zope-deprecation/zope-deprecation-4.4.0-r2.ebuild b/dev-python/zope-deprecation/zope-deprecation-4.4.0-r2.ebuild
deleted file mode 100644
index 39ccaef749c2..000000000000
--- a/dev-python/zope-deprecation/zope-deprecation-4.4.0-r2.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
-
-MY_PN=${PN/-/.}
-MY_P=${MY_PN}-${PV}
-DESCRIPTION="Zope Deprecation Infrastructure"
-HOMEPAGE="
- https://pypi.org/project/zope.deprecation/
- https://github.com/zopefoundation/zope.deprecation/
-"
-SRC_URI="mirror://pypi/${MY_PN::1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="ZPL"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- !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-deprecation/zope-deprecation-5.0.ebuild b/dev-python/zope-deprecation/zope-deprecation-5.0.ebuild
new file mode 100644
index 000000000000..ab964272a711
--- /dev/null
+++ b/dev-python/zope-deprecation/zope-deprecation-5.0.ebuild
@@ -0,0 +1,44 @@
+# 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="Zope Deprecation Infrastructure"
+HOMEPAGE="
+ https://pypi.org/project/zope.deprecation/
+ https://github.com/zopefoundation/zope.deprecation/
+"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ !dev-python/namespace-zope
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # strip rdep specific to namespaces
+ sed -i -e "s:'setuptools',::" 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-event/Manifest b/dev-python/zope-event/Manifest
index 06865a771915..bcc05eb47556 100644
--- a/dev-python/zope-event/Manifest
+++ b/dev-python/zope-event/Manifest
@@ -1,2 +1 @@
-DIST zope.event-4.5.0.tar.gz 18723 BLAKE2B 449ae969709c863681df1a08f016c850242ebe86b9abfa57db62a982c81bba7c496fc19dd2b187284da44d975688b544ee52a5a48a2fb782d4c7210d5773ee2b SHA512 1d82ae316fc75eebc03aadeb78890a19add35490720cd7bd073faeb9dc9ed97511ca4fdafc2228530798384d667c0aa88e3ef47b0be668128556a78bf82c42e5
-DIST zope.event-4.6.tar.gz 17430 BLAKE2B ca0706390a9dc32fa3d855014b94094a1008b1f7d82a325aab6008ca116c5267c8d0def244e25adf4164abcc308367a5916358665bb16fc8a0a24eb40586b30e SHA512 0042ef679ba95f1306d11fa23c0b48c59b018c8630cefb2e245ca77f4979b314d338cf1f6d2b12376d59c0eee172180d217965d54676504530a8af0c6c128547
+DIST zope.event-5.0.tar.gz 17350 BLAKE2B 3dc14b321898e9e3031273ee9d51b6a382c041292abb2cfe8d49a863991fc90484fd6e1fe98b4b37916263e1ebc2a943a98ab1096d0792b057e71100834a9cf6 SHA512 f3807580d948c11c75351d306450714b8cc285c45bed581069608e24fd20b705cff73c349c3fb3dd3f0af70508c5b8895f68bf60f8bf0c7e0a1d676191d5ce10
diff --git a/dev-python/zope-event/zope-event-4.5.0-r3.ebuild b/dev-python/zope-event/zope-event-4.5.0-r3.ebuild
deleted file mode 100644
index 4523bf0ae852..000000000000
--- a/dev-python/zope-event/zope-event-4.5.0-r3.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
-
-MY_PN=${PN/-/.}
-MY_P=${MY_PN}-${PV}
-DESCRIPTION="Event publishing / dispatch, used by Zope Component Architecture"
-HOMEPAGE="
- https://pypi.org/project/zope.event/
- https://github.com/zopefoundation/zope.event/
-"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- !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-event/zope-event-4.6.ebuild b/dev-python/zope-event/zope-event-4.6.ebuild
deleted file mode 100644
index 401e2c783660..000000000000
--- a/dev-python/zope-event/zope-event-4.6.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
-
-MY_PN=${PN/-/.}
-MY_P=${MY_PN}-${PV}
-DESCRIPTION="Event publishing / dispatch, used by Zope Component Architecture"
-HOMEPAGE="
- https://pypi.org/project/zope.event/
- https://github.com/zopefoundation/zope.event/
-"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- !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-event/zope-event-5.0.ebuild b/dev-python/zope-event/zope-event-5.0.ebuild
new file mode 100644
index 000000000000..99db81ced810
--- /dev/null
+++ b/dev-python/zope-event/zope-event-5.0.ebuild
@@ -0,0 +1,44 @@
+# 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="Event publishing / dispatch, used by Zope Component Architecture"
+HOMEPAGE="
+ https://pypi.org/project/zope.event/
+ https://github.com/zopefoundation/zope.event/
+"
+
+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
+"
+
+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/Manifest b/dev-python/zope-exceptions/Manifest
index 5a3299be9e7c..4b2e75c65297 100644
--- a/dev-python/zope-exceptions/Manifest
+++ b/dev-python/zope-exceptions/Manifest
@@ -1 +1 @@
-DIST zope.exceptions-4.6.tar.gz 30876 BLAKE2B 9cc9a040269aa2f813018670e3692c9897fbea3a346b37e72fc54e72fb33dbaf0f14c192a76a7c40f57674caee4e17e86aec5f1d60e1c0e6a801d859d9629189 SHA512 d28a4434b27f6611040b290dcece26c1880982853092c89d5a8d74093cb9339a62834d7c3949d5ea28c4d3fc01c6f36180df22031cded6e4c963acfff65c2ec4
+DIST zope.exceptions-5.0.1.tar.gz 30435 BLAKE2B 66775ace483da20614aa4db31d106f70af5a118cd7b5f3cc3458515cf443cd6c6e0bda26b0817adf063c52ded25ffcc09b722840e90f4975976e54c48763bbf1 SHA512 46ab45feb81682b62f4ab0df31e39b8b438af593d8880eb095fb2994ce6aced5aceb2cb08973234077d9c3846adc57658e06e04aecf55443bf3af691d728291a
diff --git a/dev-python/zope-exceptions/zope-exceptions-4.6.ebuild b/dev-python/zope-exceptions/zope-exceptions-4.6.ebuild
deleted file mode 100644
index 3b4323daa488..000000000000
--- a/dev-python/zope-exceptions/zope-exceptions-4.6.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
-
-MY_P=${P/-/.}
-DESCRIPTION="General purpose exceptions for Zope packages"
-HOMEPAGE="
- https://pypi.org/project/zope.exceptions/
- https://github.com/zopefoundation/zope.exceptions/
-"
-SRC_URI="mirror://pypi/${PN::1}/${PN/-/.}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-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.0.1.ebuild b/dev-python/zope-exceptions/zope-exceptions-5.0.1.ebuild
new file mode 100644
index 000000000000..7ec748a89678
--- /dev/null
+++ b/dev-python/zope-exceptions/zope-exceptions-5.0.1.ebuild
@@ -0,0 +1,45 @@
+# 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-hookable/Manifest b/dev-python/zope-hookable/Manifest
index ac437d3314af..6f399c4e3460 100644
--- a/dev-python/zope-hookable/Manifest
+++ b/dev-python/zope-hookable/Manifest
@@ -1 +1 @@
-DIST zope-hookable-5.4.gh.tar.gz 25574 BLAKE2B 09d257e7884f9800088e2b2d9f66967244aced695899dc272dc76835b6a4df520e6486626acb91511d961f82c3df8c054d13f08ab92b0055fc73edb1b67913da SHA512 e109589dc67b155be99bceb5cb100ab1a728d3201126b2b17125054fc3b3f4f3424a11d28d222557ab74be3d67289e26dd6f3f161544970e09aad26e993e3103
+DIST zope.hookable-6.0.tar.gz 24013 BLAKE2B 808005d0993e22967bc7a73a7b8a26f2263dfc9f3f33d840495a233ea8686a5e700ee46cf0dad8e37aeebb0383ec51b15a4f98323daf4d6bb606fc1ab149f39e SHA512 33d1200a24fc664ed9c7942f71b003704fda21ac42f5acc24611838aa4e8096a27a5da01956ec824105d454a0580480ce8a262c8f5c4f24782ab11416d9fdafd
diff --git a/dev-python/zope-hookable/zope-hookable-5.4.ebuild b/dev-python/zope-hookable/zope-hookable-5.4.ebuild
deleted file mode 100644
index 7f0b35878a7e..000000000000
--- a/dev-python/zope-hookable/zope-hookable-5.4.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_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Efficient creation of 'hookable' objects"
-HOMEPAGE="
- https://pypi.org/project/zope.hookable/
- https://github.com/zopefoundation/zope.hookable/
-"
-SRC_URI="
- https://github.com/zopefoundation/zope.hookable/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${P/-/.}
-
-LICENSE="ZPL"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-
-BDEPEND="
- test? (
- 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() {
- eunittest -s "${BUILD_DIR}/install$(python_get_sitedir)/zope/hookable/tests"
-}
diff --git a/dev-python/zope-hookable/zope-hookable-6.0.ebuild b/dev-python/zope-hookable/zope-hookable-6.0.ebuild
new file mode 100644
index 000000000000..f251bb3e7a33
--- /dev/null
+++ b/dev-python/zope-hookable/zope-hookable-6.0.ebuild
@@ -0,0 +1,45 @@
+# 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
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Efficient creation of 'hookable' objects"
+HOMEPAGE="
+ https://pypi.org/project/zope.hookable/
+ https://github.com/zopefoundation/zope.hookable/
+"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+
+BDEPEND="
+ test? (
+ 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() {
+ eunittest -s "${BUILD_DIR}/install$(python_get_sitedir)/zope/hookable/tests"
+}
diff --git a/dev-python/zope-i18nmessageid/Manifest b/dev-python/zope-i18nmessageid/Manifest
index 8ad933318d92..7c7ace7a5729 100644
--- a/dev-python/zope-i18nmessageid/Manifest
+++ b/dev-python/zope-i18nmessageid/Manifest
@@ -1 +1 @@
-DIST zope-i18nmessageid-5.1.1.gh.tar.gz 28570 BLAKE2B 3cddac039da8ce2920cc6b22468eb33e065f7068049743b405f98b96f7c4d4f7b48b614ab4e700c48875c03787f5c1c31f7d2fd6aec18feb538ce4e85582910e SHA512 b1afd92c9dc12d12b5e0bb8657f35bc464f81ebedcb4931d0a6ba7e4f4e1975e57cdf76b8344f94efdc41c1319d1aa66175deda145d34486a0b54fe02cb95222
+DIST zope.i18nmessageid-6.1.0.tar.gz 31187 BLAKE2B 1e616fe67d42e686928af298507afd1c5e962b4fcf89269fc69c00726814e51dd49c5a602d9da2153d3c11cb8e80fd4a9dfea354ee413d69a2022fb5479858c3 SHA512 13ca8d6c145ac48217d0f4fae4ae7fa2129a8d37ceeea640dcedca8815587cc9507935f0cc070bf37307cc21269b1a9decd2d18ae1bc79fdb0128f59f7e4b43b
diff --git a/dev-python/zope-i18nmessageid/zope-i18nmessageid-5.1.1.ebuild b/dev-python/zope-i18nmessageid/zope-i18nmessageid-5.1.1.ebuild
deleted file mode 100644
index 8f4612cebff5..000000000000
--- a/dev-python/zope-i18nmessageid/zope-i18nmessageid-5.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} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/-/.}
-DESCRIPTION="Zope support for i18nmessageid (tagging source of i18n strings)"
-HOMEPAGE="
- https://pypi.org/project/zope.i18nmessageid/
- https://github.com/zopefoundation/zope.i18nmessageid/
-"
-SRC_URI="
- https://github.com/zopefoundation/zope.i18nmessageid/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="ZPL"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
- !dev-python/namespace-zope
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # strip rdep specific to namespaces
- sed -i -e "s:'setuptools',::" 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-i18nmessageid/zope-i18nmessageid-6.1.0.ebuild b/dev-python/zope-i18nmessageid/zope-i18nmessageid-6.1.0.ebuild
new file mode 100644
index 000000000000..486a85e5fec4
--- /dev/null
+++ b/dev-python/zope-i18nmessageid/zope-i18nmessageid-6.1.0.ebuild
@@ -0,0 +1,45 @@
+# 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="Zope support for i18nmessageid (tagging source of i18n strings)"
+HOMEPAGE="
+ https://pypi.org/project/zope.i18nmessageid/
+ https://github.com/zopefoundation/zope.i18nmessageid/
+"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+
+RDEPEND="
+ !dev-python/namespace-zope
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # strip rdep specific to namespaces
+ sed -i -e "s:'setuptools'::" 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/Manifest b/dev-python/zope-interface/Manifest
index 833458a304ea..9c747136d0ae 100644
--- a/dev-python/zope-interface/Manifest
+++ b/dev-python/zope-interface/Manifest
@@ -1 +1,2 @@
-DIST zope.interface-5.5.2.tar.gz 300533 BLAKE2B 04b348492d5af729eebc6b1abc6dc7bd4a28931c5d65d03261bc4a77a39e97c4cbcf319ea0b5a960ddab7bd1056481e741d2b69cf6c21bea4bf3885b757aa1bd SHA512 ecc20df9b84c91f7a03ce7be087abcd6288f77b2e04f6974ece5b86a222944baf0dc0a2aa49063c74dc7c4d47c474fd01f512c7686164806d48f360667581205
+DIST zope.interface-6.2.tar.gz 247528 BLAKE2B 4112579da95e763bb5feca7fc8845896178afd5e3fb181a5945de80cf579d0c66373e9ee9cbff97964f79750908b5e4650316b3df1cef16a267c3625268cec46 SHA512 42c169ba88e0e4fe7895f0956250ddb5f3e9aef3e73a801ef71b0e94f906e9f597008de16955a7a8a5ca59551b800e6f000c70ffb3f486a7cbb7bf9caa00059d
+DIST zope.interface-6.3.tar.gz 294679 BLAKE2B e70c0581213776a685ff8e208a418f82adc5df2d53cc00316e38621dfa05559836416a897366cf7df76784405490c3cb137ff48d35287812f503a4685e2e75be SHA512 fcc318fd098ca91a4617f2a15123cb727c4ebcdeb56b4e0c59475a55d67afdfeb2f2e2d0fdef462e22236c8733ba2c5982ba72c8e75648be6bf55116f5d39139
diff --git a/dev-python/zope-interface/files/5.1.0-drop-coverage.patch b/dev-python/zope-interface/files/5.1.0-drop-coverage.patch
deleted file mode 100644
index c3861ce826ff..000000000000
--- a/dev-python/zope-interface/files/5.1.0-drop-coverage.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 56fc9c6c650d4016c15f8fcf5e12a0c7ce5fb6a0 Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Tue, 14 Apr 2020 23:19:47 -0400
-Subject: [PATCH] Drop coverage dep for testing
-
----
- setup.py | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/setup.py b/setup.py
-index fb32743..1c9ef83 100644
---- a/setup.py
-+++ b/setup.py
-@@ -81,7 +81,6 @@ else:
- tests_require = [
- # The test dependencies should NOT have direct or transitive
- # dependencies on zope.interface.
-- 'coverage >= 5.0.3',
- 'zope.event',
- 'zope.testing',
- ]
---
-2.26.0
-
diff --git a/dev-python/zope-interface/zope-interface-5.5.2.ebuild b/dev-python/zope-interface/zope-interface-5.5.2.ebuild
deleted file mode 100644
index 7e69d107a849..000000000000
--- a/dev-python/zope-interface/zope-interface-5.5.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=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_PN=${PN/-/.}
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Interfaces for Python"
-HOMEPAGE="
- https://github.com/zopefoundation/zope.interface/
- https://pypi.org/project/zope.interface/
-"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- !dev-python/namespace-zope
-"
-BDEPEND="
- test? (
- dev-python/zope-event[${PYTHON_USEDEP}]
- dev-python/zope-testing[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/5.1.0-drop-coverage.patch
-)
-
-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.2.ebuild b/dev-python/zope-interface/zope-interface-6.2.ebuild
new file mode 100644
index 000000000000..f4beefd336f1
--- /dev/null
+++ b/dev-python/zope-interface/zope-interface-6.2.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..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.3.ebuild b/dev-python/zope-interface/zope-interface-6.3.ebuild
new file mode 100644
index 000000000000..f53d77341852
--- /dev/null
+++ b/dev-python/zope-interface/zope-interface-6.3.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..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-schema/Manifest b/dev-python/zope-schema/Manifest
index 5be5d34c7196..825f6d1b4cf8 100644
--- a/dev-python/zope-schema/Manifest
+++ b/dev-python/zope-schema/Manifest
@@ -1,3 +1 @@
-DIST zope.schema-6.2.1.tar.gz 124649 BLAKE2B 71ac712d3dbd6c9063ddc213263ce3a356f0ec757466cacdbc216af95cdb9de3ca7f891c203880f9f22612e01259491d83c49fcbe9985ecaabf1629ea14e12ea SHA512 e3fabd3deabb4ac2087792be94b919b7c9a0f0c741316d6f67a42e24fe617091754183b32d8433664b6fa95569009def8e7e1e08f34013282b042eb32da323a6
-DIST zope.schema-7.0.0.tar.gz 108220 BLAKE2B 01fd94d6d9b33af7ffc12ced2724fc795f0fa2dd8a76c76e06ed8af837778335cdc8a6d87e41e6e934b0df8e59b30e94f5e6c1b4752dcfaefcbbae53cbcef238 SHA512 27e796d2ed5f7b053c5ab4a23f455b72ddc4f0ce10c38c58f9974ec20abb97bf9d7f4b0c11c6ab73e9fefdc726c614155abb69b987bf3fa37d37b1224bcbc106
DIST zope.schema-7.0.1.tar.gz 108737 BLAKE2B ca0d280186ebdaf53abc28bdb1684e31f97e4f4f9d235604702c2652bd4fa0a027d947f375ecee7aba598f072ce140908aaab3b107d6c743d6ee929db5de2fb5 SHA512 a8da9ac2e7239d15ed6cef83b4f500bca989c9ef2b7f1cd06ce532c260a8b8488b6fa42a6b2cfaeee505db87d3235f81815dc7eb80401c9e482141f8bf717e62
diff --git a/dev-python/zope-schema/zope-schema-6.2.1.ebuild b/dev-python/zope-schema/zope-schema-6.2.1.ebuild
deleted file mode 100644
index 4bd04351720d..000000000000
--- a/dev-python/zope-schema/zope-schema-6.2.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} pypy3 )
-
-inherit distutils-r1
-
-MY_PN=${PN/-/.}
-MY_P=${MY_PN}-${PV}
-DESCRIPTION="Zope schema Architecture"
-HOMEPAGE="
- https://pypi.org/project/zope.schema/
- https://github.com/zopefoundation/zope.schema/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="ZPL"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/zope-event[${PYTHON_USEDEP}]
- >=dev-python/zope-interface-5.0.0[${PYTHON_USEDEP}]
- !dev-python/namespace-zope
-"
-BDEPEND="
- test? (
- dev-python/zope-i18nmessageid[${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-schema/zope-schema-7.0.0.ebuild b/dev-python/zope-schema/zope-schema-7.0.0.ebuild
deleted file mode 100644
index 79170aa4eac0..000000000000
--- a/dev-python/zope-schema/zope-schema-7.0.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_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_PN=${PN/-/.}
-MY_P=${MY_PN}-${PV}
-DESCRIPTION="Zope schema Architecture"
-HOMEPAGE="
- https://pypi.org/project/zope.schema/
- https://github.com/zopefoundation/zope.schema/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="ZPL"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- dev-python/zope-event[${PYTHON_USEDEP}]
- >=dev-python/zope-interface-5.0.0[${PYTHON_USEDEP}]
- !dev-python/namespace-zope
-"
-BDEPEND="
- test? (
- dev-python/zope-i18nmessageid[${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-schema/zope-schema-7.0.1.ebuild b/dev-python/zope-schema/zope-schema-7.0.1.ebuild
index 79170aa4eac0..6a614c85eca1 100644
--- a/dev-python/zope-schema/zope-schema-7.0.1.ebuild
+++ b/dev-python/zope-schema/zope-schema-7.0.1.ebuild
@@ -4,23 +4,21 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
-MY_PN=${PN/-/.}
-MY_P=${MY_PN}-${PV}
DESCRIPTION="Zope schema Architecture"
HOMEPAGE="
https://pypi.org/project/zope.schema/
https://github.com/zopefoundation/zope.schema/
"
-SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
LICENSE="ZPL"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
RDEPEND="
dev-python/zope-event[${PYTHON_USEDEP}]
diff --git a/dev-python/zope-testing/Manifest b/dev-python/zope-testing/Manifest
index ee018e168481..7c2261e45d8f 100644
--- a/dev-python/zope-testing/Manifest
+++ b/dev-python/zope-testing/Manifest
@@ -1,2 +1 @@
-DIST zope.testing-4.10.tar.gz 45359 BLAKE2B 477d28a7d1a76c0a5111f16859d9e3b9b9ac9cc953b0e2c7dd9ba0a39b498d71442d1b5aaf485455c919ad618efb1f9f9b8e1587fd4905c4a823b04ef09ef8b2 SHA512 35fd5114b6de3cb47336185feb8bf8f444b53ef2c32f165e57756a017ec9caba9a29f2ec01844ebcf156fff1c2b7424b3ac126b3e8d4daefe73e1a640d21589a
DIST zope.testing-5.0.1.tar.gz 41745 BLAKE2B c3ab3ba7a15a050a29e41c26df3426dc3dd48d98b60e55015680c6aa86fccbbf44718d17643189a1978c51605eb774c108e0056a1e21023b99ca633a2abd7788 SHA512 357d1c0eb761dba4e0e964a51dbc4368c00c9133a011467a2bb3629a2c5c28ccb3886caad215288b99cda1de25fd7ead674068f275649d94a32dc42d19d78caf
diff --git a/dev-python/zope-testing/zope-testing-4.10-r2.ebuild b/dev-python/zope-testing/zope-testing-4.10-r2.ebuild
deleted file mode 100644
index 48c852836463..000000000000
--- a/dev-python/zope-testing/zope-testing-4.10-r2.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} pypy3 )
-
-inherit distutils-r1
-
-MY_PN=${PN/-/.}
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Zope testing helpers"
-HOMEPAGE="
- https://pypi.org/project/zope.testing/
- https://github.com/zopefoundation/zope.testing/
-"
-SRC_URI="mirror://pypi/${P::1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- !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-testing/zope-testing-5.0.1.ebuild b/dev-python/zope-testing/zope-testing-5.0.1.ebuild
index 69fb56714ced..27d99d2cd56f 100644
--- a/dev-python/zope-testing/zope-testing-5.0.1.ebuild
+++ b/dev-python/zope-testing/zope-testing-5.0.1.ebuild
@@ -4,24 +4,21 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{9..12} pypy3 )
-inherit distutils-r1
-
-MY_PN=${PN/-/.}
-MY_P=${MY_PN}-${PV}
+inherit distutils-r1 pypi
DESCRIPTION="Zope testing helpers"
HOMEPAGE="
https://pypi.org/project/zope.testing/
https://github.com/zopefoundation/zope.testing/
"
-SRC_URI="mirror://pypi/${P::1}/${MY_PN}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+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
diff --git a/dev-python/zstandard/Manifest b/dev-python/zstandard/Manifest
new file mode 100644
index 000000000000..fdbd0080f3d1
--- /dev/null
+++ b/dev-python/zstandard/Manifest
@@ -0,0 +1 @@
+DIST python-zstandard-0.22.0.gh.tar.gz 707644 BLAKE2B ce400120f9106d729b50ae091a581f4a9fb2e796ec0872cb7db393aa7a55cf6e22cbff79c3ff780b4f609fbd8289a9744cbdfc730ba51cb09ee4e7c56b1dac9e SHA512 b3041217ad4b6297d0727dd5d22bc83645d43fa591985bef43e8633feb960310a3f2eb1edaa133595941a6932683af91d565266f312c987e6b6c514ce70c9ddb
diff --git a/dev-python/zstandard/files/zstandard-0.22.0-build.patch b/dev-python/zstandard/files/zstandard-0.22.0-build.patch
new file mode 100644
index 000000000000..1a5ff9affeda
--- /dev/null
+++ b/dev-python/zstandard/files/zstandard-0.22.0-build.patch
@@ -0,0 +1,53 @@
+From d7cb41b4ec0239c82d77a6cd7f55b4c7e3fe0c8a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 1 Nov 2023 16:17:13 +0100
+Subject: [PATCH] build: fix building with modern setuptools backend
+
+Set correct `sys.path` prior to importing `setup_zstd`, in order to fix
+building with the modern setuptools backend, i.e.:
+
+```
+* Getting build dependencies for wheel...
+<string>:37: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
+<string>:38: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
+Traceback (most recent call last):
+ File "/usr/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
+ main()
+ File "/usr/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 335, in main
+ json_out['return_val'] = hook(**hook_input['kwargs'])
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/usr/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
+ return hook(config_settings)
+ ^^^^^^^^^^^^^^^^^^^^^
+ File "/tmp/build-env-mgz__6r4/lib/python3.12/site-packages/setuptools/build_meta.py", line 355, in get_requires_for_build_wheel
+ return self._get_build_requires(config_settings, requirements=['wheel'])
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/tmp/build-env-mgz__6r4/lib/python3.12/site-packages/setuptools/build_meta.py", line 325, in _get_build_requires
+ self.run_setup()
+ File "/tmp/build-env-mgz__6r4/lib/python3.12/site-packages/setuptools/build_meta.py", line 341, in run_setup
+ exec(code, locals())
+ File "<string>", line 49, in <module>
+ModuleNotFoundError: No module named 'setup_zstd'
+
+ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel
+```
+---
+ setup.py | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/setup.py b/setup.py
+index 7cc1f4f..2b2895b 100755
+--- a/setup.py
++++ b/setup.py
+@@ -46,6 +46,8 @@ try:
+ except ImportError:
+ cffi = None
+
++sys.path.insert(0, ".")
++
+ import setup_zstd
+
+ SUPPORT_LEGACY = False
+--
+2.42.0
+
diff --git a/dev-python/python-zstandard/metadata.xml b/dev-python/zstandard/metadata.xml
index 9bca3117a180..9bca3117a180 100644
--- a/dev-python/python-zstandard/metadata.xml
+++ b/dev-python/zstandard/metadata.xml
diff --git a/dev-python/zstandard/zstandard-0.22.0.ebuild b/dev-python/zstandard/zstandard-0.22.0.ebuild
new file mode 100644
index 000000000000..bc610d17eeac
--- /dev/null
+++ b/dev-python/zstandard/zstandard-0.22.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..12} 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
+ : > zstd/zstdlib.c || die
+ # it does random preprocessing on that, so we can't use #include
+ cp "${ESYSROOT}/usr/include/zstd.h" zstd/zstd.h || die
+ 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/Manifest b/dev-python/zstd/Manifest
index f0433def3591..a610b5a3b7a0 100644
--- a/dev-python/zstd/Manifest
+++ b/dev-python/zstd/Manifest
@@ -1 +1 @@
-DIST zstd-1.5.2.6.tar.gz 606528 BLAKE2B 0d9b0937346e69a25eb834d2894ab74efdd3f35390afebc98a6cb255f18cdbe540433139d51f43bf0a9fb5d85bee588c7df8543842248e700652af3e3e721df2 SHA512 a692d87ffad4d148d56487fa740876653ccbd151ac8a897a35946a3899d4d3b3aaf6e9954a2050b4cee8137d5161481f3460a0e64ce339c624349bf030c9f975
+DIST zstd-1.5.5.1.tar.gz 1106585 BLAKE2B 6c0d6108a3c5e5e3d013d6e10fadad8150311d2e17d304751dba4ac709e2c8005575ff73e2800392dfd9d7b6bcda9a8e8014d3cbe4a90d12bf12e7416776d744 SHA512 7dc2f3ffe0f94b56ba0cf8360ee510b292e9b8b1e92b8ba1ad1a9206b50f852a4e67e04d8e4900c0705820163d551644b38977e2864c648aae7dcc6b2a2c0a68
diff --git a/dev-python/zstd/zstd-1.5.2.6.ebuild b/dev-python/zstd/zstd-1.5.2.6.ebuild
deleted file mode 100644
index e57b4b4ee1e4..000000000000
--- a/dev-python/zstd/zstd-1.5.2.6.ebuild
+++ /dev/null
@@ -1,34 +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
-
-DESCRIPTION="Simple python bindings to Yann Collet ZSTD compression library"
-HOMEPAGE="
- https://github.com/sergey-dryabzhinsky/python-zstd/
- https://pypi.org/project/zstd/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-DEPEND="
- app-arch/zstd:=
-"
-RDEPEND="
- ${DEPEND}
- !<dev-python/python-zstandard-0.15.2-r1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
-
-src_configure() {
- export ZSTD_EXTERNAL=1
-}
diff --git a/dev-python/zstd/zstd-1.5.5.1.ebuild b/dev-python/zstd/zstd-1.5.5.1.ebuild
new file mode 100644
index 000000000000..90718da39e70
--- /dev/null
+++ b/dev-python/zstd/zstd-1.5.5.1.ebuild
@@ -0,0 +1,33 @@
+# 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="Simple python bindings to Yann Collet ZSTD compression library"
+HOMEPAGE="
+ https://github.com/sergey-dryabzhinsky/python-zstd/
+ https://pypi.org/project/zstd/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+DEPEND="
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_tests unittest
+
+src_configure() {
+ export ZSTD_EXTERNAL=1
+}